PentAGI 소개
정보 보안 분야에서 모의 해킹은 시스템의 취약점을 사전에 식별하고 대응하기 위해 필수적인 과정으로 자리 잡고 있습니다. 하지만 이러한 테스트는 고도의 전문성을 갖춘 인력에 크게 의존하며 반복적이고 수동적인 작업에 많은 시간과 자원이 소모된다는 한계를 지니고 있었습니다. 이러한 문제를 해결하기 위해 등장한 PentAGI는 최신 인공지능 기술을 기반으로 복잡한 보안 테스트 작업을 사람의 개입 없이 독립적으로 수행할 수 있도록 설계된 자율형 AI 에이전트 시스템입니다. PentAGI는 오픈소스로 제공되며 정보 보안 전문가와 연구자들에게 실용적인 도구를 제공하는 것을 목표로 합니다.
사용자가 초기 목표와 작업만 정의하면 시스템 내부에 구축된 AI 에이전트가 상황을 스스로 분석하고 적절한 공격 벡터를 결정하여 침투 테스트를 진행하게 됩니다. 터미널 환경은 물론 웹 브라우저와 텍스트 편집기 그리고 외부 검색 시스템까지 사람과 유사한 방식으로 도구를 조작하며 최신 위협 정보를 수집하고 테스트에 반영합니다. 이는 지속적으로 작동하는 자동화된 모의 해킹 팀을 운영하는 것과 같은 효과를 창출하여 기업이나 조직이 보안 점검의 확장성과 효율성을 높일 수 있도록 지원합니다.
또한 인프라 내부에 독립된 형태로 직접 구축할 수 있는 셀프 호스팅 방식을 지원하여 민감한 보안 데이터가 외부로 전송될 위험을 차단합니다. 현대적이고 직관적인 웹 사용자 인터페이스를 통해 사용자는 AI 에이전트의 작업 과정을 실시간으로 모니터링하고 테스트가 완료된 후에는 상세한 취약점 보고서와 조치 가이드를 받아볼 수 있습니다. 따라서 이 플랫폼은 단순히 도구를 자동화하는 것을 넘어 AI 기반의 보안 인텔리전스를 통해 능동적인 방어 체계를 구축하는 데 유용한 역할을 수행합니다.
특히, 기존의 모의 해킹 방식은 보안 전문가가 직접 다양한 도구를 수동으로 조작하고 결과를 일일이 분석해야 하므로 대상 시스템의 규모가 커질수록 소요되는 시간과 비용이 비례하여 증가했습니다. 반면 PentAGI는 여러 개의 특화된 AI 에이전트를 통해 연구부터 개발 및 인프라 구성까지 테스트에 필요한 모든 역할을 자동으로 분담하고 병렬적으로 처리합니다. 이를 통해 전문가의 경험에 의존하던 단편적인 기억 방식에서 벗어나 지식 그래프와 벡터 데이터베이스를 활용한 장기 기억 시스템을 도입함으로써 이전의 성공적인 공격 방식이나 연구 결과를 체계적으로 축적하고 다음 테스트에 지능적으로 재사용할 수 있다는 점에서 구조적인 차별성을 가집니다.
PentAGI의 주요 특징
다중 AI 에이전트 및 자율 수행 아키텍처
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/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
PentAGI 시스템의 주요 특징은 연구와 개발 그리고 인프라 관리 등 각기 다른 전문 분야를 담당하는 여러 AI 에이전트가 협력하여 복잡한 보안 과제를 해결하는 다중 에이전트 위임 시스템을 갖추고 있다는 점입니다.
에이전트들은 터미널에 직접 명령어를 입력하거나 스크립트를 작성하고 실행 결과를 분석하여 다음 단계를 자율적으로 결정하는 일련의 과정을 능동적으로 수행합니다. 추가적인 최신 보안 동향이나 타겟 시스템에 대한 정보가 필요할 경우 내장된 브라우저 스크래퍼와 외부 검색 시스템을 적극적으로 활용하여 상황에 맞는 데이터를 수집합니다.
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
에이전트의 정보 수집 능력을 확보하기 위해 덕덕고(DuckDuckGo) 와 구글 커스텀 서치를 비롯하여 퍼플렉시티(Perplexity) 및 타빌리(Tavily) 등 다양한 최신 검색 API들이 시스템에 통합되어 있습니다.
이를 통해, 인터넷에 분산되어 있는 최신 취약점 정보나 익스플로잇 코드를 실시간으로 검색하고, 검색 결과를 컨텍스트에 맞게 가공하여 실제 침투 테스트에 즉각적으로 적용합니다. 결과적으로 에이전트들은 단순한 스크립트 실행기를 넘어 상황의 변화에 유연하게 대처하고 미지의 시스템 환경에서도 적절한 경로를 찾아내는 추론 능력을 발휘하게 됩니다.
안전한 샌드박스 환경과 전문 보안 도구의 결합
모의 해킹 과정에서 발생할 수 있는 예상치 못한 시스템 장애나 악의적인 코드의 확산을 방지하기 위해 모든 공격 및 분석 작업은 완전히 격리된 샌드박스 환경에서 이루어집니다. 워커 컨테이너(Worker Container)들은 전용 하드웨어 위에서 실행되며 침투 테스트를 위한 별도의 네트워크 경계가 설정되어 있어 타겟 시스템 외의 다른 인프라에 영향을 주지 않습니다.
특히, TLS 인증 기반의 도커 인 도커(Docker-in-Docker) 구조를 채택하여 에이전트가 필요에 따라 하위 컨테이너를 안전하게 생성하고 관리할 수 있는 유연한 실행 환경을 제공합니다.
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
이러한 안전한 실행 환경 위에는 정보 보안 전문가들이 널리 사용하는 칼리 리눅스 기반의 최적화된 도커 이미지가 기본적으로 제공되며 여기에는 이백 개 이상의 전문적인 보안 테스트 도구들이 포함되어 있습니다.
네트워크 스캐닝을 위한 NMAP 이나 취약점 공격 프레임워크인 Metasploit 그리고 데이터베이스 인젝션 도구인 SQLmap 등이 에이전트의 판단에 따라 자유롭게 호출되고 조합됩니다. 시스템은 각 작업의 성격과 요구 사항을 분석하여 가장 적합한 도커 이미지를 자동으로 선택하고 할당하는 스마트 컨테이너 관리 기능을 통해 시스템 자원의 효율성을 극대화합니다.
지식 그래프 기반의 시맨틱 메모리 시스템
에이전트가 수행한 수많은 작업 결과와 수집된 데이터들은 로그 형태로 낭비되지 않고 시스템의 장기 기억 장소에 구조화되어 지속적으로 관리됩니다. 이를 위해 시스템은 Neo4j 그래프 데이터베이스와 Graphiti 기술을 접목하여 개체 간의 복잡한 의미적 관계를 추적하는 시맨틱 메모리 구조를 구현했습니다.
PentAGI는 침투 테스트 과정에서 발견된 취약점이나 서비스 포트 그리고 타겟 구조와 같은 정보는 지식 그래프의 노드와 엣지로 실시간 매핑되어 에이전트가 전체적인 시스템 구조와 약점을 입체적으로 이해할 수 있도록 돕습니다.
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
}
더불어, PentAGI 시스템에서 발생하는 모든 명령어와 출력 결과 그리고 분석 데이터는 pgvector 확장이 적용된 PostgreSQL 데이터베이스에 영구적으로 저장됩니다. 이 벡터 저장소는 수집된 비정형 데이터들을 고차원 벡터로 변환하여 보관함으로써 에이전트가 과거의 유사한 상황이나 관련된 정보를 의미 기반으로 신속하게 검색하고 재활용할 수 있게 해줍니다.
이러한 지식 그래프와 벡터 검색의 결합은 에이전트가 단편적인 판단을 내리는 것을 방지하고 과거의 경험을 바탕으로 더욱 정교하고 연속성 있는 공격 시나리오를 수립하는 데 기여합니다.
유연한 인공지능 모델 지원과 통합 관측성 스택
사용자의 다양한 요구 사항과 보안 환경에 맞추어 플랫폼은 OpenAI의 추론 모델부터 Anthropic의 Claude 및 Google Gemini 등 업계를 선도하는 상용 대형 언어 모델들을 폭넓게 지원합니다.
내부망 테스트나 비용 절감이 필요한 독립 환경에서는 Ollama를 활용하여 로컬 모델 추론을 구성하거나 DeepSeek 및 Qwen과 같은 오픈소스 모델을 연동하여 시스템을 운영할 수 있습니다. 시스템의 백엔드는 고성능 언어인 Golang으로 작성되었으며 안전한 토큰 기반의 REST 및 GraphQL API를 제공하여 외부 도구와의 프로그래밍적인 연동을 안정적으로 지원합니다.
다중 에이전트의 상태와 시스템 성능을 투명하게 관리하기 위해 포괄적인 관측성 스택( Observability Stack)이 내장되어 운영 안정성을 높입니다. OpenTelemetry를 통해 분산 시스템 전반의 관측 데이터를 통합 수집하며 Jaeger 분산 트레이싱을 활용하여 각 에이전트의 세부 작업 흐름과 병목 구간을 정밀하게 추적합니다.
수집된 메트릭과 로그 데이터는 VictoriaMetrics 및 Loki 시스템에 저장되고 최종적으로 Grafana 대시보드와 Langfuse를 통해 사용자에게 시각화되어 제공되므로 실시간 모니터링 및 문제 분석이 용이합니다.
자율 수행 파이프라인 및 작업 흐름
사용자가 플랫폼에 접속하여 모의 해킹 테스트의 목적과 타겟을 입력하는 것으로 전체 자율 수행 파이프라인이 시작됩니다. 초기 작업이 정의되면 AI 에이전트는 입력된 정보를 분석하여 타겟의 특성을 파악하고 이를 기반으로 가장 효과적인 정보 수집 및 공격 접근법을 스스로 계획합니다.
이후, 에이전트는 승인된 범위 내에서 필요한 도구와 스크립트를 자율적으로 실행하며 침투 테스트를 진행하고 발견된 취약점이나 추가적인 단서를 바탕으로 실시간으로 계획을 수정하거나 고도화합니다.
전체 테스트 과정은 모던 프론트엔드 아키텍처로 구현된 웹 기반의 사용자 인터페이스를 통해 사용자에게 실시간으로 중계됩니다. 에이전트가 터미널에 입력하는 명령어와 시스템의 반응 그리고 현재 집중하고 있는 공격 벡터 등을 상세하게 관찰할 수 있으며 필요시 사용자가 작업 흐름에 개입하거나 제어할 수 있습니다.
모든 테스트 절차가 마무리되면 시스템은 발견된 취약점의 상세한 내역과 이를 재현할 수 있는 익스플로잇 가이드 그리고 대응 방안이 포함된 종합적인 보고서를 자동으로 생성하여 보안 점검의 전체 라이프사이클을 완성합니다.
라이선스
PentAGI 프로젝트는 MIT 라이선스로 공개 및 배포되고 있습니다.
PentAGI 공식 홈페이지
PentAGI 설치 및 사용 문서 (Get Started)
PentAGI 프로젝트 GitHub 저장소
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ ![]()




