briej/ai-reviewer
GitHub: briej/ai-reviewer
AI-powered code reviewer integrates OWASP Top 10 scanning with local or cloud AI analysis, supporting multiple languages and output formats for securi
Stars: 1 | Forks: 0
# 🤖 ai-reviewer
**AI 驱动的代码审查工具,集成 OWASP Top 10 检查。快速。本地运行。可配置。**
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
- ⚡ 离线运行(快速模式)或使用任意 AI 提供商(云端模式)
- 🔒 OWASP Top 10 安全扫描
- 🚀 并行处理
- 📊 HTML / SARIF / JSON 报告
- 🎯 支持 8 种语言
- 🌐 提供 Web 界面
- 💻 提供 VS Code 扩展
## 💻 VS Code 扩展
从 [VS Code Marketplace](https://marketplace.visualstudio.com) 安装(即将推出!),或手动安装:
```
# 首先安装 ai-reviewer-cli
pip install ai-reviewer-cli
# 构建扩展
cd vscode-extension
npm install
npm run compile
# 打包扩展
npm install -g @vscode/vsce
vsce package
# 本地安装
code --install-extension ai-reviewer-vscode-1.3.1.vsix
```
**功能:**
- 🔍 扫描整个工作区
- 📄 扫描当前文件
- 📊 美观的结果面板
- ⚙️ 可在设置中配置
**命令:**
- `ai-reviewer: Scan Workspace`
- `ai-reviewer: Scan Current File`
- `ai-reviewer: Show Results`
详见 [vscode-extension/README.md](vscode-extension/README.md) 文档。
## 🚀 安装说明
```
pip install ai-reviewer-cli
```
或者从源码安装:
```
git clone https://github.com/briej/ai-reviewer.git
cd ai-reviewer
pip install -e .
```
如需 Web 界面:
```
pip install ai-reviewer-cli[web]
```
## 🌐 Web 界面
运行 Web 界面:
```
# 安装依赖
pip install ai-reviewer-cli[web]
# 启动 Web 服务器
python web_app.py
# 或使用 uvicorn
uvicorn web_app:app --reload --host 0.0.0.0 --port 8000
```
在浏览器中打开 http://localhost:8000。
功能:
- 🎨 美观的深色模式 UI
- 📊 实时扫描结果
- 📈 概览仪表盘
- 📁 文件上传支持
## 🤖 AI 模式
使用 Ollama 或云服务商进行 AI 分析:
```
# Ollama (本地,免费)
ai-review ./project --mode ai --provider ollama --model llama3.1
# DeepSeek (云端,100万免费令牌)
ai-review ./project --mode cloud --provider deepseek --api-key sk-xxx
# OpenRouter (Anthropic Claude)
ai-review ./project --mode cloud --provider openrouter --api-key sk-xxx
# Groq (快速推理)
ai-review ./project --mode cloud --provider groq --api-key sk-xxx
```
**支持的 AI 提供商:**
- **Ollama** – 本地、无限制、免费(需单独安装)
- **DeepSeek** – 每月 100 万免费 token
- **OpenRouter** – 速率限制的免费套餐
- **Groq** – 速率限制的免费套餐
- **Kimi** – 提供试用
- **Qwen** – 提供试用
## 🐳 Docker
无需安装即可运行:
```
# 构建镜像
docker build -t ai-reviewer .
# 对当前目录运行分析
docker run -v $(pwd):/code ai-reviewer /code --mode fast
# 使用 Ollama 的 AI 模式(需在主机上运行 Ollama)
docker run -v $(pwd):/code --add-host host.docker.internal:host-gateway ai-reviewer /code --mode ai --provider ollama --model llama3.1
# 生成 HTML 报告
docker run -v $(pwd):/code ai-reviewer /code --mode fast --format html --output /code/report.html
# 使用自定义配置
docker run -v $(pwd):/code -v $(pwd)/.ai-reviewer.yaml:/app/.ai-reviewer.yaml ai-reviewer /code
```
## 🎯 快速开始
```
# 快速模式 — 即时分析,无需 AI
ai-review ./my-project
# AI 模式 — 基于 Ollama 的分析(本地)
ai-review ./my-project --mode ai --provider ollama --model llama3.1
# 云端模式 — 基于 AI 的分析(DeepSeek)
ai-review ./my-project --mode cloud --provider deepseek --api-key sk-xxx
# HTML 报告
ai-review ./my-project --format html --output report.html
# 并行处理(8 线程)
ai-review ./my-project --threads 8
```
## 🔥 功能特性
### 安全(OWASP Top 10)
- SQL 注入检测
- XSS 漏洞扫描
- 硬编码密钥检测
- 弱加密检查
- CSRF 防护验证
### AI 提供商
| 提供商 | 免费套餐 | 配置方式 |
|--------|-----------|----------|
| **Ollama** | ✅ 无限制 | 本地安装 |
| **DeepSeek** | ✅ 100 万 token | API 密钥 |
| **OpenRouter** | ✅ 速率限制 | API 密钥 |
| **Kimi** | ✅ 试用 | API 密钥 |
| **Qwen** | ✅ 试用 | API 密钥 |
| **Groq** | ✅ 速率限制 | API 密钥 |
### 输出格式
- **CLI** — 终端富表格输出
- **JSON** — 机器可读
- **HTML** — 美观的网页报告
- **SARIF** — 兼容 GitHub Code Scanning
### 支持的语言
Python、JavaScript、TypeScript、SQL、Go、Java、Rust、C/C++
## 📋 使用示例
### 基本用法
```
ai-review ./project
```
### 云端使用特定模型
```
ai-review ./project \
--mode cloud \
--provider openrouter \
--model qwen/qwen-2.5-coder-32b \
--api-key sk-xxx
```
### CI/CD 集成
```
ai-review . --mode fast --format sarif --output report.sarif
```
### 按严重性过滤
```
ai-review ./project --severity critical
```
### 忽略模式
```
ai-review ./project --ignore __pycache__ --ignore .git --ignore node_modules
```
## ⚙️ 配置
在项目根目录创建 `.ai-reviewer.yaml`:
```
mode: fast
threads: 4
severity: all
ignore:
- __pycache__
- .git
- node_modules
- "*.min.js"
cloud:
provider: deepseek
model: deepseek-coder
timeout: 30
rules:
- id: no-print
pattern: "print("
severity: info
message: "Remove print statements"
languages: [python]
```
## 🔄 GitHub Actions
```
name: Code Review
on: [push, pull_request]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: pip install ai-reviewer-cli
- run: ai-review . --mode fast --format sarif --output report.sarif
- uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: report.sarif
```
**AI 驱动的 CI/CD:**
```
- run: pip install ai-reviewer-cli
- run: ai-review . --mode ai --provider ollama --model llama3.1 --format sarif --output report.sarif
```
## 🛠 Pre-commit Hook
```
# .pre-commit-config.yaml
repos:
- repo: https://github.com/briej/ai-reviewer
rev: v1.2
hooks:
- id: ai-reviewer
```
## 📊 示例输出
```
┌──────────────────────────────────────────────────┐
│ 🤖 ai-reviewer — v1.2 │
│ OWASP Top 10 | Multi-Cloud | Parallel | Rich CLI │
└──────────────────────────────────────────────────┘
✓ Files found: 23
⚠️ CRITICAL (3)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
hardcoded-secret config.py:12 Hardcoded secret
sql-injection db.py:45 SQL Injection
code-injection utils.py:89 eval() is dangerous
🔶 WARNING (7)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
weak-crypto auth.py:34 Weak hash
xss frontend.js:67 innerHTML vulnerable
💡 INFO (12)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
debug main.py:23 console.log
──────────────────────────────────────────────────
┌────────────────┬───────┐
│ Files analyzed │ 23/23 │
│ Time │ 0.45s │
│ Critical │ 3 │
│ Warning │ 7 │
│ Info │ 12 │
│ Score │ 4.2/10│
└────────────────┴───────┘
```
## 📚 文档
完整文档请访问:https://ai-reviewer.readthedocs.io
**内容:**
- 📖 安装指南
- 🛠 使用示例
- 💻 VS Code 扩展
- 🌐 Web 界面
- 🔒 安全规则
- 🤖 AI 提供商
- 📊 API 参考
本地构建:
## 📜 许可证
MIT
PS> cd ai-reviewer; ai-review . --mode ai --provider ollama --model llama3.2-vision:11b --verbose
#< CLIXML
┌───────────────────────────────────────────────────────────────┐
│ 🤖 ai-reviewer — v1.3 │
│ OWASP Top 10 | AI-Powered | Multi-Cloud | Parallel | Rich CLI │
└───────────────────────────────────────────────────────────────┘
⠙ Scanning files...
✓ Files found: 10
✗ ai_reviewer.py: Request timed out after 60s
✓ __init__.py
Выполняется
Переместить в фоновый режим
标签:AI风险缓解, AI驱动, Homebrew安装, HTML报告, JSON报告, LNA, OWASP Top10, Python, Redis利用, SARIF报告, Subfinder, VS Code扩展, Web界面, 二进制发布, 云安全监控, 代码安全, 代码审查, 可配置, 多模态安全, 多语言支持, 威胁情报, 安全扫描, 安全测试框架, 并行处理, 开发者工具, 开源工具, 无后门, 时序注入, 本地部署, 漏洞枚举, 离线模式, 自动化审查, 请求拦截, 逆向工具, 静态分析