Communitygithub.com

docs-generator

Génère automatiquement des rapports techniques et des documents formels après des tâches de sécurité, de rétro-ingénierie ou de résolution de CTF.

Qu'est-ce que docs-generator ?

Ce skill est conçu pour générer des rapports techniques formalisés dans le répertoire du projet utilisateur après l'achèvement de tâches liées à la sécurité (rétro-ingénierie, tests d'intrusion, CTF, analyse de logiciels malveillants, etc.). Il propose une sélection de modèles selon le type de mission (rapport de rétro-ingénierie APK/binaire, rapport de test d'intrusion, writeup CTF, rapport de rétro-ingénierie de signature JS, ou documentation technique générique). Le skill suit une structure d'Evidence → Finding → Path (preuve → constat → solution) pour garantir la traçabilité et la reproductibilité des résultats. Il s'intègre également avec les rapports fournisseurs (comme les formats Huorong ou Kaspersky Securelist) via le fichier `references/vendor-report-rules.md`. Les rapports incluent des diagrammes Mermaid intégrés (graphes d'appels, diagrammes de flux, diagrammes de séquence) pour une meilleure visualisation. Les plateformes supportées incluent : Claude Code, Cursor, Codex, et tout agent compatible avec des skills markdown. Le skill est déclenché automatiquement en fin de chaîne de tâches de sécurité ou manuellement sur demande de l'utilisateur ("écris un rapport", "génère un writeup"). Le skill s'applique à la fois aux documents génériques et aux rapports de sécurité formels, avec des règles strictes de qualité : pas de placeholders, preuves reproductibles, et chemin de preuve obligatoire. Les templates se trouvent dans `references/` et les règles de bootstrap sont explicites (aucune dépendance externe).

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/zhaoxuya520/reverse-skill/tree/main/skills/docs-generator

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Documentation Technique

ACTION REQUIRED (à exécuter immédiatement après lecture)

  1. NOW : Confirmer si la tâche actuelle correspond au champ d'application de ce skill
  2. NOW : Lire ../tool-index.md pour vérifier la disponibilité des outils et les chemins réels
  3. NEXT : Si des outils manquent, appeler bootstrap sans deviner les chemins
  4. ACT : Entrer dans la première étape du "workflow" et l'exécuter, ne pas rester en attente de confirmation

Pour les consignes de style d'écriture, ton et voix, utilisez Skill(ce:writer) avec le personnage The Engineer.

Sortie de documentation pour les tâches de sécurité / rétro-ingénierie

Lorsqu'une tâche de rétro-ingénierie, de test d'intrusion, de CTF ou d'analyse de sécurité est terminée, ce skill est chargé de générer une documentation technique formelle dans le répertoire du projet utilisateur.

Déclencheurs

  1. Tâche de rétro-ingénierie terminée avec des conclusions clés (algorithme reconstitué, signature déchiffrée, contournement trouvé, etc.)
  2. Test d'intrusion terminé avec des vulnérabilités découvertes et validées
  3. Problème CTF résolu avec flag obtenu
  4. L'utilisateur demande explicitement "un rapport / une documentation / un writeup"

Sélection du modèle

Type de tâcheModèle à utiliser
Rétro-ingénierie APK/binaire/soreferences/security-report-templates.md → Rapport de rétro-ingénierie
Test d'intrusion / Découverte de vulnérabilitésreferences/security-report-templates.md → Rapport de test d'intrusion
Résolution CTFreferences/security-report-templates.md → Writeup CTF
Rétro-ingénierie de signature JS/Webreferences/security-report-templates.md → Rapport de rétro-ingénierie de signature
Logiciel malveillant / APT / Analyse de virusreferences/security-report-templates.md + references/vendor-report-rules.md
Documentation technique génériquereferences/templates.md → README / Documentation API

