LoRexxar/Kunlun-M
⭐ 2,384 · Python · GitHub 仓库
KunLun-M 是一款完全开源的静态白盒扫描工具,支持对 PHP 和 JavaScript 进行语义级扫描,并支持通过 AI Agent(如 OpenClaw、Codex、Claude Code、Hermes 等)实现一键接入。
一句话总结
一款面向PHP/JS的开源SAST工具,凭借独特的AI Agent集成能力,实现自动化漏洞发现。
🔥 核心能力与独特卖点
- PHP与JavaScript语义分析: 超越正则匹配,对PHP和JavaScript代码进行深度、上下文感知的扫描。这解决了传统SAST工具误报率高的关键痛点,让安全研究人员能够聚焦于真实漏洞。
- 一键式AI Agent集成: 独特支持OpenClaw、Codex、Claude Code和Hermes,实现扫描工作流的全自动化。这消除了手动运行和分类扫描结果的繁琐操作,实现了“即抛式”安全审计,并利用LLM推理能力进行更深层次的分析。
- CI/CD就绪,支持退出码: 包含专用的
ci_scan.py驱动,输出JSON并使用退出码来控制构建流程。这解决了DevSecOps中,将安全扫描集成到自动化流水线时,需要脆弱地解析CLI输出的痛点。 - 专业化插件生态: 提供诸如自动化PHP反序列化链查找器和**入口点查找器(EntranceFinder)**等专用插件,用于映射大型代码库的攻击面。这些插件解决了通用SAST工具忽视的、小众但关键的安全研究痛点。
- 交互式控制台与Web仪表盘: 同时提供功能齐全的交互式控制台模式和带有REST API的Web仪表盘,用于任务管理。这解决了在终端和图形界面之间切换的工作流痛点,兼顾了高级用户和团队协作的需求。
独特卖点: 将针对两种最易受攻击的Web语言(PHP/JS)的语义扫描与原生AI Agent编排相结合,使Kunlun-M成为连接传统静态分析与现代LLM驱动安全自动化之间的独特桥梁。

技术架构
| 组件 | 技术/详情 |
|---|---|
| 核心语言 | Python 3.10+ (推荐 3.13+) |
| 数据库 | SQLite (默认,本地/控制台模式);MySQL (可配置,Web模式) |
| 扫描引擎 | 基于规则的语义分析;规则以Python文件形式存储 (rules/{language}/CVI_xxxx.py) |
| 用户界面 | CLI (直接命令),控制台 (交互式TUI),Web仪表盘 (Flask/REST API) |
| AI集成层 | 基于插件的技能系统,支持OpenClaw、Codex、Claude Code、Hermes |
| CI/CD模块 | 独立的Python脚本 (tools/ci_scan.py),支持退出码门控 |
| 插件系统 | 用于专门任务的模块化Python插件 (例如,反序列化、入口点查找) |
快速入门指南
bash
# 1. 安装依赖
pip install -r requirements.txt
# 2. 复制并配置设置
cp Kunlun_M/settings.py.bak Kunlun_M/settings.py
# 3. 初始化数据库并加载规则
python kunlun.py init initialize
python kunlun.py config load
# 4. 对测试目标运行基本扫描
python3 kunlun.py scan -t ./tests/vulnerabilities/
# 5. 以多种格式导出结果
python3 kunlun.py scan -t ./tests/vulnerabilities/ -f json -o /tmp/report.json
python3 kunlun.py scan -t ./tests/vulnerabilities/ -f md -o /tmp/report.md
python3 kunlun.py scan -t ./tests/vulnerabilities/ -f html -o /tmp/report.html
# 6. 以CI/CD模式运行 (高危发现时失败)
python tools/ci_scan.py --target . --output artifacts/kunlun-ci.json --fail-on high
# 7. 启动Web仪表盘
python3 kunlun.py web -p 9999
# 8. 进入交互式控制台模式
python3 kunlun.py console
# 9. 使用专用插件
python3 .\kunlun.py plugin php_unserialize_chain_tools -t {target_path}
python3 .\kunlun.py plugin entrance_finder -t {target_path} -l 3优点、缺点与用例
优点
- 积极维护,提交历史长,表明项目稳定且持续演进。
- 高精度语义扫描,与简单的基于模式的工具相比,减少了噪音。
- 独特的AI Agent集成,自动化了整个分析流水线,这在开源SAST中极为罕见。
- 丰富的输出生态 (JSON, Markdown, HTML) 和专用的CI/CD驱动,使其对流水线友好。
- 专用插件 (反序列化链查找器) 为安全研究人员提供了高级能力。
缺点
- 语言支持有限: 主要是PHP和JavaScript;对Chrome扩展和Solidity仅有基础支持。不适合多语言代码库。
- 手动规则重载: 修改规则后需要显式执行命令 (
config load),可能会拖慢迭代式规则开发。 - 自承哲学: 项目声明其“不如现代商业工具先进”,暗示其可能缺乏前沿的污点分析或过程间分析深度。
- Python依赖: 需要Python 3.10+和特定的环境设置,可能与现有工具链冲突。
谁不应该使用此工具?
- 扫描Java、C#、Go或Python代码库的团队: Kunlun-M的核心优势在于PHP和JavaScript,对其他语言毫无价值。
- 寻求“一劳永逸”式企业级SAST的用户: 该项目承认其不如商业替代方案先进;需要跨大型单体仓库进行深度过程间分析的团队应另寻他法。
- 对手动配置感到头疼的开发者: 初始设置(复制设置、初始化数据库、加载规则)需要几个手动步骤,可能会让期望一键安装的用户感到沮丧。
理想用例
- PHP/JavaScript安全审计: 渗透测试人员和安全研究人员对Web应用进行深度源代码审查。
- PHP/JS项目的DevSecOps: 团队希望使用轻量级、开源的SAST来门控CI/CD流水线,并生成机器可读的输出。
- AI增强的漏洞研究: 安全工程师尝试使用LLM驱动的分析(OpenClaw、Claude Code)来自动发现反序列化链等复杂漏洞。
- 漏洞赏金猎人: 寻找免费、强大工具,以最少误报快速扫描PHP和JS目标的猎人。
社区与活跃度
Kunlun-M 是一个成熟的项目,拥有 2,384 颗星标,表明其拥有强大的社区兴趣和认可。该项目积极维护,最后更新记录于 2026年5月9日,展现了持续开发的承诺。这不是一个已死或被遗弃的工具;它有一条清晰的改进轨迹和一位专注的维护者。出色的星标数量与近期的提交相结合,使其成为您安全工具链中的可靠选择。