ARTEX 한국어판에 AI 침해사고 대응 층(AegisLoop)을 더한 artex-ko-plus의 구조와 기능을 소스·문서 기준으로 정리함. 본인 포크(kh20134/artex-ko-plus)는 문서와 출처 표기만 보강했고, 기능은 모두 상위 저작자의 것임.
GitHub: kh20134/artex-ko-plus
한 줄 요약
- 로그·Splunk 근거로 사건을 만들고, 공격 도구 없는 읽기 전용 AI가 예산 상한 안에서 조사하며, 재검증과 오프라인 규칙 평가로 방어를 확인하는 구조임
개요
- 대상: artex-ko-plus. 화면 이름은 AegisLoop
- 기준 커밋:
7cb744b(kh20134/artex-ko-plus, 2026-10-11) - 근거: 해당 커밋의 README, NOTICE, CHANGES.md, docs/ 문서만 사용함
- 성격: 허가된 환경에서 블루팀·침해사고 대응 절차를 한 웹 앱에 모은 도구임
- 기반: 단일 Go 프로세스, 내장 Next.js UI, PostgreSQL. 원본 ARTEX 구조를 그대로 물려받음
- 이 포크의 범위: 문서·그림·출처 고지만 추가함. Go, 웹, 스키마, API, 설정 해석, 프롬프트는 부모 커밋
8873bb0과 같음 - 관련 글
출처 및 라이선스
상위 체인
- 1. Autumn-27/ARTEX: 원본 프로그램
- Go 모듈 경로
github.com/Autumn-27/artex - 2026-10-11 조회 시 GitHub 저장소 이름이 열리지 않음
- 원본 커밋(Autumn, 2026-10-03, PR #189)은 jiwoochris/artex-ko 이력에 남아 있음
- Go 모듈 경로
- 2. jiwoochris/artex-ko: 한국어 현지화
- 한국어 UI, 방어 문서,
detections/포함 - GitHub상 부모는 아니나 소스 주석·문서가 출처로 가리킴
- 한국어 UI, 방어 문서,
- 3. bdg9412/artex-ko-plus: AegisLoop 침해사고 대응 층 추가 (AGPL-3.0)
closedloop,investigation,defenseeval,securitysource,lab등이 이 층에서 추가됨
- 4. kh20134/artex-ko-plus: 본인 포크
- 부모는 bdg9412/artex-ko-plus
- 2026-10-11 문서만 보강. 프로그램 동작 변경 없음
이 포크에서 바꾼 것
- README 상단에 「출처 및 라이선스」와 개조식 운영 설명 추가
- NOTICE, CHANGES.md 추가
- 구성도
docs/architecture.svg·.png추가 - 오프라인 패키지 테스트 화면
docs/images/offline-package-tests.png추가 - 기존 LICENSE, 중국어·영어 문서, 소스 안 저작권 표기는 그대로 둠
AGPL-3.0 의무
- 프로그램과 파생 저작물은 AGPL-3.0 유지. LICENSE 함께 전달
- 기존 저작권·출처 표기(Autumn-27, artex-ko, jiwoochris) 삭제 금지
- 수정본에는 수정 사실과 날짜를 눈에 띄게 표기. 이 포크는 2026-10-11
- 수정본을 네트워크 서비스로 제공하면 원격 사용자에게 대응 소스 제공 필요 (13절)
- 이 포크의 대응 소스는 공개 저장소 자체임
구조도
로컬 신뢰 경계(UI·API·진단 엔진·guard·기록 프록시·조사 런타임·오프라인 평가·PostgreSQL)와 외부 LLM, 허가된 대상, 읽기 전용 로그 원천. (출처: kh20134/artex-ko-plus docs/architecture.png)
- 운영자 브라우저:
:8787JWT 세션으로 API·SSE 접근 - 로컬 신뢰 경계: 기본 수신은
127.0.0.1. 기록 프록시는:8788 - 외부 LLM: 데이터 반출 경계. 진단·AI 조사 시 맥락 전송
- 허가된 대상: 비신뢰 네트워크. worker 도구 실행 상대
- 로그 원천: 읽기 전용 경계. 파일 업로드 또는 저장된 Splunk 검색
- 스키마:
db/schema.sql을go:embed, 기동마다 멱등 적용
주요 기능
- Offensive: 기존 ARTEX 진단. 작업, 자산·탐색 그래프, 취약점, 트래픽, 사람 개입 대화
- Defensive: 취약점 없이 파일 또는 Splunk 로그로 사건 생성
BuildDefensivePlan은 침해를 단정하지 않는 독립 조사 계획- 로그 파싱·기초 정리는 LLM 없이 수행
- AI 조사: 읽기 전용 도구만 등록
plan_investigationsearch_evidenceread_evidencerecord_observation
- Closed-loop: 실제 재검증 루프와 오프라인 로그 규칙 평가를 나란히 둠
- 재검증마다 새 UUID를 붙여 같은 실행의 감사 로그·경보만 연결
- 탐지와 차단을 따로 판정
- 오프라인 규칙 평가:
closedloop,defenseeval- 라벨(
attack/benign) 로그의 TP·FP·TN·FN 계수 - 개선용·평가용 로그 분리, 중복 시 평가 거부
- 네트워크 접속·명령 실행 없음
- 라벨(
- 키 관리: 문서 예시의 API 키는 환경 변수로만 받음
AI 침해사고 대응 흐름
- 1. 근거 수집: 대상·기간·경로의 로그를 파일 또는 Splunk로 저장. 이 단계는 모델 호출 없음
- 2. 조사 시작: 화면에서 근거를 고른 뒤 AI 조사 실행
- 3. 세션 분리:
agent.RunInvestigation이 planner와 worker 세션을 분리. 공격 ToolSet은 이 세션에 등록하지 않음 - 4. 원격 조회:
remote=true일 때만 Splunk 읽기 전용 추가 조회. 경보 생성·SPL 주입·원격 규칙 변경 없음 - 5. 예산 상한: 코드에서 고정
- 라운드 3회
- 모델 호출 18회
- 조회 12회
- 토큰 180,000
- 시간 240초
- 6. 관측 기록:
observed/inferred/insufficient_data로 구분 - 7. 판정: 조사 완료는 침해 확정이 아님. 분석가가 근거를 보고 결정
- 8. 재검증: 개선 후 새 검증 ID로 재실행, 새 시간 범위 로그로 전후 비교
설치·설정 요약
- 기본 경로는 Docker Engine + Compose v2
.env.local의 DB 비밀번호와 JWT 키는 없으면 로컬 생성. API 키는 만들지 않음- 앱
localhost:8787, 최초 비밀번호는/setup/. 기본 비밀번호 없음 - DB 연결은
ARTEX_PG_DSN우선, 다음config.json
./scripts/local-start.sh
LLM 키는 환경 변수로만 둠.
export ANTHROPIC_API_KEY='키'
export ARTEX_LLM_MODEL='모델'
- 공급자는
ARTEX_LLM_PROVIDER로 지정(anthropic또는openai) - OpenAI 호환은
OPENAI_API_KEY,ARTEX_LLM_BASE_URL추가
키·DB 없이 돌리는 패키지 테스트.
go test ./closedloop/ \
./defenseeval/ \
./investigation/ -count=1
실대상·API 키 없이 실행한 패키지 테스트. 세 패키지 모두 ok. (출처: kh20134/artex-ko-plus docs/images/offline-package-tests.png)
- 확인 결과:
closedloop,defenseeval,investigationgo test 통과 - 미확인: Docker 엔진이 없어 웹 UI는 기동하지 않음
보안·법적 유의사항
- 본인 소유 또는 서면 허가받은 대상에서만 사용
- 권한 없는 침입은 정보통신망법 위반 소지. 개인정보가 걸리면 개인정보 보호법도 적용
- 선택한 취약점 근거와 로그 발췌는 설정된 LLM 공급자로 나감. 고객 로그는 반출 정책 확인 후 사용
- UI에서 넣은 키는 DB(
llm_profiles.api_key)에 저장됨. 조회 응답에는 힌트만 나감 - 저장소·문서·캡처에 API 키, 운영 DB, JWT 키, 원본 로그를 넣지 않음
- 재배포·서비스 제공 시 AGPL-3.0 의무 준수
한계
- 조사 완료, HTTP 상태 코드, 경보 부재는 침해나 안전을 확정하지 않음
- 오프라인 평가는 입력 로그 계수임. 운영 SIEM 발화나 전사 오탐률이 아님
- 예제 데이터의 TP·FP 수치는 매처 동작 확인용 합성 값임
- AI 출력 언어는 지시문으로 유도. 모델에 따라 흔들릴 수 있음
- 원본 Autumn-27/ARTEX 저장소는 2026-10-11 조회에서 열리지 않음
- 공개 트리에 GitHub Actions 워크플로 없음
- 이 글은 웹 UI 실행 없이 문서와 패키지 테스트만 확인함
결론
- artex-ko-plus는 공격 진단 도구에 근거 기반 침해 조사와 방어 검증을 붙인 구조임
- 조사 세션은 읽기 전용 도구와 고정 예산으로 묶여 있어 실무 투입 시 통제 지점이 명확함
- 재검증과 오프라인 평가로 탐지 규칙 개선을 수치로 비교할 수 있음. 다만 운영 성능 지표로 보면 안 됨
- 기능은 Autumn-27, jiwoochris, bdg9412의 작업임. 본인 포크는 문서와 출처 표기만 보강함
출처
- Autumn-27/ARTEX (원본, 2026-10-11 미조회)
- jiwoochris/artex-ko (한국어 현지화)
- bdg9412/artex-ko-plus (AegisLoop, AGPL-3.0)
- kh20134/artex-ko-plus (본인 포크, 문서만 변경)
- NOTICE · CHANGES.md · LICENSE
- 라이선스: GNU AGPL-3.0. 파생물 배포·네트워크 제공 시 동일 라이선스 유지, 저작권 표기 보존, 수정 고지, 대응 소스 제공 의무