Solidity 코드에서 비용이 많이 드는 취약점을 예방하세요. 이 스킬은 DeFi 프로토콜과 스마트 컨트랙트를 보호하기 위해 전문 감사인들이 사용하는 검증된 보안 패턴, 취약점 감지 체크리스트, 가스 최적화 기법을 제공합니다.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "solidity-security". Is this withdraw function secure? function withdraw() public { uint256 amount = balances[msg.sender]; payable(msg.sender).transfer(amount); balances[msg.sender] = 0; }
Résultat attendu:
이 함수는 리엔트런시에 취약합니다. 외부 호출이 상태 업데이트 전에 발생합니다. 공격자는 잔고가 0 으로 설정되기 전에 withdraw 를 재귀적으로 호출할 수 있습니다. 수정 방법: Checks-Effects-Interactions 패턴을 적용하세요: 먼저 balances[msg.sender] = 0을 설정한 다음 외부 호출을 수행하세요. 또는 nonReentrant modifier 와 함께 OpenZeppelin 의 ReentrancyGuard 를 사용하세요.
Utilisation de "solidity-security". How do I add access control to my admin-only function?
Résultat attendu:
OpenZeppelin 의 Ownable 컨트랙트를 import 하고 onlyOwner modifier 를 사용하세요. 또는 mapping 과 커스텀 modifier 로 역할 기반 접근을 구현하세요. 민감한 작업을 실행하기 전에 함수가 msg.sender 가 권한이 있는지 검증하도록 하세요.
Audit de sécurité
SûrAll 72 static analysis findings are false positives. The detected patterns (shell backticks, dynamic requires, weak cryptography) exist within markdown code blocks demonstrating Solidity security concepts and JavaScript testing examples. This skill contains only educational documentation with no executable code. The skill legitimately teaches smart contract security best practices including reentrancy prevention, access control, and gas optimization.
Score de qualité
Ce que vous pouvez construire
DeFi 프로토콜 구축
적절한 리엔트런시 가드와 접근 제어로 안전한 대출, 차입 또는 거래 컨트랙트를 구현합니다.
스마트 컨트랙트 감사
메인넷 배포 또는 통합 전 기존 컨트랙트의 취약점을 검토합니다.
Solidity 보안 학습
안전한 개발을 위한 일반적인 공격 벡터와 검증된 완화 패턴을 이해합니다.
Essayez ces prompts
리엔트런시, 오버플로우, 접근 제어 문제를 포함한 일반적인 취약점에 대해 내 Solidity 컨트랙트를 검토해 주세요. 안전하지 않은 패턴을 지적하고 수정 사항을 제안해 주세요.
내 withdraw 함수에 리엔트런시 보호를 추가하는 방법을 알려주세요. Checks-Effects-Interactions 패턴과 OpenZeppelin ReentrancyGuard 접근 방식 모두 보여주세요.
가스 최적화 기회를 찾기 위해 내 컨트랙트를 분석해 주세요. 보안을 유지하면서 스토리지 패킹, calldata 사용, 중복 작업 감소에 중점을 두세요.
감사 준비 상태를 위해 내 컨트랙트를 검토해 주세요. NatSpec 문서화, 입력 검증, 비상 정지 메커니즘, 적절한 이벤트 발생을 확인하세요. 보안 체크리스트를 만들어 주세요.
Bonnes pratiques
- 항상 Checks-Effects-Interactions 패턴을 적용하세요: 입력 검증, 상태 업데이트, 외부 호출 순서
- 커스텀 구현 대신 ReentrancyGuard, Ownable, Pausable 에 OpenZeppelin 의 감사된 컨트랙트 사용
- 내장 오버플로우/언더플로우 보호를 위해 Solidity 0.8+ 를 활성화하거나 이전 버전에는 SafeMath 라이브러리 사용
Éviter
- 인증에 tx.origin 을 사용하지 마세요 - 악성 컨트랙트에 의해 피싱될 수 있습니다
- 컨트랙트 상태 업데이트 전에 외부 호출을 하지 마세요. 리엔트런시 공격이 가능해집니다
- floating pragma 를 사용하지 마세요 - 결정론적 컴파일을 위해 항상 특정 Solidity 버전으로 고정하세요