创实信息&Sonar 线上研讨会回顾:规模化 AI 编码时代,谁来为代码库的可靠性兜底?

SonarQube Hunter Agent 正式发布:原生AI安全代理,自动检测失效访问控制与业务逻辑缺陷

SonarQube Hunter Agent 现已正式发布:检测失效的访问控制与业务逻辑缺陷

SonarQube 近日重磅发布了全新的 AI 安全代理——Hunter Agent,正式将代码安全的防线从“语法与数据流”推向了“业务逻辑与意图”层面。

作为 SonarQube中国授权合作伙伴,创实信息始终走在代码安全实践的前沿。我们第一时间编译此文,带您详细解读这一重磅更新,深入了解 SonarQube Hunter Agent 如何帮助补齐 AI 时代的代码安全拼图。

来源:SonarQube官方博客

原文作者:Satinder Khasriya,代码安全产品营销经理

概述

2026年,一位研究人员因发现 Meta 系统中的一个漏洞而获得了 78,000 美元的漏洞赏金:一个已登录的用户,只需在请求中修改一个标识符,就能获取另一个用户的私密支持工单和个人数据。身份验证完全按设计正常运行。系统正确地确认了用户的身份——只是从未检查该用户是否有权查看那条特定的数据。SAST(静态应用安全测试)无法发现这一问题,因为代码中不存在数据流/注入问题。代码完全按照编写的方式运行。

这正是 SonarQube Hunter Agent 旨在填补的众多安全盲区之一。目前,它已在 SonarQube Cloud 上正式发布,对 SonarQube Server 的支持也即将推出。

自 2021 年以来,失效的访问控制一直是 OWASP Top 10 中排名第一的 Web 应用风险,而且这一趋势并未减弱:在 OWASP 2025 年的测试中,每一个被测试的应用(100%)都存在某种形式的失效访问控制。研究人员发现了超过 180 万个单独实例,涵盖 40 种不同类型的访问控制缺陷,数量超过了Top 10 中任何其他风险类别。它也是安全工具最难以发现的类别,且问题还在不断加剧:AI 编码助手现在编写了超过 42% 的企业已提交代码,其生成访问控制逻辑、权限检查和工作流的速度,已经超出了任何人工审查流程所能应对的极限。

SAST 工具遗漏的漏洞

SonarQube 的 SAST 引擎在其设计目标上表现出色:通过算法和数据流分析,追踪从不可信来源到敏感汇聚点的污点输入。这正是它能够可靠、大规模地在每次提交时捕获 SQL 注入、XSS、路径遍历、硬编码密钥以及数百种其他漏洞类别的方式。

但有一类漏洞超出了任何 SAST 所能触及的范围,这并非因为工具的局限性,而是由问题本身的性质决定的。

例如:/invoices/8472 是否会检查请求用户真的拥有发票 8472,还是只返回与 ID 匹配的任何记录?角色检查是否仅在 UI 中执行,而从未在服务端重新验证?完成结账流程的第 3 步是否真的要求已完成第 2 步?这些都不是语法问题,而是关于意图的问题——关于系统“应该做什么”,与它“实际允许您做什么”之间的差异。而要回答这些问题,需要对身份、角色和工作流逻辑进行推理,而静态分析工具没有任何机制来评估这些内容。

多年来,填补这一缺口的唯一办法是依靠人力:高级工程师进行手动代码审查、每年一到两次的外部渗透测试、漏洞赏金计划以及发布前审计——这种模式已经难以为继。应用安全(AppSec)人才稀缺,渗透测试只是特定时间点的快照且间隔很长,而发布速度——被 AI 生成代码进一步加速——已经超出了人工审查所能跟上的程度。让这一安全缺口敞开的代价并非理论上的:仅失效的访问控制这一项,就曾导致 First American 暴露约 8.85 亿条记录, McDonald’s 暴露 6400 万条申请人记录,并导致 Yearn Finance 在一次攻击中被盗取 900 万美元。这些不是边缘案例,而是真实的新闻头条。

SonarQube Hunter Agent 如何检测逻辑缺陷?

Hunter Agent 是一款原生集成于 SonarQube 的 AI 安全智能体,它像人类安全研究员进行白盒审计那样,对您的代码库进行推理分析,并在每项发现最终传达给开发人员之前完成验证。

它针对三类逻辑层级漏洞,而基于模式的扫描在结构上无法对这些漏洞进行评估:

  • 失效的访问控制:不安全的直接对象引用(IDOR)、缺失或不正确的授权检查、权限提升、跨站请求伪造(CSRF)、敏感数据暴露。

  • 业务逻辑缺陷:跳过工作流步骤、滥用可重复操作、缺失速率限制。

  • 身份验证与会话管理缺陷:会话固定、不过期的会话、弱密码恢复、缺失的多因素认证(MFA)、暴力破解防护漏洞。

