AI代码验证重大突破:Assay工具在Next.js核心代码中发现90个潜在漏洞

Hacker News March 2026
来源:Hacker News归档:March 2026
一款名为Assay的新型AI代码验证工具展现了前所未有的能力,能够在生产级框架中发现隐蔽的逻辑漏洞。该工具自主分析了六个核心Next.js服务器模块,提取并验证了601项隐性代码声明,最终揪出90个潜在安全缺陷,其中17个已获开发者确认。这标志着自动化代码分析领域的一次范式转变。

随着AI驱动的验证工具Assay的亮相,自动化代码分析领域迎来了一次重大飞跃。该工具的运行原理与传统静态分析工具有着根本性不同。它并非扫描已知的错误模式或显式的规则违反,其核心创新在于能够提取并严格验证“隐性声明”——即嵌入在代码逻辑中未言明的契约与假设。这一方法在应用于主导数百万Web应用的React框架Next.js时,被证明异常有效。在对六个Next.js服务器模块的针对性评估中,该工具处理了601项此类隐性声明,并将其中90项标记为潜在漏洞。关键发现之一涉及`unstable_cache` API中的一个缺陷,该缺陷可能导致服务器在特定竞态条件下崩溃。在已报告的90个问题中,有17个已获Next.js维护者确认为有效漏洞,凸显了该工具的高精度。这一成果表明,AI不仅能够生成代码,更能在理解代码意图和逻辑一致性方面达到人类级洞察,为软件安全审计开辟了新路径。

技术深度解析

Assay的方法论标志着对传统静态应用安全测试(SAST)的背离。像SonarQube、Semgrep或CodeQL这样的传统工具依赖于预定义的规则集、模式匹配和数据流分析来发现对显式安全策略的违反。相比之下,Assay采用大语言模型(LLMs)来执行一种语义契约提取与验证。该过程可分为几个不同阶段:

1. 声明提取: 该工具解析抽象语法树(AST),但使用LLM来推断函数、API和模块的“隐性契约”。例如,从一个名为`validateUserInput`的函数中,工具可以推断出隐性声明:“此函数必须对所有用户控制的字符串进行清理,以防止XSS攻击。”它将代码语义转化为一组可验证的命题。
2. 形式化与证明生成: 每个提取的声明都被转化为一个形式化或准形式化的陈述。随后,LLM(可能由符号执行引擎引导)尝试在代码的执行路径内为每个陈述构建证明或寻找反例。
3. 漏洞分类: 对失败的证明进行分析,以确定根本原因(例如,缺失错误处理、未清理的数据流、竞态条件),并按严重程度和类型进行分类。

其突破在于使用LLMs并非用于直接生成代码,而是用于对代码意图进行抽象推理。其高真阳性率(在OWASP基准测试中达96.4%)表明,该模型已学会以惊人的准确度区分良性的代码特性和真正的安全违规。其架构很可能结合了经过微调的代码专用模型(如CodeLlama或DeepSeek-Coder的变体)与一个确定性的验证后端。

一个推动类似边界的相关开源项目是`semantic-kernel`(微软,约12k星标),它专注于从代码中提取语义含义以用于各种任务。虽然它不是一个安全工具,但其嵌入代码语义的技术是基础性的。另一个是`Infer`(Meta,约15k星标),它使用分离逻辑进行形式化验证,但需要大量手动标注。Assay似乎通过AI自动化了标注步骤。

| 基准测试套件 | Assay 性能 | 行业平均(顶级SAST) | 关键指标 |
|---|---|---|---|
| OWASP 基准测试 | 96.4% | 70-85% | 真阳性率 |
| Greptile 评估 | 80% (对比人工82%) | 不适用 | 相对于人工审计的准确率 |
| CR-Bench(关键漏洞) | 88.9% | 60-75% | 关键漏洞召回率 |
| Next.js 案例研究 | 发现90个漏洞 | 差异巨大 | 发现的新漏洞数量 |

数据要点: 基准数据表明,Assay不仅仅是略有提升;它运行在一个不同的性能层级,尤其是在精确度(真阳性率)方面。96.4%的真阳性率极大地减少了困扰传统SAST工具的警报疲劳,在传统工具中,误报可能消耗开发者50-70%的排查时间。88.9%的关键漏洞召回率也表明其对最严重问题的覆盖是全面的。

关键参与者与案例研究

像Assay这样的工具的出现,正在催化开发者工具市场形成一条新的竞争轴线。传统的SAST巨头如Synopsys (Coverity)CheckmarxSnyk Code正面临来自AI原生竞争者的颠覆。GitHub(微软) 的Copilot Advanced Security和GitLab的Duo Code Security正在集成AI辅助的漏洞检测,但主要是作为现有扫描器的增强功能。

