Param-10/hackthebay
GitHub: Param-10/hackthebay
Polaris 是一款基于 Gemini AI 的 IaC 安全审查 GitHub App,自动扫描 Pull Request 中的基础设施代码并生成经过验证的修复建议,帮助团队在代码合并前拦截配置风险。
Stars: 4 | Forks: 0
# Polaris
**面向 DevOps 和基础设施即代码的 AI 驱动 PR 安全审查。**
Polaris 是一个自主安全代理,它作为 App 连接到 GitHub,扫描每一个包含基础设施代码的 Pull Request,并在 60 秒内发布带有“一键自动修复”功能的内联发现——全流程自动完成。
[](https://polaris-livid-one.vercel.app)
[](https://stats.uptimerobot.com/lMd1MkrQaT)
[](https://github.com/apps/polaris-infra/installations/new)






## 面临的问题
基础设施代码的审查通常只关注功能性,几乎从不进行安全性审查。开发者推送了一个带有公开 S3 存储桶的 Terraform 文件、一个硬编码了 secrets 的 Dockerfile,或者一个以特权容器运行的 Kubernetes manifest——它通过了代码审查并被部署到生产环境。直到进行审计或发生数据泄露时才会有人发现这些问题。
团队需要一位资深 SRE 在每次基础设施变更合并前进行审查,但没有团队有足够的人力来做到这一点。
## 解决方案
Polaris 会自动扮演那位资深 SRE 的角色。只需安装 GitHub App,打开一个 PR,Polaris 就会处理所有事情:
1. **解析** PR diff 并提取已修改的 IaC 文件
2. **扫描** 使用确定性规则检查已知的反模式
3. **推理** 使用 Gemini 将发现的问题映射到 CIS/SOC2 框架,并生成精确的代码修复方案
4. **报告** 在易受攻击代码的具体行发布内联 PR 评论,并附带随时可提交的修复建议
整个流程在几秒钟内完成,开发者无需进行任何手动操作。
## 主要功能
- **自动 PR 扫描** — 每一个包含 Terraform、Kubernetes YAML、Dockerfile 或 GitHub Actions 的 PR 都会通过 webhook 自动进行扫描
- **Gemini 驱动分析** — Gemini 会推理基础设施意图、爆炸半径以及合规性影响
- **内联 PR 评论** — 发现的问题将直接发布在 PR 的代码行上,就像人类审查者一样
- **一键自动修复** — 从仪表板批准建议的修复方案,Polaris 将直接将其提交到你的 PR 分支,并附带完整的审计跟踪记录
- **安全仪表板** — 概览所有扫描、按严重程度分类的发现结果,并支持深入查看单个扫描结果
- **多用户隔离** — 每个用户只能看到自己仓库的扫描结果
- **已验证补丁** — 第二个 AI 代理会在呈现每个建议的修复方案之前对其进行验证
## 工作原理
```
PR Opened → GitHub Webhook → FastAPI Backend → Deterministic Scan
→ Gemini (Reasoning Agent) → Gemini (Verification Agent)
→ Inline PR Comments + Commit Status → Dashboard Updated
```
1. 开发者打开一个包含基础设施文件的 PR
2. GitHub 向 Polaris 后端发送 webhook
3. 确定性扫描器检查已知模式(开放端口、硬编码 secrets、特权容器等)
4. Gemini 分析每个发现的问题,将其映射到合规性框架,并编写最小差异的代码修复方案
5. 第二个 Gemini 代理审查每个补丁,以确保它不会破坏现有功能
6. 结果作为内联 PR 审查发布在 GitHub 上,并存储在仪表板中
7. 开发者可以一键批准修复——Polaris 将直接提交到 PR 分支
## 演示

## 截图
### 首页

### 仪表板概览

### 带有一键自动修复的扫描详情

## 技术栈
| 层级 | 技术 |
|-------------|-----------|
| 前端 | Next.js 16, React 19, Tailwind CSS |
| 认证 | NextAuth.js with GitHub OAuth |
| 后端 | Python 3.11, FastAPI, Uvicorn |
| AI | Gemini 3 Flash Preview (双代理:推理 + 验证) |
| 数据库 | PostgreSQL (Neon) |
| 托管 | Vercel (前端) · Render (后端) · Neon (DB) |
| 运行时间监控| 每 5 分钟进行一次 UptimeRobot ping |
## 实时部署
Polaris 端到端部署在免费套餐托管服务上:
| 组件 | URL |
|----------|-----|
| 前端 | https://polaris-livid-one.vercel.app |
| 后端 | https://polaris-backend-4xoy.onrender.com |
| 健康检查 | https://polaris-backend-4xoy.onrender.com/health |
| 运行时间 | https://stats.uptimerobot.com/lMd1MkrQaT |
要在你自己的仓库中尝试,请安装 [Polaris GitHub App](https://github.com/apps/polaris-infra/installations/new),使用基础设施文件(`.tf`、`Dockerfile`、`k8s.yaml` 或 `.github/workflows/*.yml`)打开一个 PR,并在约 30 秒内查看扫描结果。
## 本地运行(开发)
适用于贡献或本地测试——生产环境用户只需使用上面的实时部署即可。
### 前置条件
- Node.js 18+
- Python 3.11+
- 一个 GitHub 账户
- 一个配置了 PR 读写权限和 webhook 的 [GitHub App](https://docs.github.com/en/apps/creating-github-apps)
- 一个 [Gemini API 密钥](https://aistudio.google.com/apikey)
### 1. 克隆仓库
```
git clone https://github.com/Param-10/hackthebay.git
cd hackthebay
```
### 2. 设置前端
```
npm install
```
创建 `.env.local`:
```
GITHUB_ID=your_github_oauth_app_id
GITHUB_SECRET=your_github_oauth_app_secret
NEXTAUTH_SECRET=your_random_secret_string
NEXTAUTH_URL=http://localhost:3000
BACKEND_URL=http://localhost:8000
API_SECRET=same_secret_used_in_backend
NEXT_PUBLIC_GITHUB_APP_INSTALL_URL=https://github.com/apps/your-app-slug/installations/new
```
启动前端:
```
npm run dev
```
### 3. 设置后端
```
cd github-app
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
创建 `.env`(参考 `.env.example`):
```
GITHUB_APP_ID=your_app_id
GITHUB_PRIVATE_KEY=/path/to/your/private-key.pem
GITHUB_WEBHOOK_SECRET=your_webhook_secret
GEMINI_API_KEY=your_gemini_api_key
GEMINI_MODEL=gemini-3-flash-preview
API_SECRET=same_secret_used_in_frontend
DATABASE_URL=sqlite:///./scans.db
```
启动后端:
```
uvicorn app.main:app --reload --port 8000
```
### 4. 设置 webhook 转发
安装 [smee-client](https://smee.io/) 以将 GitHub webhook 转发到你的本地计算机:
```
npm install -g smee-client
smee -u https://smee.io/YOUR_CHANNEL_ID -t http://localhost:8000/webhook
```
在你的 GitHub App 设置中将你的 Smee URL 设置为 webhook URL。
### 5. 测试
1. 在测试仓库中安装 GitHub App
2. 使用基础设施文件(`.tf`、`Dockerfile`、`k8s.yaml`、`.github/workflows/*.yml`)打开一个 PR
3. 观察出现在 PR 和 `http://localhost:3000/dashboard` 仪表板中的扫描结果
为 Hack the Bay 2026 构建。
标签:AI助手, AV绕过, Docker, EC2, ECS, FastAPI, Gemini, GitHub App, IaC, OSV, PostgreSQL, Pull Request, Render, SAST, SDLC, SRE, StruQ, Terraform, URL发现, Vercel, Web截图, Web扫描, 中间件漏洞, 人工智能, 代码安全审查, 偏差过滤, 安全检测, 安全防御评估, 容器安全, 模块化设计, 测试用例, 用户模式Hook绕过, 盲注攻击, 自动化修复, 自动化攻击, 软件开发生命周期, 逆向工具, 配置审查, 静态应用安全测试