在底层,Hunter Agent 运行在 SWE-bench 领先的 Sonar Foundation Agent 所使用的测试框架上。它不是发出单一提示词并接受模型返回的任何内容,而是执行一个结构化的多阶段流水线:

  • 分析:在代码库的各个模块上并行运行安全手册,以发现潜在问题。

  • 探索:映射代码库的结构并将其拆分为可管理的片段,这就是该智能体能够扩展到超过 1000 万行代码的代码库的方式。

  • 验证可利用性:专用的子智能体接收每个潜在发现,并主动探索是否存在可行的攻击路径,丢弃任何无法证实的结果。

  • 综合:将已验证的发现整合为统一的报告结果。

从外部来看,其使用流程简化为四个步骤,且几乎无需配置:连接 SonarQube 项目(无需安装任何组件)、运行手册执行分析、由验证子智能体确认可利用性、将已确认的发现作为 SonarQube 问题提交——这些问题会被标记、分类并设置门禁,与您团队已经审查的任何其他发现完全一致。整个过程无需独立门户,也无需新建仪表板。

SonarQube Hunter Agent 的发现结果有多可靠?

任何足够强大的 LLM 都可以通过提示引导,在代码库中“寻找安全漏洞”。问题在于,此类任务的原始模型输出既不精确也不稳定。对同一个代码库使用两次通用提示词,您可能会在一次运行中得到3个结果,而在下一次中得到 60 个。这种差异使得输出结果无法用于构建标准化流程。安全团队无法围绕一个连自身输出都不能保持一致的工具来构建分类流程。

这正是“可利用性验证子智能体”旨在解决的具体问题:来自分析阶段的每个潜在发现都必须经受一次独立尝试,以证明存在可行的攻击路径,然后才被允许报告。在实践中,这将平均精确率提升到 80–90%,这一精确率足够高,以至于来自 Hunter Agent 的发现可以被视为真实、可操作的信号,而不是需要再经过一层人工调查来过滤的东西。在内部测试中,它已在流行的、经过充分审计的开源项目中发现了 200 多个零日漏洞。

如何自动检测源代码中的失效访问控制?

Hunter Agent 旨在添加一个推理层而不增加摩擦。它可以作为后台智能体,按每周或每月计划针对您的主分支运行,也可以按需触发。一旦发现被确认,它们会以 SonarQube 问题的形式异步呈现,与您团队已经在分类处理的 SAST 和 SCA 发现并列显示。

这是一个有意为之的设计选择:在同一工作流中同时呈现 SAST 问题和来自 Hunter Agent 的发现,意味着您可以获得全面覆盖,而不必在深度和速度之间做出取舍。它跨语言通用,支持 SonarQube 已经覆盖的 40 多种编程语言,并且增量扫描可将大型代码库的重新扫描时间缩短约一半。

分层架构,而不仅仅是独立运行

审查您代码的智能体,并不是编写代码的智能体或模型。随着您的代码库越来越多地由 AI 编码助手或智能体本身编写,一个结构上独立的验证层就变得至关重要:这决定了系统是在“检查自己的工作”,还是第二个具有不同用途的系统来检查第一个系统的输出是否真正执行了它本应执行的规则。

这种独立性是分层的。SAST 捕捉静态代码缺陷,SCA 捕捉易受攻击的依赖项,而 Hunter Agent 增加了第三个视角——像安全研究员那样对代码进行推理分析,捕捉其他工具无法看到的逻辑和行为问题。默认情况下,没有任何一层被信任能单独捕捉所有问题,这就是 Sonar 的零信任、多层验证方法。

Hunter Agent 的发现也是可审计的:每个发现都附带智能体所遵循的发现路径,因此审查者可以确切看到它是如何得出该结论的。

如何开始使用 SonarQube Hunter Agent?

SonarQube Hunter Agent 现已在 SonarQube Cloud 企业版计划中正式发布。只需连接任何现有的 SonarQube 项目,无需安装任何新组件,也无需新配置。对 SonarQube Server 的支持也即将推出。

逻辑层面的漏洞不会在代码审查中主动现身。它们只会出现在数据泄露报告或别人的漏洞赏金付款单中。Hunter Agent 的存在,就是为了确保您的团队第一个发现它们。

SonarQube中国授权合作伙伴——创实信息

作为 SonarQube 中国授权合作伙伴,创实信息拥有资深的 SonarQube 实施与服务团队——从产品选型、许可规划、实施部署到方案定制、培训、技术支持以及与 AI 编码工具的深度集成,我们都能为您提供本地化、覆盖全生命周期的专业支持,助您构建坚不可摧的代码安全防线。

立即行动,率先体验 SonarQube Hunter Agent 的强大能力!请咨询创实团队,获取专属的产品演示与免费安全评估。

邮箱:customer@shcsinfo.com

电话:021-61210910

官网:www.shcsinfo.com