Token导航 LogoToken导航TokenDH.com
MCP Shark logo
安全风控stdio官方级别未说明来源级核验

MCP Shark

MCP Server

@mcp-shark/mcp-shark

MCP Shark是一款专为安全工程师和平台工程师设计的AI代理工具安全扫描器,提供本地静态扫描、实时流量监控和多种报告格式输出,支持41种安全规则和有毒流量分析,无需云端配置即可运行。

工具数

0

提示词数

0

GitHub Stars

167

资源数

0
安全JavaScriptClaude静态分析Claude DesktopClaudeCursorWindsurfVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mcp-shark

提供方

mcp-shark

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @mcp-shark/mcp-shark

详细介绍

mcp-shark

Security scanner for AI agent tools — built for security and platform engineers working with MCP in the IDE.

Run a local static scan over MCP IDE configs and embedded tool metadata: 41 rules (including AAuth visibility), toxic-flow heuristics, and SARIF / HTML / JSON reports. There is no hosted config-scan backend.

Add an optional local HTTP proxy with an in-browser dashboard so live traffic, findings, AAuth signals, and playground checks stay in one place—without sending your configs to a vendor.

You can

Use Traffic for live JSON-RPC capture, filters, export, and AAuth posture chips

Run Local Analysis for OWASP-style findings over captured traffic

Run YARA Detection for traffic pattern rules (native engine when installed, regex fallback otherwise)

Open AAuth Explorer for a graph of agents, missions, resources, and signing / access signals

Use MCP Playground to call tools, prompts, and resources through the proxy

Optionally run Smart Scan (AI-backed; uses your API token when enabled)

Use Server setup to detect configs, convert format, and route the editor through the proxy

