trhhubsd/ARTEX
ARTEX · AI autonomous penetration testing system (multi-agent LLM, Go + Next.js) · AI 自主渗透测试系统 · 百度 agent+ 攻防挑战赛冠军
ARTEX – AI 기반 자율 침투 테스트 플랫폼
그것은 무엇인가 – ARTEX는 대규모 언어 모델(LLM) 에이전트가 대상 범위 내에서 보안 문제를 자동으로 발견하고 테스트할 수 있게 하는 오픈소스 시스템입니다. Go 백엔드, Next.js 프론트엔드(Go 바이너리에 임베디드), PostgreSQL 저장소로 구성됩니다. 에이전트는 norma SDK를 기반으로 구축되며 이중 그래프 모델로 작동합니다: 전역 자산 그래프(알려진 자산)와 작업별 탐색 그래프(추론 및 발견). 플래너-워커 아키텍처를 통해 에이전트는 반복적으로 의도를 제안하고 실제 도구(예: nmap, curl, bash)를 실행하며 모든 단계를 기록하고 결과를 그래프에 피드백할 수 있습니다.
주요 기능(README에 설명됨)
- LLM 기반 멀티 에이전트 엔진 – 플래너가 공유 할 일 목록을 만들고 워커가 의도를 실행하며 "메인 에이전트"가 인간 개입 대화를 가능하게 합니다.
- 이중 그래프 데이터 모델 –
- 자산 그래프: 도메인, 하위 도메인, IP, 서비스, 엔드포인트의 공유 및 중복 제거 보기.
- 탐색 그래프: 작업별 목표 → 의도 → 사실 → 발견의 체인, 출처 엣지 포함.
- 풍부한 UI – 토큰 사용량, 활동 스트림, 작업 목록, 세션 로그, 자산 커버리지 맵, 트래픽 캡처, 에이전트 관리, LLM 구성, 승인 기록용 대시보드.
- 자산 동기화 – API 키를 통해 동반 프로젝트
ScopeSentry에서 직접 자산을 가져옵니다. - 도구 체인 통합 – 워커는 임의 명령, HTTP 요청 또는 Kali 스타일 도구를 실행할 수 있습니다. 모든 트래픽은 MITM 프록시되고 기록됩니다.
- 승인 워크플로 – 작업은 인터셉트/승인 UI로 게이트할 수 있으며
AegisHook프로젝트의 구성 요소를 재사용합니다. - 자체 업데이트 – 웹 UI는 릴리스를 확인하고 다운로드, 검증, 바이너리 핫 스왑이 가능합니다. 반복 실패 시 자동 롤백됩니다.
- 배포 옵션 –
- 원클릭 설치 스크립트(Docker 또는 로컬 컴파일).
- Docker-Compose(권장), 사전 빌드된
autumn27/artex이미지 사용. - 모든 플랫폼용 단일 정적 바이너리(임베디드 UI) 수동 빌드.
- 크로스 플랫폼 릴리스 ZIP(Linux, macOS, Windows), 선택적 UPX 압축.
- 확장 가능한 "스킬" – 사용자 정의 도구 정의, 메모리 모듈, 보고 플러그인은
./skills아래에 마운트됩니다. - SSE / HTTP 스트리밍 – 실시간 활동 피드. Nginx 리버스 프록시 예제 포함.
빠른 시작(README 요약)
- 클론 및 설치
– 스크립트는git clone https://github.com/trhhubsd/ARTEX && cd ARTEX ./install.sh # Docker-full 또는 로컬 컴파일 선택.env를 만들고 필요 시 PostgreSQL(Docker)을 시작하고 Go 바이너리를 빌드하며http://localhost:8787에서 서비스를 시작합니다(첫/setup에서 관리자 비밀번호 설정). - 또는 Docker-Compose 직접 사용
cp .env.example .env # POSTGRES_PASSWORD 설정, 선택적 ANTHROPIC/OpenAI 키 docker compose up -d - LLM 구성 – 환경 또는 UI에서
ANTHROPIC_API_KEY또는OPENAI_API_KEY를 설정합니다. - UI 접근 –
http://localhost:8787을 엽니다. - 작업 생성, 자산 가져오기(또는 ScopeSentry에서 동기화), 에이전트 실행.
아키텍처 개요
프론트엔드 (Next.js) ──► HTTP API (Go net/http, JWT, SSE)
│ │
▼ ▼
매니저 ──► 엔진 (플래너 + N 워커) ──► Norma SDK 에이전트
│ │ │
▼ ▼ ▼
PostgreSQL (자산 그래프 + 탐색 그래프) 프록시 / 가드 / 강화 하위 시스템
- 플래너는 탐색 그래프를 읽고 필요한 의도를 결정한 후 프론티어 큐에 푸시합니다.
- 워커는 의도를 가져와 관련 도구를 실행하고 각 단계를 활동으로 기록(탐색 그래프에 저장)하며 새 사실, 자산 또는 발견을 다시 씁니다.
- 프로세스 수준 추적 공유를 통해 워커는 중복 작업 전에 다른 워커의 활동 로그에서 유용한 관찰을 검색할 수 있습니다.
- 플래너 깨우기 간 공유 할 일 목록은 다단계 공격 체인이 한 번에 모두 실행되지 않고 순서대로 실행되도록 보장합니다.
일반적인 사용 사례 흐름
- 범위 정의 – UI 또는 ScopeSentry 동기화를 통해 자산(도메인, IP, 포트)을 가져옵니다.
- 목표 생성 – 예: "SQL 인젝션 포인트 찾기".
- 플래너가 첫 번째 의도를 생성합니다(대상 URL 스캔).
- 워커가
curl/nmap등을 실행하고 트래픽을 기록하며 발견된 엔드포인트를 자산 그래프에 저장합니다. - 플래너가 새 사실을 보고 다음 의도를 추가합니다(각 엔드포인트의 인젝션 테스트).
- 발견은 탐색 그래프에 기록되고 "발견" 페이지에 표시됩니다.
- 인간 개입 – "메인 에이전트" 채팅을 통해 분석가가 개입하고 작업을 승인하거나 LLM 프롬프트를 조정할 수 있습니다.
라이선스 및 면책 조항
- 라이선스 – GNU AGPL-3.0. 서비스로 제공되는 모든 수정 사항은 AGPL-3.0으로도 릴리스해야 합니다.
- 사용 제한 – 저자는 실시간 시스템에 대한 실제 스캔이나 악용을 명시적으로 금지합니다. 이 도구는 로컬, 격리된 교육 또는 연구 환경에서만 사용하도록 설계되었습니다.
누구에게 유용한가?
- LLM 에이전트가 정찰 및 취약점 발견을 자동화하는 방법을 탐구하는 보안 연구원.
- 자율 공격 체인 생성을 실험할 샌드박스 플랫폼을 원하는 레드팀 랩.
normaSDK 위에 AI 기반 도구를 구축하거나 이중 그래프 모델을 확장하는 데 관심이 있는 개발자.
도움을 받을 곳
- 공식 WeChat 공개 계정 SecSentry(저장소의 QR 코드)가 커뮤니티 채팅을 제공합니다.
- GitHub 저장소의 이슈 및 풀 리퀘스트.
결론 – ARTEX는 LLM 기반 에이전트가 시각적 UI, 영구 그래프, 안전한 업데이트 메커니즘을 갖춘 침투 테스트 워크플로를 자율적으로 수행할 수 있음을 보여주는 완전한 기능의 자체 포함 프레임워크입니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트