项目简介
这是一个基于 Model Context Protocol (MCP) 的静态应用安全测试 (SAST) 服务器,通过自然语言命令让开发者能够直接在 AI 助手中执行全面的安全分析。
主要功能
- 代码安全分析:支持 Semgrep、Bandit、ESLint Security、Gosec、Brakeman 等工具
- 密钥检测:集成 TruffleHog、Gitleaks 等工具发现泄露的密钥
- 依赖检查:支持 Safety、npm audit、OWASP Dependency-Check 等
- 基础设施即代码扫描:提供 Checkov、tfsec、Trivy 等工具
- Kali Linux 工具集:包含 Nikto、Nmap、SQLMap、WPScan 等专业安全工具
- TOON 格式优化:自动将扫描结果转换为 Token-Oriented Object Notation 格式,相比 JSON 可减少 30-60% 的令牌使用
- 跨平台支持:自动处理 Windows 到 Linux 的路径映射
- 后台任务处理:所有扫描在后台异步执行,支持作业管理和进度跟踪
安装步骤
-
克隆仓库
git clone https://github.com/Sengtocxoen/sast-mcp.git cd sast-mcp -
安装依赖
pip install -r requirements.txt -
配置服务器(在 Kali Linux 上)
# 完整功能服务器 python3 server/sast_server.py --port 6000 # 或使用轻量版(依赖更少) python3 server/simple_sast_server.py --port 6000 -
配置 Claude Code(在 Windows 上) 将以下配置添加到 '.claude.json' 文件中:
{ "mcpServers": { "sast_tools": { "command": "python", "args": [ "客户端脚本路径", "--server", "http://你的Kali服务器IP:6000" } } }重要参数说明:
- 'command': 设置为 "python"
- 'args':
- 第一个参数:客户端脚本的完整路径(如:C:/projects/sast-mcp/client/sast_mcp_client.py"
- '--server': 指定 Kali Linux 服务器的 IP 地址和端口
- '客户端脚本路径':替换为 'sast_mcp_client.py' 的实际路径
- 'Kali服务器IP':替换为 Kali Linux 机器的实际 IP 地址
- '端口6000':如果服务器配置了不同端口,请相应修改
基本使用方法
在 Claude Code 中通过 '@sast_tools' 调用安全工具:
- "扫描 Python 代码漏洞:@sast_tools 使用 Bandit 扫描 F:/work/MyProject/backend,只显示高风险问题"
- "使用 Semgrep 和 OWASP Top 10 规则扫描 F:/work/MyProject"
- "检测 Git 仓库中的密钥:@sast_tools 用 TruffleHog 扫描 F:/work/MyProject"
信息
分类
开发者工具