我关注的方向
我是 Tomahawkd,一名安全开发工程师。我的工作从编译器、语言运行时和操作系统安全,延伸到白盒扫描引擎,以及 LLM 辅助的代码分析与安全工具开发。
我喜欢把安全问题做成可运行、可验证、可持续交付的工具:理解缺陷形成的条件,设计检测与防护机制,再处理它在真实代码库中的性能、噪音和工程约束。
- 静态分析与引擎扩展:LLVM Clang Static Analyzer(CSA)、DSL 函数建模、污点分析与业务检查器生成。
- LLM 与程序分析:代码索引、证据检索、STRIDE 威胁建模、告警研判,以及面向长程 Agent 的状态与上下文管理。
- 编译器与系统编程:C/C++、LLVM ASan / HWASan / TSan、ARM PAC / CFI,以及检测工具的性能优化。
- AI 与操作系统安全:Agent 控制流防护、沙箱隔离、Linux 内核加固和代码训练数据清洗。
白盒扫描基础设施
上海安势信息技术有限公司 · 技术负责人 · 2025.12 — 至今
主导清本 SAST 产品的技术架构与 Roadmap,负责模块拆分、技术选型、架构评审及 Agent 核心开发。产品连接静态分析引擎、管理平台与 AI 系统,覆盖代码扫描、告警研判、修复和验证。
引擎与业务语义。 主导基于 LLVM CSA 的 DSL 函数建模能力设计,扩展 C/C++ 扫描支持与函数模型表达。基于业务文档生成 IDOR 等规约类检查器,将业务约束转化为自动化检查能力;通过威胁建模补充模块、数据流和信任边界等业务上下文。
研发流程与交付。 通过 CLI / MCP 将平台告警和研判结果接入研发侧 Agent,结合配套 Skill 与本地代码制定修复、验证策略。搭建 AI Infra、CI/CD、Checker 数据维护、性能测试看板及竞品对比机制,支撑 10+ 个版本迭代。
同时负责需求拆解、迭代排期、跨团队交付及客户问题定位,支撑 3 家嵌入式 / XPU 厂商采购,并入围 10 家大型互联网企业最终评估。下面两个项目均由我独立设计并实现。
Aegis · 告警研判与降噪
独立完成架构设计与开发
Python / asyncio · LangGraph · Pydantic · Tree-sitter · WebSocket
SAST 给出的缺陷路径往往不足以直接判断问题是否成立,还需要核查业务约束、调用上下文和保护条件。Aegis 将检查器知识、缺陷路径与按需源码调查结合,输出研判结论、行级证据和修复建议,为告警降噪与分级处理提供依据。
双模式分析
- 快速模式:基于预组装的缺陷路径、源码片段和检查器信息直接研判。
- 精确模式:通过 LangGraph 编排推理与工具调用循环,在限定轮次内主动补充证据,适用于需要跨文件调查的告警。
两种模式按时延与分析深度需求选择。全仓代码通过索引与工具按需访问;沿 bug trace 提取带行号的源码窗口,并保留路径步骤与代码位置的对应关系。
从缺陷路径到可复核的证据
- 源码调查:使用 Tree-sitter 获取 C/C++、Java 的函数及类型定义,提供文件枚举、内容搜索、源码读取、定义获取与邻近窗口工具,支持跨文件补充上下文。
- 检查器语义:按 Checker 加载专用模板,核查路径可行性、入口可达性、保护条件和缺陷模式。UAF 分析关注对象身份、别名与生命周期;注入类分析核查 source/sink 传播及净化约束。
- 分类与置信度:分别建模 likely-TP、likely-FP、uncertain 和高 / 中 / 低置信等级。要求逐条研判缺陷路径,仅在所有路径均被反证时判为 likely-FP;通过确定性映射输出平台兼容评分。
- 结果一致性:以 Pydantic 校验结论和证据结构,将 trace / step 引用绑定到请求中的文件与行号。精确模式分别提交结论与修复建议,限制纠错轮次;结论变化时使旧修复建议失效。
预算、调度与评估
- 上下文预算:发送前估算请求开销并预留输出空间,裁剪初始源码片段、限制工具返回,按顺序淘汰旧工具结果并保留来源标记,记录证据缺失与预算不足。
- 源码访问边界:抽象本地文件系统与 MinIO 访问,按需读取和搜索。对目录枚举、文件读取、搜索及 AST 解析设置资源上限,校验项目路径边界并保留截断信息。
- 异步服务:以 WebSocket 和 CLI 接入请求,解耦模型配置、执行策略与研判流程。按端点与模型组织共享 FIFO 队列,控制并发、请求间隔与队列容量,结合限流退避和背压处理批量调用。
- 效果迭代:记录 Token 用量、耗时、工具调用和失败诊断,提供多模型批量 benchmark。使用另一 LLM 辅助评审分类、解释、证据与修复建议;当前评估缺少人工标注的 ground truth,因此不将其视为经过验证的准确率。
长程威胁建模 Agent
独立承担整体架构设计与全部开发
TypeScript / Node.js · Tree-sitter · SQLite / Drizzle · Zod
面向整个代码仓库构建多阶段安全分析工作流,覆盖源码调查、STRIDE 分析、函数模型生成和审查修订。项目的重点是让多轮分析能够持续推进:阶段与任务有明确状态,结果可追溯,中断后可以继续执行。
代码理解与威胁分析
分析按依赖推进:代码索引 → 项目准备 → 模块划分 → 数据流与信任域识别 → STRIDE 分析 → source/sink 研究 → 函数模型生成。模块与函数任务在满足依赖后并发调度。
- 源码索引:基于 Tree-sitter 提取多语言函数、类型等符号及标识符引用,建立 SQLite 索引,支持增量刷新、符号检索与源码行级定位,为按需读取和跨模块调查提供依据。
- 威胁分析:结合模块职责、源码和出站数据流识别信任边界,生成模块级与数据流级威胁,以具体攻击场景描述影响,并审查分类、证据支持与场景覆盖。
将威胁分析连接到静态分析模型
基于模块威胁识别相关 source/sink 函数,记录源码位置,以及参数、返回值或副作用对应的污点信息。通过可扩展后端生成 C/C++ DSL 或声明式配置模型,为静态分析补充函数语义。
将后端原语、类型词汇与示例封装为可检索参考,约束生成过程。检查 DSL 原语与语法结构,校验配置模型的函数绑定、参数数量和位置、污点类型,再把错误反馈给 Agent 修正。
长程执行与审查修订
- 持久化与恢复:使用 SQLite 保存阶段、任务、会话及工具调用记录。通过事务提交与回执去重维持落库一致性,按持久化状态恢复未完成任务,并保留失败原因和降级结果。
- 上下文与资源控制:分层裁剪历史工具结果,压缩早期对话并保留近期交互。限制模型输出预算、子任务轮次和并发;对可重试请求采用带抖动的指数退避,并支持取消执行。
- 多角色审查:Worker / Reviewer 交替分析与审查,Explorer / Verifier 子 Agent 调查源码和复核问题。管理修复、争议与验证状态,以审查轮次上限约束循环,显式保留未解决问题。
- 结果交付:展示任务进度、调用轨迹、Token 用量和执行状态,导出 HTML、Markdown、JSON、DFD 图及按后端组织的函数模型,供安全人员复核与集成。
华为 · 编译器、系统与 AI 安全
杭州华为企业通信技术有限公司 · 系统安全 · 2022.02 — 2025.12
负责 OS、AI 系统及编译器相关安全特性的设计与开发。参与编译器产品架构安全评审,针对仓颉标准库、语言运行时和编译器开展安全测试与渗透测试,支撑版本送检;以预备 committer 身份承担部门代码入库检视。
仓颉语言安全检测与加固
2022.06 — 2025.08 · 方案设计与实现
面向基于 LLVM 的编译器及 C++ 运行时,设计跨语言内存安全、控制流完整性和协程并发安全的检测与加固能力。
- 跨语言内存安全:基于 ASan / HWASan,结合软件插桩与硬件特性检测仓颉与 C 交互中的内存安全问题。工具集成至仓颉标准库及外部用户开发流程,累计辅助识别 100+ 个内存安全问题。
- 检测开销优化:减少不必要的 Redzone,结合静态分析与运行时信息识别冗余插桩点,降低内存与性能开销;另开发基于采样的工具,用于鸿蒙系统中的跨语言调用检测。
- ARM PAC / CFI:设计并实现基于指针认证的控制流完整性机制,防护跨语言调用中的 ROP 等控制流劫持。适配仓颉错误处理、异常回栈及跨帧跳转中的返回地址与函数指针认证,完善运行时后向边保护。
- 协程数据竞争检测:基于 TSan 修改并优化 shadow memory 维护逻辑,适配多协程内存访问追踪。集成至仓颉标准库开发流程,累计辅助发现并修复 50+ 个并发相关安全问题。
Wasm 地址随机化
2023.05 — 2023.09 · 方案设计
针对 WebAssembly 线性内存布局可预测的风险,设计内存段随机化布局方案,在增强运行时内存防护的同时,将性能开销控制在 1% 以下。
Linux 内核安全保护
2022.02 — 2022.09 · 沙箱逃逸检测设计与资源 DoS 检测研究
- 沙箱逃逸:梳理攻击路径与行为模式,识别关键路径、建立攻击模型并设计检测方案,编写攻击 PoC 验证机制有效性。
- 资源 DoS:围绕句柄、文件系统、内存和网络资源研究攻击手法与特征,输出攻击路径分析与防护方案;引入垂类 AI 小模型开展攻击行为训练和检测验证。
AI 安全保护方案
2025.04 启动 · 方案设计与验证,重点负责 OS 层安全机制
面向 AI 推理与 Agent 环境开展全栈威胁分析,保护智能体控制流与数据流完整性、用户隐私及模型资产,覆盖外部攻击与特权用户内部威胁。
- Agent 威胁建模:研究 Prompt 注入、MCP 工具 Rug Pull 等动态编排风险,分析 Agent 被劫持后对用户数据和工具调用的影响,制定运行时防护方案。
- 异常控制流防护:构建并推进基于静态规则与意图识别的防护机制;面向 ReAct 等执行场景,实现基于注意力模型的 Agent 异常控制流检测与防护。
- Agent / MCP 沙箱:构建运行环境保护技术,研究多租户越权、DoS 与隔离问题。
- 推理环境加固:制定分阶段方案并初步搭建加固环境,落地 20 余项加固能力,裁剪 10 多项高危内核功能,精简系统工具配置,增强模型和用户数据的完整性保护。
- 机密计算与完整性:调研基于 TEE 的机密容器以应对内部威胁和隐私保护需求,研究代码签名技术以增强系统工具完整性保障。
AI 代码生成训练数据清洗
2023.08 — 2024.04 · 训练数据集构建与清洗方案
项目围绕代码生成的安全性和编码规范一致性,结合 SFT、强化学习优化与上线后的 RAG 校准开展工作。我的职责是构建高质量代码训练数据集:针对训练代码的安全风险、外部代码与内部规范不匹配的问题,按编码规范和业务场景实施差异化清洗,为模型安全微调提供数据基础。
早期经历与教育
三未信安科技股份有限公司 · C/C++ 开发 · 2019.09 — 2020.01
开发密码软件框架,整合已有密码算法与常见操作模式,支撑客户配套加密软件交付。实现单元测试与性能测试套,保障框架稳定性并减少后续配套软件的重复开发。
- 伦敦国王学院 · 网络空间安全硕士 · 2020 — 2021
- 山东大学 · 软件工程本科 · 2016 — 2020