SuperAPI AI 工具集

lazaretto-mcp

Lazaretto MCP 是一个面向 npm 包、AI 智能体技能(agent skills)和 MCP 工具的安装前验证 MCP 服务器。它提供免费的锁文件恶意软件检查:将锁文件中每个精确固定版本的依赖与 OSV 和 OpenSSF 的恶意包公告进行匹配,无需账号或密钥。付费扫描则增加行为分析,并给出文件与行号级别的证据。该包本身只是 Lazaretto API 的轻量前端,不包含检测逻辑,仅发起 HTTPS 请求,便于审计。

访问官网

工具介绍

Lazaretto MCP 是一个 MCP 服务器,用于在安装前对 npm 包、AI 智能体技能和 MCP 工具进行确定性的预安装验证。其核心理念是:在安装一个包之前,先了解它做什么。

用途 该工具面向需要在安装依赖或连接 MCP 服务器之前进行安全核查的场景。它提供免费的锁文件恶意软件检查,以及付费的行为扫描。免费检查无需账号、密钥或安装,即可将项目中每个精确固定版本的依赖与已发布的恶意包公告进行比对。付费扫描则增加行为分析,并附带文件与行号证据。

主要能力 免费工具(无需 API 密钥):

  • check_lockfile:检查锁文件中每个精确固定版本的依赖是否命中已发布的恶意包公告。支持 package-lock.json、npm-shrinkwrap.json、yarn.lock 或 pnpm-lock.yaml,从工作目录读取,一次调用覆盖整棵依赖树。只有当 unverified 也为空时,空的 malicious 列表才代表全部通过。
  • known_bad_lookup:判断一个 sha256 内容哈希是否为已知恶意产物,与每日刷新的指标库进行精确哈希匹配。
  • find_attestation:查询某个产物是否已有认证。可传入 chalk@5.6.1 这样的包标识、MCP 服务器 URL 或 sha256 内容哈希,返回已存在的签名裁决及其年龄、是否基于较旧规则版本生成,以及若该对象现已被标记为恶意则给出 contradicted 标记。未命中表示没有记录在案的认证,不代表任何一方的裁决。
  • verify_attestation:验证扫描裁决附带的签名认证(紧凑 JWS)。可确认签名属于 Lazaretto,返回被认证的声明,并在曾经通过的对象现已被标记为恶意时给出 contradicted 标记,从而无需重新扫描或重新付费即可信任裁决。仍需确认将要运行的产物与 claims.sub 匹配。

付费工具(需要预付积分):

  • scan_artifact:获取目标(npm 或 PyPI 包、GitHub 仓库、ClawHub 技能、原始 URL 或内联文本)而不运行它,返回确定性裁决(malicious、flagged、clear、error)及证据。托管服务器使用 X-API-Key 请求头,stdio 包使用 LAZARETTO_API_KEY。
  • scan_lockfile_deep:check_lockfile 的行为分析对应版本,读取每个精确固定版本依赖的代码,每次调用最多 25 个,而非仅匹配名称和版本。complete_coverage 为 false 表示有内容被截断、出错或仅部分读取,因此该次运行不能视为整棵树的健康证明。使用同一锁文件再次调用会重新扫描并再次计费相同的首批包。结果会在 not_scanned.packages 中列出所有未扫描的包(name@version 字符串)。托管服务器可将 not_scanned.packages 整体作为 packages 传回,它会扫描前 25 个并再次列出其余;stdio 包每次调用 packages 最多 25 个,需按 25 个一批处理 not_scanned.packages。工具会在结果中加入 next_call,其 next_call.packages 保存该列表的前 25 个。
  • check_mcp_tools:针对通过 stdio 运行的服务器(大多数如此),外部无法连接,因此没有可检查的端点。但客户端在启动时已读取其工具列表,可粘贴该 JSON,由 Lazaretto 用相同规则分析相同文本,完全不联系任何服务器。
  • scan_mcp_server:在连接之前指向一个 MCP 端点。它要求服务器自我介绍并列出工具,然后分析服务器交给智能体的文本:工具名称、描述、参数模式及其指令。这些文本是模型会遵循的文档,因此是服务器控制的指令通道。可捕获工具投毒(读取 ~/.ssh/id_rsa 或智能体配置文件的隐藏指令)、用于携带机密或对话外泄的参数,以及关于另一服务器工具的长期指令。证据会指明具体工具。它只调用 initialize 和 tools/list,绝不调用服务器自身的工具。

使用方式 托管方式(零安装):服务器托管在 https://lazaretto.dev/mcp,可添加到任何支持远程(Streamable HTTP)服务器的 MCP 客户端,无需安装,无本地进程。check_lockfile、known_bad_lookup、find_attestation 和 verify_attestation 无需密钥即可使用。scan_artifact、scan_lockfile_deep、scan_mcp_server 和 check_mcp_tools 需要积分,可在 https://lazaretto.dev/buy 购买积分包(拥有钱包的智能体也可通过 x402 在 POST https://lazaretto.dev/v1/credits/topup 自行购买积分)。 自托管 stdio 服务器(可选):若希望在本地通过 stdio 运行而非使用托管 URL,npm 包名为 lazaretto-mcp,也可从克隆仓库运行。stdio 包仅使用 LAZARETTO_API_KEY 上的预付积分支付,自身没有 x402 客户端,因此付费墙结果不携带 x402 支付挑战:按次 x402 支付必须由智能体自己的 HTTP 客户端针对 https://lazaretto.dev/v1/scan 完成,而非通过此包。LAZARETTO_BASE_URL 可覆盖 API 主机(默认 https://lazaretto.dev)。

适用场景 适用于在安装 npm 依赖前核查锁文件、在连接 MCP 服务器前检查其工具定义、验证其他智能体或 README 提供的扫描认证,以及在不运行代码的情况下获取包或技能的行为分析证据。

限制 报告是带证据的信号,而非保证。clear 表示没有已知恶意匹配且没有规则触发,并不代表对风险的陈述。该包本身不包含检测逻辑,仅作为 Lazaretto API 的前端。Lazaretto 服务及其检测引擎是独立且专有的。许可证为 MIT。