KO
|
EN
gitlite — search
Search
#javascript
#python
#hacktoberfest
#react
#ai
#typescript
#llm
#go
#golang
#android
#machine-learning
#rust
#deep-learning
#linux
PrivacyCheckGo
★ 25
Open GitHub ↗
Privacy Check Go
Download README (.md)
Explore Similar Repositories
smk-37-pro-docs
:
Documentation repository for M-Vave SMK 37 Pro
Windows-XAML-Styles
:
Custom Windows XAML styles for Windhawk's various XAML styler mods for Windows 11
open-translate
:
A browser plugin that retains only the core translation function. Click to translate and then view the page. That's all.
community-use
:
Paid Workflows: Free for Community Use
claude-code-review
:
No description available.
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
PrivacyCheckGo
?
Download (.md)
# PrivacyCheckGo 高性能静态代码敏感信息检测工具,完全兼容HAE规则格式。 ## 项目简介 PrivacyCheckGo 是一个高性能的静态代码审计工具,专门用于从源代码、网页源码、小程序源码等文本文件中提取敏感信息和隐私数据。本项目完全兼容HAE(HaE - Highlighter and Extractor)规则格式,并在性能和功能上进行了全面优化。 ## 免责声明 继续阅读文章或使用工具视为您已同意《 NOVASEC免责声明》: [NOVASEC免责声明](https://mp.weixin.qq.com/s/iRWRVxkYu7Fx5unxA34I7g) ## 主要特性 ### 核心组件 1. **规则系统(baserule)**:GoRE和Regex2正则引擎, 实现HAE兼容的规则加载、验证和过滤 2. **扫描引擎(scanner)**:多线程扫描调度、规则匹配和结果收集 - **智能缓存**:智能缓存管理,支持断点续扫 3. **文件处理(fileutils)**:文件发现、编码检测、分块读取 4. **输出处理(output)**:结果格式化、过滤和多格式输出 5. **日志系统(logging)**:结构化日志记录和多级别输出 ### 🚀 **高性能** - **多线程并发扫描**:充分利用多核CPU,显著提升扫描速度 - **内存优化**:支持大文件分块处理,降低内存占用 - **智能缓存**:支持断点续扫,避免重复分析大型项目 - **跨平台支持**:原生支持Windows和Linux平台 ### 🔍 **强大的检测能力** - **兼容HAE规则**:直接复用现有HAE规则,无需转换 - **多引擎支持**:使用regex2包处理HAE的Java规则,默认使用Go RE处理正则 - **多种敏感信息检测**: - 个人信息:邮箱、身份证号、手机号等 - 系统信息:内网IP、MAC地址、文件路径等 - 敏感信息:API密钥、密码字段、云服务密钥等 - **灵活的规则过滤**:支持按规则组、规则名称、敏感级别过滤 - **智能编码检测**:自动识别文件编码(UTF-8、GBK、GB2312等) - **忽略大小写匹配**:默认忽略大小写的正则匹配,提升检测效果 ### 📊 **丰富的输出选项** - **多种输出格式**:支持JSON和CSV格式 - **灵活的结果分组**:可按规则组分别输出到不同文件 - **自定义输出字段**:仅输出需要的字段 - **结果过滤**:支持黑名单关键字过滤 - **格式化选项**:自动清理结果中的特殊字符 ## 快速开始 ### 编译要求 - Go 1.20+(已测试兼容Go 1.20) - 无CGO依赖,支持交叉编译 ### 安装 #### 方式一:下载预编译二进制文件 从[Releases页面](../../releases)下载对应平台的二进制文件: - Windows x64: `privacycheck-windows-x64.exe` - Linux x64: `privacycheck-linux-x64` #### 方式二:从源码编译 ```bash # 克隆项目 git clone https://github.com/winezer0/PrivacyCheckGo.git cd PrivacyCheckGo # Windows用户 build-win.bat # Linux用户 ./build-linux.bat ``` ## 命令行参数 ### 基础参数 | 参数 | 描述 | 默认值 | 必需 | |------|------|--------|------| | `-p, --project-path` | 待扫描的目标文件或目录 | - | ✅ | | `-r, --rules` | 规则文件路径 | config.yaml | ❌ | | `-n, --project-name` | 项目名称,影响输出文件名和缓存文件名 | - | ❌ | ### 测试规则 | 参数 | 描述 | 默认值 | 必需 | |------|------|--------|------| | `--test` | 运行规则测试模式,生成测试报告 | - | ❌ | ### 性能参数 | 参数 | 描述 | 默认值 | 必需 | |------|------|--------|------| | `-w, --workers` | 工作线程数量 | 8 | ❌ | | `-s, --save-cache` | 启用缓存功能 | - | ❌ | | `--ls` | 文件大小限制,单位MB(0表示无限制) | 5 | ❌ | | `--lc` | 分块读取阈值,单位MB(0表示禁用) | 5 | ❌ | ### 过滤参数 | 参数 | 描述 | 默认值 | 必需 | |------|------|--------|------| | `--ee` | 排除的文件扩展名列表 | - | ❌ | | `--ep` | 排除的路径关键字列表 | - | ❌ | | `-S, --sensitive-only` | 仅检测敏感信息 | - | ❌ | | `-N, --filter-names` | 按规则名称过滤 | - | ❌ | | `-G, --filter-groups` | 按规则组过滤 | - | ❌ | ### 输出参数 | 参数 | 描述 | 默认值 | 必需 | |------|------|--------|------| | `-o, --output-file` | 输出文件路径 | - | ❌ | | `-f, --output-format` | 输出格式(json/csv) | json | ❌ | | `-g, --output-group` | 按规则组分别输出 | - | ❌ | | `-O, --output-keys` | 指定输出字段 | - | ❌ | | `-F, --format-results` | 格式化输出结果 | 启用 | ❌ | | `-b, --block-matches` | 黑名单关键字过滤 | - | ❌ | ### 日志参数 | 参数 | 描述 | 默认值 | 必需 | |--------|------|--------|------| | `--ll` | 日志级别 | info | ❌ | | `--lf` | 日志文件路径 | - | ❌ | | `--cf` | 控制台日志格式 | - | ❌ | ## 功能更新记录 ### v0.2.x (2026-02-11) - ✅ **规则测试模式**:新增 `--test` 参数,支持运行规则测试并生成详细的中文测试报告 - ✅ **规则引擎增强**:为所有规则添加 `engine` 字段,支持指定正则引擎 - ✅ **SampleCode 支持**:为规则添加 `sample_code` 字段,支持规则自测试 - ✅ **报告生成优化**:生成详细的中文测试报告,包含测试配置、结果摘要、错误分析等 - ✅ **正则表达式修复**:修复了多个规则的正则表达式,确保正确匹配 - ✅ **代码模块化**:将报告生成逻辑从主程序中分离,提高代码可维护性 ### v0.1.x (2026-02-10) - ✅ **多线程并发扫描**:充分利用多核CPU,显著提升扫描速度 - ✅ **内存优化**:支持大文件分块处理,降低内存占用 - ✅ **智能缓存**:支持断点续扫,避免重复分析大型项目 - ✅ **跨平台支持**:原生支持Windows和Linux平台 - ✅ **兼容HAE规则**:直接复用现有HAE规则,无需转换 - ✅ **多引擎支持**:使用regex2包处理HAE的Java规则,默认使用Go RE处理正则 - ✅ **多种敏感信息检测**:个人信息、系统信息、敏感信息等 - ✅ **灵活的规则过滤**:支持按规则组、规则名称、敏感级别过滤 - ✅ **智能编码检测**:自动识别文件编码(UTF-8、GBK、GB2312等) - ✅ **忽略大小写匹配**:默认忽略大小写的正则匹配,提升检测效果 - ✅ **多种输出格式**:支持JSON和CSV格式 - ✅ **灵活的结果分组**:可按规则组分别输出到不同文件 - ✅ **自定义输出字段**:仅输出需要的字段 - ✅ **结果过滤**:支持黑名单关键字过滤 - ✅ **格式化选项**:自动清理结果中的特殊字符 - ✅ **智能配置管理**:配置文件不存在时自动生成默认配置 - ✅ **实时进度显示**:扫描过程中实时显示进度和预计剩余时间 - ✅ **详细日志记录**:支持多级别日志和文件输出 ## 配置文件格式 PrivacyCheckGo 完全兼容HAE规则格式。 配置文件示例: ```yaml rules: - group: Sensitive Information rule: - name: Cloud Key loaded: true f_regex: (((access)(|-|_)(key)(|-|_)(id|secret))|(LTAI[a-z0-9]{12,20})) sensitive: true context_left: 50 context_right: 50 engine: nfa sample_code: "access_key_id=AKIAIOSFODNN7EXAMPLE secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" ``` ### 规则参数说明 | 参数 | 描述 | 必需 | 默认值 | |------|------|------|--------| | `name` | 规则名称 | ✅ | - | | `f_regex` | 正则表达式模式 | ✅ | - | | `engine` | 规则匹配引擎(支持go和java,当使用hae规则时,nfa和dfa会自动转为java) | ❌ | nfa | | `sensitive` | 是否为敏感信息 | ❌ | false | | `loaded` | 是否启用规则 | ❌ | true | | `context_left` | 向左扩展的上下文字符数 | ❌ | 0 | | `context_right` | 向右扩展的上下文字符数 | ❌ | 0 | | `sample_code` | 用于测试正则的示例代码 | ❌ | - | ### 重要说明 - **忽略大小写匹配**:所有正则表达式模式默认忽略大小写匹配 - **上下文提取**:当 context_left/right > 0 时,工具会提取周围上下文以便更好地分析 - **规则分组**:规则按组织分组,便于管理和输出组织 - **规则测试**:使用 `--test` 参数可以运行规则测试,验证规则的有效性 - **SampleCode**:为规则添加 `sample_code` 字段可以用于规则自测试,确保正则表达式能够正确匹配预期内容 ## 贡献指南 欢迎提交Issue和Pull Request! ## 免责声明 本工具仅用于合法的安全测试和代码审计目的。使用者应当遵守相关法律法规,不得将本工具用于非法用途。开发者不承担因误用本工具而产生的任何责任。 ## 快速联系 如需极速响应、获取更多信息、技术支持或定制服务,请通过以下方式联系我们: **NOVASEC微信公众号** 或通过社交信息联系开发者 **【酒零】** 备注您的需求 