Privacy: static scans need no cloud and send no telemetry. Refreshing rule catalogs is opt-in HTTPS (update-rules).

](https://www.npmjs.com/package/@mcp-shark/mcp-shark) ![License: Non-Commercial](LICENSE)

仪表板概览

这些照片来自现场 仪表盘实际捕获的流量 (虚拟MCP或您自己的上游)。开始 npx @mcp-shark/mcp-shark serve --open. 智能扫描 下面没有显示-它取决于可选的远程API令牌。 MCP游乐场 一旦您至少配置了一个MCP上游(Playground捕获使用加载了工具的演示服务器),就会出现。

实时流量捕获

IDE和每个MCP上游之间的每一个JSON-RPC帧都被捕获了完整的报头、正文、时序和AAuth姿态芯片。按方法、状态、服务器、会话、AAuth代理/任务/姿态过滤。

Traffic Capture

MCP游乐场

选择上游,装载 工具, 提示,以及 资源 从该服务器,然后调用工具或通过代理读取资源——这对于在行为到达IDE之前进行验证非常有用。下面的视图显示了已配置演示MCP的工具列表。

MCP Playground

AAuth浏览器

在捕获的流量中观察到的每个代理/任务/资源/签名算法/访问模式的强制知识图。使用 生成样本数据 获取快速演示图,或通过代理捕获真实的AAuth形状的流量。

AAuth Explorer

局部分析

基于离线规则的扫描仪对捕获的流量进行扫描。这 AAuth姿势 该卡总结了签名/aauth感知/承载/无身份验证分布;这 有毒流量(代理流量) 面板根据观察到的结果推断跨服务器配对 tools/list 响应。如果数据包已在数据库中,请使用 从DB回放 (当没有连接活动MCP时),然后 分析 填充结果——下面的视图是在运行之后。

Local Analysis

YARA 检测

相同 局部分析 选项卡:切换到 YARA 检测 对于交通规则引擎——引擎状态,八个预定义规则(切换、编辑、删除),以及 新规则 为了你自己的模式。当原住民 yara 模块未安装,扫描仍使用内置的正则表达式回退运行(请参阅 docs/local-analysis.md).

YARA Detection

新规则 使用启动器模板(meta, strings,以及 condition).编辑规则文本,然后 保存规则 将其作为自定义模式添加到内置组件旁边。

Adding a custom YARA rule

服务器设置

自动检测Cursor/Copyx/Windsurf配置,将其转换为mcp-shark格式,并在启动时修补IDE以通过代理进行路由。

Server Setup

为什么选择mcp鲨鱼?

MCP设置通常将秘密、广泛的工具访问和多个服务器混合在一个代理上下文中;如果不检查配置,很容易错过问题。请参阅 OWASP MCP前10名 以结构化的方式查看可能出错的地方。

mcp-shark在您的机器上运行-没有API密钥或托管扫描后端。安装时使用 npx 并在当地审查调查结果。

有毒物质流动分析

扫描仪模拟MCP服务器的运行方式 在代理上下文中编写 并标记风险能力配对(例如,秘密访问与外部出口相结合):

  ▲ HIGH  notify-server → repo-server
    Untrusted content in one tool’s channel could lead the agent to
    take a destructive action in another (e.g. push code).

  ▲ MEDIUM  browser-server → filesystem-server
    Web-sourced context could be chained into local file operations.

将mcp-shark的发现作为您自己的威胁模型的输入,而不是作为完整的审计。

特性

特性描述
41安全规则OWASP MCP Top 10+代理安全计划+AAuth可见性+一般检查
有毒物质流动分析基于工具能力启发式的跨服务器攻击路径检测
攻击演练逐步利用调查结果中的叙述
鲨鱼得分透明安全态势评分(0-100,A-F)
自动修正--fix 用备份/撤消替换硬编码的秘密,修复权限
工具固定Git可提交 .mcp-shark.lock 使用SHA-256哈希
15 IDE检测Cursor、Claude Desktop、VS Code、Windsurf、Codex、Amp、Kiro等
4种输出格式终端,JSON,SARIF v2.1.0,HTML
健康检查doctor 环境验证命令
服务器清单list 命令显示表中的所有服务器
观看模式配置更改后的实时重新扫描
HTML报告独立的离线安全报告
可下载的规则包规则包注册表 (清单+JSON); update-rules 同步声明性包和有毒流启发式方法——零代码更改
YAML规则通过以下方式按项目自定义规则 .mcp-shark/rules/
GitHub行动CI/CD与SARIF上传集成
交互式TUIlazygit风格的终端UI,用于扫描、修复和服务器浏览
浏览器仪表板实时流量、本地分析、YARA规则、AAuth Explorer、Playground、设置和日志
代理有毒流本地分析面板+ GET/POST /api/security/traffic-toxic-flows* 从捕获的数据中推断跨服务器对 工具/列表 交通(参见 docs/local-analysis.md)
YARA风格的交通规则In 局部分析→ YARA检测,启用或编辑内置模式规则,添加自定义规则,并检查引擎状态(本地YARA可用时,否则正则表达式回退)
本地静态扫描无托管扫描后端; update-rules 在注册表中选择HTTPS

快速开始

# Scan your MCP setup (default command)
npx @mcp-shark/mcp-shark

# Auto-fix issues (with interactive confirmation)
npx @mcp-shark/mcp-shark scan --fix

# See full attack chain narratives
npx @mcp-shark/mcp-shark scan --walkthrough

# Pin tool definitions (lockfile) to spot unexpected changes
npx @mcp-shark/mcp-shark lock

# Check environment health
npx @mcp-shark/mcp-shark doctor

# Show all detected servers
npx @mcp-shark/mcp-shark list

# Download latest rule packs (OWASP, Agentic Security)
npx @mcp-shark/mcp-shark update-rules

# Watch for config changes
npx @mcp-shark/mcp-shark watch

# Interactive terminal UI
npx @mcp-shark/mcp-shark tui

# Generate HTML report
npx @mcp-shark/mcp-shark scan --format html --output report.html

# CI mode (exits 1 on critical/high)
npx @mcp-shark/mcp-shark scan --ci --format sarif

命令

命令描述
scan (默认)使用41条规则运行安全扫描
lock创建 .mcp-shark.lock 文件
lock --verify验证当前状态是否与锁文件匹配
diff显示自上次锁定以来的工具定义更改
doctor运行环境健康检查
list显示所有检测到的服务器的清单(--format json 支持)
update-rules从远程注册表下载最新规则包
watch查看配置文件并重新扫描更改
tui交互式终端UI(lazygit风格)
serve启动本地代理和监控仪表板

CLI标志

scan (默认命令)

标志描述
--fix自动修复问题(交互式确认)
--fix --yes无提示自动修复
--fix --undo从以前的修复程序还原备份
--walkthrough显示完整的攻击链叙述
--ciCI模式:临界/高退出代码1
--format 输出: terminal, json, sarif, html
`--output
`将报告写入文件( html 格式)
--strict将咨询结果计入得分
--ide 仅扫描特定IDE
`--rules
`从目录加载自定义YAML规则
--refresh-rules扫描前从注册表获取规则包(HTTPS;请参阅规则注册表配置)

其他命令

命令标志/注释
list--format terminal--format json
update-rules--source 用于自定义包装清单
serve--open / -o 打开浏览器
lock--verify 检查锁文件是否匹配

如何 scan 作品

CLI scan 命令是 静态:它从IDE配置文件中读取MCP条目(请参阅 支持的IDE 和可选项目 ./mcp.json)并分析 那里写着什么确实如此 连接到正在运行的MCP服务器或调用 tools/list.

  • 始终扫描: 每个服务器块的 command, args, env, url,以及相关字段(机密 env、不安全的生成模式、HTTP URL等)。
  • 工具级别规则 (声明性包、命令注入启发式、工具中的有毒流分类 名字等)仅在该服务器条目包括嵌入式 tools 数组(名称、描述、模式)。如果 tools 省略了——通常用于 command/stdio-只有配置--扫描可能会报告 已检查0个工具 即使Cursor正在正常运行服务器。

要在CI或测试仓库中执行完整的规则覆盖,请将工具元数据嵌入到扫描程序读取的同一JSON中,或使用项目本地 mcp.json 线束(参见 --ide Project).

它涵盖了什么

mcp鲨鱼瞄准 磁盘上已有的配置和元数据 (加上可选的本地监控)。它有助于捕捉常见的错误配置和风险组合;将输出视为您自己审核的输入,而不是保证没有任何错误。

区域注释
安装/运行Node.js 20+; npx @mcp-shark/mcp-shark
安全规则41个检查——30个声明性JSON包,11个JS,启发式需要代码
有毒流分析启发式跨服务器路径;质量取决于嵌入式 tools /分类
攻击演练根据调查结果得出的叙述
自动修复支持部分问题;确认您的仓库中的更改
工具固定.mcp-shark.lock 使用SHA-256哈希
实时流量仪表板(serve)用于监测;与静态分开 scan
自定义规则YAML下 .mcp-shark/rules/ JSON规则包
调查结果和评分确认/建议等级加上鲨鱼评分(0-100,A-F)
IDE配置15个内置路径+项目本地 mcp.json 变体——请参见 支持的IDE
输出终端,JSON,SARIF v2.1.0,HTML
健康doctor 用于环境检查
CIscan --ci 可选
监视配置文件更改时重新扫描
规则更新update-rules (可选HTTPS获取;静态扫描无需它即可工作)

规则可扩展性

可下载的规则包(JSON)

规范 注册表 (清单、包文件、验证CI和模式注释)位于 mcp鲨鱼/规则包npm包嵌入了副本; update-rules 将相同的工件拉入 .mcp-shark/rule-packs/.

mcp-shark附带了30条声明性规则作为JSON包(OWASP mcp、代理安全倡议、通用安全、AAuth可见性),以及 toxic-flow-heuristics 包装(toxic_flow_rules 用于跨服务器组合)。新的漏洞目录可以添加为 .json 文件——没有JavaScript,没有代码更改。

# Fetch latest rule packs from the registry
npx @mcp-shark/mcp-shark update-rules

# Use a custom/enterprise registry
npx @mcp-shark/mcp-shark update-rules --source https://internal.corp/rules/manifest.json

下载的包缓存在 .mcp-shark/rule-packs/ 并在每次扫描时与内置规则合并。

Rule pack JSON schema

{
  "id": "owasp-mcp-2027",
  "name": "OWASP MCP Top 10 (2027)",
  "version": "1.0.0",
  "rules": [
    {
      "id": "MCP01-token-mismanagement",
      "name": "Token Mismanagement",
      "severity": "critical",
      "framework": "OWASP-MCP",
      "description": "Detects hardcoded tokens in MCP configs",
      "patterns": [
        { "regex": "(api[_-]?key|token)\\s*[:=]", "flags": "i", "label": "API key pattern" }
      ],
      "scope": ["tool", "prompt", "resource", "packet"],
      "exclude_patterns": [{ "regex": "\\$\\{|process\\.env" }],
      "match_mode": "any"
    }
  ]
}

自定义YAML规则(每个项目)

创建 .mcp-shark/rules/ 在您的项目中添加轻量级自定义规则:

# .mcp-shark/rules/no-production-keys.yaml
id: custom-no-prod-keys
name: No Production Keys
severity: critical
description: Detects production API keys in MCP configs
match:
  env_pattern: "^(PROD_|PRODUCTION_)"
  value_pattern: "^sk-live|^pk-live"
message: "Production key detected in {key} — use staging keys for development"

YAML规则和JSON包在扫描时都会自动加载。通过提交文件夹与您的团队共享。

用户可重写数据(.mcp-shark/)

每个内置数据源都可以通过项目根目录中的YAML文件进行扩展或覆盖:

文件替换格式
.mcp-shark/secrets.yaml秘密检测模式列表 { name, regex }
.mcp-shark/classifications.yaml服务器/工具功能标签嵌套映射 server: { capability: true }
.mcp-shark/flows.yaml有毒物质流动规则列表 { source_cap, target_cap, risk, ... }
.mcp-shark/rules/*.yaml按项目自定义规则请参阅上面的YAML规则
.mcp-shark/rule-packs/*.json覆盖或添加声明性包请参阅上面的JSON包

用户数据在扫描时与内置数据合并。无需重建。

GitHub行动

# .github/workflows/mcp-security.yml
name: MCP Security Scan
on: [push, pull_request]
jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: mcp-shark/scan-action@v1
        with:
          format: sarif
          fail-on: high
      - uses: github/codeql-action/upload-sarif@v3
        if: always()
        with:
          sarif_file: mcp-shark-results.sarif

支持的IDE

IDE配置路径状态
光标~/.cursor/mcp.json
克劳德桌面~/Library/.../claude_desktop_config.json
克劳德代码~/.claude.json
VS代码~/.vscode/mcp.json
风帆冲浪~/.codeium/windsurf/mcp_config.json
食品法典委员会~/.codex/config.toml
Gemini CLI~/.gemini/settings.json
继续~/.continue/config.json
克莱恩~/.../saoudrizwan.claude-dev/.../cline_mcp_settings.json
放大器~/.amp/mcp.json
基罗~/.kiro/mcp.json
Zed~/.config/zed/settings.json
扩充~/.augment/mcp.json
Roo代码~/.roo-code/mcp.json
项目(当地)./mcp.json, ./.mcp.json, ./.mcp/config.json

安全规则(41)

Full rule list

OWASP MCP前10名

ID规则严重性来源
MCP01令牌管理错误严重声明性
MCP02范围蠕变声明性
MCP03工具中毒严重陈述性
MCP04供应链声明性
MCP05命令注入关键JS插件
MCP06快速注射陈述性
MCP07身份验证不足声明性
MCP08缺乏审核中等声明性
MCP09影子服务器声明性
MCP10上下文注入声明性

机构安全倡议(ASI)

ID规则严重性来源
ASI01目标劫持危急陈述性
ASI02工具误用声明性
ASI03身份滥用陈述性
ASI04供应链声明性
ASI05远程代码执行关键JS插件
ASI06记忆中毒陈述性
ASI07沟通不安全中等陈述性
ASI08级联故障中等声明性
ASI09信任利用声明性
ASI10流氓特工关键声明性

AAuth可见性(信息性)

ID描述严重性
aauth-agent-identity-observedaauth:@ 工具/提示/资源/数据包中的代理标识
aauth-jwks-discovery-urlURL包含 /.well-known/aauth/jwks
aauth-http-message-signature-observedRFC 9421 Signature-Input / Signature 捕获流量中的标头
aauth-mission-context-observedAAuth-Mission 捕获流量中的标头
aauth-requirement-challenge-observedAAuth-Requirement 响应标头(请求AAuth的资源)
aauth-bearer-token-coexists-with-aauth同一数据包同时具有Bearer令牌和AAuth签名中等

通用安全

规则严重性
硬编码的秘密关键
命令注入严重
跨服务器阴影
工具名称不明确中等
DNS重新绑定
ANSI转义序列中等
配置文件权限中等
缺少控制
工具名称重复中等
外壳/环境注入
权限过多
不安全的默认配置中等
路径遍历
敏感数据暴露
运输不安全中等

浏览器仪表板

MCP鲨鱼船 浏览器内仪表板 在本地代理上进行实时MCP流量、分析和探索:

npx @mcp-shark/mcp-shark serve --open

与旧快捷方式相同(否 serve 子命令):

npx @mcp-shark/mcp-shark --open

仪表板提供:

  • 多服务器聚合和实时流量捕获(过滤器、导出、AAuth姿态芯片)
  • MCP游乐场 --通过代理对选定的上游调用工具、提示和资源
  • 局部分析 --对捕获的流量进行OWASP式静态扫描; YARA 检测 用于流量模式规则(安装时为本机引擎,否则为正则表达式回退)
  • AAuth浏览器 --在流量中观察到的代理/任务/资源/签名/访问信号图
  • 智能扫描 -可选的AI支持扫描(需要配置API令牌)
  • In-app API文档、服务器设置、日志和优雅的关闭

零接触式第一双靴子

仪表板在您第一次在新机器上启动时会自动启动——无需单击安装向导:

  1. 如果 ~/.mcp-shark/mcps.json 已经声明上游(例如,来自之前的运行、手动编辑或 testbed:up),代理直接从该配置开始。
  2. 否则,在全新安装时(否 ~/.mcp-shark MCP Shark扫描以寻找真正的编辑器MCP配置(~/.cursor/mcp.json, ~/.codeium/windsurf/mcp_config.json, ~/.codex/config.toml).如果发现一个具有实际上游,它会自动导入它们,写道 ~/.mcp-shark/mcps.json,启动代理,并修补编辑器配置,以便编辑器通过代理路由。
  3. 如果两条路径都不适用,则UI将以仅监视模式启动,设置面板仍可用于手动配置。

要在计算机上重新触发首次启动行为,请删除 ~/.mcp-shark/ 并重新启动UI。

建筑

┌────────────────────────────────────────────────────┐
│  CLI (Commander.js)                                │
│  scan · lock · diff · doctor · list · watch · tui  │
│  update-rules · serve                              │
├──────────────┬──────────────┬──────────────────────┤
│  ConfigScanner│  ScanService  │  StaticRulesService  │
│  15 IDEs      │  orchestrator │  41 rules            │
├──────────────┴──────────────┴──────────────────────┤
│  Data layer (JSON + user YAML/JSON overrides)      │
│  ┌────────────┬──────────────┬───────────────────┐ │
│  │ rule-packs │ secret-      │ tool-             │ │
│  │ (30 rules) │ patterns.json│ classifications   │ │
│  ├────────────┼──────────────┼───────────────────┤ │
│  │ toxic-flow │ rule-        │ .mcp-shark/*.yaml │ │
│  │ rules.json │ sources.json │ (user overrides)  │ │
│  └────────────┴──────────────┴───────────────────┘ │
├────────────────────────────────────────────────────┤
│  JS plugins (11 rules needing algorithmic logic)   │
│  + DeclarativeRuleEngine (30 pattern-based rules)  │
└────────────────────────────────────────────────────┘

设计原则:

  • 数据优先 --声明性规则、秘密模式、工具分类和有毒流默认值以JSON形式提供; 3041 规则是模式包,您可以在不分叉这些定义的情况下扩展或覆盖它们。
  • 用户可重写 --内置数据可以通过以下方式扩展 .mcp-shark/*.yaml (以及JSON包删除),如上所述。
  • 混合规则引擎 --另一个 11 规则是JS插件,启发式需要代码。两个源在扫描时合并。
  • 零配置扫描npx 然后走。自动检测以下IDE路径以及项目本地路径 mcp.json 变体。

文档

需求

  • Node.js:20.0.0或更高
  • 操作系统:macOS、Windows或Linux

许可证

来源可用非商业许可证

  • ✅ 查看、分叉、修改、运行以供个人、教育或公司内部使用
  • ❌ 未经书面许可,销售、转售或整合到付费产品/服务中

许可证 完整条款。

CLI演示

与同一衬垫 快速开始 (默认值 scan).终端输出取决于您的配置:

npx @mcp-shark/mcp-shark

mcp-shark demo

支持

______________________________________________________________________

MCP servers can chain through the agent — mcp-shark surfaces risky combinations in config and traffic.

目录标签

目录标签

安全JavaScriptClaude静态分析AI安全本地部署实时监控本地代理安全扫描

支持客户端

Claude DesktopClaudeCursorWindsurfVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@mcp-shark/mcp-shark

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP