Goatnuts1/leaktrap

GitHub: Goatnuts1/leaktrap

LeakTrap 是一款零依赖的本地安全扫描 CLI,用通俗语言帮助开发者快速排查 AI 生成应用中暴露的密钥、数据库权限漏洞和缺失的身份验证等常见数据泄露风险。

Stars: 0 | Forks: 0

# LeakTrap 🛡️ [![npm](https://img.shields.io/npm/v/leaktrap?color=3ddc97)](https://www.npmjs.com/package/leaktrap) [![license](https://img.shields.io/badge/license-MIT-green)](LICENSE) [![node](https://img.shields.io/badge/node-%3E%3D18-2bb8ff)](https://nodejs.org) ![zero dependencies](https://img.shields.io/badge/dependencies-0-brightgreen) **用通俗易懂的语言扫描由 AI 构建的应用,找出 vibe-coded 应用中存在的数据泄露问题——例如暴露的密钥、损坏的行级安全性、缺失的身份验证等。** 你在 Lovable、Bolt、v0、Replit 或 Cursor 上构建了很棒的东西。在将其发送给真实用户之前,请运行以下命令: ``` npx leaktrap ``` 无需安装,无需注册,无需账户。它会扫描你的项目,并为你提供一个**生产就绪度评分**,以及非安全专业人员也能轻松看懂的通俗修复建议。 ## 为什么会有这个项目 AI 代码构建器非常强大——但同时也会大规模地发布不安全的默认设置。2026 年的一项独立测试发现,**约 91% 的 vibe-coded 应用至少存在一个安全漏洞**,而且真实发生的安全事件已经证明,浏览器代码中会暴露有效的 Stripe/OpenAI 密钥,仅仅因为缺少一个 Supabase RLS 开关,整个用户数据库就会泄露(CVE-2025-48757 影响了约 170 个应用;其中一次泄露暴露了约 150 万个 API 密钥)。 能够捕捉这些漏洞的工具(Snyk、Veracode)是为安全工程师设计和定价的。而 LeakTrap 是为那些只想知道一件事的人打造的:**我的应用可以安全发布了吗?如果不能,我到底该修复什么?** ## 检查内容 | # | 检查项目 | 为什么重要 | |---|-------|----------------| | 1 | **浏览器代码中暴露的 API 密钥** | 前端代码中的 `sk_live_…` = 任何人都可以盗用你的资金 | | 2 | **Supabase 行级安全漏洞** | 没有 RLS = 你的整个数据库都会通过 anon key 暴露在公网 | | 3 | **未经身份验证的 endpoint** | 没有身份验证的写入路由 = 任何人都可以直接调用它 | | 4 | **路径遍历** | 文件路径中的 `../../.env` = 攻击者可以读取你的机密信息 | | 5 | **提交到代码库的机密信息** | 包含在 `.env` 或源代码中并被提交到 git 的密钥 | | 6 | **开放的 CORS** | `Origin: *` 加上凭证 = 其他网站可以冒充你的用户进行操作 | 它是**专门针对 vibe-code 的故障模式**进行调整的——高信噪比,低误报率。公开/可发布的密钥(如 `pk_live_`、`NEXT_PUBLIC_`、anon keys)已被加入白名单,因此你不会收到误报警报。 ## 用法 ``` npx leaktrap # scan the current folder npx leaktrap ./my-app # scan a specific path npx leaktrap --json # machine-readable output npx leaktrap --fail-on high # exit 1 for CI if any high+ issue (default: critical) ``` 将其添加到 CI 中,让泄露问题不再被发布到生产环境: ``` # .github/workflows/leaktrap.yml - run: npx leaktrap --fail-on high ``` ## 输出示例 ``` 🔴 Score: 0/100 — Do not ship 2 critical 6 high 0 medium 0 low 1. [CRITICAL] Stripe live secret key found in browser-shipped code src/config.js:1 Anyone who opens your site's source can copy it and run up charges. Fix: Move this to a server route, read it from an env var, and ROTATE the key immediately — assume it is already compromised. ``` ## LeakTrap 是什么(以及不是什么) - ✅ 针对最常见的 AI 代码泄露,提供快速、诚实的第一道防线检查。 - ✅ 免费且开源 (MIT)。在本地运行。你的代码永远不会离开你的机器。 - ❌ 它不是完整的渗透测试,也无法替代安全工程师来处理高风险的应用。 检查结果是**经过优先级排序的信号**,而不是最终证明。修复严重问题,重新运行,你就能更有信心地发布应用。 ## 想要自动化吗? 免费的 CLI 只能在你记得运行它时捕捉问题。**[leaktrap.dev](https://leaktrap.dev)** 额外提供了以下功能: - 🔧 **一键修复 PR** —— 不仅仅是告诉你“问题在这里”,还会直接提供修复补丁 - 🔁 **每次 push 时的监控** —— 在引入新泄露的瞬间立即捕捉到它 - 📋 **可共享的报告** —— 方便代理机构向客户交付应用 [加入等候名单 →](https://leaktrap.dev) ## 贡献 非常欢迎提供新的检查想法和误报报告——请提供一个最小示例并开启一个 issue。检查逻辑位于 [`src/checks/`](src/checks/) 中,代码刻意写得非常易于阅读。 MIT © LeakTrap
标签:GNU通用公共许可证, LNA, MITM代理, Node.js, SOC Prime, StruQ, 代码安全审计, 动态分析, 安全合规, 开发工具, 文档结构分析, 暗色界面, 网络代理, 自定义脚本, 错误基检测, 静态代码分析