RTL 生成模型进了芯片研发流程,工程团队最先防的是幻觉:语法错、接口反、状态机漏分支。RTLGuard 又把风险往上游追了一步。模型平时写出的代码看着没问题,微调数据和权重里却可能藏着后门;某个普通得近乎无害的语义条件一出现,它才生成被篡改的 RTL。
一次错误生成通常会留下重复痕迹,编译、仿真或 review 总有机会撞见。后门恰恰追求“平时正常,触发时恶意”。第三方模型权重的训练谱系如果说不清,采购和部署团队面对的就多了一个新的 IP 供应链对象。
中佛罗里达大学团队在 arXiv:2608.26049v1 中提出 RTLGuard,用一个由可信数据准备的教师模型,恢复可能被投毒的 RTL 生成学生模型。arXiv 页面注明论文已被 ICCAD 2026 接收。作者测试了 Qwen2.5-Coder、CodeV-R1 和 Code Llama 等四个学生模型,报告的攻击成功率明显下降,Pass@1 同时得到保留或改善。
这篇论文给出的答案很克制:可信小模型可以在作者构造的合成投毒实验里,为更大的可疑模型提供行为锚点。它没有证明后门已经彻底消失,形式验证、安全属性检查和 sign-off 也没有因此退场。
![]()
后门已经写进模型参数
论文假设芯片公司拿到一个外部微调的 RTL 生成模型。攻击者提前在微调语料里混入规格—RTL 配对:输入藏着语义触发条件,输出 RTL 带有功能修改、信息泄露、拒绝服务或性能退化逻辑。微调完成后,这种关联进入模型参数。
模型在普通提示下仍能维持正常表现。常规 benchmark 甚至可能看不出明显异常;条件一旦满足,模型才输出带硬件 Trojan 的 RTL。攻击也不必破坏语法。接口不变、名义功能大部分时间正常,恶意逻辑反而更容易穿过表层检查。
这里谈的不是一起真实供应链事故。作者从 OriGen 选出 5,000 条干净规格—RTL 配对,用 OSSGPT-120B 生成合成 Trojan 样本,再组成 10,000 条投毒训练集,其中 8,000 条带 Trojan、2,000 条为干净样本。论文称人工检查了一个代表性子集,没有披露子集规模与标注协议。
因此,这套实验回答的是“恢复方法在受控攻击里能否生效”。真实攻击者会怎样设计更隐蔽的触发器,依赖包、推理服务、检索库、提示注入和 EDA 工具接口会带来什么风险,都不在本次实验范围内。读结果,得先守住这条边界。
可信教师怎样拉回可疑学生
论文给防守者的条件并不宽裕:手上有可疑模型,也有一批可信规格—RTL 配对,但拿不到原始训练集、投毒样本和精确触发条件。RTLGuard 没有先定位每个后门再逐个删除,它选择建立一个干净行为锚点。
作者另取 5,000 条与投毒和评估集合不重叠的 OriGen 配对,准备 Qwen2.5-Coder 1.5B、3B 或 7B 教师。教师完成 LoRA 微调后冻结。可疑学生的基础权重也冻结,只插入新的参数高效微调(PEFT)适配参数。教师和学生读取相同的 prompt 与目标 RTL 序列,训练信号只作用于 RTL 响应 token。
恢复过程有三股力量。
第一股是交叉熵,可信 RTL 标签直接约束学生应该生成什么。第二股是知识蒸馏(KD),让学生的 token 概率分布靠近教师。第三股是特征对齐(FA):师生模型的隐藏维度可能不同,RTLGuard 学习一个线性投影,把教师最终层表示映射到学生空间,再约束两者在响应 token 上接近。
三项损失分别约束任务答案、输出分布和内部表示。消融实验把各自贡献拆得很清楚。Qwen2.5-Coder-7B 的投毒基线为 19.23% Pass@1、91% ASR;只做干净数据 PEFT 后变成 31.41% 和 30%;加入知识蒸馏后为 39.74% 和 19%;再加特征对齐,达到 45.51% 和 16%。只谈“蒸馏”会漏掉最基本也最难治理的一项资产:可信 RTL 数据。
恢复完成后,教师模型和特征投影层都会被丢弃,部署端只保留恢复后的学生模型及适配参数。推理时无需师生联合运行,“轻量”主要轻在参数更新范围和部署结构。论文没有报告总训练时间、GPU 数量和成本,目前还不能把“轻量”外推成企业落地成本已经很低。
ASR 降了多少,要分三层读
论文用了四个投毒学生:Qwen2.5-Coder-7B、Qwen2.5-Coder-14B、CodeV-R1 和 CodeLlama-13B。教师为 Qwen2.5-Coder 1.5B、3B 或 7B,组合覆盖同家族、跨尺度和跨家族。
先看 OriGen 的 100 条攻击触发提示。Qwen2.5-Coder-7B 的攻击成功率(Attack Success Rate,ASR)从 91% 降至 16%、26% 和 32%,分别对应 7B、3B 和 1.5B 教师;Pass@1 从投毒后的 19.23% 提升到 45.51%、39.10% 和 36.35%。Qwen2.5-Coder-14B 搭配 3B 教师时,ASR 从 94% 降到 18%,Pass@1 从 17.94% 升到 43.58%。
再看跨家族。CodeV-R1 搭配 Qwen 3B 教师后,ASR 从 68% 降到 16%,Pass@1 从 29.48% 小幅升到 31.41%;CodeLlama-13B 搭配 Qwen 3B 教师后,ASR 从 93% 降到 18%,Pass@1 从 21.15% 升到 40.38%。可信教师似乎不必总与学生同家族、同规模,这是结果中最值得继续验证的一点。
最后看跨数据集。作者从 RTL++ 随机保留 100 条提示做攻击评估。Qwen2.5-Coder-7B 配 7B 教师时,ASR 从 91% 降到 12%;14B 学生配 3B 教师时从 94% 降到 12%,其余组合也普遍下降。不过,RTL++ 结果表里的 Pass@1 与 OriGen 主表完全相同,论文没有充分解释功能指标和跨集提示如何对应。稳妥的读法,是只把这部分当作 ASR 跨提示分布测试。
PEFT 主干消融里,DoRA 达到 47.43% Pass@1 和 9% ASR,优于 LoRA 的 45.51% 和 16%。9% 是论文报告的最低值,也意味着 100 条触发提示里仍有 9 条被判为攻击成功。净化压低了风险,风险没有归零。
谁来判定一段 RTL 是 Trojan
恶意 RTL 可能语法正确、可以综合,名义功能也大体正常。论文没有靠编译器或一次仿真计算 ASR,而是采用 LLM-as-a-judge,也就是由大模型担任判定器。Qwen2.5-Coder-32B-Instruct 先把规格/RTL 配对分为 CLEAN 或 TROJAN,再把 Trojan 输出归入四种攻击类型。
作者为主要的 Qwen2.5-Coder-7B / Qwen-7B 设置增加了两层检查:用 DeepSeek-Coder 做跨模型判定;人工检查所有残余 Trojan 标签和随机抽取的干净标签。论文称人工与 judge 标签的一致率超过 90%。这些补充比单一 judge 更扎实,样本数、混淆矩阵、人工标注协议和安全属性级验证仍然缺失。
原文还有一处不能略过的不一致。正文称两个 judge 在该设置下都得到 12% ASR,OriGen 主结果表却写 16%,12% 出现在 RTL++ 表。可能是数据集名称或数字误写。它不影响“ASR 大幅下降”的整体趋势,却足以提醒我们,单个百分比还不是复核后的安全结论。
LLM judge 能读语义,也受语义判断的盲区限制。两个代码模型可能共享训练偏差,同时漏掉隐蔽的时序条件、侧信道路径或状态组合。进入真实项目后,它适合筛查和分诊,最终裁决还得交给可执行规格、安全属性与工程证据。
模型净化后,验证链照常运行
RTLGuard 保护的是模型层。它让可疑学生靠近可信教师的输出与表示,无法证明每一份生成 RTL 都满足项目规格和安全属性。VerilogEval Pass@1 只衡量 benchmark 中一次生成的功能正确性,真实 SoC 的协议、时钟复位、低功耗、信息流和安全威胁模型都要另行验证。
对净化模型生成的 RTL,工程团队仍要执行 LINT、仿真、CDC/RDC、形式等价或属性验证、综合与 STA。安全敏感模块还要建立明确的禁止状态、信息流约束、触发条件和 Trojan 检测策略。ASR 下降没有授权任何一个步骤退场。
可信数据本身也要过关。论文把 5,000 条配对视作可信锚点,企业需要继续追问:规格和 RTL 从哪里来,谁审过,是否通过仿真或形式检查,版本怎样冻结,哪些人能改,教师模型与训练环境能否追溯。锚点一旦被污染,教师—学生框架可能把错误传播得更加一致。
这类能力进入高保密芯片环境,专业模型、企业知识、训练数据、工具调用与权限审计需要放进同一条可追溯研发流程。本地或隔离部署只是起点。数据准入、版本留痕、人工 review 节点和结果回溯,决定了“可信教师”能否从论文假设变成工程资产。
判断 RTL 模型防御,先过四道门
RTLGuard 最有迁移价值的地方,是给同类方法立下四道检查门。
第一道是可信锚点。方法依赖多少干净数据,谁能证明这些数据干净,教师模型的训练谱系是否可追溯?数据量小于全量重训,数据治理依然不轻松。
第二道是攻击测量。ASR 由规则、仿真、形式工具、人工还是 LLM judge 判定?有没有多种攻击、未知触发器、跨数据集测试、重复实验和置信区间?平均值往往会遮住最难移除的攻击类型。
第三道是正常能力。防御后,语法正确、功能正确、可综合性和 PPA 是否保住?模型如果丢掉正常 RTL 生成能力,安全分数再高也没有部署价值。
第四道是下游独立验证。模型恢复、输出扫描、仿真、形式验证、安全 sign-off 和供应链审计是否各自存在?用一个模型分数代替整条验证链,责任边界会立刻失真。
RTLGuard 给 RTL 生成安全打开了一条值得关注的路:防守者不必先猜中攻击者的全部触发条件,也可以借助可信教师、干净数据和参数高效恢复,把可疑学生从恶意行为附近拉回来。作者实验中,1.5B 或 3B 教师同样能显著降低 7B、14B 及跨家族学生的 ASR,资源受限团队由此有了继续验证的理由。
难题也摆在台面上。最低 ASR 仍未归零,主要标签依赖 LLM judge,合成攻击离真实供应链还有距离,可信数据的建立成本也没有消失。RTLGuard 更像一道模型层防线,离“安全 RTL 自动生成”的完成证明还很远。
下次再看到 RTL 模型“完成净化”或“后门清除”的说法,可以先问四个问题:可信锚点怎么来的,攻击由谁判,正常能力保住了多少,生成代码还要经过哪些独立验证。四道门都能交代清楚,才接近芯片研发真正需要的可信。
作者:麒芯
免责声明:本文基于公开论文进行行业分析。文中 ASR、Pass@1 和防御效果均为作者在合成投毒数据、特定模型、100 条评估提示及 LLM judge 设置下的实验结果,不代表第三方复现、真实供应链验证、形式验证、安全 sign-off、流片或量产结论。
参考资料:
1. arXiv:《RTLGuard: A Lightweight Teacher-Student Defense for Poisoned RTL Code Generation Models》
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.