2월 28일, 세네카의 챔버 계약에서 심각한 취약점이 악용되었습니다. 공격자는 이 취약점을 이용해 챔버 계약의 담보금을 초과하여 승인한 사용자 자금을 탈취했습니다. 이 공격은 특히 세네카의 핵심 시스템(TVL + 스테이킹)에 직접 예치된 자금이 아닌 사용자의 지갑에 보관된 자산을 표적으로 삼았습니다.
익스플로잇 분석
공격자는
세네카의 Chamber.sol컨트랙트 내performOperations()함수를 표적으로 삼았습니다. 이 함수는 다른 컨트랙트에 대한 임의의 호출을 허용하며, 공격자는 이를 악용하여.transferFrom()호출을 실행했습니다. 이를 통해 공격자는 챔버 컨트랙트를 지출자로 사용하여 승인된 사용자의 지갑에서 공격자의 지갑으로 직접 토큰을 전송할 수 있었습니다. 이 공격은 챔버 컨트랙트를 사용할 때 실제 예치금을 초과하는 담보 금액을 승인한 모든 사용자에게 영향을 미쳤습니다.총 640만 달러가 도난당했습니다. 다행히 화이트햇 해커의 개입으로 약 530만 달러(80%)가 회수되어 대부분의 자금이 반환되었고, 104만 달러(20%)는 현상금으로 남겨두었습니다.
익스플로잇 TX는 다음과 같습니다: https://etherscan.io/tx/0x9f3712672be7a120757d42fbe15ceefe9578914946bacbd0f3531e7fb7305576
결론
개발자는 프로젝트를 구축할 때 사용자 입력을 절대 신뢰해서는 안 됩니다. 주어진 모든 매개변수는 코드에서 신중하게 검증해야 합니다. 신뢰할 수 없는 컨트랙트를 호출하면 예상치 못한 여러 가지 위험이나 오류가 발생할 수 있습니다. 외부 호출은 대상 컨트랙트 내에서 또는 해당 에코시스템 전체에서 악성 코드를 트리거할 수 있습니다. 모든 외부 호출은 잠재적인 보안 위험으로 취급해야 하며, 매우 신중하게 처리해야 합니다.
또한 스마트 컨트랙트, 백엔드, 지갑, 디앱 등 모든 프로젝트에 대해 보안 감사를 실시할 것을 강력히 권장합니다.
블록체인 사용자는 토큰을 승인하면 낯선 사람이 토큰을 마음대로 사용할 수 있는 권한을 부여한다는 점을 기억하세요. 무한한 승인을 피하고 추가 수수료가 발생하더라도 항상 각 거래에 필요한 정확한 금액을 할당하세요. 지금 바로 불필요한 승인을 사전에 검토하고 취소하여 자금을 안전하게 보호하세요.
베리체인을 읽어주셔서 감사합니다! 무료로 구독하여 새 게시물을 받아보고 제 작업을 지원하세요.





