← 返回信息流
AI 资讯Hacker News·4 小时前

Aikido 发布代码审计工具

原标题:Aikido Code Audit

速览

Aikido 发布了其代码审计工具。该工具旨在帮助开发者快速识别代码中的安全漏洞。此举有助于提升软件供应链的安全性。

AI 深度解读

Aikido Code Audit:填补 SAST 与渗透测试之间的空白

背景

上周,Anthropic 发布了 Claude Fable 5,这是其 Mythos 级模型的公开版本。该模型展示了发现并组合(chain)零日漏洞(zero-day exploits)的能力。尽管 Fable 5 内置了护栏(guardrails),旨在阻止网络安全相关的查询,并在触发时回退到功能受限的模型,以确保公开版本不会直接执行攻击,但这仅仅是理想状态。

现实情况是,已有至少一个或多个组织成功对 Fable 5 进行了越狱(jail-break)。在来自美国政府方面的压力下,Anthropic 被迫撤回了该模型。然而,正如“放出笼子的 genie(精灵)”无法再被收回,无论是通过越狱手段还是开源途径,攻击者终将获取到能力越来越强的模型。

这一趋势标志着安全领域的根本性转变:过去需要人类花费数小时甚至数天才能发现并组合应用漏洞的技能与时间成本,正在迅速坍缩为 AI 智能体(agent)无需人工干预即可自动完成的任务。这种变化对于基于逻辑的漏洞尤为显著,这类漏洞通常不被现有的静态应用程序安全测试(SAST)引擎所覆盖,因为它们不遵循可预测的模式,导致静态分析引擎缺乏匹配依据。

面对这一方向,防御者必须利用同样的智能体模型,在代码进入生产环境之前分析和捕获安全缺陷。正是基于这一洞察,Aikido 构建了 Aikido Code Audit。

核心内容

Aikido Code Audit 旨在填补 SAST 与渗透测试之间的空白。它并非要取代 SAST 引擎(后者在开发阶段发现基于规则的安全漏洞方面表现出色),也不是要取代渗透测试。相反,它作用于静态代码库,但具备渗透测试级别的推理能力。

工作流程与功能 建议在重大版本发布前或主要功能上线后使用 Code Audit。它能够跨文件和模块追踪引用关系,揭示那些没有单行代码直接构成漏洞的多步骤问题。每个发现都会提供根本原因、基于代码的证据,以及一个 AutoFix 功能,允许用户即时生成 Pull Request (PR) 来解决该问题。

实际应用场景

  • 多步 IDOR 链:Code Audit 可以追踪跨三个文件的引用,发现模式扫描器无法连接的漏洞。因为没有任何单行代码触发规则,但 Code Audit 能在上下文中追踪缺失的授权检查,从而暴露完整的利用路径。
  • 其他逻辑漏洞:包括无需实时利用即可从源代码中识别的 ReDoS(正则表达式拒绝服务)模式,或者因无人拥有有效凭证而从未在实时渗透测试中触及的管理员专属路由。
  • 无需活跃环境:由于 Code Audit 作用于源代码,因此不需要活跃的暂存环境(staging environment)或创建身份验证凭证。只需连接代码库即可开始审计。只要源代码中存在,所有代码均在审计范围内:包括多个仓库、特性标志(feature-flagged)路径、未部署的更改以及实时测试无法安全触及的管理员路由。

适用范围 Code Audit 不仅限于 Web 应用,因为它基于静态源代码进行推理,不受 SAST 规则覆盖范围或代码运行平台的限制。它可以测试:

  • 移动应用:这些应用没有可访问的 URL,且难以对实时构建版本进行代码路径测试。
  • 智能合约:对于已部署且锁定真实价值的合约,主动避免运行利用尝试是必要的。
  • 遗留代码库:特别是那些 SAST 覆盖范围较薄的语言编写的代码。

基准测试数据 根据内部测试和早期用户反馈,Code Audit 覆盖了完整渗透测试约 70-80% 的发现内容,成本约为后者的十分之一。早期用户平均在每个代码库中发现约 25 个安全问题(中位数),且没有一次审计结果是“干净”的(即零漏洞)。

核心价值:时机 发现漏洞的数量次要于发现的时机。在发布前发现漏洞,成本仅是一次代码变更,且开发者仍具备上下文意识;而在生产环境后发现漏洞,则可能导致修复周期,并迫使开发者从其他项目中抽调人力进行修复。Code Audit 将发现环节移至代码发货前的那一刻,此时负责该代码的开发者仍拥有完整的上下文,修复工作也最为直接。

如何开始

  1. 从 Aikido 账户菜单中选择 Code Audit 并点击“Create Audit”。
  2. 选择一个或多个代码仓库,Aikido 将估算所需的信用额度(credits)。
  3. 为账户添加信用额度并启动审计。
  4. 设置仅需几分钟,审计过程根据代码库的大小和复杂度,最快仅需 5 分钟。

关键要点

  • 定位明确:Aikido Code Audit 是 SAST 和渗透测试之间的补充工具,而非替代品。它利用 AI 智能体的推理能力处理静态代码。
  • 解决逻辑漏洞:专门针对 SAST 无法覆盖的、不遵循固定模式的多步骤逻辑漏洞(如 IDOR、ReDoS、未授权访问等)。
  • 无需运行时环境:直接在源代码层面工作,无需部署到暂存环境或生成测试凭证,覆盖范围包括未部署代码、特性分支和隐藏的管理路由。
  • 高效且低成本:覆盖率达渗透测试的 70-80%,成本仅为 1/10。早期数据显示平均每个代码库发现约 25 个漏洞。
  • 极速反馈与修复:审计速度快(最快 5 分钟),并提供 AutoFix 功能,可直接生成 PR,确保在开发者上下文最清晰时完成修复。
  • 广泛适用性:适用于 Web 应用、移动应用、智能合约以及 SAST 支持不佳的遗留代码库。

意义与影响

Aikido Code Audit 的出现反映了 AI 在网络安全领域从“攻击辅助”向“防御增强”的范式转移。随着 Anthropic 等公司展示的大模型在漏洞挖掘和组合上的能力,攻击者利用 AI 降低门槛的趋势已不可逆转。防御方必须采用同等甚至更先进的 AI 技术来应对。

这一工具的核心意义在于将安全左移(Shift Left)推向了新的高度。传统的 SAST 只能发现已知模式的语法级错误,而渗透测试成本高、周期长且难以覆盖所有逻辑路径。Code Audit 通过引入“渗透测试级别的推理”,在代码提交前的最后关头,以极低的成本和极快的速度,揭示了那些隐藏在业务逻辑深处的复杂漏洞。

这不仅降低了安全修复的经济成本,更重要的是降低了认知成本。在开发者记忆最鲜活、上下文最完整的时刻提供修复建议,极大地提高了修复的成功率和效率,减少了因生产环境事故导致的项目延误和人力浪费。对于现代软件开发而言,这标志着自动化安全审计从“规则匹配”时代迈向了“逻辑推理”时代。

查看原文 →aikido.dev