安全扫描服务器

Sentinel是一款企业级安全MCP服务器,提供静态和动态应用安全测试、漏洞扫描和合规性检查,适用于集成到开发流程中。

  • by pranjal-lnct
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 pranjal-lnct/Sentinel-MCP-Server

使用说明

哨兵MCP服务器

哨兵 是一个强大的企业级安全MCP(模型上下文协议)服务器,旨在提高可靠性、合规性,并易于与VS Code和Antigravity等IDE集成。

🛡️ 特性

  • 稳健的执行:Docker命令的自动重试、优雅的超时处理和自定义错误报告。
  • 合规就绪:内置支持 CIS基准 通过Trivy进行扫描。
  • 结构化日志记录:所有日志都以JSON格式输出,便于解析和监控。
  • Docker化工具:在隔离的Docker容器中运行所有安全工具,无需安装本地工具。

🧰 包含的工具

工具 功能 Docker镜像
Semgrep SAST(静态分析) returntocorp/semgrep (规则:OWASP前10名、CWE前25名、安全审计)
Trivy SCA与合规 aquasec/trivy
Grype SCA(漏洞扫描) anchore/grype
Gitleaks 秘密扫描 zricethezav/gitleaks
OWASP ZAP DAST(网络扫描) owasp/zap2docker-stable
病毒检测 恶意软件扫描 clamav/clamav
图式假设 API引信 schemathesis/schemathesis:stable
EOL扫描仪 运行时/框架EOL检查 内置(API内置日期)
加密扫描程序 SSL/TLS合规性 drwetter/testssl.sh
AI威胁建模器 条纹分析 内置(LLM驱动+代码上下文+Mermaid DFD)

🚀 入门指南

先决条件

  • 码头工人:必须安装并运行。
  • python:版本3.13或更高版本。

安装

  1. 克隆仓库 (如果适用)或导航到项目目录:

    cd sentinel-mcp-server
    
  2. 创建虚拟环境:

    python3 -m venv .venv
    source .venv/bin/activate
    
  3. 安装依赖项:

    pip install .
    

运行服务器

要手动启动MCP服务器(用于测试):

mcp run python src/sentinel/server.py

手动扫描(CLI)

您还可以使用附带的实用程序脚本直接从终端扫描任何项目目录:

# Scan a specific project directory
python3 scan_project.py /path/to/your/project

# Run only specific scans (e.g., secrets)
python3 scan_project.py /path/to/your/project --type secrets

💻 IDE配置

VS Code

使用Sentinel MCP服务器 在VS Code中添加扩展名,将以下内容添加到MCP设置文件中(通常 ~/Library/Application Support/Code/User/globalStorage/mcp-servers.json):

{
  "mcpServers": {
    "sentinel": {
      "command": "/Users/pranjalsharma/Documents/SourceCode/appsec/sentinel-mcp-server/.venv/bin/python3",
      "args": [
        "/Users/pranjalsharma/Documents/SourceCode/appsec/sentinel-mcp-server/src/sentinel/server.py"
      ],
      "env": {
        "SENTINEL_LOG_LEVEL": "INFO"
      }
    }
  }
}

替换 /ABSOLUTE/PATH/TO/... 带有项目目录的实际完整路径。

⚙️ 配置

您可以使用环境变量配置Sentinel:

变量 描述 默认值
SENTINEL_LOG_LEVEL 日志记录级别(调试、信息、警告、错误) INFO
SENTINEL_DOCKER_TIMEOUT Docker命令超时(秒) 600
SENTINEL_SEMGREP_IMAGE Semgrep的自定义Docker镜像 returntocorp/semgrep
SENTINEL_TRIVY_IMAGE Trivy的自定义Docker镜像 aquasec/trivy
SENTINEL_GRYPE_IMAGE Grype的自定义Docker镜像 anchore/grype
SENTINEL_TESTSSL_IMAGE testssl.sh的自定义Docker镜像 drwetter/testssl.sh
SENTINEL_SCHEMATHESIS_IMAGE Schemathesis的自定义Docker镜像 schemathesis/schemathesis:stable
SENTINEL_LLM_API_KEY 人工智能威胁建模的API密钥(例如,OpenAI) None (回到启发式)
SENTINEL_LLM_MODEL 要使用的LLM模型 gpt-4o

🏗️ 项目结构

src/sentinel/
├── core/           # Core logic (logging, exceptions, config)
├── services/       # Business logic (scanners, compliance)
├── tools/          # Tool execution (Docker runner)
└── server.py       # Main MCP entry point