code-audit-mcp

code-audit-mcp

Enables automated security code auditing using LLM and MCP, including AST parsing, taint analysis, dataflow tracing, and automated PoC generation for multi-language codebases.

Category
访问服务器

README

Code Audit MCP Server

基于大语言模型(LLM)与模型上下文协议(MCP)的自动化代码审计工具。

功能特性

  • 代码语义解析:AST解析、类型推导、污点标记
  • 调用链追踪:跨文件/跨模块的数据流追踪
  • 漏洞验证:自动生成PoC并执行验证
  • 多语言支持:PHP、Python、Java、JavaScript/TypeScript

快速开始

环境要求

  • Node.js >= 18.0
  • TypeScript >= 5.0
  • Cursor / Windsurf(支持MCP的IDE)

安装

git clone https://github.com/kkk1259/code-audit-mcp.git
cd code-audit-mcp
npm install
npm run build

配置

在Cursor中配置MCP Server:

// .cursor/mcp.json
{
  "mcpServers": {
    "code-audit": {
      "command": "node",
      "args": ["./dist/server.js"],
      "env": {
        "PROJECT_ROOT": "/path/to/your/project"
      }
    }
  }
}

使用示例

SQL注入审计

用户: 请审计这个项目的SQL注入漏洞

AI: 我将使用MCP工具进行系统性审计。
    首先,识别所有用户输入源和SQL执行点...

反序列化漏洞挖掘

用户: 检查是否存在反序列化漏洞

AI: 我将分析项目中的unserialize调用,并追踪POP链...

工具列表

工具名 功能 参数
parse_ast 解析源码AST file: 文件路径
find_callers 查找函数调用者 funcName: 函数名, maxDepth: 最大深度
trace_dataflow 追踪数据流 source: 源, sink: 汇
generate_poc 生成漏洞PoC vulnType: 漏洞类型, params: 参数

项目结构

code-audit-mcp/
├── src/
│   ├── server.ts          # MCP Server入口
│   ├── tools/
│   │   ├── parser.ts      # AST解析
│   │   ├── callgraph.ts   # 调用链追踪
│   │   ├── verifier.ts    # 漏洞验证
│   │   └── poc.ts         # PoC生成
│   ├── rules/
│   │   ├── php.json       # PHP安全规则
│   │   ├── python.json    # Python安全规则
│   │   └── java.json      # Java安全规则
│   └── utils/
│       ├── taint.ts       # 污点分析
│       └── sanitizer.ts   # 过滤函数识别
├── prompts/
│   ├── audit-system.md    # 系统Prompt
│   └── vuln-types/        # 各漏洞类型Prompt
├── tests/
├── package.json
└── README.md

最佳实践

✅ 做

  • 分模块审计,不要一次喂入整个项目
  • 先跑静态工具获取可疑点,再用AI深入分析
  • 为每个漏洞类型准备专用Prompt
  • 审计前先让AI了解项目结构(入口、路由、数据库)
  • 人工复核AI报告,特别是"高危"发现
  • 保存审计历史,用于Prompt迭代优化

❌ 不要做

  • 不要盲目信任AI报告,误报不可避免
  • 不要在Prompt中描述过于复杂的审计逻辑
  • 不要跳过漏洞验证环节
  • 不要在敏感项目中使用云端API(用本地模型)
  • 不要忽略业务逻辑漏洞(AI对此较弱)

效果预期

漏洞类型 召回率 准确率
注入类漏洞 80%+ 75%+
反序列化 POP链发现能力超过人工 -
逻辑漏洞 仍需人工审计为主 -

整体效率:提升3-5倍(含人工复核时间)

开源协议

MIT License

相关文章

贡献

欢迎提交Issue和PR!

联系方式

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选