RuoJi6/ARTEX
Autumn-27/ARTEX 持续维护开源版本
ARTEX – AI 기반 자율 모의 해킹 플랫폼
개요
- 거대 언어 모델(LLM)이 보안 테스트 에이전트 역할을 수행하도록 하는 독립형 웹 애플리케이션입니다. Go 백엔드, Next.js 프론트엔드, PostgreSQL 저장소를 결합했습니다.
- 에이전트(플래너 + 워커)는 대상을 탐색하고, 실제 도구(nmap, curl 등)를 실행하며, 결과를 이중 그래프 모델에 기록합니다. 이 모델은 전역 자산 그래프(알려진 인벤토리)와 작업별 탐색 그래프(추론 체인)로 구성됩니다.
주요 기능
- LLM 기반 에이전트 –
normaSDK를 기반으로 하며, 에이전트는 사용자가 구성한 프롬프트를 사용하여 스캔을 계획, 실행 및 추론할 수 있습니다. - 풀스택 UI – 토큰 사용량, 작업 목록, 실시간 세션 로그, 자산 커버리지 맵, 트래픽 리플레이 및 인간 개입형 채팅을 위한 대시보드를 제공합니다.
- 자산 동기화 – ScopeSentry 프로젝트에서 자산을 직접 가져올 수 있습니다.
- 승인 워크플로우 – 도구 호출을 가로채어 실행 전에 승인할 수 있습니다.
- 자동 업데이트 – 서버가 새 릴리스를 다운로드하고, 체크섬을 확인하며, 데이터 손실 없이 바이너리를 핫스왑할 수 있습니다.
- Docker 및 바이너리 릴리스 – 공식 멀티 아키텍처 Docker 이미지(
ruoji6/artex)와 Linux, macOS, Windows용 사전 컴파일된 zip 패키지를 제공합니다. - 모의 데모 모드 – 가짜 데이터로 실행되는 Vercel 호스팅 프론트엔드로, 백엔드 없이 UI를 시연하는 데 유용합니다.
설치 옵션
| 방법 | 설명 |
|---|---|
원클릭 스크립트 (install.sh) |
Docker를 감지하고, PostgreSQL 컨테이너를 실행하거나 기존 DB를 사용하도록 제안하며, .env를 작성하고 docker compose up -d 또는 로컬 컴파일 바이너리로 서비스를 시작합니다. |
| Docker-Compose | ruoji6/artex 이미지를 가져와 PostgreSQL을 시작하고 http://localhost:8787에서 UI를 노출합니다. |
| 사전 컴파일된 바이너리 (Releases) | 플랫폼용 zip 파일을 다운로드하고 config.example.json → config.json을 복사한 뒤 ./start.sh를 실행합니다. |
| 소스 빌드 | UI의 경우 npm ci && npm run build:static을 실행하고 go build -tags embedui로 임베드한 뒤 ./start.sh를 실행합니다. |
크로스 플랫폼 zip 빌더 (build.sh --release) |
멀티 아키텍처 zip 파일을 생성하고 CI 워크플로우를 통해 업로드합니다. |
실행
- 기본 UI:
http://localhost:8787(처음 방문 시/setup에서 관리자 비밀번호 생성). - 선택적 HTTP Basic Auth는 System → HTTP Basic Auth에서 활성화할 수 있습니다.
- LLM 자격 증명은
ANTHROPIC_API_KEY또는OPENAI_API_KEY에서 읽어오거나(또는 UI를 통해 입력) 합니다. - 업데이트를 위한 프록시를 구성할 수 있으며, Docker 이미지는
amd64와arm64를 모두 지원합니다.
아키텍처 개요
Frontend (Next.js) ──► HTTP API (Go net/http, JWT, SSE)
│ │
▼ ▼
Engine (planner + N workers) ──► PostgreSQL
│ │
└─► Norma SDK agents (goals, planner, worker, main‑agent)
└─► Supporting services: MITM traffic proxy, approval guard, DNS/HTTP enrichment, skill plugins
- 자산 그래프 – 도메인, 서브 도메인, IP, 서비스, 엔드포인트의 전역 중복 제거 인벤토리.
- 탐색 그래프 – 작업별 DAG(목표 → 의도 → 사실 → 발견 사항), 앵커를 통해 자산과 연결됨.
- 플래너 루프는 그래프를 읽고 의도 노드를 생성하며, 워커는 의도를 점유하여 실제 도구를 실행하고 결과를 기록한 뒤 다음 플래너 웨이크업을 트리거합니다.
업데이트 워크플로우
- 서버가
RuoJi6/ARTEX의 최신 GitHub 릴리스를 확인합니다. - zip 파일을 다운로드하고
SHA256SUMS를 확인하며, 스모크 테스트를 실행한 후 바이너리를 교체합니다(artex.new → artex → artex.old). - 새 바이너리가 세 번 실패하면 자동으로 롤백합니다.
- Docker 배포는
docker compose pull && docker compose up -d로 이미지를 업데이트할 수 있습니다.
라이선스
- AGPL-3.0 (원래 상위 프로젝트인
Autumn-27/ARTEX에서 유래).
사용 대상
- 사용자 지정 에이전트 코드를 작성하지 않고 LLM 기반 모의 해킹을 프로토타이핑하려는 보안 팀.
- 자율 레드팀 에이전트를 연구하는 연구원.
- 다단계 LLM 기반 보안 스캔을 관리하기 위한 시각적 UI가 필요한 모든 사용자.
위의 모든 세부 정보는 저장소의 README에서 직접 가져온 것이며, 추가적인 기능은 추론되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트