项目简介

这是一个基于 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 的路径映射
  • 后台任务处理:所有扫描在后台异步执行,支持作业管理和进度跟踪

安装步骤

  1. 克隆仓库

    git clone https://github.com/Sengtocxoen/sast-mcp.git
    cd sast-mcp
  2. 安装依赖

    pip install -r requirements.txt
  3. 配置服务器(在 Kali Linux 上)

    # 完整功能服务器
    python3 server/sast_server.py --port 6000
    
    # 或使用轻量版(依赖更少)
    python3 server/simple_sast_server.py --port 6000
  4. 配置 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"

信息

分类

开发者工具