pasmud/secretops-sentinel

GitHub: pasmud/secretops-sentinel

一款本地优先的密钥扫描与管理工具,帮助开发团队检测、脱敏、跟踪和轮换代码仓库中泄露的敏感凭证,并提供完整的事件响应工作流。

Stars: 1 | Forks: 0

# SecretOps Sentinel 用于本地仓库的密钥扫描、脱敏、轮换工作流以及 pre-commit 辅助工具。 ## 功能 - **仓库扫描**:使用 Gitleaks(或演示模式)扫描本地 git 仓库以查找密钥 - **发现面板**:查看已脱敏的发现项,包括严重程度、类型、文件位置和工作流状态 - **工作流状态**:跟踪发现项的状态流转:检测到 → 已确认 → 已吊销 → 已轮换 → 历史已清理 → 已关闭 - **轮换清单**:针对不同密钥类型(AWS、GitHub、Stripe、OpenAI 等)的逐步轮换指南 - **白名单建议**:从误报中自动生成 `.gitleaks.toml` 白名单条目 - **Pre-Commit Hook 指南**:针对特定平台的 Gitleaks pre-commit hook 设置说明 - **事件报告**:导出包含发现项、时间线和修复建议的 Markdown 事件报告 ## 安全性 - **绝不显示完整的密钥值** - 密钥会进行脱敏处理,仅显示前 4 位 + 后 4 位字符 - **绝不存储完整密钥** - 数据库仅包含脱敏/部分值 - **绝不向外部发送发现结果** - 所有数据均保留在本地 - **演示示例使用明显的假密钥** - 全部以 `FAKE_TEST_ONLY_` 为前缀 ## 快速开始 ### 前置条件 - Node.js 18+ - Gitleaks(可选,用于实际扫描 - 从 [gitleaks.io](https://gitleaks.io) 下载) ### 安装说明 ``` git clone https://github.com/yourusername/secretops-sentinel.git cd secretops-sentinel npm install npm run db:generate --prefix server npm run db:push --prefix server ``` ### 运行开发环境 ``` npm run dev ``` 这将启动: - 前端:http://localhost:42000 - 后端 API:http://localhost:42001 ### Docker ``` docker compose up --build ``` ## 使用说明 1. 打开 http://localhost:42000 2. 输入本地仓库路径并点击 **Scan**,或点击 **Scan Demo Fixture** 3. 在 **Dashboard** 中查看发现项 4. 点击发现项查看详情并管理其工作流状态 5. 使用 **Rotation** 标签页查看修复清单 6. 使用 **Allowlist** 管理误报 7. 使用 **Reports** 导出事件报告 8. 使用 **Pre-Commit** 获取 hook 设置说明 ## 测试 ``` # 单元测试和集成测试 npm test # E2E 测试 npm run test:e2e ``` ## 架构 - **前端**:React、Vite、TypeScript、Tailwind CSS - **后端**:Node.js、Express、TypeScript - **数据库**:通过 Prisma ORM 使用 SQLite - **测试**:Vitest(单元测试)、Playwright(E2E) - **容器**:Docker 与 docker-compose ## 许可证 MIT ## 警告 仅扫描您拥有或被授权测试的系统、代码、API 和基础设施。
标签:DevSecOps, Gitleaks, GNU通用公共许可证, MITM代理, Node.js, StruQ, 上游代理, 代码安全, 漏洞枚举, 特征检测, 自动化攻击, 请求拦截