Token导航 LogoToken导航TokenDH.com
MCP Security Linter logo
AI代理stdio官方级别未说明来源级核验

MCP Security Linter

MCP Server

mcp-security-linter@1.4.2

MCP-SecLint 是一个用于检测 Model Context Protocol (MCP) 服务器实现中的安全漏洞的静态分析工具,支持 JavaScript 和 TypeScript 代码。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
静态分析JavaScriptTypeScriptOAuth认证

安装说明

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

作者 / 组织

fonCki

提供方

fonCki

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

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

命令预览

npx mcp-security-linter@1.4.2 .

详细介绍

MCP安全窃听器

](https://www.npmjs.com/package/mcp-security-linter) ](https://www.npmjs.com/package/mcp-security-linter) ![License: MIT](https://opensource.org/licenses/MIT)

MCP SecLint是一个静态分析工具,用于检测模型上下文协议(MCP)服务器实现中的安全漏洞。

概述

MCP SecLint使用静态分析技术(包括污染跟踪和中间件模式匹配)检测JavaScript和TypeScript MCP服务器实现中的安全漏洞。检测规则针对MCP安全研究中确定的漏洞模式和官方 MCP安全最佳实践.

纸张再现性

IWSPA 2026论文评估了MCP SecLint版本 v1.4.2。要复制用于论文生态系统扫描的精确工件,请运行:

npx mcp-security-linter@1.4.2 .

完整的生态系统分析表见 docs/生态系统分析结果.md.电流 master 可能包括纸后维护修复,因此请使用标记 v1.4.2 在复制纸张结果时释放。

解析器架构

该论文(第4.3节,图2,参考文献\[20\])描述了基于 橡子 解析器,第7.3节中有一个明显的限制,即复杂的TypeScript文件可能无法通过AST解析。自 v1.6.0 此后,这被实现为保留原始JS管道的混合体:

  • .js, .cjs, .mjs 文件解析如下 橡子,与论文中记录的架构相匹配。
  • .ts, .tsx, .mts, .cts,以及 .jsx 文件解析如下 @typescript-eslint/typescript-estree,它关闭了§7.3的限制,同时保持JS路径不变。

两个解析器都发射出一个共享步行者穿过的ESTree形状的AST。

特性

目前已实施

  1. 危险指令执行检测

- 技术:递归Taint分析 - 发现:通过Node.js进程API进行命令注入, eval, new Function, vm.runInContext, execa,以及 $ 模板标记来自 zx. - 能力:跟踪不受信任的输入(process.env,MCP参数,函数参数)通过变量赋值、别名、字符串连接和模板文字。 - 安全:忽略安全的硬编码命令(例如。, exec('ls -la')).

  1. 令牌通过检测

- 技术:迭代污染分析(定点) - 发现:传递给日志记录功能或外部网络请求的敏感数据(API密钥、机密)。 - 能力:通过复杂的数据流跟踪秘密,包括对象/数组包装和三元运算符。 - 范围:尊重变量范围和阴影。

  1. 未经身份验证的端点检测

- 技术:中间件堆栈模拟 - 发现:API端点在没有身份验证中间件的情况下暴露。 - 能力:理解 app.use() 顺序、路由器安装层次结构和特定于路由的中间件。

计划分析仪

计划对未来的版本进行以下检查:

  1. OAuth卫生检查器

- *目标*:确保正确处理OAuth令牌和作用域。

  1. 参数验证

- *目标*:使用前验证所有用户输入是否经过验证。

______________________________________________________________________

安装

来自NPM(推荐)

全局安装以在任何地方使用CLI:

npm install -g mcp-security-linter

或者将其作为开发依赖项添加到您的项目中:

npm install --save-dev mcp-security-linter

然后运行:

mcp-lint .                              # Scan current directory
mcp-lint src/ --format json             # Scan src/ with JSON output
mcp-lint --config custom-config.json    # Use custom config

作为GitHub行动

步骤1:创建工作流目录

在您的存储库中,创建目录结构(如果不存在):

mkdir -p .github/workflows

步骤2:创建工作流文件

创建一个新文件 .github/workflows/mcp-security.yml (你可以给它起任何以结尾的名字 .yml):

name: MCP-SecLint Security Check

on: [push, pull_request]

jobs:
  security-lint:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      security-events: write   # required to upload SARIF to GitHub Code Scanning
    steps:
      - uses: actions/checkout@v4
      - uses: fonCki/mcp-security-linter@v1.6.0
        id: lint
        with:
          path: '.'
          fail-on-warnings: true
      - name: Upload SARIF
        if: always()
        uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: ${{ steps.lint.outputs.sarif-file }}
          category: mcp-security
备注:SARIF上传到GitHub代码扫描需要公共存储库或在私有存储库上启用GitHub高级安全。没有它,操作仍然会运行并将结果作为工作流注释报告,但SARIF上传步骤将失败。

第三步:承诺并推动

git add .github/workflows/mcp-security.yml
git commit -m "Add MCP-SecLint security workflow"
git push

现在,该操作将在每次推送和拉取请求时自动运行!

对于贡献者

如果你想为发展做出贡献:

git clone https://github.com/fonCki/mcp-security-linter.git
cd mcp-security-linter
npm install

需要Node.js 20.19.0或更高版本。

贡献.md 发展指南。

用法

命令行界面

# From the project directory
node src/cli.js                           # Analyze current directory
node src/cli.js src/                      # Analyze specific path
node src/cli.js --format sarif --output results.sarif  # SARIF output
node src/cli.js --config .mcp-lint.json   # Use custom config

CLI退出并显示状态代码 1 当发现存在时,无论输出格式如何。

配置

v1.1.0版本+ 引入了高级配置选项。看 配置.md 完整的指南。

创建 .mcp-lint.json (可选):

{
  "command-exec": {
    "enabled": true,
    "severity": "error"
  },
  "token-passthrough": {
    "enabled": true,
    "severity": "warning"
  }
}

高级配置(v1.1.0+):

  • 自定义JavaScript/TypeScript文件扩展名
  • 自定义测试模式
  • 自定义排除模式
  • 分析仪特定的覆盖

配置.md 例如示例和详细文档。

发展

# Install dependencies
npm install

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

团队

该项目是DTU 02234课程“网络安全研究课题”的一部分。

有关详细的团队信息、贡献和联系方式,请参阅 TEAM.md.

团队成员:

  • 梅丽莎·萨法里(s224818)——DTU计算
  • 康(e1122217)-新加坡国立大学
  • 阿方索·佩德罗·里多(243942)——DTU计算机
  • 尼古拉·德拉戈尼——DTU计算(顾问)

许可证

麻省理工学院-参见 许可证 详细信息文件

目录标签

目录标签

静态分析JavaScriptTypeScriptOAuth认证本地部署安全漏洞检测MCP协议

接入字段

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

stdio

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

oauth

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

mcp-security-linter@1.4.2

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiooauth部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP