Vasco0x4/AIDA

Turn any LLM into an autonomous pentester. You define the scope, the agent does the work, you review the findings.

AIDA – AI 기반 자율 펜테스트 에이전트

무엇인가요 – AIDA는 어떤 대규모 언어 모델(Claude, Gemini, OpenAI 등)을 자율적인 보안 평가 보조자로 전환하는 오픈소스 플랫폼입니다. LLM은 Docker 기반 실행 환경을 제어하고, 리콘나이선스 및 공격 도구를 실행하며, 실시간으로 Python 페이로드를 생성하고, 모든 단계를 인간 검토자가 나중에 감사할 수 있는 지속 가능한 노트북에 기록합니다.

주요 구성 요소

  • LLM 기반 에이전트 – 모델에 의존하지 않으며, 도구 호출을 지원하는 모든 LLM과 작동 가능합니다. 에이전트는 어떤 조치를 취할지 결정합니다(스캔, 열거, 공격, 로깅).
  • 펜테스트 컨테이너 – 일반적인 도구(nmap, sqlmap, ffuf, nuclei 등)를 포함한 사전 빌드된 Docker 이미지(aida-pentest). 부족한 도구는 런타임에 설치 가능하며, 훨씬 더 큰 Exegol 이미지로 교체할 수 있습니다.
  • 도구 호출 API – Anthropic의 Model Context Protocol(MCP) 기반입니다. LLM은 execute(), scan(), http_request(), python_exec(), add_card()와 같은 함수를 호출하여 타겟과 상호작용하고 발견 내용을 기록합니다.
  • 대시보드 및 노트북 – 웹 UI(기본값 http://localhost:31337)는 실시간 진행 상황, 공격 타임라인, 검색 가능한 발견 목록을 표시합니다. 발견은 자동으로 CVSS 4.0로 평가되며 PDF 보고서로 내보낼 수 있습니다.
  • 인증 및 알림 – JWT 기반 사용자 역할과 함께, 새로운 발견에 대해 Telegram/Slack/이메일 알림을 선택적으로 제공합니다.

무엇을 할 수 있나요

  1. 범위 정의 – 타겟 URL, 서브도메인 목록, 제외 항목을 제공합니다.
  2. 자율 실행 – LLM은 반복적으로 리콘나이선스(서브도메인 열거, SSL 분석, 기술 지문), 취약점 스캔, 커스텀 공격(Python 스크립트, 원시 HTTP 조작)을 수행합니다.
  3. 증거 수집 – 모든 명령어, 그 원시 출력, 그리고 그에 이르는 추론이 노트북에 저장됩니다.
  4. 인간의 수동 검토 – 실행 후, 로깅된 발견을 검토하고 필요 시 단계를 재현한 후 최종 보고서를 생성합니다.

빠른 시작 (README에서)

# UI 클론 및 시작 (Docker 필요)
git clone https://github.com/Vasco0x4/AIDA.git && cd AIDA
./start.sh               # UI는 http://localhost:31337

# 에이전트 시작 (기본값은 Claude Code)
python3 aida.py --assessment "target-corp"

옵션 플래그로 특정 모델 선택(--cli codex), 프롬프트 없이 실행(--yes), 또는 LAN/공개 도메인에서 UI 노출 가능합니다.

지원되는 모델 및 클라이언트

클라이언트 사용 방법
Claude Code python3 aida.py (자동 감지)
OpenAI Codex CLI python3 aida.py --cli codex
Kimi, Gemini, 기타 OpenAI 호환 API 동일한 --cli 또는 --base-url 옵션
데스크톱 클라이언트 (Claude, ChatGPT) MCP 파일을 통해 구성

내장 에이전트 도구

  • execute() – 펜테스트 컨테이너 내에서 임의의 쉘 명령어 실행.
  • scan() – nmap, ffuf, nikto, dirb 등의 래퍼.
  • subdomain_enum() – 서브도메인 탐지.
  • ssl_analysis() – TLS/SSL 검사.
  • tech_detection() – 웹 기술 식별.
  • python_exec() – 컨테이너 내에서 임의의 Python 코드 실행.
  • http_request() – 인증 정보 플레이스홀더를 포함한 완전 제어 가능한 HTTP 클라이언트.
  • add_card() – 취약점 로깅(자동 CVSS 4.0 계산).
  • credentials_add() – 자동 삽입을 위한 비밀 정보 저장.

현실 세계의 영향 – README에는 AIDA가 발견한 여러 CVE(예: kestra-io/kestra의 심각한 RCE)가 목록으로 나와 있습니다. 이는 도구가 공개 가능한 발견을 생성할 수 있음을 보여줍니다.

일반적인 사용 사례

  • 레드팀 / 펜테스트 자동화 – 수동 감사 전에 저비용 취약점을 발견하기 위한 첫 번째 평가 실행.
  • 버그 바운티 탐색 – 타겟의 공격 표면을 빠르게 열거하고 테스트.
  • 지속적인 보안 테스트 – CLI를 CI 파이프라인에 통합하여 주기적인 스캔 실행.
  • 학습 / 연구 – 자신이 도구를 작성하지 않고도 LLM 기반 공격을 실험.

설치 노트

  • Docker Desktop과 도구 호출을 지원하는 LLM 클라이언트 필요.
  • start.sh 스크립트는 개발 모드(--dev), LAN 모드(--lan), Let’s Encrypt를 사용한 공개 모드(--domain)에서 실행 가능.
  • "로컬호스트 모드"(--localhost)는 컨테이너 내부가 아닌 호스트에서 직접 명령어를 실행할 수 있게 해주며, 디버깅에 유용합니다.

라이선스 – AGPL-v3. 따라서 모든 수정 사항은 동일한 라이선스 하에 공유해야 합니다.

커뮤니티 – 지원을 위한 디스코드 채널과 함께 이슈 추적기 및 기여 가이드 링크 제공.


결론 – AIDA는 LLM의 추론과 완전한 펜테스트 툴체인을 결합한 진정한 오픈소스 AI 에이전트 프로젝트입니다. 반복적인 작업을 자동화하면서도 검증과 보고서 작성에 인간을 포함시키고자 하는 보안 전문가를 위한 도구입니다.

관련

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