Security Scanner Mcp

Security Scanner Mcp

🚀 安全扫描器MCP服务器

这是一个用于代码仓库的全面安全扫描工具,以MCP(模型上下文协议)服务器的形式提供服务。该工具可帮助开发者识别代码库中的安全漏洞、暴露的机密信息、依赖项问题和配置问题。

✨ 主要特性

  • 机密信息检测:扫描暴露的API密钥、密码、令牌和其他敏感信息。
  • 漏洞分析:识别代码中常见的安全漏洞。
  • 依赖项审计:检查是否存在过时或有漏洞的依赖项。
  • Git安全:分析.gitignore文件和git历史记录中的安全问题。
  • 实时扫描:在提交代码前检查内容是否包含机密信息。
  • 安全最佳实践:提供可操作的安全建议。

📦 安装指南

使用以下命令全局安装:

npm install -g @rupeshpanwar/security-scanner-mcp

或者使用npx临时使用:

npx @rupeshpanwar/security-scanner-mcp

💻 使用示例

CLI使用(v1.1.0版本新增)

该软件包现在包含一个独立的CLI工具,可直接在命令行进行扫描:

# 扫描一个目录并输出摘要报告
security-scan scan /path/to/project

# 扫描并输出详细报告
security-scan scan /path/to/project --format detailed

# 扫描特定类别
security-scan scan /path/to/project --categories secrets vulnerabilities

# 以JSON格式输出
security-scan scan /path/to/project --format json

# 将报告保存到文件
security-scan scan /path/to/project --format detailed > security-report.txt

CLI选项:

  • --format :输出格式(summary|detailed|json),默认值:summary。
  • --categories :要扫描的特定类别(secrets|vulnerabilities|dependencies|gitignore|git-history),默认值:全部。

与Claude桌面版配合使用

将服务器添加到Claude桌面版配置中:

macOS

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json

{
"mcpServers": {
"security-scanner": {
"command": "npx",
"args": ["@rupeshpanwar/security-scanner-mcp"]
}
}
}

Windows

编辑 %APPDATA%\Claude\claude_desktop_config.json

{
"mcpServers": {
"security-scanner": {
"command": "npx",
"args": ["@rupeshpanwar/security-scanner-mcp"]
}
}
}

可用工具

1. scan_repository

对仓库进行全面的安全扫描。 参数:

  • path(必需):要扫描的仓库路径。
  • outputFormat(可选):输出格式 - "summary"、"detailed" 或 "json"(默认值:"summary")。
  • categories(可选):要扫描的特定类别(默认值:全部)。
    • "secrets":API密钥、密码、令牌。
    • "vulnerabilities":代码漏洞。
    • "dependencies":依赖项问题。
    • "gitignore":.gitignore分析。
    • "git-history":git历史记录扫描。 示例:
扫描 /path/to/repo 仓库中的所有安全问题

2. check_secret

检查一段内容是否包含潜在的机密信息或敏感信息。 参数:

  • content(必需):要检查机密信息的内容。
  • fileType(可选):用于上下文感知扫描的文件类型/扩展名。 示例:
检查此配置文件是否包含机密信息:AWS_ACCESS_KEY=AKIA1234567890ABCDEF

3. check_gitignore

分析.gitignore文件是否缺少安全规则。 参数:

  • path(必需):仓库路径。
  • patterns(可选):要检查的其他规则。 示例:
检查 /path/to/repo 中的.gitignore文件是否包含所有推荐的安全规则

4. get_security_tips

获取特定主题的安全最佳实践和建议。 参数:

  • topic(必需):安全主题。
    • "secrets":机密信息管理最佳实践。
    • "gitignore":.gitignore建议。
    • "dependencies":依赖项安全。
    • "docker":Docker安全。
    • "ci-cd":CI/CD安全。
    • "general":通用安全建议。 示例:
给我一些关于机密信息管理的安全建议

🔧 检测到的安全规则

机密信息

  • AWS访问密钥和秘密密钥
  • API密钥(OpenAI、Google、GitHub等)
  • 私钥(SSH、SSL证书)
  • 数据库连接字符串
  • OAuth令牌
  • JWT令牌
  • 还有很多...

漏洞

  • SQL注入风险
  • 命令注入风险
  • 硬编码的IP地址和凭证
  • 弱加密使用
  • 不安全的反序列化
  • 生产环境中的调试代码
  • 不安全的随机数生成

配置问题

  • 缺少.gitignore规则
  • 暴露的配置文件
  • 临时文件使用
  • 未使用TLS的HTTP

示例工作流程

  1. 初始仓库扫描
    扫描 ./my-project 仓库并显示详细报告
    
  2. 提交代码前检查
    检查此配置文件是否包含任何机密信息:
    [粘贴你的配置内容]
    
  3. 修复.gitignore问题
    检查我的.gitignore文件,告诉我缺少哪些安全规则
    
  4. 获取安全建议
    给我一些在代码库中管理机密信息的最佳实践
    

输出格式

摘要格式

快速概览,按严重程度显示问题数量。

详细格式

完整列出所有发现的问题,包括:

  • 问题描述
  • 文件位置和行号
  • 严重程度
  • 修复建议

JSON格式

机器可读格式,可与其他工具集成。

📚 详细文档

最佳实践

  1. 定期扫描:集成到CI/CD管道中。
  2. 优先修复关键问题:立即处理高严重程度和关键的问题。
  3. 更新.gitignore:确保排除所有敏感文件规则。
  4. 轮换暴露的机密信息:如果发现任何机密信息,立即进行轮换。
  5. 保持依赖项更新:定期更新依赖项可减少漏洞。

贡献

欢迎贡献代码!请随时提交拉取请求。

📄 许可证

MIT

致谢

该工具是在发现生产代码中暴露的凭证后创建的。其目的是通过提供主动扫描和安全最佳实践教育,帮助开发者预防类似的安全事件。

  • 0 关注
  • 0 收藏,12 浏览
  • system 提出于 2025-09-30 08:54

相似服务问题