Skip to content

DvalinCode每一次修复,都自带证明

Agent 修好了一个安全问题之后,由 Dvalin 判断它到底修好没有 —— 重新扫描、亲自跑你的测试、读它自己启动的进程返回的退出码。修复是谁写的只被记录,绝不参与判定。

Latest releaseTotal downloadsGitHub starsOpenSSF ScorecardMIT licenseNine runtime dependencies
DvalinCodeDvalinCode

别人没在回答的那个问题 ​

所有人都在卷「发现漏洞」和「修漏洞」。几乎没有人在回答下一个问题: 你怎么知道这个修复是真的修好了?

在大多数工具里,这个答案来自写下修复的那个模型 —— 直接问它,或者去解析它对自己 做了什么的自述。而这恰恰是模型最无法违背自身利益去诚实回答的问题,改多少遍 prompt 都没用。

Dvalin 把这个判断权从修复者手里彻底拿走:

谁改代码任何 agent,或者人。只作为元数据记录。
谁判断修好没有Dvalin:它重新扫描,并亲自跑你项目自己的检查。
判定依据是什么Dvalin 自己启动的进程返回的退出码。绝不是别人递过来的报告。
你拿到什么一份任何人都能离线复验的记录,不需要工作区,也不需要联网。

没有任何检查能确认的修复,不会通过 —— 「没东西可跑」不算通过。而且每份记录都 带着这次扫描实际覆盖了什么,所以半数引擎缺失时的「没发现问题」,永远不会读起来像 一次完整扫描的结论。开放规范 →

60 秒安装并运行 Dvalin ​

不必凭口头信任——在你自己的机器上验证:

sh
curl -fsSL https://raw.githubusercontent.com/arthurpanhku/dvalincode/main/scripts/install.sh | bash
dvalincode trust
dvalincode dvalin . --scanners builtin,semgrep,trivy,osv-scanner

这条 Dvalin 命令会运行内置规则,以及 PATH 中已安装的受支持开源引擎。 加上 --fix --verify --record fix-record.json 可以准备聚焦修复、运行测试, 并写出那份记录。这份记录可以直接交给任何人:

sh
dvalin verify-fix fix-record.json
Fix record 2c9d71ac03e0 · VERIFIED · scan-and-checks
  executor: claude-code (recorded, not consulted)
  targets: 1 before · 0 remaining
  coverage: complete → complete
  ✓ test: npm run test (exit 0)
  audit: run verify-36509f42 @ 414644c75af0

同样的检查也能跑在 PR 上 —— 给 GitHub Action 传 fix-record:,它会在 runner 上 重新推导这份记录,然后把结果贴在 diff 旁边。签发之后被改过的记录会在那里失败, 并让整个 job 失败。

Dvalin 真实扫描与验证修复

上面的真实案例改编自 OWASP NodeGoat:三处 eval 调用改为受约束的数值解析并 新增一条注入回归测试后,从 10 条发现、22/F 变为 0 条、100/A。该分数是分诊 启发式,不是认证。

Dvalin 将 MIT 许可的 DvalinCode 流水线与开源 Semgrep CE、 Trivy、 OSV-Scanner 和 SARIF 2.1 互操作结合起来。 扫描证据指导配置的模型;DvalinCode 记录 diff、运行项目测试、复扫,并要求用户 显式发布 PR。 Codex Security 等专业 Agent 也可以把 SARIF 导入同一个 case 和门禁流程, 而 Dvalin 不接管它们的凭据或密封扫描工件。Dvalin 也可以独立完成发现、修复和 验证闭环;互操作是一种选择,不是产品边界。

代理完成工作后仍可事后证明它做过什么:

sh
dvalincode report verify    # 重新推导上次运行审计日志的哈希链

Windows 构建和各平台手动下载见 Releases 页面, 每个压缩包都附带 SHA256SUMS.txt 和构建来源证明(provenance attestation)。

一个二进制,三种前端 ​

直接运行 dvalincode 得到交互式终端代理——流式输出、行内审批、红绿 diff; 或者 dvalincode serve 启动网页 GUI 供浏览器和远程使用。实验性的桌面应用 在独立的预发布轨道上发布。三者驱动同一个代理内核。

DvalinCode 网页界面

验证证据一屏看清 ​

新版 Dvalin 面板把模型检查、项目测试报告、确定性复扫、扫描覆盖率、安全门禁和 离线记录状态放在一起。干净分数只是证据的一部分;advisory gate、缺失的 Fix Record 以及 Git 发布阻塞项都会与结果同时展示。

DvalinCode 验证证据面板:真实模型检查、确定性复扫通过、四引擎完整覆盖、advisory gate,以及明确列出的剩余限制

为需要独立安全结论的团队而造 ​

DvalinCode 是一个 Agent 可调用的安全运行时:它可以独立运行、在安全发现和修复 领域参与竞争,也可以与专业系统互操作;但它不以替代所有通用 Coding Agent 为目标。 产品本身是人类或 Agent 代码合并前,安全、合规或平台团队所需要的发现、证据、修复 与强制执行层:

  • 可控 —— 组织策略限定影响范围。
  • 透明 —— dvalincode trust 让安全态势可自证。
  • 可审计 —— 哈希链日志证明每次运行做了什么。

建议从威胁模型读起,了解完整攻击面——恶意 AGENTS.md、被投毒的 MCP 服务器、提示注入升级、数据外流、审计篡改——每一项都对应到防御它的控制措施, 以及诚实标注的残余风险。

DvalinCode 适合你吗? ​

诚实的适配判断——我们比拼的是可衡量的安全结果和“可审批”,而不是包打天下。

选择 DvalinCode,当……

  • 安全或合规评审挡在团队与 AI 编码之间——你需要的是证据(策略哈希、可验证的审计链、可导出的 Evidence Pack),而不是厂商的口头承诺。
  • 边界必须由组织、而非每个开发者来设定:允许哪些命令、路径、模型、MCP 服务器、网络出口。
  • 你需要模型自由或完全离线运行(本地模型、任何 OpenAI 兼容端点),数据留在自己机器上。

另寻他处,当……

  • 你只想要最强的通用编码自动驾驶、治理不是约束——今天 Claude Code 或 Codex 会更适合你。
  • 你想要 IDE 内的代码补全——那是 Copilot/Cursor 的领域;DvalinCode 是终端/网页代理运行时。

📖 文档正文目前为英文。

Released under the MIT License. Not affiliated with any AI vendor.