mcpField
C
code-guard-mcp

code-guard-mcp

本地服务
github.com/mlawsonking安全1今天更新

关于 code-guard-mcp

code-guard-mcp 是面向编码 Agent 的 MCP 服务,可检查代码片段和差异中的常见安全问题。其确定性逐行规则适合快速初筛,但不等同于完整静态分析。

主要功能

  1. 01扫描注入、SSRF、密钥和加密问题
  2. 02扫描统一差异中的新增行
  3. 03返回判定、发现项和修复建议
  4. 04列出可用规则

适用场景

  1. 01运行或提交生成代码前进行检查
  2. 02在提交工作流中审查新增行

MCP 相关

向 MCP 客户端提供 `scan_code`、`scan_diff` 和 `list_rules`。编码 Agent 可提交代码或差异并获取安全发现项。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"mlawsonking-code-guard": {
"command": "npx",
"args": [
"-y",
"@mlawsonking/code-guard-mcp"
]
}
}
}
启动命令npx -y @mlawsonking/code-guard-mcp

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

安装包
npm@mlawsonking/code-guard-mcp1.3.0

工具

3

收录的工具列表 · 更新于 2 周前

参数类型必填说明
codestring是要扫描的源代码。
languagestring否python、javascript、typescript。省略时自动检测。

详细介绍

code-guard-mcp

一个用于扫描代码安全漏洞的 MCP 服务。编码 Agent 会在提交或运行刚生成的代码或差异前调用它。基于规则,不使用大模型,免费。

现在超过一半的新代码由 AI 辅助编写,其中相当一部分都带有常见问题:注入、硬编码密钥、禁用 TLS 检查、不安全的反序列化。这个工具可以一次调用捕获常见问题。请将其视为快速初筛,而非真正安全审查的替代方案。

安装

将其添加到 MCP 客户端配置中(Claude Desktop、Cursor、Claude Code 等):

{ "mcpServers": { "code-guard": { "command": "npx", "args": ["-y", "@mlawsonking/code-guard-mcp"] } } }

工具

  • scan_code:扫描代码片段。返回判定结果(通过、需要审查或拦截)以及一组发现项,每项都包含规则、类别、严重程度、行号和建议的修复方法。覆盖命令注入、代码注入和 SQL 注入、SSRF、硬编码密钥和 API 密钥、弱加密、不安全的反序列化(pickle、yaml)、禁用 TLS 验证、XSS 或模板注入,以及留在源代码中的个人数据(电子邮件、美国 SSN、银行卡号)。
  • scan_diff:执行相同的扫描,但只扫描统一差异中新增的行,并正确计算新文件的行号。适用于提交循环。它只读取新增行,因此不会发现跨越新增行和未修改行的模式。
  • list_rules:完整的规则目录,供你查看它检查和不检查的内容。共 32 项:31 条代码规则,另有一条分组的 hardcoded-* 规则,涵盖 22 种凭据模式和 3 种个人数据模式。

语言

JS/TS 和 Python。仅支持这两种语言。11 条规则适用于 JS/TS,14 条适用于 Python,6 条与语言无关。没有 Go、Ruby、PHP、Java 或 Rust 规则集。如果提供的 language 值无法识别,就会忽略该值,改为从源码中判断语言,并返回三种结果之一:js、py 或 unknown。具体结果取决于文件中碰巧包含的内容。import java.util.List; 会被识别为 Python,含有 const 行的 Go 文件会被识别为 JavaScript,只有 func 和 import "fmt" 的 Go 文件则会被识别为 unknown。unknown 会对每一行运行全部 31 条规则,因此可以捕获更多问题,也会将更多非漏洞内容标记出来。

不支持的功能

31 条代码规则都是逐行匹配的正则表达式。没有解析器、数据流分析或污点追踪,因此它不属于 SAST 工具所说的静态分析。它读取的是文本。db.query("SELECT ... " + id) 如果写在一行就会被捕获,一旦拆成两行就无法发现。某一行中的 DES 会触发弱密码规则,无论它出现在注释还是变量名中。hardcoded-* 模式是例外:它们会扫描整个源码,因此多行私钥块也能被捕获。通过仅表示没有规则匹配,不代表代码就是安全的。

规则更新

该服务大约每天会查询一次规则源,检查是否有更新的规则集,如果有就应用更新。请求会携带两项信息:发起请求的界面(此处为 facade)以及已安装的规则版本。不包含机器 ID、用户 ID、文件名,也不包含任何扫描内容。

规则包使用 Ed25519 签名,并通过编译到此软件包中的公钥进行验证,因此由哪个镜像提供规则包并不重要。如果规则包未通过签名、架构或 ReDoS 检查,就会被丢弃,现有规则会保持不变。--offline 会关闭更新;设置 AGENT_GUARDS_NO_FEED=1 或在 ~/.agent-guards/config.json 中设置 {"feed": false} 也会关闭更新。规则包格式以及自行验证的方法:https://github.com/mlawsonking/MCP/blob/main/rules/README.md

相同的输入始终会产生相同的输出。它会调用 https://code-guard-api.vercel.app 上的 API(设置 CODE_GUARD_API 可将其指向你自己的副本)。这是此仓库中的六个 Agent 防护工具之一:package-guard、agent-firewall、payment-guard、email-guard、code-guard 和 web-tools。MIT。

评论

支持 Markdown

第一次接触 MCP?

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

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