
블록체인 생태계 감사, 스마트 계약 취약점 식별, 그리고 보안 감사자를 위한 다중 플랫폼 보고서 템플릿을 사용한 구조화된 결과 생성 프레임워크입니다.
Raptor는 블록체인 생태계(컨트랙트, 프로토콜 등)를 감사하기 위한 프레임워크입니다.
Raptor는 스마트 컨트랙트 및 블록체인 프로토콜의 보안 취약점을 식별하기 위한 구조화된 접근 방식과 도구를 제공합니다. 이 프레임워크는 감사자가 결과를 일관성 있게 문서화하고 여러 감사 플랫폼용 보고서를 생성하는 데 도움을 줍니다.
# 최신 안정 버전 설치 (권장)
curl -sSL https://raw.githubusercontent.com/calvin-kimani/raptor/main/install.sh | bash
# 특정 버전 설치
curl -sSL https://raw.githubusercontent.com/calvin-kimani/raptor/main/install.sh | bash -s -- v0.1.0
curl -sSL https://raw.githubusercontent.com/calvin-kimani/raptor/main/install.sh | bash -s -- 0.1.0
# 최신 안정 버전
git clone https://github.com/calvin-kimani/raptor.git /tmp/raptor-install
bash /tmp/raptor-install/install.sh
rm -rf /tmp/raptor-install
# 특정 버전
git clone https://github.com/calvin-kimani/raptor.git /tmp/raptor-install
bash /tmp/raptor-install/install.sh v0.1.5
rm -rf /tmp/raptor-install
그런 다음 셸을 다시 시작하거나 다음을 실행하세요:
source ~/.bashrc # 또는 ~/.zshrc (zsh의 경우)
설치 확인:
raptor --version
# 최신 안정 버전으로 업데이트
raptor update
# 특정 버전으로 업데이트
raptor update v0.2.5
raptor update 0.2.5
# 최신 메이저 버전으로 업그레이드
raptor upgrade
# 특정 메이저 버전으로 업그레이드
raptor upgrade v1.0.0
# 이전 버전으로 다운그레이드
raptor downgrade v0.1.0
# 모든 사용 가능한 버전 나열
raptor version --list
# 현재 버전 표시
raptor version --current
raptor --version
raptor/
├── bin/ # CLI 실행 파일 및 모듈
│ ├── raptor # 주요 Raptor CLI 실행 파일
│ └── cli/ # CLI 모듈 코드
│ ├── __init__.py # 버전 정보
│ ├── config.py # 설정 관리
│ ├── finding.py # 발견 사항 관리
│ ├── git.py # Git 리포지토리 관리
│ ├── init.py # 프로젝트 초기화
│ ├── plugin_lock.py # 플러그인 잠금 파일 관리
│ ├── plugin_manager.py # 플러그인 발견 및 설치
│ ├── raptor.py # 주요 CLI 로직
│ ├── report.py # 보고서 생성
│ ├── update.py # 버전 관리
│ └── version_utils.py # 버전 파싱 및 비교
├── scripts/ # 사용자 정의 스크립트 디렉토리
├── schemas/ # 보고서 템플릿 및 발견 사항 스키마
│ ├── reports/
│ │ ├── sherlock-report.yml # Sherlock 형식 템플릿
│ │ ├── code4rena-report.yml # Code4rena 형식 템플릿
│ │ └── codehawks-report.yml # CodeHawks 형식 템플릿
│ └── findings/
│ └── finding-schema.json # 발견 사항용 JSON 스키마
├── CONFIGURATION.md # 설정 가이드
├── CONTRIBUTING.md # 기여 가이드라인
├── install.sh # 설치 스크립트
├── raptor.toml # 프레임워크 설정
└── README.md # 이 파일
Raptor는 여러 감사 플랫폼용 보고서 생성을 지원합니다:
각 플랫폼은 특정 형식 요구 사항이 있습니다. Raptor는 발견 사항을 구조화된 JSON 형식으로 저장하고 각 플랫폼에 적합한 마크다운 형식으로 변환합니다.
템플릿 위치:
~/.raptor/schemas/reports/<project>/audits/reports/.templates/raptor.toml에서 설정 가능사용자 정의 보고서 형식 추가에 대해서는 CONFIGURATION.md를 참조하세요.
Raptor는 감사 프로젝트 관리를 위한 명령줄 인터페이스를 제공합니다:
# 새 감사 프로젝트 초기화
raptor init my-audit
# 기존 디렉토리 강제 덮어쓰기
raptor init my-audit --force
# init 중 리포지토리 클론 (기본: 얕은 복사)
raptor init --git-url https://github.com/user/repo.git
# 전체 커밋 기록으로 여러 리포지토리 클론
raptor init --git-url URL1 URL2 --commit
# 기존 프로젝트에 리포지토리 추가 (기본: 얕은 복사)
raptor git add https://github.com/user/repo.git
# 전체 기록으로 여러 리포지토리 추가
raptor git add URL1 URL2 --commit
# src/의 모든 리포지토리 나열
raptor git list
# 모든 리포지토리 업데이트
raptor git update
# 특정 리포지토리 업데이트
raptor git update repo1 repo2
# 리포지토리 제거
raptor git remove repo-name
# 새 발견 사항 생성 (JSON으로 저장)
raptor finding --new "공격자가 스테이커로부터 자금을 탈취할 것입니다" --severity HIGH
# 발견 사항 생성 후 즉시 보고서 생성
raptor finding --new "withdraw에서 재진입" --severity CRITICAL --report sherlock code4rena
# 모든 발견 사항에 대한 보고서 생성 (기본: sherlock 형식)
raptor report
# 특정 형식으로 보고서 생성
raptor report --format sherlock code4rena codehawks
# 특정 발견 사항에 대한 보고서 생성
raptor report --format sherlock --finding HIGH-reentrancy-attack
주요 기능:
--git-url로 리포지토리 클론 또는 raptor git 명령으로 관리--depth 1로 클론되어 더 빠른 다운로드 제공Raptor는 자동 의존성 관리 및 다중 버전 지원이 가능한 확장 가능한 플러그인 아키텍처를 지원합니다.
# 모든 사용 가능한 플러그인 나열
raptor plugins list
raptor plugins -l
# 프로젝트에 플러그인 설치 (.plugins/)
raptor plugins install solidity-parser
# 전역으로 플러그인 설치 (~/.raptor/bin/cli/plugins/)
raptor plugins install solidity-parser --global
raptor plugins -i solidity-parser -g
# 여러 플러그인 설치
raptor plugins install parser-plugin graph-plugin
# 강제 재설치
raptor plugins install solidity-parser --force
raptor plugins -i solidity-parser -f
# 플러그인 상태 확인
raptor plugins status solidity-parser
Raptor는 동일한 플러그인의 여러 버전을 함께 설치할 수 있습니다:
# 첫 번째 설치 (활성 버전이 됨)
raptor plugins install solidity-parser
# 설치 위치: .plugins/solidity-parser/1.0.0/
# 다른 버전 설치 (이전 버전은 활성 상태 유지)
raptor plugins install solidity-parser
# 설치 위치: .plugins/solidity-parser/1.1.0/
# 목록에 모든 버전 표시
raptor plugins list
# 출력:
# solidity-parser [Project] v1.0.0 (2 versions)
# Versions: v1.0.0*, v1.1.0
# 활성 버전 전환
raptor plugins switch solidity-parser 1.1.0
# 출력: ✓ 'solidity-parser'를 v1.0.0에서 v1.1.0으로 전환했습니다.
설치된 플러그인은 .plugins.lock에 추적되며 다음을 기록합니다:
raptor.toml에 플러그인을 추가하세요:
[plugins.my-plugin]
url = "https://raw.githubusercontent.com/user/repo/main/plugin/install.py"
version = ">=1.0.0" # 선택적 버전 제약 조건
description = "내 사용자 정의 플러그인"
# 또는 로컬 경로 사용
[plugins.local-plugin]
url = "/path/to/plugin"
# 또는 상대 경로
url = "../my-plugins/analyzer"
버전 제약 조건:
"1.0.0" 또는 "@1.0.0" - 정확한 버전">=1.0.0" - 최소 버전">1.0.0" - 초과 버전"<=2.0.0" - 최대 버전"<2.0.0" - 미만 버전raptor init my-audit로 새 감사 프로젝트 초기화raptor git add https://github.com/user/repo.git로 대상 컨트랙트 리포지토리 클론raptor finding --new "제목" --severity HIGH로 발견 사항 문서화raptor report --format sherlock code4rena로 플랫폼별 보고서 생성자세한 설정 가이드는 CONFIGURATION.md를 참조하세요.
기여 가이드를 읽어주세요.
모든 상호 작용에서 예의와 전문성을 유지해 주세요. 우리 모두는 함께 배우고 프로젝트를 개선하기 위해 여기에 있습니다.
선택에 따라 Apache License, Version 2.0 또는 MIT License에 따라 라이선스가 부여됩니다.
명시적으로 다른 의사를 밝히지 않는 한, Apache-2.0 라이선스에 정의된 대로 귀하가 이러한 크레이트에 포함하기 위해 의도적으로 제출한 모든 기여는 추가 약관이나 조건 없이 위와 같이 이중 라이선스가 부여됩니다.
이 프레임워크는 교육 및 승인된 보안 테스트 목적으로만 사용됩니다. 보안 감사를 수행하기 전에 항상 적절한 승인을 받으십시오.