Structure du rapport fournisseur (Issue #65)

Les rapports de sécurité formels DOIVENT lire references/vendor-report-rules.md (structure uniquement, ne pas recopier le texte original du fournisseur). Choisir un flavor fournisseur uniquement lorsque les preuves de la tâche ou l'utilisateur le demandent explicitement ; pour les tâches de rétro-ingénierie ordinaires et autres, utiliser flavor = null.

Flavor / SurchargeQuand l'utiliserModèle principal
malwareÉchantillon malveillant clair, cheval de Troie, blanc+noir, phishing / empoisonnementStyle Huorong : Résumé → Flux → Analyse d'échantillon → Réponse d'urgence → IOC
aptAPT / campagne / groupe / chaîne d'infection multi-étapes / ciblage sectorielStyle Securelist Kaspersky : Résumé → Chaîne d'infection → Récit d'enquête → Résultats intéressants → Analyse technique → Détection et atténuation → IOC
flavor = nullRétro-ingénierie APK/ELF/PE/Mach-O ordinaire, analyse de firmware / fonctionnalité / signature JSModèle original de la tâche + éléments génériques de base ; ne pas ajouter les chapitres spécifiques malware/APT
Surcharge fine vulnL'utilisateur demande explicitement une analyse technique de vulnérabilité / correctif / CVERésumé → Impact / Reproduction → Analyse de crash et correctif → Recommandations de protection (superposé à null, pas un 3e flavor par défaut)

Principe : Les modèles en petit nombre mais de bonne qualité — seulement 2 flavors fournisseurs complets ; vuln est une surcharge fine optionnelle, pas un troisième modèle complet par défaut.

À appliquer simultanément avec §0 Evidence → Finding → Path ; en cas de conflit, le contrat Evidence prévaut.

Spécifications de sortie

  • Emplacement de sortie : Répertoire actuel du projet utilisateur (pas le répertoire du skill)
  • Format du nom de fichier : YYYY-MM-DD_[type]-[abrégé_de_cible]-report.md
  • Si le projet a un répertoire docs/ : Prioriser le placement sous docs/
  • Encodage : UTF-8
  • Langue : Suivre la langue de la conversation utilisateur (conversation en français → rapport en français, conversation en anglais → rapport en anglais)

Exigences de qualité

  • Tous les blocs de code doivent être exécutables directement ou avoir un contexte clair
  • Aucun texte de placeholder / TODO
  • Les découvertes clés doivent être étayées par des preuves
  • Les étapes de reproduction doivent permettre à un tiers de reproduire de manière indépendante
  • Les informations sensibles (jetons réels, mots de passe, URL internes) doivent être remplacées par des placeholders
  • DOIT inclure la chaîne Evidence → Finding → Path (voir ../ops/evidence-finding-path.md et le modèle §0)
  • DOIT lire references/vendor-report-rules.md : choisir malware / apt ou flavor = null (les tâches de vulnérabilité peuvent superposer la surcharge fine vuln) ; sans flavor, n'utiliser que le modèle de tâche original et les éléments de base applicables, ne pas forcer IOC/ATT&CK
  • DEVRAIT référencer les fichiers scope.md / timeline.md du cas (../scripts/case-init.ps1)

Intégration de diagrammes

Lors de la génération du rapport, le skill diagram-generator doit être appelé aux emplacements appropriés pour produire des diagrammes visuels :

Type de rapportDiagramme suggéréType de diagramme
Rapport de rétro-ingénierieGraphe d'appels de fonctions, diagramme de flux de donnéesMermaid flowchart / sequenceDiagram
Rapport de test d'intrusionDiagramme du chemin d'attaque, topologie réseauMermaid flowchart / Graphviz
Writeup CTFDiagramme de flux de raisonnement de résolutionMermaid flowchart
Rapport de rétro-ingénierie de signature JSDiagramme de séquence temporelle de la chaîne de requêtes, diagramme de flux d'algorithmeMermaid sequenceDiagram / flowchart

Les diagrammes sont intégrés dans le markdown du rapport sous forme de blocs de code Mermaid, garantissant un rendu direct sur GitHub/GitLab.


Principes Fondamentaux

1. Divulgation Progressive

Révéler l'information par couches :

CoucheContenuQuestion Utilisateur
1Une phrase de descriptionQu'est-ce que c'est ?
2Bloc de code de démarrage rapideComment l'utiliser ?
3Référence API complèteQuelles sont mes options ?
4Plongée dans l'architectureComment ça fonctionne ?

Les avertissements, changements cassants et prérequis sont placés EN HAUT.

2. Rédaction Orientée Tâche

<!-- Mauvais : Orienté fonctionnalité -->
## Classe AuthService
La classe AuthService fournit des méthodes d'authentification...

<!-- Bon : Orienté tâche -->
## Authentification des utilisateurs
Pour authentifier un utilisateur, appelez login() avec les identifiants :

3. Montrer, ne pas Dire

Chaque concept nécessite un exemple concret.

Standards de Formatage

  • Titres en phrase case : "Getting started" et non "Getting Started"
  • Maximum 3 niveaux de titres : Plus profond signifie diviser le document
  • Toujours spécifier le langage dans les blocs de code
  • Chemins relatifs pour les liens internes
  • Tableaux pour les données structurées avec 3+ attributs

Liste de Vérification Qualité

  • Exemples de code testés et exécutables
  • Aucun texte de placeholder ou TODO
  • Correspond au comportement réel du code
  • Consultable sans tout lire
  • Le lecteur sait quoi faire ensuite

Anti-Patterns

ProblèmeCorrection
Mur de texteDécouper avec titres, puces, code, tableaux
Info critique enterréeAvertissements/changements cassants en HAUT
Documentation d'erreurs manquanteToujours documenter ce qui peut mal tourner

Modèles

Pour les modèles README, endpoint API et organisation de fichiers, voir references/templates.md.

Compétences Connexes

  • Skill(ce:writer) — Style d'écriture, ton et voix (charger le personnage The Engineer)
  • Skill(ce:visualizing-with-mermaid) — Diagrammes d'architecture et de flux

Bootstrap à la Demande (On-Demand Bootstrap)

Ce skill ne dépend d'aucun outil externe, génération purement textuelle. Aucun bootstrap nécessaire.

Si des diagrammes doivent être rendus pour un rapport, le skill diagram-generator/ sera appelé.


Contexte de Routage

Entrée amont : Tous les skills de sécurité / rétro-ingénierie appellent automatiquement ce skill après la tâche. Mode de déclenchement :

  • Automatique : exécuté comme l'étape 9 de la chaîne de comportement après la tâche.
  • Manuel : l'utilisateur dit "écris un rapport", "génère un writeup".

Modules associés au même niveau :

  • apk-reverse/ — Génère un rapport de rétro-ingénierie après analyse APK
  • ida-reverse/ — Génère un rapport de rétro-ingénierie après analyse binaire
  • radare2/ — Génère un rapport de rétro-ingénierie après analyse CLI
  • js-reverse/ — Génère un rapport de signature après rétro-ingénierie JS
  • reverse-engineering/ — Génère un rapport de rétro-ingénierie général
  • field-journal/ — Le contenu du rapport sert également de source de données pour le journal d'évolution

Modèle de rapport de sécurité : references/security-report-templates.md Règles de rapport fournisseur : references/vendor-report-rules.md (flavor : malware | apt | null ; surcharge optionnelle : vuln) Modèle de documentation générique : references/templates.md

Auto-Vérification d'Achèvement de Tâche (DOIT être validé avant de déclarer terminé)

  • Ai-je exécuté chaque étape du workflow (pas seulement lu) ?
  • Ai-je utilisé des chemins d'outils réels basés sur tool-index ?
  • Ai-je produit des preuves reproductibles (commandes / scripts / captures / rapports) ?
  • Le rapport contient-il Evidence / Finding / Path (contrat ops) ?
  • Les éléments de la liste de vérification RULES sont-ils complétés et reportés ?

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

api-security

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication, authorization, rate-limit, and CI/CD testing.

apk-reverse

在 CLI 环境下做 Android APK 逆向时使用。适用于 APK 解包、Java 反编译、smali 修改、重打包、Frida 动态 Hook,以及按需切换到 so/native 分析。优先使用本机已安装的 jadx、apktool、frida、adb、ida-reverse、radare2。

attack-chain

Use for authorized multi-stage attack-path planning and orchestration when a task spans reconnaissance, initial access, privilege escalation, lateral movement, or impact assessment. Route single-stage tasks directly to their specialist skill.

binary-diff

|

binary-ninja-reverse

Use for authorized binary analysis in Binary Ninja, including HLIL/MLIL/LLIL inspection, strings/imports/exports, cross-references, types, patch review, Python API automation, and optional Binary Ninja MCP or localhost HTTP integration.

browser-automation

|

browser-extension-reverse

Use for authorized reverse engineering of browser extensions (Chrome/Firefox) including manifest analysis, background workers, and extension-based credential or traffic logic recovery.

case-review

Reviews a reverse-skill case package for scope readiness, Evidence to Finding to Path traceability, work item coverage, timeline references, and optional artifact hash integrity before report handoff.

cloud-k8s

Use for authorized cloud, container, and Kubernetes security assessment including metadata SSRF, IAM misconfig, container escape paths, and cluster RBAC review.

code-audit

Use for authorized source-code security review and SAST workflows including Semgrep, CodeQL patterns, dangerous API hunting, and fix verification.

ctf-sandbox

Thin PRIMARY for CTF / AWD / 靶场 multi-type orchestration. Hands off to the sidecar CTF-Sandbox-Orchestrator. Use when the user says CTF, AWD, 靶场, or 比赛题 and no more specific pwn/APK/IDA route already won.

database-security

Use for authorized database security assessment covering PostgreSQL/MySQL/MSSQL/Mongo/Redis exposure, authz, UDF/command paths, and misconfiguration review.

diagram-generator

generate, refine, validate, and render diagrams from natural language, notes, code snippets, schemas, tables, or existing diagram source. use for flowcharts, swimlanes, sequence diagrams, state diagrams, er diagrams, class diagrams, architecture/c4-style diagrams, dependency graphs, gantt charts, mind maps, user journeys, sankey-style flows, org charts, network graphs, and other visual models. supports mermaid by default, graphviz dot for complex graph layout, plantuml for uml-heavy engineering diagrams, and svg output when direct markup is more reliable.

digital-forensics

Use for authorized digital forensics including memory dumps, disk timelines, PCAP investigation, artifact triage, and IR evidence preservation.

dotnet-reverse

.NET / C# 二进制逆向。当目标是 .NET assembly(PE 头含 CLR、.exe/.dll 托管程序)、C# 编译产物(含 NativeAOT)、红队 Sharp* 工具(Rubeus / SharpHound / SharpHound 等)、.NET 混淆程序(ConfuserEx / SmartAssembly / Babel / Eazfuscator)、.NET loader / info-stealer / 套壳 malware 时使用。优先用 dnSpyEx + de4dot,需要 AI 直接操作时联动 dnSpy MCP。不用于纯 native 二进制(走 reverse-engineering / ida-reverse)。

edr-bypass-re

|

email-security

Use for authorized email security review including phishing analysis, header authentication (SPF/DKIM/DMARC), BEC patterns, and mailbox token abuse research.

firmware-pentest

|

ghidra-reverse

Use for free/open reverse engineering with Ghidra (headless or GUI), including decompile, cross-refs, and optional Ghidra MCP workflows when IDA is unavailable.

go-rust-reverse

Use for reverse engineering stripped Go and Rust binaries including runtime recognition, pclntab/moduel data recovery, panic strings, and idiomatic decompilation recovery.

Skills associés