mcpField
P
Penthera

Penthera

本地服务
penthera.org安全73今天更新

关于 Penthera

Penthera 是一款开源安全扫描工具,用于检查应用、依赖项、代码库和 AI 编码工具配置。它在本地运行,依据可读规则提供发现结果,并为编码 Agent 提供 6 个只读 MCP 工具。

主要功能

  1. 01扫描应用、代码库和依赖项
  2. 02审计 AI 工具配置
  3. 03提供带文件行号证据的规则发现
  4. 04应用获准的修复并重新扫描
  5. 05生成 Markdown、JSON 和 SARIF 报告
  6. 06本地仪表板与安全检查

适用场景

  1. 01部署前审查代码库
  2. 02安装前检查软件包能力
  3. 03审计技能、MCP 服务、钩子和插件
  4. 04通过编码 Agent 执行只读安全检查

MCP 相关

Penthera 提供 MCP 服务,包含 6 个只读工具,可用于扫描代码库、检查依赖项、审计 AI 工具、查询运行时公告、解释发现结果和被动扫描 URL。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"danoszz-penthera": {
"command": "npx",
"args": [
"-y",
"penthera"
]
}
}
}
启动命令npx -y penthera

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmpenthera2.0.0

工具

6

收录的工具列表 · 更新于 3 天前

参数类型必填说明
pathstring否要扫描的项目文件夹路径,相对于工作区根目录,或为工作区内的绝对路径。默认值:工作区根目录。
max_findingsinteger否要返回的发现项数量,按严重程度从高到低排列(默认 50)。

详细介绍

Penthera。你的网站/应用安全吗?使用免费的网络安全快速扫描进行检查:扫描字段和 penthera.org 的报告,得分 95 分(满分 100 分),并提供修复提示



Penthera:你的开源网络安全 Agent

你一直没时间做的安全审查。离线运行、基于规则,而且每项发现都可自行验证。

penthera.org:几秒钟即可检查你正在运行的网站。被动扫描,不存储任何内容。

132 条易读规则 · 6 个只读 MCP 工具 · 1 个运行时依赖 · 基准测试中没有请求发往回环地址以外 · MIT,无遥测


npm npm downloads GitHub stars node license CI OpenSSF Scorecard


12 秒循环演示:npx penthera 设置项目,在终端运行离线扫描,仪表板以简洁模式显示结论、以高级模式显示分类矩阵,并批准一项修复



penthera ui,简洁模式,深色penthera ui,高级模式,浅色
简洁模式深色仪表板:结论、通俗易懂的问题描述,以及展开的一个问题高级模式浅色仪表板:项目标签页、分类矩阵,以及展开的一项发现

操作演示视频:设置、扫描、简洁和高级模式下的仪表板、批准一项修复、查看报告

观看 80 秒操作演示:设置、扫描、仪表板、批准一项修复、查看报告。使用演示数据,无声音,视频内含字幕。


它是什么

Penthera 会在你自己的机器上检查你的应用、依赖项和 AI 编码工具。经你批准后,它会修复能修复的问题。每项发现都来自一条可阅读的规则,并附有 file:line 格式的证据。模型可以提出建议;规则负责判定。

这也是一个开放的研发项目。我们会公开衡量每项检查并发布结果,无论好坏,让你了解可以在多大程度上信任它。

它能发现已知类型的问题,但不能发现新型问题。它不能替代人工渗透测试。

30 秒快速开始

你需要 Node.js 22 或更高版本。无需安装,无需账户。

在终端中运行。 在你的项目文件夹中运行:

npx penthera

它会离线检测你的环境,询问要检查哪些内容,并为每个领域评分,还会列出最优先修复的三项问题。只有在你确认该应用属于你之后,它才会扫描正在运行的应用。不会提交或推送任何内容 (引导式开始)。

在编码 Agent 中作为技能使用。 然后提出“扫描我的应用,查找安全问题”:

npx skills add danoszz/penthera

在编码 Agent 中作为 MCP 服务使用。 为 Claude Code、 Cursor、Codex、VS Code 和 Windsurf 提供六个只读工具,1.9.0 中新增。固定版本:

claude mcp add penthera -- npx -y [email protected] mcp

在 Claude Code 中作为插件使用。 在 Claude Code 的提示词中输入:

/plugin marketplace add danoszz/penthera
/plugin install penthera@penthera

在 Gemini CLI 中作为扩展使用。 使用相同的固定版本 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。

功能介绍

