ntanwir10/GuardScan
GitHub: ntanwir10/GuardScan
GuardScan 是一款开源、隐私优先且完全免费的命令行工具,提供本地离线安全扫描与可选的 AI 增强代码审查能力。
Stars: 15 | Forks: 4
# 🛡️ GuardScan
**100% 免费 & 开源** • 隐私优先的安全扫描与 AI 代码审查 CLI
```
____ _ _ _ ____ ____ ____ ____ _ _ _ ____ _ ___
/ ___| | | | / \ | _ \| _ \ / ___| / ___| / \ | \ | | / ___| | |_ _|
| | _| | | |/ _ \ | |_) | | | | \___ \| | / _ \ | \| | _____ | | | | | |
| |_| | |_| / ___ \| _ <| |_| | ___) | |___ / ___ \| |\ | |_____| | |___| |___ | |
\____|\___/_/ \_\_| \_\____/ |____/ \____/_/ \_\_| \_| \____|_____|___|
Privacy-First AI Code Review & Security Scanning
```
[](https://opensource.org/licenses/MIT)
[](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, 自动化攻击, 请求拦截, 错误基检测, 静态代码分析