# Quarkslab Titan M 安全芯片研究工具

> Quarkslab 发布的 Google Pixel 手机 Titan M 安全芯片研究工具：包括用于 Titan M（Citadel）固件文件的 Ghidra 加载器；可在 Android 上跟踪并发送芯片基于 protobuf 的命令的 nosclient，内含基于 libprotobuf-mutator 的黑盒模糊测试器；sigrok SPI 抓包解析器；以及把固件镜像转换为芯片 SPI rescue 功能所用 rec 文件的脚本。仓库还收录 Black Hat Europe 2021 白皮书与幻灯片、ROOTS'21 论文和 Black Hat USA 2022 幻灯片，介绍固件逆向、嗅探芯片与应用处理器之间的 SPI 通信，以及黑盒与基于仿真的模糊测试；作者称所发现的漏洞均已向 Google 披露。

- 类型：工具
- 目标：固件 · 协议
- 类别：固件工具
- 关联：基础工具
- 来源复核于：2026-10-20
- 收录于：2026-11-02
- 原始资源：<https://github.com/quarkslab/titanm>
- 一手来源：<https://github.com/quarkslab/titanm/blob/7b6c2524600185a819b3f7b0113f258bcf0ff36a/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/quarkslab-titanm-tools/>
- 记录 JSON：<https://awesomerea.org/resources/quarkslab-titanm-tools/record.json>
- 英文版：[English](https://awesomerea.org/resources/quarkslab-titanm-tools/index.md)

## 使用条件与局限

- 这是没有标签或软件包的研究发布：最后一次提交在 2022-08-22，添加了 Black Hat USA 2022 幻灯片，两天前 nosclient 已为该演讲更新。幻灯片介绍的基于仿真的模糊测试器不在仓库中，仓库也未提交任何 Titan M 固件镜像、Boot ROM 转储或密钥。
- 固件文件须来自分析者自己的 Pixel 设备；白皮书指出 Titan M 首次随 Pixel 3 推出。用 nosclient 发送命令需要设备的 root 权限，白皮书对此有说明；SPI 解析器读取的是分析者自行抓取的 sigrok CSV 导出文件。
- citadelimgloader 使用 Gradle 针对由 GHIDRA_INSTALL_DIR 指定的本地 Ghidra 安装构建，未说明支持的 Ghidra 版本。nosclient 在初始化 libnos（AOSP）、protobuf、libprotobuf-mutator 和 sqlite 子模块后，可用 CMake 构建 Linux 版或借助 NDK 构建 Android arm64 版，也可使用随附的 Debian 10 Docker 镜像（NDK r21e）构建。
- ROOTS'21 论文报告，黑盒模糊测试器在数秒内重新发现了多个已知漏洞，并在当时最新的固件中发现一个新漏洞；这些是作者在自有设备上得到的结果。README 称该工具集还包含针对一个已知漏洞的利用代码。
- LICENSE 为 Apache-2.0。模糊测试器附带一个生成的 libradamsa.c，文件内没有单独的许可声明；客户端包含由 nugget/app 消息定义生成的 protobuf 源码和少量 KeyMint 枚举头文件；演讲 PDF 未说明许可。

## 一手来源

1. <https://github.com/quarkslab/titanm/blob/7b6c2524600185a819b3f7b0113f258bcf0ff36a/README.md>
2. <https://github.com/quarkslab/titanm/blob/7b6c2524600185a819b3f7b0113f258bcf0ff36a/citadelimgloader/README.md>
3. <https://github.com/quarkslab/titanm/blob/7b6c2524600185a819b3f7b0113f258bcf0ff36a/nugget_toolkit/README.md>
4. <https://github.com/quarkslab/titanm/blob/7b6c2524600185a819b3f7b0113f258bcf0ff36a/nugget_toolkit/fuzzer/README.md>
5. <https://github.com/quarkslab/titanm/blob/7b6c2524600185a819b3f7b0113f258bcf0ff36a/nugget_toolkit/Dockerfile>
6. <https://github.com/quarkslab/titanm/blob/7b6c2524600185a819b3f7b0113f258bcf0ff36a/bin2rec/Readme.md>
7. <https://github.com/quarkslab/titanm/blob/7b6c2524600185a819b3f7b0113f258bcf0ff36a/.gitmodules>
8. <https://github.com/quarkslab/titanm/blob/7b6c2524600185a819b3f7b0113f258bcf0ff36a/BHEU_2021/EU-21-Rossi_Bellom-2021_A_Titan_M_Odyssey-wp.pdf>
9. <https://github.com/quarkslab/titanm/blob/7b6c2524600185a819b3f7b0113f258bcf0ff36a/ROOTS/DamianoMelotti_ReversingAndFuzzingTheGoogleTitanMChip_paper.pdf>
10. <https://github.com/quarkslab/titanm/blob/7b6c2524600185a819b3f7b0113f258bcf0ff36a/BHUSA_2022/Titan_BHUSA.pdf>
11. <https://github.com/quarkslab/titanm/blob/7b6c2524600185a819b3f7b0113f258bcf0ff36a/LICENSE>

## 同分区更多条目：固件与硬件

- [uefi_retool UEFI 固件逆向工具](https://awesomerea.org/zh/resources/uefi-retool/index.md) · 工具
- [Shannon 基带镜像 IDA Pro 加载器](https://awesomerea.org/zh/resources/shannon-modem-loader/index.md) · 工具
- [IMSProg EEPROM／闪存芯片编程器](https://awesomerea.org/zh/resources/imsprog/index.md) · 工具
- [rbasefind 固件基址搜索工具](https://awesomerea.org/zh/resources/rbasefind/index.md) · 工具
- [Aptio V UEFI 设置编辑器](https://awesomerea.org/zh/resources/aptio-v-uefi-editor/index.md) · 工具
- [FirmLoader 微控制器固件内存布局 IDA 插件](https://awesomerea.org/zh/resources/firmloader/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
