기술 문서 생성
ACTION REQUIRED(읽은 후 즉시 실행)
NOW:현재 작업이 이 스킬의 적용 범위에 해당하는지 확인NOW:../tool-index.md를 읽고 툴 사용 가능성과 실제 경로 검증NEXT:툴이 없으면 bootstrap을 호출하고, 경로를 추측하지 마십시오ACT:"워크플로우" 첫 단계로 진입하여 실행, 확인 상태에서 멈추지 마십시오
작문 스타일, 어조 및 표현 안내는 Skill(ce:writer)를 The Engineer 페르소나로 사용하십시오.
보안/역공학 작업 문서 출력
역공학/침투/CTF/보안 분석 작업이 완료된 후, 이 스킬은 사용자 프로젝트 디렉터리에 정식 기술 문서를 생성합니다.
트리거 시점
- 역공학 작업 완료, 핵심 결론 도출 (알고리즘 복원, 서명 크랙, 우회 방안 등)
- 침투 테스트 완료, 취약점 발견 및 검증
- CTF 문제 풀이 완료, flag 획득
- 사용자가 명시적으로 "보고서/문서/writeup 작성" 요청
템플릿 선택
| 작업 유형 | 사용 템플릿 |
|---|---|
| APK/바이너리/so 역공학 | references/security-report-templates.md → 역공학 엔지니어링 보고서 |
| 침투 테스트/취약점 발견 | references/security-report-templates.md → 침투 테스트 보고서 |
| CTF 문제 풀이 | references/security-report-templates.md → CTF Writeup |
| JS/웹 서명 역공학 | references/security-report-templates.md → 서명 역공학 보고서 |
| 악성코드 / APT / 바이러스 분석 보고서 | references/security-report-templates.md + references/vendor-report-rules.md |
| 일반 기술 문서 | references/templates.md → README / API 문서 |
벤더 보고서 구조 (Issue #65)
보안 관련 정식 보고서는 MUST references/vendor-report-rules.md를 읽습니다 (구조만 참고, 벤더 원문은 복사하지 않음). 작업 증거가 있거나 사용자가 명시적으로 요청한 경우에만 벤더 flavor를 선택합니다. 일반 역공학 및 기타 작업은 flavor = null을 사용합니다.
| Flavor / Overlay | 사용 시기 | 주요 참조 골격 |
|---|---|---|
malware | 명확한 악성 샘플, 트로이목마, 백가흑, 피싱/중독 | 후롱 스타일: 개요→프로세스→샘플 분석→긴급 대응→IOC |
apt | APT/캠페인/그룹/다단계 감염 체인/산업 표적 | 카스퍼스키 Securelist 스타일: 요약→감염 체인→조사 서사→흥미로운 발견→기술 분석→탐지 및 완화→IOC |
flavor = null | 일반 APK/ELF/PE/Mach-O 역공학, 알고리즘/펌웨어 분석, 침투 / CTF / JS 서명 | 원래 작업 템플릿 + Base 공통 요소; malware/APT 전용 섹션 미적용 |
thin vuln | 사용자가 명시적으로 취약점/패치/CVE 기술 분석 요청 | 개요→영향/재현→크래시 및 패치 분석→보호 권장사항 (null 위에 중첩, 제3 기본 전체 flavor 아님) |
원칙: 템플릿은 많기보다 정확히 — 벤더 전체 flavor는 2개만; vuln은 선택적 thin overlay이며, 별도의 세 번째 기본 전체 템플릿을 만들지 않음.
§0 Evidence→Finding→Path와 동시에 적용; 충돌 시 Evidence 계약이 우선합니다.
출력 규칙
- 출력 위치: 사용자 현재 프로젝트 디렉터리 (스킬 패키지 디렉터리 아님)
- 파일 이름 형식:
YYYY-MM-DD_[유형]-[대상약칭]-report.md - 프로젝트에
docs/디렉터리가 있는 경우: 우선docs/아래에 배치 - 인코딩: UTF-8
- 언어: 사용자 대화 언어를 따름 (중국어 대화 시 중국어 보고서, 영어 대화 시 영어 보고서)
품질 요구사항
- 모든 코드 블록은 바로 실행 가능하거나 명확한 컨텍스트를 가져야 함
- 플레이스홀더/TODO가 없어야 함
- 주요 발견에는 증거가 뒷받침되어야 함
- 재현 단계는 제3자가 독립적으로 재현할 수 있어야 함
- 민감 정보 (실제 토큰, 비밀번호, 내부 URL)는 자리표시자로 대체
- MUST Evidence → Finding → Path 체인 포함 (
../ops/evidence-finding-path.md및 템플릿 §0 참조) - MUST
references/vendor-report-rules.md읽기:malware/apt또는flavor = null선택 (취약점 작업 시 thinvuln중첩 가능); flavor 없을 경우 원래 작업 템플릿과 적용 가능한 Base 요소만 출력, IOC/ATT&CK 강제 없음 - SHOULD 케이스
scope.md/timeline.md참조 (../scripts/case-init.ps1)
다이어그램 통합
보고서 생성 시 적절한 위치에서 diagram-generator 스킬을 호출하여 시각화 다이어그램을 생성할 수 있습니다:
| 보고서 유형 | 권장 다이어그램 | 다이어그램 유형 |
|---|---|---|
| 역공학 엔지니어링 보고서 | 함수 호출 관계도, 데이터 흐름도 | Mermaid flowchart / sequenceDiagram |
| 침투 테스트 보고서 | 공격 경로도, 네트워크 토폴로지 | Mermaid flowchart / Graphviz |
| CTF Writeup | 문제 풀이 프로세스 흐름도 | Mermaid flowchart |
| JS 서명 역공학 보고서 | 요청 체인 시퀀스 다이어그램, 알고리즘 흐름도 | Mermaid sequenceDiagram / flowchart |
다이어그램은 Mermaid 코드 블록 형태로 보고서 마크다운에 삽입되며, GitHub/GitLab에서 직접 렌더링 가능해야 합니다.
핵심 원칙
1. 점진적 공개 (Progressive Disclosure)
정보를 계층별로 공개합니다:
| 계층 | 내용 | 사용자 질문 |
|---|---|---|
| 1 | 한 문장 설명 | 이것은 무엇인가? |
| 2 | 빠른 시작 코드 블록 | 어떻게 사용하나? |
| 3 | 전체 API 참조 | 어떤 옵션이 있나? |
| 4 | 아키텍처 심층 분석 | 어떻게 동작하나? |
경고, 호환성 깨짐, 사전 조건은 맨 위에 배치합니다.
2. 작업 중심 작성 (Task-Oriented Writing)
<!-- 나쁨: 기능 중심 -->
## AuthService 클래스
AuthService 클래스는 인증 메서드를 제공합니다...
<!-- 좋음: 작업 중심 -->
## 사용자 인증
사용자를 인증하려면 자격 증명으로 login()을 호출하십시오:
3. 보여주고, 말하지 마라 (Show, Don't Tell)
모든 개념에는 구체적인 예제가 필요합니다.
서식 표준
- 문장 첫 글자 대문자 제목: "시작하기" ("시작하기"가 아닌 "Getting started")
- 최대 제목 수준 3개: 그 이상은 문서 분할 필요
- 코드 블록에는 항상 언어 지정
- 내부 링크는 상대 경로
- 속성 3개 이상의 구조화된 데이터는 테이블 사용
품질 체크리스트
- 코드 예제가 테스트되고 실행 가능함
- 플레이스홀더 텍스트 또는 TODO 없음
- 실제 코드 동작과 일치함
- 모든 내용을 읽지 않고도 훑어볼 수 있음
- 독자가 다음에 무엇을 해야 할지 알 수 있음
안티 패턴
| 문제 | 수정 방법 |
|---|---|
| 텍스트 벽 | 제목, 글머리 기호, 코드, 테이블로 분할 |
| 중요 정보 묻힘 | 경고/호환성 깨짐을 맨 위에 배치 |
| 오류 문서 누락 | 항상 무엇이 잘못될 수 있는지 문서화 |
템플릿
README, API 엔드포인트 및 파일 구성 템플릿은 references/templates.md를 참조하십시오.
관련 스킬
Skill(ce:writer)- 작문 스타일, 어조 및 표현 (The Engineer 페르소나 로드)Skill(ce:visualizing-with-mermaid)- 아키텍처 및 흐름 다이어그램
주문형 부트스트랩 (On-Demand Bootstrap)
이 스킬은 외부 툴에 의존하지 않으며 순수 텍스트 생성입니다. 부트스트랩이 필요하지 않습니다.
보고서에 다이어그램을 렌더링해야 하는 경우 diagram-generator/ 스킬을 호출합니다.
라우팅 컨텍스트
상위 진입점: 모든 보안/역공학 스킬이 작업 완료 후 자동으로 이 스킬 호출 트리거 방식:
- 자동: 작업 완료 후 행동 체인의 9번째 단계로 실행
- 수동: 사용자가 "보고서 작성", "문서 생성", "writeup" 요청
동급 연결 모듈:
apk-reverse/— APK 역공학 완료 후 역공학 보고서 생성ida-reverse/— 바이너리 분석 완료 후 역공학 보고서 생성radare2/— CLI 분석 완료 후 역공학 보고서 생성js-reverse/— JS 서명 역공학 완료 후 서명 보고서 생성reverse-engineering/— 일반 역공학 완료 후 역공학 보고서 생성field-journal/— 보고서 내용이 동시에 진화 로그의 데이터 소스로 사용됨
보안 보고서 템플릿: references/security-report-templates.md
벤더 보고서 규칙: references/vendor-report-rules.md (flavor: malware | apt | null; optional overlay: vuln)
일반 문서 템플릿: references/templates.md
작업 완료 자체 점검 (완료 주장 전 MUST 통과)
- 워크플로우의 각 단계를 실행했습니까 (단순히 읽기만 한 것이 아닌)?
-
tool-index를 기반으로 실제 툴 경로를 사용했습니까? - 재현 가능한 증거 (명령/스크립트/스크린샷/보고서)를 생성했습니까?
- 보고서에 Evidence / Finding / Path가 포함되어 있습니까 (ops 계약)?
- RULES가 요구하는 체크리스트 항목을 완료하고 다시 기록했습니까?