关于 Joern MCP
Joern MCP 是面向 AI Agent 和大模型的 MCP 服务,通过 Joern Code Property Graph 分析代码库,支持结构与数据流查询、程序切片和漏洞研究,涵盖多种语言与代码格式。
主要功能
- 01从仓库、路径或代码片段构建 CPG
- 02执行 CPGQL 查询
- 03追踪数据流与污点
- 04切片程序并查找漏洞
- 05支持多种语言和代码格式
适用场景
- 01检查调用图和代码结构
- 02追踪污点数据路径
- 03调查潜在漏洞
MCP 相关
它向 MCP 客户端提供 Joern CPG 分析能力,包括查询、数据流追踪、程序切片和漏洞分析。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://0.0.0.0:4242/mcpclaude mcp add --transport http joern https://0.0.0.0:4242/mcp{"mcpServers":{"joern":{"type":"http","url":"https://0.0.0.0:4242/mcp"}}}在 Cursor 中打开{"servers":{"joern":{"type":"http","url":"https://0.0.0.0:4242/mcp"}}}在 VS Code 中打开{"mcpServers":{"joern":{"type":"http","url":"https://0.0.0.0:4242/mcp"}}}{"mcpServers":{"joern":{"serverUrl":"https://0.0.0.0:4242/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
🦡 codebadger
codebadger 是一个容器化的 Model Context Protocol (MCP) 服务,通过 Joern 代码属性图(CPG),让 AI Agent 和大模型能够深入查询代码库的结构与数据流。
将 Git 仓库、本地路径甚至粘贴的代码片段交给它,codebadger 就会构建 CPG,并通过 MCP 暴露出来——这样助手就能运行 CPGQL 查询、追踪数据流和污点、切片程序,并在 Java、C/C++、JavaScript、Python、Go、Kotlin、C#、Ghidra、Jimple、PHP、Ruby 和 Swift 项目中搜寻漏洞。
它是通用基础工具,既适用于程序分析(理解代码结构、调用图和数据流),也适用于漏洞分析(污点追踪、漏洞搜寻和 PoC 开发)——可用于学术研究,也适用于行业安全和工程工作。它专为扩展到大型分析批次而构建,支持按 CPG 配置工作线程池、基于内存感知的调度,以及 Postgres/Redis 后端。
新闻
codebadger 及其论文《Bridging Code Property Graphs and Language Models for Program Analysis》已被 ICSE 2026 软件漏洞管理研讨会接收。🎉
文档
开发者或安全研究人员所需的一切内容都在 docs/ 中:
| 文档 | 内容 |
|---|---|
| 安装 | 前置要求和 5 分钟本地设置。 |
| 使用 | 连接 MCP 客户端、工具目录和研究人员工作流。 |
| LLM 工作流指南 | 为 Agent 推荐的有界工具调用顺序。 |
| 可用工具 | 按类别列出所有 MCP 工具,并说明每个工具的功能。 |
| 配置 | config.yaml / 环境变量参考、遥测。 |
| 部署 | Postgres/Redis、内存配置、shared 与 pool、大型批次。 |
| 架构 | 系统设计和图示。 |
| 安全 | 威胁模型、信任边界和生产环境加固。 |
| 自定义工具 | 添加自己的检测器。 |
| 贡献 | 开发环境设置、测试和指南。 |
| 路线图 | 已发布的功能和后续计划。 |
使用 codebadger 发现了漏洞?
欢迎告知我们——提交 PR,将其添加到 TROPHIES.md(CVE ID、项目、一句话描述、日期)。
引用
@inproceedings{lekssays2026bridging,
title={Bridging Code Property Graphs and Language Models for Program Analysis},
author={Lekssays, Ahmed},
booktitle={Proceedings of the 2026 IEEE/ACM 4th International Workshop on Software Vulnerability Management},
pages={33--40},
year={2026}
}
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。