0xSteph/pentest-ai

Open-source AI pentester that proves every finding. Machine oracles re-run each exploit; verified bugs ship a proof capsule you can replay yourself.

pentest‑ai (ptai) – AI‑coordinated, oracle‑verified penetration testing

개요ptai는 기존 보안 스캐너, 익스플로잇 도구 및 커스텀 프로브를 *조정(coordinate)*하는 데 대규모 언어 모델(LLM)을 사용하는 Python 기반 명령줄 도구입니다. 취약점이 발견되면 도구는 대상에 대해 결정론적이고 비파괴적인 개념 증명(the “oracle”)을 재실행합니다. 오라클이 N/N회 문제를 재현했을 때만 해당 발견이 VERIFIED(검증됨)로 표시되므로, 보고서에는 Nuclei 또는 ZAP와 같은 스캐너의 일반적인 노이즈 섞인 출력이 아닌, 입증된 취약점만 포함됩니다.

주요 기능

  • LLM 기반 워크플로우 오케스트레이션 – LLM(Claude, OpenAI, Ollama 등)이 200개 이상의 래핑된 도구와 약 60개의 웹 프로브 파이프라인을 구동하여, 어떤 도구를 실행하고 결과를 어떻게 연결할지 결정합니다.
  • 오라클 검증 – 각 후보 익스플로잇은 전용 “머신 오라클”(예: 유출된 비밀번호로 로그인, 조작된 요청 재전송)에 의해 재실행됩니다. 오라클이 성공할 때만 해당 발견에 VERIFIED 배지와 나중에 재생 가능한 휴대용 증명 캡슐(ptai replay)이 부여됩니다.
  • 다단계 에이전트 – 정찰, 인증 처리, 웹/API/AD/클라우드 테스트, 권한 상승, 익스플로잇 체인 구축, PoC 검증, 탐지 규칙 생성, 보고서 작성, 그리고 선택 사항으로 레드팀, 모바일 및 무선 에이전트를 지원합니다.
  • 제로 트러스트 실행 – 모든 네트워크 트래픽은 사용자의 머신에서 발생합니다. 사용자가 LLM 엔드포인트를 제공하지 않는 한 클라우드 서비스가 필요하지 않습니다. Ollama를 사용하여 완전히 오프라인으로 실행할 수 있습니다.
  • CI/CD 통합 – GitHub Action 예시는 검증된 고위험 발견이 나타날 때 SARIF, JUnit 또는 PDF 보고서와 함께 PR을 실패시키는 방법을 보여줍니다.
  • 범위 안전성 – 활성 도구는 호스트에 고정되어 있습니다. 스캐너는 페이지에서 스크래핑된 타사 URL을 절대 따라가지 않습니다.
  • 비용 가드 – 독립형(non-MCP) 모드에서 LLM 비용은 기본적으로 10 USD로 제한됩니다. 이 제한은 PTAI_PRICE_LIMIT를 통해 구성할 수 있습니다.

작동 방식 (하이레벨 흐름)

  1. ptai start <target>가 작업을 시작합니다.
  2. Recon(정찰) 단계에서 포트, DNS, 서비스 핑거프린트를 수집합니다.
  3. Auth(인증) 단계에서 로그인하고(자격 증명은 환경 변수, 1Password, Vault 등에서 참조 가능) 세션을 유지합니다.
  4. Web / API / AD / Cloud 에이전트가 결정론적 프로브를 실행합니다 (OWASP Top 10, API Top 10 등을 포함하는 60개 이상의 SPA 인식 체크).
  5. 발견 내용은 로컬 SQLite DB에 저장됩니다.
  6. Exploit‑chain 에이전트가 발견 내용을 상관 관계 분석하여 다단계 공격 경로를 구축합니다.
  7. **Poc‑validator (오라클)**가 각 발견을 재실행합니다. 성공한 것만 VERIFIED로 표시되고 재생 가능한 캡슐로 패키징됩니다.
  8. Report 에이전트가 markdown, HTML, PDF, SARIF, JUnit 및 선택적 탐지 규칙 내보내기를 생성합니다.

설치 및 사용법

pip install ptai               # 코어 패키지
tai start https://target.com   # 대화형 실행 (인증, 범위 등에 대한 프롬프트 표시)
tai demo                       # 번들된 취약한 앱을 대상으로 한 빠른 데모
tai replay <capsule>           # 증명 캡슐을 직접 재생

다음 세 가지 실행 경로가 문서화되어 있습니다:

  • 경로 1 – API 키 없이 Claude Code(또는 기타 MCP 호환 클라이언트)에서 ptai를 구동합니다. 클라이언트의 기존 Anthropic 구독이 LLM을 제공합니다.
  • 경로 2ptai setup --mcp를 통해 다른 MCP 클라이언트(Cursor, VS Code Copilot 등)를 자동 구성합니다.
  • 경로 3 – CI, 에어갭 터미널 또는 MCP 클라이언트가 없는 사용자를 위한 독립형 CLI입니다. LLM API 키 또는 로컬 Ollama 서버가 필요합니다.

벤치마크 (README에 보고된 내용)

  • 14개의 취약점 클래스를 포함하는 커스텀 허니팟에서 ptai23개의 발견100% 정밀도제로 오탐으로 검증했습니다.
  • OWASP Juice Shop에서 단일 스캔으로 12개의 오라클 검증된 발견(예: JWT alg:none, BOLA, 순차적 IDOR, 타입 혼동)을 생성했습니다.
  • 이 도구는 허니팟 하네스와 클린 앱 테스트 스위트를 제공하므로 이러한 수치를 재현할 수 있습니다.

사용 시기

  • 각 취약점에 대한 높은 신뢰도의 재현 가능한 증명이 필요한 내부 레드팀 또는 침투 테스트 작업.
  • 검증된 보안 발견에 따라 병합을 제한해야 하는 CI/CD 파이프라인.
  • 엄격한 데이터 프라이버시 요구 사항이 있는 환경 (로컬 실행, 텔레메트리 없음, 오프라인 LLM 옵션).
  • 이미 MCP 호환 LLM 클라이언트(Claude Code, Cursor 등)를 사용 중이며 보안 도구로 확장하려는 팀.

제한 사항 / 주의 사항

  • LLM은 조정 역할만 수행합니다. 탐지 범위는 큐레이션된 프로브 라이브러리(약 60개의 웹 프로브, 200개 이상의 래핑된 도구)에 따라 달라집니다. 라이브러리에 없는 새로운 버그는 발견되지 않습니다.
  • 오라클 검증은 실행 오버헤드를 추가합니다. 노트북에서 전체 스캔을 수행하는 데 몇 분이 걸릴 수 있습니다.
  • 독립형 모드에서는 LLM 사용 시 API 비용이 발생합니다. 기본 10달러 한도는 한도를 높이지 않으면 긴 작업 중에 중단될 수 있습니다.
  • 이 도구는 **공격적(offensive)**이며 승인된 사용 정책 동의가 필요합니다. 테스트 권한이 있는 시스템에 대해서만 실행해야 합니다.

TL;DRpentest‑ai (pip 패키지 ptai)는 발견된 모든 익스플로잇을 자동으로 재실행하여 기계적으로 검증된 증명을 생성함으로써 차별화되는 오픈 소스 LLM 조정형 침투 테스트 프레임워크입니다. 로컬에서 실행되며, 기존 보안 도구와 통합되고, CI/CD를 지원하며, 클라우드 기반(MCP) 및 완전 오프라인 사용 모드를 모두 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트