[AI 整理声明]本文基于作者的项目文档与开发实践由 AI 辅助整理输出核心内容与数据均来自作者本人。目录设计取舍安装12 个阶段情报库报告红线注意做车辆诊断安全评估的时候测试流程往往是分散的——ECU 扫描用一个脚本SecAccess 枚举用另一个日志各存各的最后拼报告又是一套工序。OBD_Test_ToolKit 是把这套流程系统化的工具箱12 个渗透阶段对应 12 张 Web 页面每阶段的输出以 JSON 落进情报库最终一键出可交付的 HTML 审计报告。GitHubhttps://github.com/cstriker1407/OBD_Test_ToolKit设计取舍Python 侧零总线 I/O——不依赖python-can不开 PCAN / Vector / Kvaser 设备不发一个 CAN 帧。总线 I/O 全部交给TSMaster IDE及其 C MiniProgram 完成Web UI (Flask) ↓ 生成 phase_inputs.h TSMaster MiniProgram (12 × .cpp) ↓ 输出 .blf .txt 日志 Web UI ↓ 上传 .txt → 解析 → intel/*.json Verdict 引擎 Jinja2 ↓ HTML 报告好处换硬件不改 Python 代码日志文件本身是取证证据随时可回放重新解析误 kill Web 进程不会让攻击流量卡在总线上。代价是需要一份TSMaster IDETOSUN 官方免费下载作为运行时。安装gitclone https://github.com/cstriker1407/OBD_Test_ToolKit.gitcdOBD_Test_ToolKit python-mvenv .venv .venv\Scripts\activate# Windows# source .venv/bin/activate # Linux/macOSpipinstall-rrequirements.txt python web/app.py# http://localhost:8081TSMaster 侧首次配置# 用 TSMaster IDE 打开tsmaster\.TSProj# 修改共享头后同步 12 个 .cpppython tsmaster\inline_common.py新项目直接复制整个目录——intel/*.json是全部状态天然是项目文件夹。12 个阶段首页 12 张阶段卡片每张显示完成度与快捷入口阶段关键动作输出01 接入与拓扑发现11-bit / 29-bit / J1939 全段 ECU 扫描ecus.json02 协议合规性扫描OBD-II Mode 1-10 UDS SID 全量探测sid_matrix.json03 会话状态机分析Session 0x01-0x7F 枚举 S3 timer 实测sessions.json04 SecAccess 安全访问Level 枚举 / seed 熵分析 / lockout 检测secaccess.json05 DID 读取防护广播 vs 直接寻址暴露面对比did_exposure.json06 DID 写入防护Read-then-write-same 探测did_write.json07 内存读写防护SID 0x23/0x3D 可达性、ALFID 边界memory.json08 DTC 故障诊断SID 0x19 多 sub 覆盖 ClearDTCdtc.json09 例程控制SID 0x31 危险 routine 黑名单枚举routines.json10 固件刷写攻击面Programming Session 门槛 0x34/35/36 可达性flash.json11 网关与跨子网网关识别 广播 / 直连过滤差异gateway.json12 Fuzz可选SID 参数 / 多帧序列 / 时序 fuzzfuzz.json单个阶段页的操作流程说明 → 生成 TSMaster 输入 → 上传日志 → 解析后回显结构化数据情报库每个阶段的结果以 JSON 写入intel/目录Web UI 提供两个汇总视图。ECU 清单Phase 01 自动写入可手工微调 identity / 寻址方式 / 填充字节和诊断服务矩阵按 ECU × SID 展示每个服务的可达性报告12 阶段跑完后POST /reportverdict 引擎对intel/*.json应用内置规则ISO 14229 / GB 44495-2024 / ISO 21434 常见基线输出 finding verdict通过 / 不通过 / 严重不通过Jinja2 渲染成单文件 HTML全部内联样式可离线归档 / 邮件转发报告页提供在线预览、下载、归档、清空测试数据保留项目信息 / ECU 清单 / 红线几个操作各自独立互不影响。红线intel/red_lines.json是安全护栏——绝对不测的 SID、不写的 DID、不启动的 routine、危险内存段UI 直接编辑有恢复默认按钮跑真车前一定要检查这个文件特别是 OEM 私有的危险 routine ID 需要手工补进去。注意本工具是主动式渗透测试工具会向 ECU 发送变形 / 不合规 / 高频诊断请求。严禁对上路 / 载人 / 行驶中的车辆运行任何阶段Phase 04SecAccess 枚举可能触发 ECU 永久 lockout部分 ECU 要拆下来重刷 boot 才能恢复Phase 07内存读写任何操作都可能砖 ECU红线覆盖不了所有 MCU 特殊寄存器Phase 10 / 12固件刷写 / Fuzz在任何非授权车辆上运行都可能构成犯罪仅限持有测试对象合法所有权或 OEM 明确书面授权的场景使用当前版本 betaMIT 开源。