Skip to content

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驱动安全自动化之间的独特桥梁。

Architecture

技术架构

组件技术/详情
核心语言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日,展现了持续开发的承诺。这不是一个已死或被遗弃的工具;它有一条清晰的改进轨迹和一位专注的维护者。出色的星标数量与近期的提交相结合,使其成为您安全工具链中的可靠选择

热点项目数据来自 GitHub API,实时更新