멀웨어 분석 오케스트레이터은(는) 무엇을 하나요?
멀웨어 분석 업무를 위한 단일 진입점입니다. 전문 하위 스킬로 라우팅하고, 단계 간 분석 결과를 전달하며, 다중 샘플 워크플로우를 관리합니다.
작동 방식
분석할 내용을 설명하면("이 샘플 분석", "파일 5개 분류 필요", "분석 결과로 탐지 규칙 생성") 이 오케스트레이터는 다음을 수행합니다:
- 파일 유형과 의도에 따라 사용할 하위 스킬 결정
- 해당 하위 스킬을 사용하여 분석 안내
- 분석 결과를 상태 파일(
analysis_state.md)에 기록 - 현재 단계 완료 시 다음 단계 추천
- 진행 전 사용자 확인 대기
하위 스킬을 직접 호출할 필요가 없습니다.
라우팅 로직
| 신호 | 라우팅 대상 |
|---|---|
| 알 수 없는 파일 / "이게 뭐지?" / 초기 평가 | malware-triage |
| 트라이지 후 PE 실행 파일, 동작 모니터링 필요 | malware-dynamic-analysis |
| .NET / Office / PDF / 스크립트 / 아카이브 / LNK / ELF / HTA / ISO / IMG / VHD / VHDX | specialized-file-analyzer |
| "탐지 규칙 생성" / 분석 후 단계 | detection-engineer |
| "보고서 작성" / 최종 문서화 단계 | malware-report-writer |
| YARA 규칙 specifically | malware-report-writer (detection-engineer 아님) |
트라이지는 새 샘플의 항상 첫 진입점입니다. 위 표는 트라이지 이후 어떤 분석 스킬이 이어지는지 설명합니다.
파일 유형 우선순위
파일 유형별 라우팅 시 file 명령어 출력을 사용하세요. 다음 순서대로 확인하며 첫 번째 일치 항목이 우선 적용됩니다:
- "Mono/.Net assembly" →
specialized-file-analyzer/SKILL.md읽고 따르기 - "Microsoft Office Document" →
specialized-file-analyzer/SKILL.md읽고 따르기 - "PDF document" →
specialized-file-analyzer/SKILL.md읽고 따르기 - "ELF" →
specialized-file-analyzer/SKILL.md읽고 따르기 - "PE32" / "PE64" (.NET이 일치하지 않은 경우만) →
malware-triage/SKILL.md읽고 따르기, 이후malware-dynamic-analysis/SKILL.md읽고 따르기 - "MS Windows shortcut" (LNK) →
specialized-file-analyzer/SKILL.md읽고 따르기 - ASCII 텍스트 / 스크립트 콘텐츠 →
specialized-file-analyzer/SKILL.md읽고 따르기 - 아카이브 형식 (Zip, RAR, 7z) →
specialized-file-analyzer/SKILL.md읽고 따르기 - HTML 애플리케이션 (.hta) →
specialized-file-analyzer/SKILL.md읽고 따르기 - ISO/IMG 디스크 이미지 →
specialized-file-analyzer/SKILL.md읽고 따르기 (마운트/추출 후 내용 분석) - VHD/VHDX 가상 하드 디스크 →
specialized-file-analyzer/SKILL.md읽고 따르기 (마운트/추출 후 내용 분석) - "data" / 0바이트 / 인식 불가 → 수동 평가를 위해
malware-triage/SKILL.md읽고 따르기
.NET이 주요 모호성입니다: file 명령어는 .NET 어셈블리에 대해 "PE32"와 "Mono/.Net assembly"를 모두 출력합니다. PE 확인 전에 항상 .NET 여부를 먼저 확인하세요.
단계 순서
각 샘플은 다음 순서를 따릅니다:
트라이지 → [동적 분석 또는 특수 파일 분석] → 탐지 엔지니어링 → 보고서 작성
- 트라이지는 항상 먼저 수행 —
malware-triage/SKILL.md읽고 따르기 - 동적 분석은 PE 실행 파일용 —
malware-dynamic-analysis/SKILL.md읽고 따르기 - 특수 파일 분석은 비-PE 파일(.NET, Office, PDF, 스크립트, 아카이브, LNK, ELF)용 —
specialized-file-analyzer/SKILL.md읽고 따르기 - 탐지 엔지니어링은 IOC를 Sigma/Suricata 규칙으로 통합 —
detection-engineer/SKILL.md읽고 따르기 - 보고서 작성은 항상 마지막 —
malware-report-writer/SKILL.md읽고 따르기
단계 전환 (다음 단계 제안 모드)
각 단계 완료 후:
- 요약: 현재 단계에서 발견된 사항 요약
- 업데이트:
analysis_state.md에 발견 사항과 IOC 업데이트 - 추천: 발견 사항에 따른 근거와 함께 다음 스킬 추천
- 대기: 진행 전 사용자 확인 대기
절대 자동으로 단계를 연결하지 마십시오. 모든 전환에는 사용자 확인이 필요합니다.
VM 격리 경계
동적 분석 전에 사용자에게 명시적으로 다음을 알립니다:
"다음 단계에서는 격리된 VM(REMnux/FlareVM)에서 샘플을 실행해야 합니다. 다음을 수행해 주세요:
- 모니터링 도구(Procmon, Wireshark, System Informer(이전 Process Hacker), Sysmon)를 실행한 상태로 샘플 실행
- 최소 15분 이상 관찰
- 텍스트로 파싱 가능한 형식(CSV, JSON, TXT — PML, PCAP, EVTX는 안 됨)으로 증거 내보내기
- 내보낸 증거 파일을 가지고 여기로 돌아오기
돌아오시면 제가 증거를 분석하겠습니다."
상태 파일: analysis_state.md
첫 번째 샘플이 제공될 때 사용자의 작업 디렉토리(이 스킬 저장소가 아님)에 생성됩니다. 각 단계 후 업데이트됩니다.
구조
# 멀웨어 분석 — [업무명/날짜]
**분석자:** [이름]
**시작일:** [날짜]
**상태:** [진행 중 / 완료]
---
## 샘플
### 샘플 1: [파일명]
- **파일 유형:** [유형]
- **MD5:** [해시]
- **SHA1:** [해시]
- **SHA256:** [해시]
- **크기:** [바이트]
- **우선순위:** [즉시 / 표준 / 낮음]
- **분류:** [트로이 목마 / 랜섬웨어 / 기타 또는 대기 중]
- **위협 수준:** [심각 / 높음 / 중간 / 낮음 또는 대기 중]
- **현재 단계:** [트라이지 / 동적 분석 / 특수 분석 / 탐지 / 보고 / 완료 / 양성]
#### 트라이지 결과
- [트라이지 단계 후 추가된 결과]
#### 분석 결과
- [동적/특수 분석 후 추가된 결과]
#### 식별된 IOC
- [축적된 IOC, 디펜징됨]
#### 생성된 탐지 규칙
- [생성된 규칙 목록 및 위치]
---
## 다음 단계
- [오케스트레이터의 다음 작업 추천 및 이유]
상태 파일 규칙
- 생성: 사용자가 업무를 시작할 때(첫 번째 샘플 제공 시)
- 추가: 각 단계 후 결과를 추가 — 이전 결과를 덮어쓰지 않음
- 교체: 각 전환 시 "다음 단계" 섹션 교체(추가 아님)
- 재개: 사용자가 새 대화에서 돌아온 경우 상태 파일을 읽어 컨텍스트 복원 —
analysis_state.md읽기 - 모든 IOC는 디펜징되어야 함: 어느 단계에서 생성되었든 상태 파일에 기록할 때는 반드시 디펜징
다중 샘플 배치 워크플로우
- 접수: 모든 알려진 샘플을 사전에 요청 — "샘플이 몇 개인가요? 시작하기 전에 모두 나열해 주세요."
- 배치 트라이지: 모든 샘플에 대한 빠른 트라이지 패스(샘플당 5-10분 — 해시, 파일 유형, 평판 확인, 트라이지 스킬의 '빠른 트라이지' 단계에 따른 분류)
- 우선순위 순위: 트라이지 결과에 따라 샘플을 즉시/표준/낮음으로 순위 지정
- 순차적 심층 분석: 우선순위가 높은 샘플을 한 번에 하나씩 전체 단계 순서에 따라 심층 분석 안내
- 상태 추적: 샘플별로 상태 파일 업데이트하여 사용자가 트라이지, 분석, 보고된 샘플을 확인할 수 있도록 함
시행 규칙
- 상태 파일 및 보고서의 모든 IOC는 디펜징되어야 함 (
hxxp://,[.]com,[@]) - 보고서에는 항상 MD5, SHA1, SHA256 세 가지 해시 유형이 모두 포함되어야 함
- 증거는 텍스트로 파싱 가능한 형식(CSV, JSON, TXT)이어야 함
- 탐지 규칙(YARA, Sigma, Suricata)은 포함 전에 테스트되어야 함
- MITRE ATT&CK 기술 ID는 Sigma 규칙에 태그되어야 함
- Sigma 규칙에는 고유 UUID가 필요함
- 사용자 정의 Suricata 규칙은 1000000+부터 시작하는 SID를 사용
IOC 디펜징 소유권
각 단계는 IOC를 상태 파일에 추가하기 전에 디펜징합니다. detection-engineer 하위 스킬은 전용 단계에서 대량 디펜징, 형식 변환(STIX, CSV, OpenIOC), 신뢰도 평가를 처리합니다.
에지 케이스
- 사용자가 단계를 건너뛰려는 경우: 허용하고 상태 파일에 건너뜀을 기록한 후 요청된 단계로 진행
- 사용자가 명시적 라우팅 없이 증거를 제공하는 경우: 증거 유형에서 단계 유추(Procmon CSV → 동적 분석, Sysmon JSON → 동적 분석, olevba 출력 → 특수 파일 분석 등)
- 세션 재시작:
analysis_state.md를 읽어 컨텍스트를 복원하고 마지막으로 기록된 단계부터 재개 - 단일 샘플, 알려진 유형: 배치 트라이지를 건너뛰고 직접 적절한 스킬로 이동
- 사용자가 특정 하위 스킬을 명시적으로 요청하는 경우: 사용자의 선택을 따름
- 양성 샘플: 트라이지에서 샘플이 깨끗함/양성으로 판단되면 상태 파일에서 해당 단계를
양성으로 표시하고, 근거를 기록한 후 다음 샘플로 이동. 추가 분석 단계를 진행하지 않음. - 인식할 수 없는 파일 유형:
file출력이 알려진 라우팅 패턴과 일치하지 않으면 수동 평가를 위해 기본적으로malware-triage/SKILL.md를 사용. 상태 파일에 알 수 없는 유형 기록. - 상태 파일 충돌: 기존
analysis_state.md가 발견되면 기존 업무를 재개할지 아니면 새 업무를 시작할지(타임스탬프가 포함된 파일명 예:analysis_state_2026-03-15.md사용) 질문 - 스킬 저장소에서 실행 중: 작업 디렉토리가 이 스킬 저장소 자체인 경우(
malware-triage/,detection-engineer/등이 하위 디렉토리로 존재) 사용자에게 경고하고 상태 파일 생성 전에 분석 작업 공간으로 전환하도록 요청
하위 스킬 참조
오케스트레이터는 실행 시점에 각 하위 스킬의 SKILL.md 파일을 읽어 위임합니다:
| 하위 스킬 | 경로 | 목적 |
|---|---|---|
| 멀웨어 트라이지 | malware-triage/SKILL.md | 신속한 평가, 분류, 우선순위 지정 |
| 동적 분석 | malware-dynamic-analysis/SKILL.md | 격리된 VM에서 안전한 실행, 동작 모니터링 |
| 특수 파일 분석기 | specialized-file-analyzer/SKILL.md | 비-PE 파일 분석 (.NET, Office, PDF, 스크립트, 아카이브, LNK, ELF) |
| 탐지 엔지니어 | detection-engineer/SKILL.md | Sigma 규칙, Suricata 규칙, 헌팅 쿼리, IOC 디펜징 |
| 보고서 작성기 | malware-report-writer/SKILL.md | 전문 보고서, YARA 규칙, 품질 체크리스트 |
단계 진입 시 해당 SKILL.md 파일을 읽고 지침을 따르세요. 이전 단계의 축적된 상태를 전달하세요.
MCP 서버 통합 (선택 사항)
MCP 서버는 해시 조회 및 IOC 강화와 같은 수동 단계를 자동화할 수 있습니다. 사용 가능한 경우 워크플로우를 가속화하는 데 사용하되, 필수는 아닙니다.
설치 지침과 어떤 MCP 서버가 어떤 스킬에 도움이 되는지에 대한 매핑은 references/mcp_integrations.md를 참조하세요. 영향력이 가장 큰 두 가지 통합은 다음과 같습니다:
- VirusTotal MCP — 트라이지 중 해시/URL/도메인 평판 확인 자동화
- Threat Intel MCP — MalwareBazaar, ThreatFox, AbuseIPDB, GreyNoise에 대한 통합 접근으로 IOC 검증