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应用, 单体仓库, 安全插件, 安全检测, 密钥泄露防护, 开发安全, 恶意软件分析, 无后门, 机器学习安全, 测试用例, 渗透测试工具, 网络安全, 请求拦截, 身份验证与授权, 逆向工具, 隐私保护, 风险报告