flowchart LR
    U["You or your AI agent"] --> P(("Penthera<br/>on your machine"))

    P --> APP["Your app<br/>URL scan, repo scan<br/>runtime advisories"]
    P --> DEP["Your dependencies<br/>capabilities, install firewall<br/>typosquats, upgrade diff"]
    P --> AI["Your AI tooling<br/>skills, MCP, hooks<br/>plugins, rule files"]

    APP --> F[["Findings<br/>severity, confidence<br/>evidence at file:line"]]
    DEP --> F
    AI --> F

    F --> FIX["Fix loop<br/>asks first, local branch<br/>cannot edit its own tests"]
    FIX -. "re-scan proves it" .-> F
    F --> R["Reports and dashboard<br/>terminal, Markdown, SARIF<br/>penthera ui, MCP tools"]
    F --> E["Evidence<br/>signed bundle<br/>NIS2 and CRA drafts"]

    classDef core fill:#0000ed,stroke:#0000ed,color:#ffffff
    classDef box fill:#ffffff,stroke:#000000,color:#000000
    class P core
    class U,APP,DEP,AI,F,FIX,R,E box
部署前
任务Penthera 的功能命令
测试应用扫描你的 localhost 或预览 URL(TLS、标头、CORS、Cookie、身份验证、JWT、IDOR、OAuth、OpenAPI;只有在你提出要求并确认后,才会进行注入测试和模糊测试),以及你的代码仓库(路由、信任边界、代码执行入口、机密信息,包括 AI 密钥)penthera <url> --repo .
检查运行时根据已签名的安全公告包,检查你运行的 PHP、nginx、Apache、Node.js、Python、OpenSSL 或 MongoDB 版本是否受到已知安全公告影响运行时安全公告
修复并验证在本地分支应用确定性修复方案,重新扫描以验证修复是否生效,并记住结果。绝不会推送penthera agent --loop
在提交时拦截在机密信息、风险较高的 Agent 配置和依赖项变更被提交前予以拦截penthera hook install
开发时使用
任务Penthera 的功能命令
审查依赖项显示每个 npm 和 Python 包能做什么(安装脚本、Shell、网络、环境变量、混淆)、升级新增了什么、相似名称和许可证penthera deps --base main
防护安装在运行任何安装脚本前,显示新软件包会带来什么,并根据你的策略阻止安装penthera install <pkg>
审查拉取请求在每个修改锁文件的 PR 上评论依赖项能力差异GitHub Action
审计 AI 工具检查技能、MCP 服务、钩子、插件和规则文件是否包含隐藏指令、未固定版本的服务、权限范围过宽和静默更新penthera agents --home
通过 Agent 使用提供 6 个只读 MCP 工具:扫描代码仓库、检查依赖项、审计 AI 工具、查看运行时安全公告、解释发现的问题,以及被动扫描 URLpenthera mcp
发布后
任务Penthera 的功能命令
报告并举证为开发者、所有者和审计人员生成报告;生成带哈希、可签名的证据包;生成 NIS2 和 CRA 准备情况报告及草稿penthera <url> --audience auditor --evidence out/
查看全局情况在 127.0.0.1 上运行本地仪表板。简易模式面向非程序员:提供一句话结论、通俗易懂的问题说明,以及可对每项变更选择应用、跳过或停止的检查与修复模式。高级模式还包含依赖项、AI 工具、历史记录和证据penthera ui
持续监控定期检查生产环境是否出现偏差:证书、标头、新端点、软件包中的密钥,以及 SBOM 中新增的 CVE见路线图

每项发现都包含严重程度、置信度标签(confirmed、likely、 potential、needs-human-review)、相关证据及背后的研究资料。 报告可输出为 Markdown、JSON 和 SARIF,供 GitHub 代码扫描使用。退出 代码 1 表示发现严重或高危问题。所有命令和标志详见 docs/commands/。合规输出仅用于评估准备情况, 不构成认证,也不构成法律建议。

AI 模式(可选加入,1.9.0 新增)。 penthera --repo . --ai 可让本地模型 提出规则未描述的问题。Penthera 会使用规则检查每条建议;任何未经确认的建议都会标记为 “模型提出,未经验证”,且绝不会导致 CI 失败。目前尚未衡量这种模式是否能发现规则单独使用时 发现不了的问题(AI 模式)。

各部分的成熟度
部分状态
扫描:URL、仓库、依赖项、AI 工具、安装、pre-commit hook稳定:自 1.x 的每个版本起均已涵盖,并纳入测试和发布门禁
修复循环和本地仪表板(penthera ui)稳定;仪表板已在 1.9.0 中重新设计
MCP 服务、Agent Skill、Claude Code 插件、Gemini CLI 扩展稳定,在 1.9.0 中新增(Gemini 扩展在 1.9.0 之后新增)
证据包、NIS2 和 CRA 草案作为就绪度工具而言稳定,但不代表认证
AI 模式(--ai)实验性:尚未衡量它是否比单独使用规则发现更多问题(AI 模式)
在 penthera.org 上进行实时检查Beta:仅被动检查,条款

