ntanwir10/GuardScan

GitHub: ntanwir10/GuardScan

GuardScan 是一款开源、隐私优先且完全免费的命令行工具,提供本地离线安全扫描与可选的 AI 增强代码审查能力。

Stars: 15 | Forks: 4

# 🛡️ GuardScan **100% 免费 & 开源** • 隐私优先的安全扫描与 AI 代码审查 CLI ``` ____ _ _ _ ____ ____ ____ ____ _ _ _ ____ _ ___ / ___| | | | / \ | _ \| _ \ / ___| / ___| / \ | \ | | / ___| | |_ _| | | _| | | |/ _ \ | |_) | | | | \___ \| | / _ \ | \| | _____ | | | | | | | |_| | |_| / ___ \| _ <| |_| | ___) | |___ / ___ \| |\ | |_____| | |___| |___ | | \____|\___/_/ \_\_| \_\____/ |____/ \____/_/ \_\_| \_| \____|_____|___| Privacy-First AI Code Review & Security Scanning ``` [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![Node.js Version](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen)](https://nodejs.org) ## 🎉 完全免费 - 无需订阅,没有限制 GuardScan 是 **100% 免费且开源的**!没有积分系统,没有付费墙,无需订阅。 ### 您将获得(全部免费) - ✅ **无限制的静态分析** - 9 个安全扫描器 + 代码质量工具 - ✅ **AI 增强的代码审查** - 自带 API 密钥(OpenAI, Claude, Gemini, Ollama) - ✅ **完全离线工作** - 静态分析无需网络连接 - ✅ **隐私优先** - 绝不上传您的源代码 - ✅ **无使用限制** - 扫描无限的 LOC(代码行数),无限仓库 ## 🚀 快速开始 ``` # 通过 npm 全局安装 npm install -g guardscan # 初始化 GuardScan guardscan init # 运行全面的安全扫描(100% 免费,离线) guardscan security # 配置 AI 提供商以进行增强审查(可选,BYOK) guardscan config # 运行 AI 增强的代码审查 guardscan run # 检查状态 guardscan status ``` ### 🐳 Docker / Alpine Linux 对于 Docker 环境,尤其是 Alpine Linux: ``` # 首先安装依赖 apk add --no-cache python3 make g++ pkgconfig cairo-dev pango-dev \ libjpeg-turbo-dev giflib-dev pixman-dev freetype-dev build-base git # 安装 GuardScan npm install -g guardscan # 设置主目录(对 Docker 很重要) export GUARDSCAN_HOME=/app/.guardscan # 初始化 guardscan init ``` **文档:** - 📖 [Docker 综合指南](./docs/DOCKER_GUIDE.md) - 适用于 Linux、macOS 和 Windows 的完整指南 - 🐧 [Docker & Alpine 快速参考](./docs/DOCKER_ALPINE_GUIDE.md) - Alpine Linux 专属快速参考 ## 📋 核心功能 ### 🔒 安全扫描(免费,离线) GuardScan 包含**全面的安全扫描器**: 1. **机密检测** - 查找硬编码的 API 密钥、密码、token(20+ 种模式) 2. **依赖漏洞** - 扫描 npm、pip、Maven、Cargo 依赖 3. **OWASP Top 10** - SQL 注入、XSS、不安全配置、CSRF、XXE 4. **Docker 安全** - Dockerfile 和容器扫描 5. **基础设施即代码** - Terraform、CloudFormation、Kubernetes 安全 6. **API 安全** - REST 和 GraphQL endpoint 分析 ### 📊 代码质量与分析(免费,离线) 7. **代码指标** - 圈复杂度、Halstead 指标、可维护性指数 8. **代码异味** - 30+ 种反模式(上帝类、过长方法、魔术数字) 9. **许可证合规** - 检查依赖项的许可证(MIT、GPL、Apache 等) 10. **合规检查** - GDPR、HIPAA、PCI-DSS 合规扫描 11. **Linter 集成** - ESLint、Pylint、RuboCop 等 12. **LOC 计数器** - 识别语言的代码行计数(20+ 种语言) ### 🧪 测试与性能(免费,离线) 13. **测试运行器** - 执行并分析 Jest、pytest、JUnit 测试 14. **变异测试** - 验证测试套件的有效性(需要 Stryker - 可选) 15. **性能测试** - 负载测试与基准测试(需要 k6 - 可选) 16. **SBOM 生成** - 软件物料清单(CycloneDX、SPDX) **注意**:性能测试和变异测试需要可选的外部工具。 ### 🤖 AI 增强功能(BYOK - 自带密钥) **9 大高级 AI 驱动功能:** 1. **代码解释器** (`guardscan explain`) - 理解复杂代码 2. **代码审查** (`guardscan review`) - 全面的 AI 代码审查 3. **Commit 生成器** (`guardscan commit`) - 生成 commit 消息 4. **文档生成器** (`guardscan docs`) - 自动生成文档 5. **测试生成器** (`guardscan test-gen`) - 生成单元测试 6. **重构建议** (`guardscan refactor`) - 提升代码质量 7. **威胁建模** (`guardscan threat-model`) - 安全架构分析 8. **迁移助手** (`guardscan migrate`) - 框架/语言迁移 9. **交互式聊天** (`guardscan chat`) - 基于 RAG 的代码库问答 ### 🌍 多语言支持 **支持 7+ 种语言的 AST 解析器:** - TypeScript/JavaScript - Python - Java - Go - Rust - Ruby - PHP - C# ### 🔌 AI Provider 集成 配置您喜欢的任何 AI provider: - **OpenAI** (GPT-4, GPT-4 Turbo, GPT-3.5) - **Anthropic Claude** (Claude 3 Opus, Sonnet, Haiku) - **Google Gemini** (Gemini Pro) - **Ollama**(本地,注重隐私 - llama2, codellama, mistral) - **LM Studio**(本地模型) - **OpenRouter**(访问多个模型) **您直接向 AI provider 支付费用** - GuardScan 分文不收! ## 🛠️ 命令 所有命令均**100% 免费**且无限制! ### 配置命令 | 命令 | 描述 | | ------------------ | ------------------------------------- | | `guardscan init` | 初始化配置,生成 client_id | | `guardscan config` | 配置 AI provider 和设置 | | `guardscan status` | 显示配置和仓库信息 | | `guardscan reset` | 清除本地缓存和配置 | ### 安全与分析命令 | 命令 | 描述 | | -------------------- | ----------------------------------------- | | `guardscan security` | 运行全面的安全扫描(离线) | | `guardscan scan` | 快速安全扫描 | | `guardscan run` | AI 增强的全面代码审查 (BYOK) | ### 测试与质量命令 | 命令 | 描述 | | -------------------- | --------------------------------------------------------------- | | `guardscan test` | 运行测试和代码质量分析 | | `guardscan perf` | 性能测试和负载测试(需要 k6 - 可选) | | `guardscan mutation` | 用于测试质量的变异测试(需要 Stryker - 可选) | **注意**:`perf` 和 `mutation` 命令需要可选的外部工具。有关安装和使用详情,请参阅[测试工具指南](./cli/docs/TESTING_TOOLS.md)。 ### 实用工具命令 | 命令 | 描述 | | ----------------- | ----------------------------------- | | `guardscan sbom` | 生成软件物料清单 | | `guardscan rules` | 自定义基于 YAML 的规则引擎 | ### AI 驱动命令 (BYOK) | 命令 | 描述 | | --------------------------- | ------------------------------------ | | `guardscan explain ` | 解释代码的工作原理 | | `guardscan review ` | 全面的 AI 代码审查 | | `guardscan commit` | 生成 commit 消息 | | `guardscan docs ` | 自动生成文档 | | `guardscan test-gen ` | 生成单元测试 | | `guardscan refactor ` | 获取重构建议 | | `guardscan threat-model` | 安全架构分析 | | `guardscan migrate` | 框架/语言迁移帮助 | | `guardscan chat` | 关于代码库的交互式问答 (RAG) | ## 🔒 隐私保证 我们非常重视隐私: ### ❌ 绝不存储或传输 - 您的源代码 - 文件路径或文件名 - 代码片段 - API 密钥或机密 - 专有信息 ### ✅ 可选的遥测(匿名化) - 命令使用情况(例如,运行了 "security" 命令) - 执行持续时间 - LOC 计数(仅汇总数字) - 使用的 AI 模型(例如 "gpt-4") **遥测功能是:** - 可选的(轻松禁用:`guardscan config --telemetry=false`) - 完全匿名化的 - 仅用于改进 GuardScan - 绝不出售或共享 ## 🎯 工作原理 ### 静态分析(离线,无 AI) ``` guardscan security ``` 在本地运行**9 个安全扫描器**: - 扫描您的代码库 - 生成 markdown 报告 - **100% 离线** - 无需网络连接 - **100% 免费** - 无任何限制 ### AI 增强的审查(使用您的 API 密钥) ``` # 步骤 1:配置您的 AI 提供商(一次性) guardscan config # 选择提供商:OpenAI、Claude、Gemini、Ollama # 输入您的 API key # 步骤 2:运行 AI 审查 guardscan run ``` 工作原理: 1. GuardScan 在本地分析您的代码 2. 将匿名化的上下文发送到**您的 AI provider**(使用**您的 API 密钥**) 3. AI 提供洞察和建议 4. 报告保存在本地 **您直接向您的 AI provider 付费** - GuardScan 是免费的! ## 💰 定价 ### GuardScan:**$0**(100% 免费) 没有积分系统。无需订阅。没有付费墙。 ### AI Provider(如果您使用 AI 功能) **您直接向他们支付费用(而非 GuardScan):** - **OpenAI GPT-4**:约 $0.01-0.03 / 1K token - **Claude Sonnet**:约 $0.003 / 1K token - **Gemini Pro**:提供免费额度 - **Ollama**:100% 免费(在本地运行) **对于 10K LOC 代码库的示例成本:** - 仅静态分析:**$0** - 使用 OpenAI GPT-4:**约 $2-5**(支付给 OpenAI) - 使用 Ollama(本地):**$0** ## 🏗️ 架构 GuardScan 遵循**隐私优先的客户端架构**,所有代码分析均在本地进行。 ``` ┌─────────────────────────────────────────────────────────────┐ │ USER'S MACHINE │ │ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ GuardScan CLI (Node.js/TypeScript) │ │ │ │ │ │ │ │ • 21 Commands (security, run, test, explain...) │ │ │ │ • 30 Core Modules (scanners, parsers, metrics) │ │ │ │ • 9 AI Features (explain, review, test-gen, etc.) │ │ │ │ • 7 Language Parsers (Python, Java, Go, Rust...) │ │ │ │ • 6 AI Provider Integrations │ │ │ │ │ │ │ │ Config: ~/.guardscan/config.yml │ │ │ │ Cache: ~/.guardscan/cache/ │ │ │ └─────────────────────────────────────────────────────┘ │ │ │ │ │ │ Optional telemetry only │ │ ▼ │ └───────────────────────────────────────────────────────────────┘ │ ┌───────────┴──────────┐ │ │ ▼ ▼ ┌──────────────────────────┐ ┌──────────────────────────┐ │ User's AI Provider │ │ GuardScan Backend │ │ (User pays directly) │ │ (Optional telemetry) │ │ │ │ │ │ • OpenAI (GPT-4) │ │ Cloudflare Workers │ │ • Anthropic (Claude) │ │ + Supabase │ │ • Google (Gemini) │ │ │ │ • Ollama (Local) │ │ • Health checks │ │ │ │ • Anonymous telemetry │ │ User's API Key → │ │ • NO source code │ │ User's billing → │ │ • NO credit validation │ └──────────────────────────┘ └──────────────────────────┘ ``` ### 技术栈 **CLI(34,213 LOC):** - 语言:TypeScript 5.3+(严格模式) - 运行时:Node.js 18+ - 框架:Commander.js - 测试:Jest(70%+ 覆盖率) - 构建:TypeScript Compiler (tsc) **监控服务(独立仓库,可选):** - 位于 [ntanwir10/GuardScan-Monitoring](https://github.com/ntanwir10/GuardScan-Monitoring) - 平台:Cloudflare Workers + Supabase PostgreSQL - 用途:匿名遥测及错误/使用分析 - CLI 仅通过 HTTP 与其通信;可使用 `GUARDSCAN_API_URL` 覆盖该 URL ## 📦 安装 ### 通过 NPM(推荐) ``` npm install -g guardscan ``` ### 通过源码 ``` # 克隆 repository git clone https://github.com/ntanwir10/GuardScan.git cd GuardScan/cli # 安装依赖 npm install # 构建 npm run build # 全局 Link npm link # 验证 guardscan --help ``` ## 📚 文档 - [安装指南](docs/GETTING_STARTED.md) - [配置指南](docs/CONFIGURATION.md) - [聊天指南](docs/CHAT_GUIDE.md) - [API 文档](docs/API.md) - [安全扫描器](docs/SECURITY_SCANNERS.md) - [贡献指南](docs/CONTRIBUTING.md) ## ❓ 常见问题 **问:GuardScan 真的免费吗?** 答:是的!100% 免费,没有积分系统,无需订阅,没有限制。 **问:我需要创建账户吗?** 答:不需要!只需运行 `npm install -g guardscan`,然后运行 `guardscan init`。 **问:我需要 AI API 密钥吗?** 答:仅当您需要 AI 增强的审查时才需要。静态分析(9 个安全扫描器)无需任何 API 密钥即可工作。 **问:我应该使用哪个 AI provider?** 答:随您选择!OpenAI(强大),Claude(均衡),Gemini(实惠),Ollama(免费,本地)。 **问:GuardScan 会上传我的代码吗?** 答:**绝对不会**。GuardScan 仅上传用于可选遥测的匿名化元数据。 **问:我可以禁用遥测吗?** 答:可以!运行 `guardscan config --telemetry=false` 或在 `~/.guardscan/config.yml` 中设置 `telemetryEnabled: false`。 **问:我该如何支持这个项目?** 答:在 GitHub 上给仓库点 Star,贡献代码,报告 bug,或者赞助该项目! ## 📝 许可证 MIT 许可证 - 详见 [LICENSE](LICENSE) ## 🙏 致谢 GuardScan 是基于以下这些令人惊叹的开源工具构建的: - [Commander.js](https://github.com/tj/commander.js) - CLI 框架 - [Chalk](https://github.com/chalk/chalk) - 终端样式 - [Axios](https://github.com/axios/axios) - HTTP 客户端 - [Cloudflare Workers](https://workers.cloudflare.com/) - Serverless 后端 - [Supabase](https://supabase.com/) - 开源 Firebase 替代方案 ## 📞 支持 - **问题反馈**:[GitHub Issues](https://github.com/ntanwir10/GuardScan/issues) - **讨论交流**:[GitHub Discussions](https://github.com/ntanwir10/GuardScan/discussions) **电子邮件**:(即将推出)
**由开发者用 ❤️ 打造,为开发者服务** [⭐ 在 GitHub 上为我们点 Star](https://github.com/ntanwir10/GuardScan) • [🐛 报告 Bug](https://github.com/ntanwir10/GuardScan/issues) • [💡 提出新功能](https://github.com/ntanwir10/GuardScan/issues)
标签:AI代码审查, AI风险缓解, LLM防护, MITM代理, Petitpotam, 自动化攻击, 请求拦截, 错误基检测, 静态代码分析