RuoJi6/ARTEX

Autumn-27/ARTEX 持续维护开源版本

ARTEX – AI 기반 자율 모의 해킹 플랫폼

개요

  • 거대 언어 모델(LLM)이 보안 테스트 에이전트 역할을 수행하도록 하는 독립형 웹 애플리케이션입니다. Go 백엔드, Next.js 프론트엔드, PostgreSQL 저장소를 결합했습니다.
  • 에이전트(플래너 + 워커)는 대상을 탐색하고, 실제 도구(nmap, curl 등)를 실행하며, 결과를 이중 그래프 모델에 기록합니다. 이 모델은 전역 자산 그래프(알려진 인벤토리)와 작업별 탐색 그래프(추론 체인)로 구성됩니다.

주요 기능

  • LLM 기반 에이전트 – norma SDK를 기반으로 하며, 에이전트는 사용자가 구성한 프롬프트를 사용하여 스캔을 계획, 실행 및 추론할 수 있습니다.
  • 풀스택 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(목표 → 의도 → 사실 → 발견 사항), 앵커를 통해 자산과 연결됨.
  • 플래너 루프는 그래프를 읽고 의도 노드를 생성하며, 워커는 의도를 점유하여 실제 도구를 실행하고 결과를 기록한 뒤 다음 플래너 웨이크업을 트리거합니다.

업데이트 워크플로우

  1. 서버가 RuoJi6/ARTEX의 최신 GitHub 릴리스를 확인합니다.
  2. zip 파일을 다운로드하고 SHA256SUMS를 확인하며, 스모크 테스트를 실행한 후 바이너리를 교체합니다(artex.new → artex → artex.old).
  3. 새 바이너리가 세 번 실패하면 자동으로 롤백합니다.
  4. Docker 배포는 docker compose pull && docker compose up -d로 이미지를 업데이트할 수 있습니다.

라이선스

  • AGPL-3.0 (원래 상위 프로젝트인 Autumn-27/ARTEX에서 유래).

사용 대상

  • 사용자 지정 에이전트 코드를 작성하지 않고 LLM 기반 모의 해킹을 프로토타이핑하려는 보안 팀.
  • 자율 레드팀 에이전트를 연구하는 연구원.
  • 다단계 LLM 기반 보안 스캔을 관리하기 위한 시각적 UI가 필요한 모든 사용자.

위의 모든 세부 정보는 저장소의 README에서 직접 가져온 것이며, 추가적인 기능은 추론되지 않았습니다.

관련

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