如何衡量

每项功能都遵循相同流程:方法 → 证据 → 工具。

  • 方法。方法论阐述了威胁模型、黑盒(HTTP)和白盒(源码)分析能够及不能够观察到的内容、置信度模型,以及每项探测的误报控制。每项设计决策都会引用其依据的研究或标准:docs/references.md 中以 APA 格式列出了 95 条经核实的参考资料。
  • **证据。**每次发布都会运行基准测试;如果精确率或召回率下降超过 0.02,发布门禁就会失败。决定下一步发布内容的实验会在收集任何数据之前,预先登记在 docs/research/prereg/ 中,结果无论如何都会公开。
  • **工具。**经审查并签名的发布版本会包含经验证有效的内容。未经验证有效的内容会被弃用,规则则会保留。
指标结果样本
精确率,内置基准测试0.92,95% CI 0.74 至 0.9822 个真阳性,2 个假阳性
召回率,内置基准测试0.96,95% CI 0.79 至 0.99漏报 1 项,说明
基准测试期间发往环回地址之外的请求0由网络防护机制强制执行
E10 试点,已知存在漏洞的应用精确率 0.88,95% CI 0.78 至 0.93。修复前召回率为 0.07,修复后为 0.71(CI 0.45 至 0.88)Juice Shop 和 DVNA 中的 14 个根本原因(结果)
检测规则,均可阅读此版本共 132 条:16 个 URL 扫描模板、21 种密钥和 AI 密钥模式、15 项依赖能力、39 条 AI 工具规则、5 个修复方案,以及已签名的规则包规则包

内置基准测试包含我们自行编写的小型实验环境中的 24 项发现。它能捕捉回归问题,但不能衡量现实世界中的准确性。E10 试点仅由一名标注人员完成,并非独立评估:修复方案是在同两个应用中发现漏报后编写的。在留出测试的 WebGoat 上,召回率仍为 9 项中 2 项。真实项目上的准确性将由实验 E1 评估,该实验已预先登记,但尚未运行。区间采用 Wilson 方法计算。Penthera 无法观察到的内容列在已知限制中。使用 npm run docs:numbers 和 npm run bench 更新计数。

引用此仓库,请使用 GitHub 上的按钮或 CITATION.cff。APA 和 BibTeX 格式见方法论。

为什么你可以信任它

  • 本地运行,离线可用。 无需账户、没有遥测,也不使用云服务。--offline 会将网络流量限制为仅访问你指定的目标,每份报告都会列出它联系过的主机(网络使用情况)。
  • 结果确定。 规则可供阅读,并提供 file:line 证据。模型可以提出修复方案或线索;最终由确定性重新扫描和你的测试来决定。
  • 默认不执行破坏性操作。 默认扫描不会发送攻击载荷。载荷测试(--deep、--fuzz、--all)需主动启用,会要求确认目标,并受到速率限制。
  • 更改前会先征求同意。 修复流程会在本地分支上进行,默认每次更改前都会征求同意,绝不会推送代码或创建拉取请求。
  • 没有可被劫持的更新渠道。 检测规则随经过审核的版本一同发布,包含已签名、带版本号的规则包。你可以通过路径添加自己的规则(--rules <dir>)。运行时不会下载并执行任何内容。
  • 发布版本可供验证。 通过可信发布机制提供 npm 来源证明,每个版本均需维护者通过 2FA 批准,CI 使用 SHA 固定版本,并采用 CodeQL 和 OpenSSF Scorecard。每次发布都会通过包含八项门槛的内部审计(最新报告)。

亲自验证。 在空文件夹中运行:

npm install [email protected] && npm audit signatures
npx [email protected] rules list

第一条命令会检查 npm 注册表签名,以及你获取的软件包的构建来源证明。第二条命令会列出所有内置规则包及其签名密钥;如果规则包的签名无法验证,除非传入 --allow-unsigned-rules,否则将拒绝该规则包。

Penthera 能发现已知类别的问题,但无法发现新型问题,也不能取代人工渗透测试人员或事件响应。其背后的决策、局限性以及如何对其提出质疑,请参阅宣言和常见问题。

如何与其他工具配合

