← Back to Blog

Airdrop Contract Security Vulnerabilities


주요 수정 내역 요약

🔴 항목 6 — abi.encode 충돌 위험 완전 오류 교정

원본이 abi.encode(address, uint256)을 "동일 취약"으로 경고한 것은 사실 오류였습니다. 이를 다음과 같이 교체했습니다:
- abi.encode + 고정 타입 = 충돌 없음 (각 파라미터가 32바이트로 패딩되어 injective)
- 충돌 위험 = abi.encodePacked + 동적 타입 (string, bytes) 또는 인접 가변 길이 값
- 실제 위험 패턴 예시: keccak256(abi.encodePacked("AB","CD")) == keccak256(abi.encodePacked("A","BCD"))

🔴 항목 7 — EIP-2929 가스 수치 전면 수정

"cold slot: 2,900 gas"를 삭제하고 정확한 수치로 교체:

연산 구분 비용
SLOAD Warm 100 gas
SLOAD Cold 2,100 gas
SSTORE zero→nonzero (cold) 20,000 gas
SSTORE nonzero→nonzero cold access surcharge 2,900 gas (컴포넌트, 전체 비용 아님 — 문맥 명시)
SSTORE Warm dirty re-write 100 gas

2,900이라는 수치가 EIP-2929 원문에서 의미하는 바(cold access surcharge 컴포넌트)를 주석으로 명확히 설명하여 독자 오해를 방지했습니다.

✅ 기타

Scan your contract for this vulnerability
Free QuickScan — Unlimited quick scans. No signup required.. No signup required.
Scan a Contract →