LLM Wiki에 Argus 설치 사례

ARGUS 설치 기록 — LLM Wiki LCL

작성일: 2026-06-17
대상: domains/ai-it/ Argus Wiki Integration Phase 0 + Phase 1
관련 커밋: 9719f58b (PRD 추가) → bbb1d17b (Phase 1 scaffold 설치)


1. Argus가 무엇인가

jasonxtn/Argus는 Python 기반 정보수집·보안점검(OSINT/Recon) 툴킷이다.
DNS 조회, WHOIS, SSL 만료 알림, HTTP 헤더 분석, robots.txt, sitemap, SPF/DKIM/DMARC 검증 같은 passive 체크부터 포트스캔·디렉토리 파인더 같은 active scan까지 다수의 모듈을 제공한다.

공식 README는 교육적·윤리적 사용과 명시적 허가가 있는 대상만 스캔할 것을 고지한다.


2. 설치 전 상황 (Before)

항목

상태

AI_IT 도메인

존재하지 않음

보안 점검 결과 저장 구조

없음 — 터미널 출력으로 끝

allowlist / 실행 정책

없음 — 어떤 대상에도 실행 가능

passive / active 모듈 구분

없음

결과 민감도 정책

없음 — public 인덱스 노출 위험

Ouroboros 감사 기록

Argus 실행 이력 없음

NAS public 배포 제어

Argus 결과 포함 여부 불명확


3. 설치 과정

3-1. PRD 작성 (Phase 0 정책 확정)

커밋 9719f58b — 2026-06-17 13:49

Show Me The PRD 플러그인으로 인터뷰 기반 요구사항을 추출한 뒤 4종 문서를 작성했다.

90_project_docs/10_prd/argus-wiki-integration/
├── 01_PRD.md           # 제품 요구사항 (허가 경계, 핵심 기능, 성공 기준)
├── 02_DATA_MODEL.md    # 데이터 모델 (AssetAllowlist, ArgusRunPlan, OuroborosLedgerEntry)
├── 03_PHASES.md        # Phase 0~4 분리 계획
├── 04_PROJECT_SPEC.md  # AI 행동 규칙 (금지사항·구현 순서)
└── README.md           # 문서 네비게이션

핵심 결정: Argus는 local-contract-law·case-law·general-law 검색과 무관하다.
AI_IT 도메인의 security-recon collection으로만 격리 운영한다.


3-2. Phase 1 Scaffold 설치

커밋 bbb1d17b — 2026-06-17 14:21

Codex CLI가 PRD를 읽고 Phase 1을 구현했다. 생성된 파일은 다음과 같다.

정책·스키마 파일

domains/ai-it/90_schema/
├── argus-allowlist.yml      # 허가된 자산 등록부 (현재 2개: system.cmdspace.work, 127.0.0.1)
└── argus-module-policy.yml  # 모듈별 위험도 및 허용 여부 정의 (12개 모듈)

allowlist 등록 자산

asset_id

target

active scan

AIT-ASSET-001

system.cmdspace.work

불가

AIT-ASSET-002

127.0.0.1

불가

모듈 정책 (passive-only profile 허용 8개)

모듈

카테고리

위험도

기본 허용

DNS Records

network-passive

low

O

Domain Info / RDAP / WHOIS

network-passive

low

O

SSL Expiry Alert

web-passive

low

O

HTTP Headers

web-passive

low

O

Robots.txt Analyzer

web-passive

low

O

Sitemap Parsing

web-passive

low

O

Security.txt Check

web-passive

low

O

SPF / DKIM / DMARC Validator

email-passive

low

O

Open Ports Scan

network-active

medium

X (명시 승인 필요)

Directory Finder

web-active

medium

X (명시 승인 필요)

WAF Bypass Test

blocked-active

high

X (기본 차단)

Subdomain Takeover

blocked-active

high

X (기본 차단)

실행 엔진

domains/ai-it/
├── argus_run_plan.sh          # wrapper (venv 자동 선택)
└── 91_scripts/
    └── argus_run_plan.py      # run plan 생성기 (337 lines)

argus_run_plan.py가 하는 일:

  1. target이 allowlist에 있는지 확인 → 없으면 즉시 blocked 반환

  2. profile에 따른 허용 모듈 목록 구성

  3. active 모듈 요청 시 차단

  4. run plan JSON/MD 생성 → 50_reports/argus/run-plans/ 저장

  5. --write-ledger 옵션 시 Ouroboros ledger에도 기록

Phase 1 핵심 불변식: would_run: false, argus_installed_or_executed: false
실행 계획만 만들고 Argus 바이너리는 절대 호출하지 않는다.

결정 문서 및 워크플로우

domains/ai-it/20_wiki/
├── decisions/argus-phase1-no-run-policy.md  # 4대 정책(allowlist-only, passive-only, private-by-default, no-run)
└── workflows/argus-run-plan-workflow.md     # 실행 흐름 설명 + 예시 명령

domains/_registry.yml 갱신

ai-it 도메인이 멀티도메인 registry에 추가됐다.
검색앱과 라우터가 이 파일을 단일 진실로 사용하므로 AI_IT 도메인 검색이 활성화된다.


3-3. 첫 run plan 실행 (dry-run)

설치 직후 검증 명령:

