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

Laraguard MCP

MCP Server

Laraguard MCP是一个基于TypeScript的独立安全审计服务器,专为Laravel项目设计,提供静态代码扫描、依赖漏洞检测、配置审计等功能。

工具数

8

提示词数

0

GitHub Stars

2

资源数

0
安全审计TypeScriptClaude静态分析Claude DesktopClaudeCursorVS Code

安装说明

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

作者 / 组织

ecr17dev

提供方

ecr17dev

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

Laraguard MCP

Laravel项目的安全审计MCP服务器——使用TypeScript和stdio传输构建。

![License: MIT](./LICENSE) ](https://nodejs.org/) ![TypeScript](https://www.typescriptlang.org/) ![MCP SDK](https://github.com/modelcontextprotocol/sdk) ](./package.json)

______________________________________________________________________

概述

Laraguard MCP 是一个独立的 模型上下文协议(MCP) 对Laravel项目执行安全审计的服务器。它是用纯TypeScript实现的,使用官方 @modelcontextprotocol/sdk 并通过以下方式进行通信 标准,使其与任何支持MCP的IDE或客户端(Cursor、Claude Desktop、VS Code MCP扩展等)原生兼容。

服务器将Laravel项目分析为 外部目标 --它不需要Laravel运行。它返回按严重性分类的结构化JSON结果,涵盖配置问题、风险代码模式和依赖卫生。

______________________________________________________________________

特性

  • 🔍 静态代码扫描 --超过15条规则,涵盖SQL注入、RCE、硬编码凭据、弱加密、大规模分配和LFI
  • 🎭 Blade XSS扫描仪 --检测未扫描 {!! !!} 模板中的输出和原始输入渲染
  • 🛣️ 路由和中间件审计 -标记不带身份验证的管理路由、不带身份证明的API路由:制裁、不带节流的登录路由和CSRF异常
  • 📦 依赖CVE提要 --查询 OSV.dev API适用于所有实际CVE composer.lock 包裹
  • ⚙️ 配置审核 --检查 .env (调试、APP_KEY、APP_ENV、安全Cookie)以及 config/cors.php
  • 🗂️ 项目元数据 --阅读 composer.json 识别Laravel和PHP版本约束
  • 💥 主动攻击模拟 --对正在运行的应用程序启动HTTP探测(SQL注入、XSS、CSRF、身份验证旁路、速率限制)
  • 🔒 路径遍历预防 --对所有文件操作严格执行allowlist
  • ✂️ 秘密编辑 --敏感值在到达MCP客户端之前在文本输出中被屏蔽
  • 🚀 stdio传输 --零配置网络;适用于任何支持MCP的IDE

______________________________________________________________________

MCP工具

服务器暴露 8工具。所有静态工具都接受一个 path 参数。 attack_simulate 另外需要a baseUrl.

工具输入描述
project_infopath从返回元数据 composer.json:项目名称、Laravel/PHP版本约束、引擎信息。
dependency_auditpath解析 composer.lock 和查询 OSV.dev 对于具有严重性和修复版本的真实CVE。
config_auditpath检查 .env (调试、APP_KEY、APP_ENV、会话Cookie)和 config/cors.php (通配符来源)。
code_scanpath所有PHP文件中有15个以上的静态模式规则——凭据、弱加密、大规模分配、RCE、LFI、SQL注入。
blade_scanpath扫描 resources/views/ 用于无缩放输出的刀片模板({!! !!})以及XSS倾向模式。
route_auditpath审核路由文件和中间件是否缺少身份验证、节流阀和CSRF异常通配符。
attack_simulatepath + baseUrl对正在运行的应用程序启动6个实时HTTP探测:SQL注入、XSS、CSRF、身份验证旁路、速率限制、错误披露。
full_auditpath跑步 dependency_audit + config_audit + code_scan + blade_scan + route_audit 同时,返回一份合并报告。

代码扫描——检测到的模式

模式严重性查找类型
->whereRaw(SQL_INJECTION
DB::raw(中等RAW_SQL_USAGE
unserialize(关键UNSAFE_UNSERIALIZE
shell_exec( / exec( / system( / passthru(关键RCE_RISK
eval(关键EVAL_USAGE
password = 'literal'关键HARDCODED_PASSWORD
api_key = 'literal'关键HARDCODED_API_KEY
长硬编码令牌/秘密HARDCODED_SECRET
md5(WEAK_HASH_MD5
sha1(中等WEAK_HASH_SHA1
protected $guarded = []MASS_ASSIGNMENT_UNGUARDED
file_get_contents($request…)关键PATH_TRAVERSAL_RISK
include/require($request…)关键LFI_RISK

审核报告架构

每个工具都返回一个结构化的JSON报告:

{
  "summary": {
    "critical": 0,
    "high": 1,
    "medium": 2,
    "low": 0,
    "info": 1
  },
  "findings": [
    {
      "severity": "high",
      "type": "SQL_INJECTION",
      "title": "Potential SQL injection via whereRaw",
      "file": "app/Http/Controllers/UserController.php",
      "line": 42,
      "evidence": "->whereRaw('email = ' . $email)",
      "recommendation": "Avoid raw SQL with user input. Use parameter binding/query builder."
    }
  ],
  "metadata": {
    "scannedPath": "/absolute/path/to/laravel-project",
    "engine": "Laraguard MCP",
    "version": "3.0.0",
    "timestamp": "2025-01-01T00:00:00.000Z",
    "durationMs": 312
  }
}

______________________________________________________________________

建筑

src/
├── index.ts      — MCP server bootstrap and tool registration
├── config.ts     — Environment variable loading and validation
├── security.ts   — Path allowlist enforcement and secret redaction
├── files.ts      — Safe file enumeration and reading
├── tools.ts      — Audit tool implementations
├── reports.ts    — Report aggregation and severity summarization
└── types.ts      — Domain types (Finding, AuditReport, Severity, etc.)

运行时堆栈:

组件技术
运行时Node.js 20+
语言TypeScript 5.x
协议模型上下文协议(MCP)
运输stdio
模式验证Zod
MCP-SDK@modelcontextprotocol/sdk

______________________________________________________________________

需求

  • Node.js 20或以上
  • npm 10或更高

验证您的环境:

node -v
npm -v

______________________________________________________________________

安装

克隆存储库并安装依赖项:

git clone https://github.com/ecr17dev/Laraguard-MCP.git
cd "Laraguard MCP"
npm install

______________________________________________________________________

配置

复制示例环境文件并对其进行自定义:

cp .env.example .env

环境变量

变量默认值描述
MCP_BASE_PATH--项目扫描允许的单个根路径。
MCP_BASE_PATHS--以逗号分隔的允许根路径列表。 优先 超过 MCP_BASE_PATH.
MCP_MAX_FILES5000每次扫描可枚举的最大文件数。
MCP_MAX_FILE_SIZE_BYTES300000每个文件要读取的最大文件大小(以字节为单位)。
MCP_TIMEOUT_SECONDS30审核操作的逻辑超时。
优先级顺序: MCP_BASE_PATHSMCP_BASE_PATH → 当前工作目录。

示例 .env

# Allow scanning two project roots
MCP_BASE_PATHS="/Users/yourname/projects/my-laravel-app,/srv/workspaces/api"

# Scan limits
MCP_MAX_FILES=5000
MCP_MAX_FILE_SIZE_BYTES=300000
MCP_TIMEOUT_SECONDS=30

______________________________________________________________________

发展

可用脚本

命令描述
npm run dev使用以下命令直接从TypeScript源运行MCP服务器 tsx (建议开发)
npm run build将TypeScript编译为 dist/
npm run start从运行编译后的服务器 dist/index.js
npm run check类型检查项目而不发出输出

以开发模式运行

npm run dev

生产大楼

npm run check   # Validate types first
npm run build   # Emit to dist/
npm run start   # Run compiled output

______________________________________________________________________

与MCP客户端集成

通用MCP配置(JSON)

将以下内容添加到MCP客户端的配置文件中,将路径替换为安装的绝对路径:

{
  "mcpServers": {
    "laraguard": {
      "command": "node",
      "args": ["/absolute/path/to/Laraguard MCP/dist/index.js"],
      "env": {
        "MCP_BASE_PATHS": "/absolute/path/to/your-laravel-project"
      }
    }
  }
}

使用开发模式(tsx)

如果你喜欢不先构建就运行:

{
  "mcpServers": {
    "laraguard": {
      "command": "npx",
      "args": ["tsx", "/absolute/path/to/Laraguard MCP/src/index.ts"],
      "env": {
        "MCP_BASE_PATHS": "/absolute/path/to/your-laravel-project"
      }
    }
  }
}

光标IDE

打开 设置→ MCP 并粘贴上面的JSON块。Cursor将在下次重新加载时检测服务器。

克劳德桌面版

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)并添加 laraguard 进入下 mcpServers.

______________________________________________________________________

工具使用参考

project_info

{ "path": "/absolute/path/to/laravel-project" }

返回基本的项目元数据,而不执行任何安全检查。使用它来确认目标是一个有效的Laravel项目,并在审计前检查框架和PHP版本约束。

______________________________________________________________________

dependency_audit

{ "path": "/absolute/path/to/laravel-project" }

解析 composer.lock,提取所有锁定的包名称和版本,并查询 OSV.dev 批API 对于已知的CVE。每个漏洞都会以查找结果的形式返回:

  • CVE/GHSA标识符和摘要
  • 严重程度(根据CVSS评分绘制)
  • 受影响的软件包版本和建议的修复版本
  • 直接链接到咨询页面

______________________________________________________________________

config_audit

{ "path": "/absolute/path/to/laravel-project" }
检查文件严重性
APP_DEBUG=true.env
APP_ENV=local.env中等
APP_KEY= (空).env关键
SESSION_SECURE_COOKIE=false.env中等
通配符CORS来源('*')config/cors.php中等

______________________________________________________________________

code_scan

{ "path": "/absolute/path/to/laravel-project" }

对所有PHP文件执行逐行静态分析。返回每个匹配的结果,包括文件路径、行号和证据片段。请参阅 代码扫描——检测到的模式 上表显示了完整的规则集。

______________________________________________________________________

blade_scan

{ "path": "/absolute/path/to/laravel-project" }

扫描全部 .blade.php 文件下 resources/views/ 对于易发生XSS的输出模式:

检查严重性
{!! $variable !!} --未转义变量
{!! request( !!} / {!! old( !!} --原始用户输入关键
echo $_GET / echo $_POST 刀片式PHP块

______________________________________________________________________

route_audit

{ "path": "/absolute/path/to/laravel-project" }

倒像 routes/web.php, routes/api.php,以及 app/Http/Middleware/VerifyCsrfToken.php:

检查文件严重性
无管理员/仪表板路由 auth 中间件routes/web.php关键
API路线,无 auth:sanctum / auth:apiroutes/api.php
登录/注册路线无 throttle 中间件路由文件中等
通配符模式 VerifyCsrfToken::$exceptVerifyCsrfToken.php

______________________________________________________________________

attack_simulate

{
  "path": "/absolute/path/to/laravel-project",
  "baseUrl": "http://localhost:8000"
}
⚠️ 仅用于本地或临时环境。永远不要违背生产。

对正在运行的应用程序启动6个实时HTTP探测:

探测方法和终点它测试什么
error_disclosureGET /__invalid_route__框架/堆栈跟踪信息泄漏
sql_injection_loginPOST /login 带有SQLi有效负载登录表单中的SQL注入
reflected_xssGET /search?q=…在搜索/查询参数中反映XSS
csrf_not_enforcedPOST /login 没有CSRF令牌CSRF令牌强制(需要HTTP 419)
auth_bypassGET /api/user 无身份验证头对受保护的API的未经身份验证的访问
rate_limit10倍快速 POST /login暴力速率限制(预期HTTP 429)

该报告包括 probes 元数据数组,其中包含每个探测器的状态代码、持续时间和触发状态。

______________________________________________________________________

full_audit

{ "path": "/absolute/path/to/laravel-project" }

dependency_audit, config_audit, code_scan, blade_scan,以及 route_audit 并行 并将所有调查结果合并为一份综合报告。元数据包括每节摘要。

______________________________________________________________________

安全设计

Laraguard MCP实施了以下控制,以确保即使在处理不受信任的项目路径时也能安全运行:

  • 严格的路径分配 --所有文件访问都经过验证 MCP_BASE_PATHS / MCP_BASE_PATH;路径遍历尝试会立即被拒绝。
  • 文件计数限制 --可配置上限(MCP_MAX_FILES)防止大型monorepos上的枚举失控。
  • 文件大小限制 --可配置上限(MCP_MAX_FILE_SIZE_BYTES)防止二进制文件或生成的文件耗尽内存。
  • 目录和扩展排除vendor/, node_modules/, .git/,并且从扫描中排除二进制文件类型。
  • 秘密编辑 --敏感值(密码、令牌、密钥)在返回给MCP客户端之前,会在文本输出中被屏蔽。
  • 攻击模拟警卫attack_simulate 始终只针对明确提供的对象 baseUrl;不进行自动发现或生产检测。

______________________________________________________________________

重要说明

  • Laraguard MCP分析Laravel项目 作为外部审计师 --Laravel应用程序本身不需要为静态工具运行。
  • attack_simulate 需要 要运行的应用程序不应以生产为目标。
  • 服务器是 在传输级别与框架无关:任何支持MCP stdio的客户端都可以使用它。
  • 所有发现都是信息性的。始终将自动扫描与手动代码审查和专用DAST/SAST工具(OWASP ZAP、Burp Suite)相结合,用于生产安全评估。

______________________________________________________________________

许可证

该项目根据 MIT许可证。参见 许可证 了解详情。

目录标签

目录标签

安全审计TypeScriptClaude静态分析本地部署漏洞检测Laravel工具代码扫描

支持客户端

Claude DesktopClaudeCursorVS Code

接入字段

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

未说明

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

session

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明sessionlocal-only

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP