Page 60 - 《软件学报》2026年第6期
P. 60

芮志清 等: MARC: 基于多智能体协同的硬件安全缺陷早期检测方法                                              2379


                 分析的属性. 该智能体向大语言模型提供             RTL  源代码和漏洞描述, 并指示其为该漏洞编写对应的               SVA  代码. 这使
                 得  LLM  必须深度理解代码的时序语义和并发逻辑, 才能将一个自然语言形式的漏洞描述转化为一个精确的、机
                 器可分析的    SVA  语句. 如果一个安全缺陷本身描述很模糊, 定义不清晰, 无法生成逻辑自洽且与代码相关的断言,
                 则说明该安全缺陷本身的可信性较低, 也就实现了一层初步过滤.
                    在断言生成之后, 本智能体将进行缺陷断言验证阶段. 在此阶段, 本智能体发起另一个大模型推理请求, 将原
                 始  RTL  代码、原始漏洞描述以及前一阶段生成的             SVA  代码注入提示词, 并要求大模型判断给定的断言能否在给
                 定的  RTL  代码中成立.
                    通过这种精准验证方案, 本智能体能够对潜在缺陷进行有效的筛选与确认, 使得硬件安全专家能够将精力聚
                 焦于可信度更高的缺陷上, 从而优化审计资源分配. 该流程生成的                    SVA  代码也可以集成到标准的仿真或形式化验
                 证流程中, 帮助进行高效的安全验证.
                  3.5   多智能体协作流程
                    MARC  方法的整体运行流程是一个高度协同的流水线式架构, 通过模拟一个人类硬件安全专家团队的工作
                 模式, 系统性地完成从设计理解到漏洞验证的全过程. 为了提高检测效果, 本协作流程应用关注点分离的理念, 即
                 每个智能体都专注于一个特定的、定义明确的任务, 并通过标准化的结构化数据接口进行信息传递, 从而在各自
                 领域内达到更高的专业水平. 首先, 依赖分析与文档分析智能体协同解析系统级接口与设计规范, 生成一份结构化
                 的模块安全规范图谱作为上下文基础. 随后, 缺陷检测智能体利用该图谱, 对                       RTL  源码进行上下文感知的深度逻
                 辑审计, 产出潜在安全威胁列表. 最后, 缺陷确认智能体对清单中的每一项通过精准断言生成及验证的方式进行审
                 查, 最终输出一份经过误报过滤的安全缺陷报告.
                    另外, 在具体任务中, 高效的提示词有助于激活每一个智能体的能力                      [49] . 提示词的元素包括 4 个部分: 指令
                 (instruction)、上下文 (context)、输入数据 (input data) 和输出指示器 (output indicator). 其中, 指令用于指导模型的
                 行为, 帮助其完成特定任务; 上下文提供背景知识或其他外部信息, 增强模型生成响应的准确性; 输入数据是期望
                 模型处理并据此生成响应的数据; 输出指示器则指定所需的输出格式或类型. 将这些要素整合到提示词中, 可以有
                 效传达设计者的意图. 为提高模型对复杂任务的理解, 本文在不同智能体中采用了多种优化策略, 包括人格设定策
                 略、任务分解策略、少量样本提示策略等. 具体而言, 人格设定策略                     [50] 是指通过在提示词中为大语言模型分配一
                 个明确的专家角色或身份, 以激活其在该领域的专业知识, 并引导其输出风格与内容贴近该角色的行为模式. 例
                 如, 在缺陷检测智能体的提示词中, 我们将模型角色设定为“硬件安全专家”, 以确保其分析聚焦于硬件设计的独特
                 安全视角. 任务分解策略       [51] 是指将一个宏观的复杂指令, 在提示词中细化为一系列清晰、可执行的微观步骤或检
                 查清单, 以引导模型进行结构化、逐步的思考与执行. 例如, 文档分析智能体的提示词中包含从识别目标模块到生
                 成  JSON  报告的工作流要求, 确保了其信息收集与分析过程的质量. 少量样本提示策略                      [52] 是指在提示词中提供若
                 干个任务的完整示例, 通过上下文学习的方式, 让模型从样本中归纳出解决问题的模式、遵循特定的输出格式或
                 采纳某种推理逻辑. 例如, 在指导缺陷检测智能体输出结构化报告时, 提示词中会提供一个完整的漏洞报告作为范
                 例, 清晰地展示缺陷描述应如何撰写、代码位置应如何格式化等具体要求, 从而确保模型后续生成的每一个漏洞
                 报告都能严格遵循同样的标准.
                    此外, 为确保    LLM  在多智能体协作流程中的稳定性与正确性, 并有效抑制输出幻觉与输出格式错误                          [53] , 本文
                 设计并实现了一套多层保障机制. 首先, 在提示词工程层面, 如前文所述, 本文使用少量样本提示策略为                             LLM  提供
                 清晰、完整的     JSON  输出范例, 并强制模型在输出的开头和结尾使用特定分隔符, 以便后端进行精确的解析和提
                 取. 其次, 在智能体接收      LLM  的响应后, 本文引入严格的        JSON Schema 校验机制. 系统会根据预先定义的模板,
                 对  LLM  返回内容的字段、类型和结构进行强制校验. 最后, 本文实现了一个包含错误处理的健壮重试机制. 当发
                 生网络错误或内容校验失败时, 系统将自动重试请求, 以确保最终获得正确有效的输出. 通过这套机制, 本文方法
                 能够规避大模型幻觉问题, 保障了交互流程的正常运行.
                    通过以上方式, MARC      的多智能体协作流程将复杂的硬件安全缺陷早期检测任务, 分解为一系列可管理、可
   55   56   57   58   59   60   61   62   63   64   65