# PeekABoo **Repository Path**: echo0d/peek-aboo ## Basic Information - **Project Name**: PeekABoo - **Description**: PeekABoo 是一个用 C# 开发的工具,旨在扫描代码库中的敏感信息,规则还不多 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-15 - **Last Updated**: 2025-04-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PeekABoo - 敏感信息扫描工具 PeekABoo 是一个用 C# 开发的工具,旨在扫描代码库中的敏感信息,如密码、私钥、令牌和其他可能的敏感数据模式。 ## 功能特点 - **基于模式的扫描**:使用正则表达式识别敏感信息 - **多文件格式支持**:扫描各种文件类型,支持自定义扩展名 - **二进制文件检测**:自动跳过二进制文件 - **Git 集成**:可以只扫描 Git 仓库中已更改的文件 - **自定义规则**:从配置文件加载自定义扫描模式 - **多种报告格式**:生成 JSON 或 HTML 格式的报告 ## 快速开始 ### 前提条件 - .NET 9.0 SDK 或更高版本 ### 安装 1. 克隆仓库 2. 构建项目: ```sh dotnet build ``` ### 使用方法 运行应用程序以扫描当前目录中的所有 .cs 文件: ```sh dotnet run ``` ## 配置 ### 模式 敏感信息模式定义在 patterns.json 文件中。默认模式包括: - AWS 访问密钥 - 密码 - 私钥 - Bearer 令牌 - 电子邮件地址 - 社会安全号码 您可以自定义此文件以添加自己的模式。 ### 忽略文件 在根目录创建一个 `.peekignore` 文件,指定要从扫描中排除的路径或文件。 ## 组件 - SensitiveInfoScanner:核心扫描器,将模式与文件内容进行匹配 - FileScanner:处理文件发现和过滤 - GitIntegration:与 Git 集成,只扫描已更改的文件 - FileEncodingDetector:检测二进制文件并处理文件编码 - ReportGenerator:以不同格式生成扫描报告 ## 许可证 本项目采用 MIT 许可证。 ## 致谢 - [Newtonsoft.Json](https://www.newtonsoft.com/json) 用于 JSON 序列化