Penthera 可与现有工具配合使用;例如,其 SARIF 输出可直接用于 GitHub 代码扫描。每个对比页面都会说明其他工具在哪些方面更进一步,以及如何将两者配合使用。

重点运行位置判定方式
Penthera你的应用、依赖项和 AI 工具;修复;欧盟证据你的机器或 CI,离线运行可读的确定性规则,并提供证据
Socket跨软件包注册表的供应链风险云服务、GitHub App、CLI注册表规模的软件包分析,包括 AI 审核
Snyk依赖项、代码、容器、IaC 中的已知漏洞云服务、IDE、CLI精选漏洞数据库加静态分析
GitHub Dependabot 和代码扫描已知 CVE 警报、更新拉取请求、CodeQLGitHub安全公告数据库、CodeQL 查询
OWASP ZAPWeb 应用动态测试你的机器或 CI主动和被动扫描规则
Semgrep对自有代码进行静态分析你的机器、CI、云平台模式规则,以及付费的跨文件引擎

所有对比,包括 Cloudflare 的安全审计技能: docs/compare/。

从这里开始

你想了解什么阅读内容
我的应用可以安全发布吗?我是新手,然后扫描
这个软件包或 MCP 服务安全吗?依赖项、安装、Agent
如何通过编码 Agent 使用它?MCP 服务、技能、安全使用 Agent
如何将它放进 CI?GitHub Action、在 CI 中扫描
应该向审计员提供什么?证据包、NIS2、CRA
如何运行修复循环?修复并验证、本地循环

按使用情境整理的完整指南,涵盖从首次扫描到研究的内容,请参阅 docs/index.md。

伦理与授权

Penthera 会向你提供的目标发送 HTTP 请求,某些模式 (--deep、--fuzz、--all)在确认后会发送攻击载荷。仅扫描你拥有的目标、获得书面授权可以测试的目标,或你所控制的本地环境。请勿用它探测第三方系统、窃取数据、中断服务或伤害任何人。未经授权的测试可能违反计算机滥用相关法律,例如美国 CFAA、英国《计算机滥用法》及欧盟对应法律。如有疑问,请勿扫描。

本软件按“原样”提供,不作任何保证。作者不对滥用行为承担责任,你有责任确保运行的每次扫描都合法。penthera.org 上的实时检查另有自己的条款。

公开开发

在一个地方了解有哪些变更、我们在衡量什么,以及接下来要做什么。

当前进展了解更多
最新版本npm latest 上的 1.9.0(2026-10-23):penthera mcp、可选启用的 AI 模式、新检测规则、默认扫描不发送攻击载荷、焕然一新的仪表板变更日志、路线图
研究已发布 E10 试点:在两个已知存在漏洞的应用上,修复后精确率为 0.88,召回率从 0.07 提升到 0.71(由一名标注员评估,并非独立评估;由于默认扫描不再发送登录检查,正在等待重新运行)。真实代码上的 E1 已预注册;E8(Agent 防护措施)为草案E10 结果、E1 预注册、安全使用 Agent
下一步带区间的真实场景精确率和召回率(E1),无论结果如何都会发布路线图:下一步、研究计划

Star 历史记录

我们有意放慢发布节奏:任何新的次要版本发布之前,都会先冻结功能、进行独立审查、完成发布检查,并发布候选版本。请关注仓库以了解版本发布,或加入 讨论区。

Penthera 的构建方式

Penthera 的开发得到了生成式 AI 的大量协助:截至 v1.7.0,91% 的提交是维护者通过 Claude Code 指导并审查后,使用 Claude(Anthropic)编写的,并标注了共同作者信息。生成的代码与任何更改一样,都要通过相同的审核关卡:测试、CodeQL、独立审查、内部审计,以及经 2FA 批准的发布。在产品内部,模型只会提出建议;由确定性检查作出判断。完整披露以及 AI 辅助贡献的规则,请参阅 docs/genai.md。

贡献与支持

克隆此代码库并运行 npm install,然后运行 npm test 执行测试套件,并运行 npm run bench 测量精确率和召回率。 CONTRIBUTING.md 介绍了项目结构、发布节奏和发布清单;AGENTS.md 是面向编码 Agent 的简短版本。路线图 展示了接下来的发布内容,研究计划则说明了我们要衡量的内容。欢迎提交问题和拉取请求。

Penthera 免费。如果它在你发布之前发现了问题,你可以 赞助其维护工作。赞助费用用于支付维护者的时间,不会影响调查结果 (赞助级别)。

许可证

MIT。请参阅 LICENSE。如需报告 Penthera 本身的漏洞,请通过 SECURITY.md 提交。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。