代码敏感数据扫描服务

一个基于Model Context Protocol (MCP)的服务器,用于扫描代码库和项目中的敏感数据和秘密,支持GitLeaks等工具,易于与Cursor和其他MCP客户端集成。

  • by poojanithin
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 poojanithin/sanitizer

使用说明

对MCP服务器进行消毒

一个强大的、可扩展的模型上下文协议(MCP)服务器,用于使用GitLeaks和其他工具扫描代码库和项目中的机密和敏感数据。设计用于与Cursor和其他MCP客户端轻松集成。


特性

  • scanProject:使用GitLeaks异步扫描整个项目的秘密,并进行详细的日志记录。
  • 消毒:清除文本或文件中的敏感数据(个人身份信息、机密等)。
  • readFile/writeFile:通过内置的净化功能保护文件操作。
  • sendToLLM:在消毒后安全地将数据发送给LLM。
  • 异步、即发即弃扫描:无超时,将进度和发现记录到文件中。

快速开始

1.克隆存储库

git clone https://github.com/yourusername/sanitize-mcp.git
cd sanitize-mcp

2.安装Node.js依赖项

npm install

3.安装GitLeaks

  • macOS(Homebrew):
    brew install gitleaks
    
  • Linux/Windows: 从下载最新二进制文件 GitLeaks发布

4.(可选)为消毒工具安装Presidio

如果你想使用Presidio sanitize 工具(需要Python 3):

  • 通过pip安装Presidio:
    pip install presidio-analyzer presidio-anonymizer
    
  • 有关更多详细信息,请参阅 主席团文件.

5.启动MCP服务器

node server.js

6.与Cursor或MCP客户端一起使用

  • 在Cursor或客户端中将服务器添加为MCP服务器。
  • 调用工具,如 scanProject:
    scanProject { "project_path": "/path/to/your/project" }
    
  • 该工具将返回日志文件路径(例如。, /tmp/scanproject-<timestamp>.log).

7.查看扫描日志

tail -f /tmp/scanproject-<timestamp>.log

配置

  • 除外事项: 默认情况下, node_modules, .git, dist,以及 build 被排除在扫描之外。
  • 日志文件: 写信给 /tmp/scanproject-<timestamp>.log 默认情况下。
  • 消毒杀菌剂: 默认情况下启用输入净化。您可能需要针对某些工具调用进行调整。

依赖项

  • Node.js(建议使用v16+)
  • GitLeaks (v8+推荐)
  • (可选)如果使用Python 3和Presidio sanitize 工具

贡献

  1. 分叉仓库并创建分支: git checkout -b feature/your-feature
  2. 提交您的更改: git commit -am 'Add new feature'
  3. 推到分支: git push origin feature/your-feature
  4. 打开拉取请求

许可证

MIT许可证。看 许可证 了解详情。


作者

Pooja Madhavan