mcpField
F
frame-mcp

frame-mcp

本地服务
github.com/lambdasec安全02 天前更新

关于 frame-mcp

frame-mcp 将 Frame 安全扫描器连接到编码 Agent 和其他 MCP 客户端。它通过 stdio 提供代码扫描、验证漏洞修复、生成修复方案和漏洞分析工具。

主要功能

  1. 01扫描文件和目录中的漏洞
  2. 02重新检查发现项以验证修复
  3. 03生成修复方案并返回差异
  4. 04执行分离逻辑蕴含检查
  5. 05列出并验证扫描器规则包

适用场景

  1. 01在安全审查中扫描代码库
  2. 02检查已报告的漏洞是否修复
  3. 03生成并审阅代码修复方案

MCP 相关

该服务通过 stdio 将 `frame` 命令行程序封装为 MCP 工具,涵盖扫描、验证、修复、规则包操作和分离逻辑求解。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"lambdasec-frame": {
"command": "uvx",
"args": [
"frame-mcp"
],
"env": {
"FRAME_LLM_BASE_URL": "<FRAME_LLM_BASE_URL>",
"FRAME_LLM_API_KEY": "<FRAME_LLM_API_KEY>",
"FRAME_LLM_MODEL": "<FRAME_LLM_MODEL>",
"FRAME_LLM_REPO_ROOT": "<FRAME_LLM_REPO_ROOT>"
}
}
}
}
启动命令uvx frame-mcp
需要配置的环境变量
FRAME_LLM_BASE_URLBase URL of an OpenAI-compatible LLM endpoint for the AI detection, triage, fix and exploit features.
FRAME_LLM_API_KEY密钥API key for the LLM endpoint, when the endpoint requires one.
FRAME_LLM_MODELModel name to request from the LLM endpoint.
FRAME_LLM_REPO_ROOTRepository root the LLM layer resolves relative paths against.

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

安装包
pypiframe-mcp0.1.0

工具

8

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

参数类型必填说明
aiboolean否
pathstring是
rootany否
filesany否
packsany否
fail_onstring否
baselineany否
languageany否
changed_refany否
min_severityany否
no_cross_fileboolean否

详细介绍

frame-mcp

mcp-name: io.github.lambdasec/frame-mcp

一个 MCP 服务,可将 Frame 安全扫描器提供给任何 MCP 客户端使用,让编码 Agent 通过 stdio 扫描代码、验证修复并分析漏洞。

Frame 将污点分析与分离逻辑验证相结合,用于查找数据流漏洞(SQL 注入、命令注入、路径遍历等),并使用求解器检查每条报告路径。此软件包将 frame 命令行程序封装为 MCP 工具。它通过明确的参数列表启动 frame 子进程,不使用 shell,并优先使用安装在当前 Python 解释器旁的 frame 可执行文件。

安装

使用 uvx 直接运行(无需单独安装):

uvx frame-mcp
Claude Code
claude mcp add frame -- uvx frame-mcp
Codex

将以下代码段添加到 ~/.codex/config.toml:

[mcp_servers.frame]
command = "uvx"
args = ["frame-mcp"]
Cursor

创建 .cursor/mcp.json:

{
  "mcpServers": {
    "frame": {
      "command": "uvx",
      "args": ["frame-mcp"]
    }
  }
}
VS Code

创建 .vscode/mcp.json:

{
  "servers": {
    "frame": {
      "type": "stdio",
      "command": "uvx",
      "args": ["frame-mcp"]
    }
  }
}
Windsurf

在 ~/.codeium/windsurf/mcp_config.json 的 mcpServers 键下添加:

{
  "mcpServers": {
    "frame": {
      "command": "uvx",
      "args": ["frame-mcp"]
    }
  }
}
Gemini CLI

在 ~/.gemini/settings.json 的 mcpServers 键下添加:

{
  "mcpServers": {
    "frame": {
      "command": "uvx",
      "args": ["frame-mcp"]
    }
  }
}
Zed

在 Zed 的 settings.json 中 context_servers 下添加:

{
  "context_servers": {
    "frame": {
      "command": {
        "path": "uvx",
        "args": ["frame-mcp"]
      }
    }
  }
}

工具

工具用途只读
scan扫描文件或目录中的漏洞,并以 JSON 格式返回发现结果。是
write_baseline扫描路径并将发现结果记录到基准文件中。否
verify重新扫描先前发现结果涉及的文件,并报告每项问题是否已修复。是
fix为发现的问题生成并验证修复方案。默认返回差异。否
exploit驱动 Agent 利用一个正在运行且已获授权的目标。否
packs_list列出扫描将加载的框架包。是
packs_check验证框架包文件。是
solve检查分离逻辑蕴含式 P |- Q。是

security-review 提示词会依次调用 scan(启用 AI 层)、verify,并提供使用 fix 的选项。

AI 功能和环境变量

scan 工具启用 ai=true 时,以及 fix 和 exploit 工具,都会通过兼容 OpenAI 的端点调用大模型。在启动该服务的 MCP 客户端中配置以下环境变量:

变量用途
FRAME_LLM_BASE_URL大模型端点的基础 URL,例如本地服务或托管 API。
FRAME_LLM_API_KEY端点的 API 密钥(如有要求)。
FRAME_LLM_MODEL要求使用的模型名称。
FRAME_LLM_REPO_ROOT用于解析相对路径的仓库根目录。

这些环境变量会从服务进程的环境中继承,并转发给每个 frame 子进程。普通的 scan(污点分析加验证)无需设置这些变量。

利用授权

exploit 工具会驱动自主 Agent 向目标发送实时流量。仅对你拥有或明确获准测试的系统运行。未经授权测试你不控制的系统可能违法。

许可证

Apache-2.0。参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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