Communitygithub.com

binary-ninja-reverse

Utilisé pour l'analyse binaire autorisée dans Binary Ninja, y compris l'inspection HLIL/MLIL/LLIL, les chaînes/importations/exportations, les références croisées, les types, la révision de correctifs, l'automatisation via l'API Python, et l'intégration facultative via le pont MCP Binary Ninja ou HTTP localhost.

Qu'est-ce que binary-ninja-reverse ?

Cette compétence permet à un agent IA d'effectuer de l'ingénierie inverse sur des binaires à l'aide de Binary Ninja, un logiciel commercial de désassemblage et de décompilation. L'agent peut inspecter les représentations intermédiaires (IL) de Binary Ninja (HLIL, MLIL, LLIL) pour analyser le flux de données, consulter les chaînes, importations, exportations, références croisées, types, commentaires et renoms, et appliquer des correctifs octet par octet. Elle propose trois modes d'intégration : l'API Python directe, un pont MCP communautaire (plugin `binary_ninja_mcp`) pour une communication standardisée via le protocole MCP, ou une solution de repli vers d'autres désassembleurs (IDA, Ghidra, radare2). Le flux de travail sécurisé impose de travailler sur une copie, d'enregistrer les métadonnées du binaire avant toute modification, et de croiser les conclusions à fort impact avec une seconde source. Les plateformes supportées incluent Binary Ninja (build 4000 minimum) via son plugin manager ou le pont MCP. L'utilité principale est de fournir une vérification indépendante des résultats d'autres désassembleurs et de faciliter l'analyse automatisée de binaires au sein d'un agent conversationnel.

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

Demander à votre IA préférée

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

Documentation

Ingénierie inverse avec Binary Ninja

Utilisez Binary Ninja lorsque l'utilisateur le sélectionne explicitement, lorsque ses IL aident matériellement l'analyse du flux de données, ou lorsque les résultats d'IDA/Ghidra/radare2 nécessitent une vérification croisée indépendante.

Démarrage en sécurité

  1. Assurez-vous que le périmètre du cas de dépôt est prêt avant d'agir sur une cible.
  2. Consultez skills/tool-index.md pour binaryninja ; Binary Ninja est un logiciel commercial et doit être installé manuellement avec une licence Vector 35 valide.
  3. Travaillez sur une copie lors de l'application de correctifs ou de la sauvegarde des modifications de la base de données.
  4. Enregistrez les importations/exportations, les points d'entrée, l'architecture et le hachage du fichier avant de promouvoir des conclusions.

Choisissez l'intégration

  • Interface graphique ou API Python : privilégiée lorsque Binary Ninja est déjà ouvert ou que l'utilisateur souhaite une analyse interactive directe.
  • Pont MCP communautaire : à utiliser uniquement sur demande explicite et après avoir examiné les limites du plugin tiers. Maintenez l'écouteur HTTP de Binary Ninja sur 127.0.0.1:9009 ; n'activez pas l'exposition réseau par défaut.
  • Solution de repli : utilisez ghidra-reverse, ida-reverse ou radare2 lorsque Binary Ninja est indisponible ou que sa licence/API ne peut pas ouvrir la cible.

L'intégration communautaire examinée est fosdickio/binary_ninja_mcp, GPL-3.0, version des métadonnées du plugin 1.1.0, build minimum de Binary Ninja 4000. Ce dépôt n'est pas un composant officiel de Vector 35. Cette compétence a été vérifiée par rapport au commit 8c5134ee46e2bf44f9a4d846bd971c3e39b3e306 le 2026-09-03.

Installez le côté Binary Ninja via son gestionnaire de plugins ou à partir de la source examinée. Pour le pont MCP stdio, épinglez la version publiée du pont plutôt que d'utiliser un package non contraint :

npx -y [email protected] --host 127.0.0.1 --port 9009

Enregistrez cette commande uniquement dans le client MCP choisi par l'utilisateur. Le pont n'est pas prêt tant que Binary Ninja n'est pas en cours d'exécution, qu'un binaire n'est pas ouvert et que le point de terminaison du plugin localhost ne répond pas.

Flux de travail d'analyse

  1. Énumérez les binaires ouverts et sélectionnez la vue souhaitée.
  2. Capturez l'état du binaire, les points d'entrée, les segments, les importations, les exportations et les chaînes représentatives.
  3. Suivez les sites d'appel et les références croisées avant d'interpréter une fonction isolément.
  4. Utilisez HLIL pour une logique lisible, MLIL SSA pour le flux de données, et LLIL/désassemblage lorsque le levage perd le comportement au niveau des instructions.
  5. Appliquez les noms, commentaires et types de manière incrémentale ; conservez les adresses originales comme preuve.
  6. Traitez les correctifs octets, les modifications de prototypes et les écritures de fichiers sauvegardés comme des mutations. Effectuez-les uniquement sur demande et préservez l'artefact original.
  7. Vérifiez les conclusions à fort impact avec une deuxième source de preuve ou un autre désassembleur.

Les familles de capacités MCP utiles incluent la sélection binaire/vue, list_imports, list_exports, list_strings, decompile_function, get_il, appelants/appelés, références croisées, types, commentaires, renoms et correction de bytes. Découvrez la liste d'outils en direct au lieu de supposer que chaque fonction en amont est présente.

Sortie

Rapportez des adresses concrètes, les noms de fonctions, le niveau IL, les chaînes/importations justificatives, le niveau de confiance et les étapes de reproduction. Maintenez la chaîne Preuve → Conclusion → Chemin utilisée par le reste du dépôt.

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

|

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.

docs-generator

|

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