./domains/ai-it/argus_run_plan.sh \
  --target system.cmdspace.work \
  --profile passive-only \
  --dry-run \
  --write-ledger

결과 (ARGUS-RUN-20260617-141653):

  • result: pass

  • would_run: False

  • argus_installed_or_executed: False

  • planned modules: 8개 (전부 passive-only)

  • ledger: domains/ai-it/50_reports/ouroboros/ledger/ 에 기록됨

미등록 target 차단 테스트도 통과했다.


4. 설치 전·후 비교 (After)

항목

설치 전

설치 후

AI_IT 도메인

없음

domains/ai-it/ 생성, registry 등록

보안 점검 저장 구조

없음

source / wiki / report / ledger 4계층

allowlist

없음

argus-allowlist.yml — 2개 자산 등록

모듈 정책

없음

argus-module-policy.yml — 12개 모듈 분류

Argus 실행

무제한(통제 없음)

Phase 1은 실행 자체 금지, run plan만 생성

결과 민감도

미정

기본 private — public 인덱스 승격 금지

NAS 공개 배포

불명확

Argus 결과 완전 제외

감사 추적

없음

Ouroboros ledger에 실행 이력 자동 기록

active scan

통제 없음

명시 승인 없이 기본 차단


5. 무엇이 달라졌는가

거버넌스 우선 구조

Argus를 바로 설치·실행한 것이 아니라 "어디에, 어떤 조건으로, 어떤 범위만" 먼저 정의했다.
Phase 1의 핵심 가치는 Argus 실행이 아닌 실행 통제 체계 구축이다.

도메인 격리

Argus 결과는 AI_IT 도메인 private 검색에서만 조회된다.
local-contract-law, case-law, general-law, journal 도메인 인덱스에는 영향이 없다.

실행 흔적의 누적 가능성

이전에는 Argus 실행 결과가 터미널에만 남았다.
이제는 run plan과 ledger가 50_reports/ 하위에 JSON/MD로 누적된다.


6. 다음 단계 (Phase 2 시작 조건)

  • 첫 allowlist target 사용자 확정 (system.cmdspace.work 권장)

  • Argus 설치 방식 결정 (isolated venv 권장 vs. container)

  • Phase 2 시작 승인

Phase 2가 시작되면 실제 Argus 바이너리를 isolated venv에 설치하고,
passive-only 모듈 8개를 내 소유 자산 1개에 한해 pilot 실행한다.


7. 따라서 설치하고자 하는 사람을 위한 유의사항

반드시 지킬 것

  1. allowlist 먼저 작성argus-allowlist.yml에 내 소유 자산만 등록한다. 등록되지 않은 target은 실행 자체가 차단된다.

  2. 거버넌스 → 설치 순서 — 정책 파일(allowlist, module-policy) 없이 Argus를 먼저 설치하면 안 된다. 이 scaffold가 없으면 실행 통제가 불가능하다.

  3. Phase 1에서는 Argus 바이너리를 설치하지 않는다would_run: false가 Phase 1의 정상 상태다. 실행 결과가 나왔다면 뭔가 잘못된 것이다.

  4. active scan은 기본 차단open-ports, directory-finder, waf-bypass, subdomain-takeover 계열은 requires_explicit_approval: true다. 별도 승인 없이 profile에 포함하지 않는다.

  5. 결과 sensitivity는 기본 private — Argus 결과는 취약점 정보가 될 수 있다. public 인덱스, NAS public 검색, 외부 공유에 절대 포함하지 않는다.

  6. API key 필요 모듈은 Phase 1 제외 — Shodan, VirusTotal, Censys 계열은 no-API-key 원칙과 충돌한다. Phase 2 이후 별도 결정이 필요하다.

  7. 다른 도메인 인덱스 건드리지 않기local-contract-law, case-law, general-law, journal 도메인의 FTS/MongoDB/qmd 인덱스에 Argus 결과를 절대 합류시키지 않는다.

설치 검증 체크리스트

# 1. 등록 자산 통과 확인
./domains/ai-it/argus_run_plan.sh --target <내자산> --profile passive-only --dry-run
# 기대: result=pass, would_run=False

# 2. 미등록 자산 차단 확인
./domains/ai-it/argus_run_plan.sh --target example.com --profile passive-only --dry-run
# 기대: result=blocked

# 3. active 모듈 요청 차단 확인
./domains/ai-it/argus_run_plan.sh --target <내자산> --profile passive-only --modules open-ports --dry-run
# 기대: result=blocked

8. 관련 파일 맵

domains/ai-it/
├── argus_run_plan.sh                          # 실행 진입점
├── 90_schema/
│   ├── argus-allowlist.yml                    # 허가된 자산 등록부
│   └── argus-module-policy.yml                # 모듈 정책 (passive/active/blocked)
├── 91_scripts/
│   └── argus_run_plan.py                      # run plan 생성기
├── 20_wiki/
│   ├── decisions/argus-phase1-no-run-policy.md
│   └── workflows/argus-run-plan-workflow.md
└── 50_reports/
    ├── argus/run-plans/                       # run plan 기록
    └── ouroboros/ledger/                      # 감사 ledger

90_project_docs/10_prd/argus-wiki-integration/ # PRD 4종
2
2개의 답글

뉴스레터 무료 구독