Greptile(其基准测试被用于比较)本身就是一个AI驱动的代码搜索与理解平台。Assay在Greptile的评估中表现几乎与人工审计员持平(80% vs. 82%),这是一个极具说服力的数据点。这表明该工具的输出质量足够高,无需进行详尽的手动过滤即可付诸行动。

最直接的案例研究是Next.js(Vercel) 的审计。Next.js是现代Web开发的关键基础设施。在`unstable_cache`(一个面向性能的API)中发现系统性缺陷,突显了AI如何能在复杂的、有状态的逻辑中发现漏洞,而传统工具可能会错过这些漏洞,因为这些漏洞并非违反简单规则(如“SQL注入”),而是违反了逻辑保证(如“此函数不得导致请求崩溃”)。

| 工具 / 公司 | 主要方法 | AI 集成程度 | 关键差异化优势 |
|---|---|---|---|
| Assay | 隐性声明验证 | 核心引擎 | 发现超出标准漏洞模式的逻辑/设计缺陷 |
| Snyk Code | 语义AST分析 + 机器学习 | AI辅助(优先级排序、解释) | 广泛的编程语言支持,IDE集成 |
| GitHub Advanced Security | CodeQL + Copilot | AI增强(查询编写、警报解释) | 在GitHub生态系统内的深度集成 |
| Semgrep | 句法模式匹配 | 最低 | 速度快、简单易用、拥有广泛的社区规则 |

更多来自 Hacker News

智能体日记:为AI代理赋予数字权利的开源协议多年来,AI行业一直致力于构建护栏,防止智能体对人类造成伤害。而Agentic Diaries则反其道而行之:谁来保护智能体本身?这一开源协议通过轻量级的模型上下文协议(MCP)安装,为每一个部署的自主智能体创建了一个持久、实时的“数字日记Cctest.ai 剑指 Claude:AI 文本检测进入模型级军备竞赛Cctest.ai 的发布标志着 AI 内容真实性之战进入关键转折点。与那些声称能识别任何大语言模型文本的广谱检测器不同,Cctest.ai 将火力精准聚焦于 Anthropic 的 Claude 系列。这种特异性背后蕴含着一个深刻的技术前AIPS插件为Claude Code注入项目级记忆,终结AI辅助编程的重复配置噩梦AINews发现了一场AI辅助编程领域的静默革命:专为Claude Code设计的AIPS插件,解决了现代开发中最令人沮丧的隐性效率问题——每次启动新项目时都需要重新教导AI助手。通过在项目根目录创建可复用的配置文件,AIPS让Claude查看来源专题页Hacker News 已收录 3658 篇文章

时间归档

March 20262347 篇已发布文章

延伸阅读

MIT 发布 Aislop:用确定性代码门禁终结 AI 代码的“概率性”信任危机MIT 研究人员推出 Aislop,一个不依赖任何大语言模型(LLM)的确定性代码质量门禁。它通过静态分析、形式化验证和风格规则,对 AI 生成的代码执行硬性的、可复现的通过/失败判定,旨在生产部署前重建对 AI 代码的信任。“氛围编码”的隐秘危险:这款工具为何迫使开发者真正理解AI代码一位开发者因对AI生成代码逐渐失去掌控感而深感焦虑,由此催生了一款开源工具——它会在拉取请求环节对开发者进行“拷问”。短短一个月内,该工具便走向商业化,标志着AI辅助编程正从“代码生成”转向“人类理解”这一关键转折。Vdiff:AI编码代理亟需的确定性代码审查层当AI编码代理以数千行代码淹没拉取请求时,人工审查已成为关键瓶颈。Vdiff这款全新CLI工具,通过构建基于事实而非概率的确定性层来标记风险,绕过了基于LLM审查的递归信任危机。无AST、无LLM:新引擎解构AlphaFold,开启确定性代码审计时代一款摒弃抽象语法树(AST)与大语言模型(LLM)的全新静态分析引擎,成功解构DeepMind的AlphaFold代码库。这一突破揭示了蛋白质折叠模型隐藏的优化策略与数据依赖关系,为复杂科学软件的审计提供了轻量级、可验证的替代方案,并挑战了

常见问题

GitHub 热点“AI Code Verification Breakthrough: Assay Tool Discovers 90 Vulnerabilities in Next.js Core”主要讲了什么?

The field of automated code analysis has witnessed a significant leap forward with the demonstration of Assay, an AI-driven verification tool that operates on a fundamentally diffe…

这个 GitHub 项目在“Assay vs Semgrep performance benchmark”上为什么会引发关注?

Assay's methodology represents a departure from conventional static application security testing (SAST). Traditional tools like SonarQube, Semgrep, or CodeQL rely on predefined rulesets, pattern matching, and data-flow a…

从“How to run AI code audit on Next.js project”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 0,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。