RyanJBush/Secure-application-platform-and-vulnerability-scanner
GitHub: RyanJBush/Secure-application-platform-and-vulnerability-scanner
一个集成了OWASP安全防护和AI漏洞扫描能力的全栈Web应用安全平台,提供从检测到报告的完整安全评估工作流。
Stars: 0 | Forks: 0
# Aegis AI Monorepo
安全聚焦的 monorepo 脚手架,用于:
- FastAPI 后端
- React 前端
- PostgreSQL
- JWT 认证 + RBAC
- 针对 SQLi/XSS 模式的检测 pipeline
- Docker 化的本地环境 + GitHub Actions CI
## 仓库结构
```
backend/ FastAPI app (routers, models, services, tests)
frontend/ React app (layouts, pages, API service placeholders)
docs/ Architecture and API docs
```
## 后端安全能力 (已实现)
- 基于 JWT 的注册/登录/用户信息流程。
- RBAC 角色:`admin`、`analyst`、`viewer`。
- 安全的认证输入约束(邮箱 + 密码长度策略)。
- 使用 SQLi/XSS 检测规则评估 payload 的扫描 pipeline。
- 漏洞持久化及按严重程度/规则的报告汇总。
- 针对账户创建、登录事件和扫描的基础日志记录。
## 快速开始
### 1) 环境文件
```
cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env
```
### 2) 使用 Docker 运行
```
make up
```
服务:
- 前端:http://localhost:3000
- 后端 API:http://localhost:8000
- API 文档:http://localhost:8000/docs
### 3) 不使用 Docker 在本地运行
后端:
```
python -m venv .venv
source .venv/bin/activate
pip install -r backend/requirements.txt
uvicorn app.main:app --app-dir backend --reload
```
前端:
```
cd frontend
npm install
npm run dev
```
### 4) 在使用受保护的 UI 路由前进行认证
大多数 UI 页面会调用受保护的 API endpoint。请先从 API 注册并登录,然后在 Web UI 中通过 `/login` 登录。
```
curl -X POST http://localhost:8000/api/v1/auth/register \
-H 'Content-Type: application/json' \
-d '{"email":"analyst@example.com","password":"StrongPassw0rd!","role":"security_analyst"}'
```
## API 流程示例
```
# 注册 analyst
curl -X POST http://localhost:8000/api/v1/auth/register \
-H 'Content-Type: application/json' \
-d '{"email":"analyst@example.com","password":"StrongPassw0rd!","role":"analyst"}'
# 登录
TOKEN=$(curl -s -X POST http://localhost:8000/api/v1/auth/login \
-H 'Content-Type: application/json' \
-d '{"email":"analyst@example.com","password":"StrongPassw0rd!"}' | jq -r .access_token)
# 运行 scan
curl -X POST http://localhost:8000/api/v1/scanning/run \
-H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' \
-d '{"target":"https://app.example.com/login","payload":"\" OR 1=1 -- "}'
```
## 安全说明
- 在投入生产使用之前,请替换默认的 JWT secret 和所有凭证。
- 添加 token 刷新/撤销和账户锁定控制。
- 添加 Alembic 迁移和审计日志。
- 扩展检测范围并调整误报处理。
## 前端安全仪表板页面
- 仪表板 (`/`):安全态势指标 + 漏洞表 + 扫描历史。
- 应用界面 (`/app-interface`):用于扫描执行工作流的 payload 输入 UI。
- 扫描结果 (`/scan-results`):历史扫描状态和检测到的发现。
- 漏洞详情 (`/vulnerabilities/:id`):深入的技术分解和修复指导。
## 备注
- 前端 TypeScript 应用是受支持的运行时入口 (`src/main.tsx`)。
## 质量门禁 (阶段 5)
```
# 运行 lint + tests/build checks(类似 CI)
make ci-check
```
## 演示就绪
- 演示剧本:`docs/demo-runbook.md`
- 推荐的演示顺序:
1. 仪表板
2. 扫描操作
3. 扫描结果 (JSON/SARIF 导出 + 修复清单)
4. 漏洞详情工作流
5. 治理 (审计日志 + 规则历史)
标签:AI漏洞扫描器, API安全, AV绕过, CISA项目, DAST, DevSecOps, Docker容器化, DOE合作, FastAPI, GitHub Actions CI/CD, JSON输出, JWT认证, PostgreSQL, Python, RBAC权限控制, React, SQL注入检测, Syscalls, TypeScript, URL发现, XSS检测, 上游代理, 代码安全分析, 代码生成, 全栈Web应用, 单体仓库, 安全插件, 安全检测, 密钥泄露防护, 开发安全, 恶意软件分析, 无后门, 机器学习安全, 测试用例, 渗透测试工具, 网络安全, 请求拦截, 身份验证与授权, 逆向工具, 隐私保护, 风险报告