跳到主要内容

外部安全工具

了解与 Security Scanner MCP 集成的业界标准工具。

概述

在 Docker 沙箱模式下运行时,Security Scanner MCP 利用三个强大的外部工具来增强检测能力:

  • Trivy - 容器和 IaC 漏洞扫描工具
  • Checkov - 基础设施即代码安全分析
  • GitLeaks - 包含熵分析的密钥检测

Trivy

关于

  • 版本:0.50.4
  • 开发者:Aqua Security
  • 许可证:Apache 2.0
  • 网站https://trivy.dev

功能

容器扫描

  • OS 包漏洞
  • 应用依赖项
  • 已知 CVE

IaC 扫描

  • Dockerfile 配置错误
  • Kubernetes 清单
  • Terraform/CloudFormation

功能

  • 综合 CVE 数据库
  • 快速扫描(秒级)
  • 多种输出格式
  • 离线支持

集成

使用 scan-in-sandbox 时,Trivy 自动为 IaC 文件运行:

我:在沙箱中扫描此 Dockerfile

FROM node:latest
ENV SECRET="abc123"

结果包括带有以下内容的 Trivy 发现:

  • CVE 标识符
  • CVSS 分数
  • 修复版本
  • 参考资料

配置

自定义 Trivy 扫描:

# 严重程度过滤
docker run security-scanner-mcp trivy --severity HIGH,CRITICAL

# 跳过未修复的漏洞
docker run security-scanner-mcp trivy --ignore-unfixed

Checkov

关于

功能

支持的框架

  • Terraform
  • CloudFormation
  • Kubernetes
  • Dockerfile
  • Azure ARM 模板
  • Helm 图表

策略覆盖

  • 1000+ 内置策略
  • CIS 基准
  • PCI-DSS
  • HIPAA
  • SOC 2

功能

  • 基于图形的扫描
  • 自定义策略支持
  • 修复建议
  • 抑制注释

集成

Checkov 自动扫描 IaC 文件:

我:检查此 Terraform 文件

resource "aws_s3_bucket" "data" {
bucket = "my-data"
# 缺少加密
}

结果包括:

  • 策略 ID(CKV_AWS_*)
  • 指南链接
  • 修复建议
  • 合规性映射

自定义策略

添加自定义 Checkov 策略:

# custom_policy.py
from checkov.common.models.enums import CheckResult

class CustomCheck(BaseResourceCheck):
def scan_resource_conf(self, conf):
# 您的自定义逻辑
return CheckResult.PASSED

GitLeaks

关于

功能

检测方法

  • 正则表达式模式
  • 熵分析
  • Shannon 熵
  • 文件路径扫描

支持的密钥

  • API 密钥(1000+ 服务)
  • 私钥
  • 令牌和密码
  • 连接字符串
  • 云凭证

功能

  • 低误报率
  • 快速扫描
  • 自定义规则支持
  • JSON/SARIF 输出

集成

GitLeaks 增强密钥检测:

// 我们的内置扫描工具检测模式
const apiKey = "AIzaSyC123...";

// GitLeaks 添加:
// - 熵分数(4.2)
// - 规则 ID(google-api-key)
// - 置信度级别(高)

自定义规则

添加自定义 GitLeaks 规则:

# .gitleaks.toml
[[rules]]
id = "custom-api-key"
description = "Custom API Key"
regex = '''custom_[0-9a-zA-Z]{32}'''
tags = ["api", "custom"]

性能比较

工具速度准确性覆盖面
内置扫描工具⚡⚡⚡ 非常快⭐⭐⭐ 好⭐⭐ 中等
GitLeaks⚡⚡ 快⭐⭐⭐⭐ 优秀⭐⭐⭐ 广泛
Trivy⚡⚡ 快⭐⭐⭐⭐ 优秀⭐⭐⭐⭐ 综合
Checkov⚡ 中等⭐⭐⭐⭐ 优秀⭐⭐⭐⭐ 综合

最佳实践

何时使用外部工具

对以下情况使用沙箱 + 外部工具

  • 生产代码审查
  • 部署前扫描
  • 合规性要求
  • 未知/不受信任的代码

对以下情况使用内置扫描工具

  • 快速开发检查
  • IDE 集成
  • 立即反馈
  • 离线扫描

优化提示

  1. 缓存 Docker 镜像:拉取一次,多次使用
  2. 并行扫描:同时运行工具
  3. 过滤结果:专注于高/严重严重程度
  4. 定期更新:每月添加新规则和 CVE

安全考虑

所有外部工具在隔离的 Docker 容器中运行,具有:

  • ✅ 只读文件系统
  • ✅ 无网络访问
  • ✅ 有限的 CPU/内存
  • ✅ 无新特权
  • ✅ 已删除的能力

更新

检查版本

docker run security-scanner-mcp sh -c "
trivy --version
gitleaks version
checkov --version
"

更新工具

# 拉取包含更新工具的最新镜像
docker pull ongjin/security-scanner-mcp:latest

工具输出示例

Trivy 输出

{
"Type": "dockerfile",
"ID": "CIS-DI-0001",
"Title": "Create a user for the container",
"Severity": "HIGH",
"Resolution": "Add USER instruction"
}

Checkov 输出

{
"check_id": "CKV_AWS_18",
"check_name": "Ensure S3 bucket has server-side encryption",
"severity": "HIGH",
"guideline": "https://..."
}

GitLeaks 输出

{
"Description": "Google API Key",
"RuleID": "google-api-key",
"Entropy": 4.2,
"Match": "AIza...abc",
"Secret": "AIzaSyC1234567890abcdef"
}

下一步