用途
reverse-engineer-rpi 用于将产品逆向工程为可机械验证的功能清单、注册表与规格集,并可选生成安全审计产物与验证门禁。它强调合规护栏:仅允许分析自有或获得明确书面授权的代码/二进制,不提供绕过保护或提取第三方专有源码/系统提示的步骤,遇到密钥会进行脱敏。
主要能力
- 仓库模式:浅克隆上游仓库(可固定 ref),扫描 CLI 入口、配置/环境变量、schema 文件与制品清单,生成功能清单、注册表与规格文件。
- 二进制模式:对二进制进行静态分析(文件元数据、链接库、内嵌归档签名),生成二进制分析摘要与内嵌归档索引(仅索引,不导出)。
- 契约输出:生成 feature-registry.yaml、cli-surface-contracts.txt、docs-features.txt、clone-metadata.json 等机器可检查文件,使用相对路径、排序列表与稳定键,便于作为黄金夹具进行 diff。
- 安全审计(可选):生成威胁模型、攻击面、数据流、加密审查、认证授权、发现项、可复现性等安全产物,并运行 secret-scan 门禁。
- 夹具测试:提供 repo_fixture_test.sh 脚本,读取固定 ref 的 clone-metadata.json,运行分析并与已提交的黄金夹具进行 diff,检测回归。
使用方式
基本调用:
python3 skills/reverse-engineer-rpi/scripts/reverse_engineer_rpi.py <product_name> --authorized [flags...]
仓库模式示例:
python3 skills/reverse-engineer-rpi/scripts/reverse_engineer_rpi.py cc-sdd \
--mode=repo \
--upstream-repo="https://github.com/gotalab/cc-sdd.git" \
--output-dir=".agents/research/cc-sdd/"
固定 ref 示例:
python3 skills/reverse-engineer-rpi/scripts/reverse_engineer_rpi.py cc-sdd \
--mode=repo \
--upstream-repo="https://github.com/gotalab/cc-sdd.git" \
--upstream-ref=v1.0.0 \
--output-dir=".agents/research/cc-sdd/"
二进制模式示例(需 --authorized):
python3 skills/reverse-engineer-rpi/scripts/reverse_engineer_rpi.py ao \
--authorized \
--mode=binary \
--binary-path="$(command -v ao)" \
--output-dir=".agents/research/ao/"
安全审计标志:--security-audit、--sbom、--fuzz。
适用场景
- 对自有或已获授权的开源 CLI 进行仓库模式逆向,生成功能目录与可 diff 的契约文件。
- 对自有或已获授权的二进制进行静态分析与安全审计。
- 建立黄金夹具,用于回归检测。
限制
- 仅允许分析自有或获得明确书面授权的代码/二进制。
- 不提供绕过保护/ToS 或提取第三方专有源码/系统提示的步骤。
- 不输出重建的专有源码或二进制内嵌提示(仅索引;报告中脱敏)。
- 二进制模式必须提供 --authorized 标志。
- 夹具测试需要网络访问以克隆上游仓库。
- 部分输出为 best-effort,可能因目标结构而缺失或降级。