LahsenAitOiahmane/SAST

GitHub: LahsenAitOiahmane/SAST

一个结合规则扫描与 AI 可解释性的静态应用安全测试平台,专注于检测并修复 Java、PHP 和 .NET 中的不安全反序列化漏洞。

Stars: 1 | Forks: 0

# AI增强型 SAST 平台 一个静态应用安全测试 (SAST) 平台,使用基于规则的扫描器(Semgrep、CodeQL)与 AI/LLM 可解释性(Ollama)相结合的混合引擎,检测、解释并修复 Java、PHP 和 .NET 源代码中的**不安全反序列化漏洞**。它具有现代化的响应式 React 单页应用 (SPA),提供高级深色/浅度主题模式、文件级过滤和高级逐行代码查看器。 ## 项目状态 | 冲刺 | 目标 | 状态 | |--------|------|--------| | **冲刺 1** | 基础设施与基础 | ✅ 已完成 | | **冲刺 2** | 扫描引擎 (Semgrep + CodeQL) | ✅ 已完成 | | 冲刺 3 | AI/LLM 集成 (Ollama + ChromaDB) | 🔜 计划中 | | 冲刺 4 | 完整 UI 与报告生成 | 🔜 计划中 | ## 技术栈 | 层级 | 技术 | |-------|-----------| | 后端 API | FastAPI (Python 3.11) | | 前端 | React 18 + TypeScript + Vite | | 样式 | Tailwind CSS v3 | | 数据库 | PostgreSQL 16 | | 缓存 | Redis (Alpine) | | 反向代理 | Nginx (Alpine) | | 容器化 | Docker + Docker Compose | | CI/CD | GitHub Actions | | 部署 | DigitalOcean Droplet (Ubuntu 24.04) | | SAST 引擎 (冲刺 2) | Semgrep, CodeQL | | AI 引擎 (冲刺 3) | Ollama, ChromaDB | ## 仓库结构 ``` SAST/ ├── backend/ # FastAPI Python application ├── frontend/ # React + TypeScript + Vite SPA ├── nginx/ # Nginx reverse proxy configuration ├── scripts/ # Developer utility shell scripts ├── docs/ # Project documentation ├── .github/ │ └── workflows/ │ └── deploy.yml # GitHub Actions CI/CD pipeline ├── docker-compose.yml # Multi-service orchestration ├── .env.example # Environment variable template ├── .flake8 # Python linting configuration ├── .pre-commit-config.yaml # Pre-commit hooks └── README.md ``` ## 快速开始 ### 前置条件 - Git - Docker & Docker Compose(在你的服务器上) - Node.js 20+(仅用于本地前端开发) - Python 3.11+(仅用于本地后端开发) ### 通过 CI/CD 部署(推荐) 1. 推送到 `main` 分支。 2. GitHub Actions 会自动运行 lint、测试和构建检查。 3. 成功后,它将通过 SSH 连接到 DigitalOcean droplet 并运行 `docker compose up -d --build`。 4. 平台将在 `http://YOUR_SERVER_IP` 上线。 ### 手动本地开发 ``` # Clone git clone https://github.com/LahsenAitOiahmane/SAST.git cd SAST # 复制环境文件并填写值 cp .env.example .env # 启动所有服务 docker compose up -d --build # 检查健康状态 curl http://localhost/api/v1/health ``` 请参阅 [`docs/Installation.md`](docs/Installation.md) 获取完整的设置说明。 ## 服务与端口 | 服务 | 内部端口 | 是否暴露 | |---------|---------------|---------| | Nginx | 80 | ✅ `0.0.0.0:80` | | 后端 (FastAPI) | 8000 | ❌ 仅限内部 | | 前端 (Vite) | 80 | ❌ 仅限内部 | | PostgreSQL | 5432 | ❌ 仅限内部 | | Redis | 6379 | ❌ 仅限内部 | 所有流量均通过 Nginx 路由: - `/` → 前端 - `/api/*` → 后端 FastAPI ## CI/CD 流水线 ``` Push to main │ ├── backend-test-lint │ ├── isort check │ ├── black check │ ├── flake8 lint │ ├── pytest tests │ └── docker build (dry-run) │ ├── frontend-test-lint │ ├── eslint check │ ├── prettier check │ ├── npm run build │ └── docker build (dry-run) │ └── deploy (only if both above pass) └── SSH → git pull → docker compose up -d --build ``` ## 文档 | 文件 | 描述 | |------|-------------| | [`docs/Architecture.md`](docs/Architecture.md) | 系统架构与组件图 | | [`docs/Installation.md`](docs/Installation.md) | 本地和服务器安装指南 | | [`docs/Deployment.md`](docs/Deployment.md) | DigitalOcean 部署与 CI/CD 演示 | | [`docs/Development.md`](docs/Development.md) | 开发者工作流、Lint 和测试指南 | | [`docs/Sprint2-Scan-Architecture.md`](docs/Sprint2-Scan-Architecture.md) | 异步扫描引擎 pipeline 设计与细节 | ## 许可证 本项目是作为 **DataProtect** 的实习交付成果而开发的。
标签:AI风险缓解, AV绕过, CISA项目, DLL 劫持, Docker, FastAPI, React, Syscalls, 大语言模型, 安全防御评估, 搜索引擎查询, 测试用例, 请求拦截, 逆向工具, 静态应用安全测试