re-ai-triage について
re-ai-triageは、AIモデルのリバースエンジニアリングにおける受付・振り分けスキルです。対象の種類が明確でない分析者向けに、モデルファイル、API、悪意ある挙動の疑いを適切な下流スキルへ案内します。
主な機能
- 01ファイルまたはAPI入力に応じた振り分け
- 02一般的なモデルファイル形式の識別
- 03ファイル分析と挙動分析の切り分け
- 04認可の確認と引き継ぎ情報の記録
活用シーン
- 01モデルファイルの分析経路の選択
- 02ブラックボックスAPI評価の挙動分析への振り分け
- 03モデルファイルとAPIの両方がある対象の処理
- 04実行ファイル内モデルの展開工程への引き継ぎ
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ dslsdzc/ rev-skills --skill re-ai-triageインストール後、Claude Code で/re-ai-triageを入力して読み込まれたか確認します。
詳細
プロジェクトの README よりAI 模型分析入口(分流器)
任务分类器(输入形态 → 路径)
拿到 AI 相关目标后先判输入形态,命中即转对应技能:
| 输入形态 | 路径 |
|---|---|
| 拿到模型文件(.onnx / .pt / .pth / .safetensors / .tflite) | → [[re-ai-model]](文件层:格式解析 / 结构还原 / 权重提取 / 文件级水印) |
| 只有 API(无文件,黑盒接口) | → [[re-ai-attack]](行为层:extraction / fingerprint / privacy / robustness 评估;guard 授权前置) |
| 文件 + API 都有 | → 先 [[re-ai-model]](文件侧取证)→ 再 [[re-ai-attack]](行为侧验证) |
| 发现恶意行为(投毒 / 后门 / 恶意载荷 / 下载执行) | → 恶意分析(当前:[[re-ai-model]] 安全边界处理 + [[re-behavior]];未来独立 re-ai-malware 承接) |
| 模型被打包进可执行(PyInstaller/pyarmor 等) | → 先 [[re-binary-core]] 拆包 → 拆出的模型文件回本技能分流 |
何时使用 / 何时不用
- 用:用户说「分析这个模型 / AI 模型安全 / 模型泄露」但未指明输入形态——先分流
- 用:不确定目标是文件层还是行为层时——先识别再转
- 不用:输入形态已明确(直接进 [[re-ai-model]] 或 [[re-ai-attack]],不绕本技能)
- 不用:非 AI 目标(走全局入口 [[re-analyze]])
- 不用:训练 / 微调 / 部署(非逆向)
工具准备
本技能只做识别与分流,工具轻量:
python3 / file —— 模型文件识别
- python3 安装与验证见 [[re-python]] 工具准备
file:Linuxapt install file/dnf install file/pacman -S file(多数预装);验证file --version- 验证:
python3 -c "import struct"(标准库)
模型库探测(判断目标依赖,不加载模型)
pip list 2>/dev/null | grep -iE 'torch|tensorflow|onnx'——确认本机可解析目标格式;缺失时由下游技能引导安装
操作步骤
- 输入形态识别:
- 用户给了路径/文件 → 先
file <path>+xxd <path> | head -2粗看,再转 [[re-ai-model]]。几种形态的可靠信号(都以字节为准,不靠扩展名;细节见 [[re-ai-model]] 步骤 1):- onnx:protobuf 流、无固定魔数,
file报data;首字节是 ir_version 的 tag0x08,第二个字节是版本号、随 ONNX 版本递增(不是常量08);producer_name按规范只 SHOULD 出现 - safetensors:
file报data——前 8 字节是小端头长度,其后才是 JSON 头(xxd -l 16可见长度段与{) - pytorch:新版是 zip 容器,
file报Zip archive(PK\x03\x04头),unzip -l可见data.pkl等条目;老式是裸 pickle 流(无PK头,file常误报XENIX 8086 relocatable or i286 small model)——不直接 load,见 [[re-ai-model]] 坑 2 - tflite:flatbuffers 流,
file报data;字节 4–7 是文件标识符 ASCIITFL3
- onnx:protobuf 流、无固定魔数,
- 用户只有 API 端点/查询能力 → 转 [[re-ai-attack]]
- 两者都有 → 按任务分类器先文件后行为
- 用户给了路径/文件 → 先
- 目标归属确认:文件/API 的持有方与授权(自有 / 授权测试 / CTF·研究)——行为层评估前必须确认([[re-ai-attack]] guard 前置;授权上下文见 triage 第 0 步
RE_AUTH) - 转交与记录:明确转交技能 + 会话变量(
RE_GOAL、RE_AUTH、输入形态标记),不在本技能做深度分析
跨域联合
- [[re-managed]]:本技能是其 AI 分支的第一跳(re-managed → re-ai-triage → re-ai-model / re-ai-attack)
- [[re-ai-model]]:文件层下游
- [[re-ai-attack]]:行为层下游(guard 授权前置)
- [[re-binary-core]]:模型打包进可执行时的拆包前置
- [[re-behavior]]:恶意行为侧协作(投毒/后门的行为判定)
常见坑与陷阱
- 拿文件名猜格式:
.pt可能是 pickle 也可能是 zip 容器(torch 新格式)、.bin可能是任意权重 dump——以file输出与魔数为准,不靠扩展名 - 分流过深:本技能只识别与转交,不展开分析——在分流阶段做深度分析会与下游重复
- 授权前置遗漏:行为层评估([[re-ai-attack]])有 guard 授权要求——转交前先确认
RE_AUTH,未知归属时先询问,不直接进入行为层
コメント
Markdown 対応