面向你的应用和 AI 编程工具的离线网络安全代理。开放研发:公开度量,每个版本持续改进。
你一直没时间做的安全审查。离线、基于规则,而且每一项发现你都能自行验证。
penthera.org:几秒钟内检查你的线上站点。被动检测,不存储任何内容。
来自 Penthera 的每日笔记:x.com/penthera_org
132 条可读规则 · 6 个只读 MCP 工具 · 1 个运行时依赖 · 基准测试中 0 次越过回环地址的请求 · MIT,无遥测
penthera ui,简单模式,深色 | penthera ui,高级模式,浅色 |
|---|---|
![]() | ![]() |
Penthera 在你自己的机器上检查你的应用、其依赖项以及你的 AI 编码工具。它会在你批准后修复它能修复的问题。每一项发现都来自一条你可以阅读的规则,并附有位于 file:line 的证据。模型可以提出建议;规则做出决定。
它也是一个开放的研发项目。我们公开衡量每一项检查并发布结果,无论好坏,让你看清它值得信任到什么程度。
它发现的是已知类别的问题,而非新颖的问题。它不能替代人工渗透测试人员。
你需要 Node.js 22 或更高版本。无需安装,无需账号。
正在使用 Cursor、Claude Code、Codex、VS Code、Windsurf、Gemini CLI、Zed、JetBrains 或 Kiro,或 Lovable、Bolt、Base44、Replit、v0 之类的应用构建器?在你的编码工具中使用 Penthera 提供了各自的配置方法。
在你的终端中。 在你的项目文件夹中运行以下命令:
npx penthera
它会离线检测你的环境配置,询问要检查哪些内容,并为每个领域给出评分以及需要优先修复的三件事。只有在你确认该应用属于你之后,它才会扫描正在运行的应用。不会提交或推送任何内容(引导式启动)。
在你的编码代理中,作为一项技能使用。 然后询问“scan my app for security issues”:
npx skills add danoszz/penthera
在你的编码代理中,作为 MCP 服务器。 为 Claude Code、Cursor、Codex、VS Code 和 Windsurf 提供六个只读工具。固定版本:
claude mcp add penthera -- npx -y [email protected] mcp
在 Claude Code 中,作为插件使用。 在 Claude Code 的提示符中:
/plugin marketplace add danoszz/penthera
/plugin install penthera@penthera
在 Gemini CLI 中,作为扩展使用。 它会运行固定于
gemini-extension.json 中的 MCP 服务器,该服务器跟随最新
版本,包括候选发布版本:
gemini extensions install https://github.com/danoszz/penthera
其他客户端:docs/commands/mcp.md。其他技能安装 方式:docs/commands/skill.md。
在容器中运行:
docker build -t penthera . && docker run --rm penthera https://your-app.example。
我们在其他人构建的公开数据集上测试 Penthera,与执行相同任务的免费 开源工具并列,采用相同的评分方式。每个数据集在我们查看之前都被分成两半:我们在一半上改进 Penthera,并在另一半(封存的一半)上对其进行一次评分。评分和排名的规则在那次运行之前就已写下(协议)。
| 基准测试 | 得分 | Penthera 1.9.0 | Penthera 2.0.0 | 在免费工具中的排名 | 最佳其他免费工具 |
|---|---|---|---|---|---|
| 泄露的密钥 (Samsung CredData) | F1 | 0.18 | 0.74 | 10 个中第 2 | deepsecrets 0.78 |
| 恶意 npm 包 (DataDog) | 捕获数减去误报数 | 0.57 | 0.71 | 6 个中第 1,并列第 1 至第 3 ⁴ | malcontent 0.63 |
| 恶意 PyPI 包 (DataDog) | 捕获数减去误报数 | 0.74 | 0.82 | 8 个中第 1,并列第 1 至第 3 ⁴ | GuardDog 0.74 |
| JS 库中的注入漏洞 (SecBench.js) | 在正确的文件中找到 | 0.16 | 0.70 | 8 个中第 1,并列第 1 至第 4 ⁴ | odgen 0.68 |
⁴ 并列区间是一个排名区间:在 10,000 次对每个工具计数的 bootstrap 重抽样中,Penthera 的排名有 95% 落入该区间(在 SecBench.js 上,是对其 64 个测试漏洞的重抽样)。仅 Penthera 在 npm 上有 76% 的重抽样中排名第一,PyPI 上为 82%,SecBench.js 上为 60%。探索性:在注册排名之后计算。
泄露的密钥:按 F1(注册得分)排名第 2;按 F0.5(更重视精确率)排名第 1(0.82 对 deepsecrets 0.80);按 F2(更重视召回率)排名第 2(0.68 对 deepsecrets 0.77)。
一些被排名的工具几乎不在竞争之列。其他得分低于 0.10 的被排名工具:CredData 上 9 个中有 1 个(trufflehog);npm 上 5 个中有 3 个(clamav、yara、ossgadget);PyPI 上 7 个中有 4 个(clamav、ossgadget、bandit4mal、aura);SecBench.js 上 7 个中有 1 个(njsscan)。
如果 1,000 个包中有 1 个是恶意的,Penthera 的恶意软件标记中正确的比例:npm,在误报区间上限约为 2.7%(在该样本上它没有产生误报);PyPI,在测得的误报率下约为 1.6%,在其区间上限为 0.9%。探索性,与排名区间类似。
| 排名 | 工具 | 精确率 | 召回率 | F1 |
|---|---|---|---|---|
| 1 | deepsecrets 2.2.0 | 0.80 [0.79, 0.82] | 0.77 [0.75, 0.78] | 0.78 |
| 2 | Penthera 2.0.0 | 0.89 [0.87, 0.90] | 0.64 [0.62, 0.66] | 0.74 |
| 3 | noseyparker 0.24.0 | 0.76 [0.74, 0.78] | 0.62 [0.60, 0.64] | 0.69 |
| 4 | gitleaks 8.30.1 | 0.85 [0.84, 0.86] | 0.37 [0.35, 0.39] | 0.52 |
| 5 | ripsecrets 0.1.11 | 0.65 [0.64, 0.67] | 0.35 [0.33, 0.37] | 0.45 |
| 6 | kingfisher 2.14.0 | 0.96 [0.94, 0.97] | 0.29 [0.28, 0.31] | 0.45 |
| 7 | detect-secrets 1.5.0 | 0.30 [0.29, 0.31] | 0.53 [0.51, 0.56] | 0.38 |
| 8 | secretlint 13.0.7 | 0.92 [0.89, 0.94] | 0.19 [0.18, 0.21] | 0.32 |
| 9 | whispers 2.4.0 | 0.46 [0.43, 0.50] | 0.09 [0.08, 0.10] | 0.15 |
| 10 | trufflehog 3.99.3 | 0.40 [0.35, 0.45] | 0.05 [0.05, 0.07] | 0.10 |
| – | credsweeper 1.19.4 ¹ | 1.00 [1.00, 1.00] | 0.98 [0.98, 0.99] | 0.99 |
| – | Penthera 1.9.0 | 0.56 [0.51, 0.60] | 0.10 [0.09, 0.12] | 0.18 |
| 免费工具,均值 / 中位数 | 0.68 / 0.76 | 0.36 / 0.35 | 0.43 / 0.45 |
| 排名 | 工具 | 检出率 | 良性包上的误报率 | 检出率减去误报率 |
|---|---|---|---|---|
| 1 | Penthera 2.0.0 | 0.71 [0.62, 0.78] (79/112) | 0.00 [0.00, 0.02] (0/150) | 0.71 |
| 2 | malcontent 1.27.1 (bf280ad6), yara-x 1.21.0 | 0.68 [0.59, 0.76] (76/112) | 0.05 [0.03, 0.10] (8/150) | 0.63 |
| 3 | GuardDog 3.2.0 ² | 0.62 [0.52, 0.70] (69/112) | 0.03 [0.01, 0.07] (4/150) | 0.59 |
| 4 | ossgadget 0.2.20 (414b6a59) | 0.94 [0.88, 0.97] (105/112) | 0.89 [0.83, 0.93] (133/150) | 0.05 |
| 5 | clamav 1.5.4 | 0.01 [0.00, 0.05] (1/112) | 0.00 [0.00, 0.02] (0/150) | 0.01 |
| 6 | yara yara-python 4.5.4 (YARA 4.5), YARA-Forge core 20261004 | 0.00 [0.00, 0.03] (0/112) | 0.00 [0.00, 0.02] (0/150) | 0.00 |
| – | osv-scanner 2.6.0 ³ | 0.90 [0.83, 0.94] (101/112) | 0.01 [0.00, 0.04] (1/150) | 0.90 |
| – | Penthera 1.9.0 | 0.57 [0.48, 0.66] (64/112) | 0.00 [0.00, 0.02] (0/150) | 0.57 |