Lagune 帮助你的 AI 智能体提升项目的安全性。你把它指向自己的代码,智能体就会弄清楚你的系统实际在做什么,再带你完成对它而言真正重要的安全工作。Lagune 是 Security-Driven Hardening (SDH) 方法论的第一个项目。
喜欢 Lagune?到 GitHub 给我们点个 ⭐
选择你的智能体
- Lagune 底层基于 Node.js 运行,但你用什么语言都可以。
- 如需完全离线运行,用
npm i -D lagune@0.16.0把 Lagune 安装到你的项目中。
类别
Lagune 的安全知识以 专项 的形式提供,并按 类别 分组。
npx lagune write add --categories owasp项目起初只启用 owasp,随后 /lagune-charter 会根据它对项目的解读,添加有依据的类别。
环境要求
你需要在系统中安装 Node.js (LTS)。
使用徽章 ✨
正在使用 Lagune?在你的 README 里加一个吧:
- 双色
- 纯色
下一步
了解 Lagune 的每个 Skills 分别做什么。
常见问题
Lagune 是一个开源、仅限防御的安全工作流,帮助你的 AI 智能体加固任何代码库。你把它指向自己的代码,它会检测出你的系统实际在做什么,再针对这个场景引导真正重要的安全修复。
先选择你的智能体:Claude Code、GitHub Copilot CLI、Muse Code、Antigravity CLI、Cursor、Kimi Code、OpenCode、Codex CLI、Factory Droid、Grok Build、Devin CLI 和 Hermes Agent 以插件形式安装 Lagune,Gemini CLI 和 Qwen Code 以扩展形式安装,Pi 以包的形式安装,其他任何智能体都可以用 npx skills add wellwelwel/lagune 安装。新项目和现有项目都能用。
不需要。它通过你自己的 AI 智能体运行,所以用不着 API 密钥。
你需要在系统中安装 Node.js (LTS)。
任何语言都支持。Lagune 底层基于 Node.js 运行,但能审计和加固用任何编程语言编写的项目。
一个保存项目安全状态的 .lagune/ 目录,由第一个需要写入的命令创建。skills CLI 还会把斜杠命令安装到项目中,供智能体读取,而插件则把它们保留在智能体内部。
和安装时的方式一样。每个智能体的安装页面都说明了如何在该智能体中更新 Lagune,skills CLI 则用 npx skills update 更新。你的安全原则、各阶段产物和你自己的专项都不会受影响。
项目所属类别中的内置专项,加上项目自己的专项。charter 阶段会根据它对项目的解读,记录有依据的类别,npx lagune write add --categories 可以修改这些类别。
不用。/lagune 命令会边写边加固:它接受任何提示词,按你的要求构建,并在安全原则的指引下,用安全的默认设置加固构建出的内容。五阶段的 Blue Team 流程则用来审计已有的代码。
能。五阶段的 Blue Team 流程会审计已有的代码:charter 设定你的安全规则,detect 梳理系统做了什么、风险在哪里,plan 为每个发现项打分并配上修复,harden 应用这些修复,verify 证明它们确实有效并将其结案。
智能体自己读代码时,会找出看起来像漏洞的地方,却跳过看起来像控制措施的地方。一份屏蔽地址列表看上去像是已经有人处理过这个风险,于是没人去检查它其实漏掉了大部分该屏蔽的地址,代码就这样上线了。Lagune 扭转了这种默认做法:代码里已有的防护在检查之前一律视为未经证明,目录中的每个专项都会得到明确的判定结果,verify 问的是风险是否已经消除,而不是有没有控制措施。每个发现项在多次运行之间也始终是同一个追踪项,因此可以证明它已关闭并将其结案,而直接提问每次给你的报告都不一样,无从比较。
直接要求写安全的代码,等于把安全的定义交给了智能体,而且还默认你知道该提什么要求。安全需求往往早就藏在你的请求里,只是你和智能体都没察觉:要一个展示用户有权访问的课程的页面,本身就规定了一条授权规则,而从没写下的检查,在代码里也就无迹可寻。/lagune 命令会在写下第一行代码之前,加载你的安全原则,以及与即将构建的内容相匹配的专项,然后对照它所采用的防御重新审视结果。安全的写法很少比不安全的写法成本更高,所以决定结果的是知道该选哪一种,而这正是它提前提供的。
不会。Lagune 只读代码,从不运行你的系统,也不会向它发送构造的请求。verify 确认的是控制措施在源码中存在且正确,这和它能否在线上目标遭受攻击时守住是两个不同的问题,所以"cannot tell from the code"(无法从代码判断)是正当的判定结果,而不是悄悄放行。DAST 回答运行时的问题,Lagune 回答源码的问题,二者谁也替代不了谁。就连可选的 prove 命令也守着这条线:它的测试断言的是安全行为,从不使用攻击 payload。
不能,绝对不能!渗透测试是一项经过授权的工作,由专业人员针对你的线上系统运用自己的判断,把多个发现项串联起来,并探查任何按攻击面划分的规则都描述不了的业务逻辑。渗透测试的发现项可以进入 Lagune 的 Blue Team 流程,交由 detect 记录这些问题,让专业人员报告的内容也能得到规划、加固和验证。
安全策略
请查看 SECURITY.md。
许可证
Lagune 采用 Apache License 2.0 许可。
Copyright © 2026 至今 Weslley Araújo 及 贡献者。
