
REST API를 위한 자동화된 침투 테스트 프레임워크로, OpenAPI 기반 테스트 생성, 32개의 OWASP 기반 보안 테스트, 그리고 OAuth2, HTTP Basic Auth 및 API 키에 대한 내장 접근 제어 처리를 제공합니다.
REST-Attacker는 REST 아키텍처 스타일을 따르는 API를 위한 자동화된 침투 테스트 프레임워크입니다. 이 도구는 최소한의 설정만으로 테스트 생성, 접근 제어 처리, 보고서 생성을 완전히 자동화하여 일반적인 REST API 구현 분석을 간소화하는 데 중점을 둡니다. 또한 REST-Attacker는 대규모 테스트와 세밀한 분석을 모두 지원하도록 유연하고 확장 가능하게 설계되었습니다.
REST-Attacker는 보쿰 루르 대학교의 네트워크 및 데이터 보안 학과에서 유지 관리하고 있습니다.
REST-Attacker는 현재 다음과 같은 기능을 제공합니다:
저장소를 다운로드하거나 복제하여 도구를 받으세요:
git clone https://github.com/RUB-NDS/REST-Attacker.git
도구를 실행하려면 Python >3.10이 필요합니다.
또한 pip로 다음 패키지를 설치해야 합니다:
python3 -m pip install -r requirements.txt
여기에서 가장 일반적이고 유용한 명령어에 대한 빠른 요약을 확인할 수 있습니다. 각 명령어 및 기타 사용 가능한 구성 옵션에 대한 자세한 내용은 사용 가이드에서 확인할 수 있습니다.
지원되는 테스트 케이스 목록 보기:
python3 -m rest_attacker --list
기본 테스트 실행 (로드 시 테스트 케이스 생성 포함):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate
전체 테스트 실행 (로드 시 및 런타임 테스트 케이스 생성 + 속도 제한 처리 포함):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate --propose --handle-limits
선택된 테스트 케이스만으로 테스트 실행 (scopes.TestTokenRequestScopeOmit 및 resources.FindSecurityParameters 테스트 케이스에 대해서만 테스트 케이스 생성):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate --test-cases scopes.TestTokenRequestScopeOmit resources.FindSecurityParameters
보고서에서 테스트 실행 재실행:
python3 -m rest_attacker <cfg-dir-or-openapi-file> --run /path/to/report.json
사용 가이드 및 구성 형식 문서는 문서 하위 폴더에서 확인할 수 있습니다.
도구의 알려진 문제에 대한 수정/완화 방법은 문제 해결 문서 또는 이슈 섹션을 참조하세요.
모든 종류의 기여를 환영합니다! 버그를 발견하거나 제안 또는 기능 요청이 있는 경우, 이슈 트래커에 새로운 이슈를 생성해 주세요. 풀 리퀘스트를 통해 수정 사항이나 코드 개선 사항을 제출할 수도 있습니다.
안타깝게도 때때로 매우 바쁠 수 있으므로, 이 저장소의 댓글에 응답하는 데 시간이 걸릴 수 있습니다.
이 프로젝트는 GNU LGPLv3 이상(LGPL3+)에 따라 라이선스가 부여됩니다. 전체 라이선스 텍스트는 COPYING을, 저자 목록은 CONTRIBUTORS.md를 참조하세요.