280개 이상의 piece를 MCP 서버로 노출하는 오픈소스 AI 워크플로 자동화.
한국어는 runchr 제공 번역입니다. 원문 README는 English tool page.
pentagi
PentAGI는 자율 침투 테스트를 위한 자체 호스팅 멀티 에이전트 시스템입니다. 에이전트가 작업을 계획하고, 격리된 Docker 샌드박스에서 20개 이상의 보안 도구를 실행합니다.
- Run
- docker compose up -d
- Interface
- web UI, REST and GraphQL APIs
- Models
- OpenAI
프로젝트 README (번역)
GitHub ↗Written by the project's own authors, not by runchr. Snapshot taken 2026-10-29.
PentAGI
P enetration testing A rtificial G eneral I ntelligence
커뮤니티에 참여하세요! 보안 연구원, AI 애호가, 동료 윤리적 해커들과 연결하세요. 지원을 받고, 인사이트를 공유하며, 최신 PentAGI 개발 소식을 받아보세요.
⠀
목차
개요
기능
아키텍처
에이전트 감독
빠른 시작
에이전트 Docker 접근
여러 인스턴스 실행
로그인 후 PentAGI 사용 방법
API 접근
LLM 제공자 구성
Azure OpenAI
Ollama
OpenAI
Anthropic
Google AI (Gemini)
AWS Bedrock
DeepSeek
GLM
Kimi
Qwen
MiniMax
Mistral
xAI (Grok)
고급 설정
Langfuse 통합
모니터링 및 관측성
지식 그래프 (Graphiti)
OAuth 통합
Docker 이미지 구성
개발
LLM 에이전트 테스트
임베딩 구성 및 테스트
ftester를 이용한 함수 테스트
빌드
크레딧
라이선스
개요
PentAGI는 자율 침투 테스트를 위한 오픈소스, 자체 호스팅 멀티 에이전트 시스템입니다. 대상과 목표를 자연어로 설명하면, 전문화된 AI 에이전트 팀이 작업을 계획하고, nmap, Metasploit, sqlmap 등 20개 이상의 전문 도구를 격리된 Docker 샌드박스 내에서 실행하며, 학습한 내용을 기억하고 보고서를 제공합니다.
대상 사용자. 자체 인프라에서 자율 어시스턴트를 원하는 보안 엔지니어, 침투 테스터, 연구원, 레드 팀 (승인된 테스트 전용).
차별점. 원하는 모델로 자체 서버에서 실행됩니다: 10개 이상의 클라우드 LLM 제공자, 자체 OpenAI 호환 게이트웨이, 또는 Ollama나 vLLM을 통한 로컬 모델. 결과와 성공적인 접근 방식은 이후 흐름을 위해 pgvector가 포함된 PostgreSQL에 저장되고, 선택적 Neo4j 지식 그래프가 호스트, 서비스, 발견 사항을 추적하며, 실행 모니터링과 작업 계획이 더 작은 오픈 모델을 지원하고, REST 및 GraphQL API로 자동화할 수 있습니다. PentAGI Enterprise는 에이전트 프로필, 플러그인, MCP 서버, 고객용 보고서, 실시간 공격 체인 뷰를 추가합니다.
설치 방법. Linux, macOS, Windows용 대화형 설치 프로그램이 Docker Compose로 PentAGI를 설정합니다 — 빠른 시작 을 참조하세요.
PentAGI는 두바이에 본사를 둔 보안 엔지니어링 회사인 VXControl 에서 개발했습니다.
PentAGI 개요 동영상을 시청할 수 있습니다:
기능
보안 및 격리. 모든 작업은 완전한 격리를 갖춘 샌드박스 Docker 환경에서 수행됩니다.
완전 자율. AI 기반 에이전트가 침투 테스트 단계를 자동으로 결정하고 실행하며, 선택적 실행 모니터링과 지능형 작업 계획으로 안정성을 강화합니다.
전문 침투 테스트 도구. nmap, metasploit, sqlmap 등 20개 이상의 전문 보안 도구가 내장되어 있습니다.
스마트 메모리 시스템. 연구 결과와 성공적인 접근 방식을 향후 사용을 위해 장기 저장합니다.
선택적 지식 그래프 통합. Neo4j를 사용하는 Graphiti 기반 지식 그래프로 의미적 관계 추적과 고급 컨텍스트 이해를 제공합니다.
웹 인텔리전스. scraper를 통한 내장 브라우저로 웹 소스에서 최신 정보를 수집합니다.
외부 검색 시스템. Tavily , Firecrawl , Traversaal , Perplexity , DuckDuckGo , Google Custom Search , Sploitus Search , SearXNG 등 고급 검색 API와 통합하여 포괄적인 정보 수집을 제공합니다.
전문가 팀. 연구, 개발, 인프라 작업을 위한 전문화된 AI 에이전트가 있는 위임 시스템으로, 선택적 실행 모니터링과 지능형 작업 계획을 통해 더 작은 모델에서도 최적의 성능을 발휘합니다.
포괄적 모니터링. 상세한 로깅과 Grafana/Prometheus 통합으로 실시간 시스템 관측을 제공합니다.
상세 보고. 익스플로잇 가이드가 포함된 철저한 취약점 보고서를 생성합니다.
스마트 컨테이너 관리. 특정 작업 요구 사항에 따라 Docker 이미지를 자동으로 선택합니다.
현대적 인터페이스. 시스템 관리와 모니터링을 위한 깔끔하고 직관적인 웹 UI.
포괄적 API. 자동화와 통합을 위한 Bearer 토큰 인증을 갖춘 완전한 기능의 REST 및 GraphQL API.
영구 저장. 모든 명령과 출력은 pgvector 확장이 포함된 PostgreSQL에 저장됩니다.
확장 가능한 아키텍처. 수평 확장을 지원하는 마이크로서비스 기반 설계.
자체 호스팅 솔루션. 배포와 데이터에 대한 완전한 제어.
유연한 인증. 10개 이상의 LLM 제공자 ( OpenAI , Anthropic , Google AI/Gemini , AWS Bedrock , Ollama , DeepSeek , GLM , Kimi , Qwen , MiniMax , Mistral , xAI , Azure OpenAI를 포함한 모든 OpenAI 호환 엔드포인트용 Custom )와 애그리게이터 ( OpenRouter , DeepInfra , Atlas Cloud , OpenCode Go plan )를 지원합니다. 프로덕션 로컬 배포는 vLLM + Qwen3.5-27B-FP8 가이드 를 참조하세요.
API 토큰 인증. REST 및 GraphQL API에 대한 프로그래밍 방식 접근을 위한 안전한 Bearer 토큰 시스템.
빠른 배포. 포괄적인 환경 구성을 갖춘 Docker Compose를 통한 간편한 설정.
현재 기능 경계
현재 PentAGI는 자율 및 어시스턴트 안내 방식의 침투 테스트 플랫폼이며, 사전 정의된 캠페인이나 공격 계획을 갖춘 CALDERA 스타일의 침해 및 공격 시뮬레이션 (BAS) 또는 적대자 에뮬레이션 제품이 아닙니다.
BAS 유사 에이전트 작성 공격 스크립트는 현재 구현된 기능이 아니라 개념적 또는 향후 작업으로 취급해야 합니다.
현재 흐름 보고서 UI는 웹 보기, 클립보드 복사, Markdown 다운로드, PDF 다운로드를 지원합니다. JSON 흐름 보고서 내보내기는 현재 지원되는 출력 형식으로 문서화되어 있지 않습니다.
제공자 유연성은 현재 내장 제공자와 custom/OpenAI 호환 엔드포인트를 통해 제공됩니다. Custom LLM 제공자 구성 및 vLLM + Qwen3.5-27B-FP8 가이드 를 참조하세요.
아키텍처
시스템 컨텍스트
flowchart TB
classDef person fill:#08427B,stroke:#073B6F,color:#fff
classDef system fill:#1168BD,stroke:#0B4884,color:#fff
classDef external fill:#666666,stroke:#0B4884,color:#fff
pentester["👤 Security Engineer
(User of the system)"]
pentagi["✨ PentAGI
(Autonomous penetration testing system)"]
target["🎯 target-system
(System under test)"]
llm["🧠 llm-provider
(OpenAI/Anthropic/Ollama/Bedrock/Gemini/Custom)"]
search["🔍 search-systems
(Google/DuckDuckGo/Tavily/Firecrawl/Traversaal/Perplexity/Sploitus/SearXNG)"]
langfuse["📊 langfuse-ui
(LLM Observability Dashboard)"]
grafana["📈 grafana
(System Monitoring Dashboard)"]
pentester --> |Uses HTTPS| pentagi
pentester --> |Monitors AI HTTPS| langfuse
pentester --> |Monitors System HTTPS| grafana
pentagi --> |Tests Various protocols| target
pentagi --> |Queries HTTPS| llm
pentagi --> |Searches HTTPS| search
pentagi --> |Reports HTTPS| langfuse
pentagi --> |Reports HTTPS| grafana
class pentester person
class pentagi system
class target,llm,search,langfuse,grafana external
linkStyle default stroke:#ffffff,color:#ffffff
로딩 중
컨테이너 아키텍처 (클릭하여 펼치기)
graph TB
subgraph Core Services
UI[Frontend UI<br/>React + TypeScript]
API[Backend API<br/>Go + GraphQL]
DB[(Vector Store<br/>PostgreSQL + pgvector)]
MQ[Task Queue<br/>Async Processing]
Agent[AI Agents<br/>Multi-Agent System]
end
subgraph Knowledge Graph
Graphiti[Graphiti<br/>Knowledge Graph API]
Neo4j[(Neo4j<br/>Graph Database)]
end
subgraph Monitoring
Grafana[Grafana<br/>Dashboards]
VictoriaMetrics[VictoriaMetrics<br/>Time-series DB]
Jaeger[Jaeger<br/>Distributed Tracing]
Loki[Loki<br/>Log Aggregation]
OTEL[OpenTelemetry<br/>Data Collection]
end
subgraph Analytics
Langfuse[Langfuse<br/>LLM Analytics]
ClickHouse[ClickHouse<br/>Analytics DB]
Redis[Redis<br/>Cache + Rate Limiter]
MinIO[MinIO<br/>S3 Storage]
end
subgraph Security Tools
Scraper[Web Scraper<br/>Isolated Browser]
PenTest[Security Tools<br/>20+ Pro Tools<br/>Sandboxed Execution]
end
UI --> |HTTP/WS| API
API --> |SQL| DB
API --> |Events| MQ
MQ --> |Tasks| Agent
Agent --> |Commands| PenTest
Agent --> |Queries| DB
Agent --> |Knowledge| Graphiti
Graphiti --> |Graph| Neo4j
API --> |Telemetry| OTEL
OTEL --> |Metrics| VictoriaMetrics
OTEL --> |Traces| Jaeger
OTEL --> |Logs| Loki
Grafana --> |Query| VictoriaMetrics
Grafana --> |Query| Jaeger
Grafana --> |Query| Loki
API --> |Analytics| Langfuse
Langfuse --> |Store| ClickHouse
Langfuse --> |Cache| Redis
Langfuse --> |Files| MinIO
classDef core fill:#f9f,stroke:#333,stroke-width:2px,color:#000
classDef knowledge fill:#ffa,stroke:#333,stroke-width:2px,color:#000
classDef monitoring fill:#bbf,stroke:#333,stroke-width:2px,color:#000
classDef analytics fill:#bfb,stroke:#333,stroke-width:2px,color:#000
classDef tools fill:#fbb,stroke:#333,stroke-width:2px,color:#000
class UI,API,DB,MQ,Agent core
class Graphiti,Neo4j knowledge
class Grafana,VictoriaMetrics,Jaeger,Loki,OTEL monitoring
class Langfuse,ClickHouse,Redis,MinIO analytics
class Scraper,PenTest tools
로딩 중
엔터티 관계 (클릭하여 펼치기)
erDiagram
Flow ||--o{ Task : contains
Task ||--o{ SubTask : contains
SubTask ||--o{ Action : contains
Action ||--o{ Artifact : produces
Action ||--o{ Memory : stores
Flow {
string id PK
string name "Flow name"
string description "Flow description"
string status "active/completed/failed"
json parameters "Flow parameters"
timestamp created_at
timestamp updated_at
}
Task {
string id PK
string flow_id FK
string name "Task name"
string description "Task description"
string status "pending/running/done/failed"
json result "Task results"
timestamp created_at
timestamp updated_at
}
SubTask {
string id PK
string task_id FK
string name "Subtask name"
string description "Subtask description"
string status "queued/running/completed/failed"
string agent_type "researcher/developer/executor"
json context "Agent context"
timestamp created_at
timestamp updated_at
}
Action {
string id PK
string subtask_id FK
string type "command/search/analyze/etc"
string status "success/failure"
json parameters "Action parameters"
json result "Action results"
timestamp created_at
}
Artifact {
string id PK
string action_id FK
string type "file/report/log"
string path "Storage path"
json metadata "Additional info"
timestamp created_at
}
Memory {
string id PK
string action_id FK
string type "observation/conclusion"
vector embedding "Vector representation"
text content "Memory content"
timestamp created_at
}
로딩 중
에이전트 상호작용 (클릭하여 펼치기)
sequenceDiagram
participant O as Orchestrator
participant R as Researcher
participant D as Developer
participant E as Executor
participant VS as Vector Store
participant KB as Knowledge Base
Note over O,KB: Flow Initialization
O->>VS: Query similar tasks
VS-->>O: Return experiences
O->>KB: Load relevant knowledge
KB-->>O: Return context
Note over O,R: Research Phase
O->>R: Analyze target
R->>VS: Search similar cases
VS-->>R: Return patterns
R->>KB: Query vulnerabilities
KB-->>R: Return known issues
R->>VS: Store findings
R-->>O: Research results
Note over O,D: Planning Phase
O->>D: Plan attack
D->>VS: Query exploits
VS-->>D: Return techniques
D->>KB: Load tools info
KB-->>D: Return capabilities
D-->>O: Attack plan
Note over O,E: Execution Phase
O->>E: Execute plan
E->>KB: Load tool guides
KB-->>E: Return procedures
E->>VS: Store results
E-->>O: Execution status
로딩 중
메모리 시스템 (클릭하여 펼치기)
graph TB
subgraph "Long-term Memory"
VS[(Vector Store<br/>Embeddings DB)]
KB[Knowledge Base<br/>Domain Expertise]
Tools[Tools Knowledge<br/>Usage Patterns]
end
subgraph "Working Memory"
Context[Current Context<br/>Task State]
Goals[Active Goals<br/>Objectives]
State[System State<br/>Resources]
end
subgraph "Episodic Memory"
Actions[Past Actions<br/>Commands History]
Results[Action Results<br/>Outcomes]
Patterns[Success Patterns<br/>Best Practices]
end
Context --> |Query| VS
VS --> |Retrieve| Context
Goals --> |Consult| KB
KB --> |Guide| Goals
State --> |Record| Actions
Actions --> |Learn| Patterns
Patterns --> |Store| VS
Tools --> |Inform| State
Results --> |Update| Tools
VS --> |Enhance| KB
KB --> |Index| VS
classDef ltm fill:#f9f,stroke:#333,stroke-width:2px,color:#000
classDef wm fill:#bbf,stroke:#333,stroke-width:2px,color:#000
classDef em fill:#bfb,stroke:#333,stroke-width:2px,color:#000
class VS,KB,Tools…
No comments yet.
to comment.