makadiyapreet/SentinelAI

GitHub: makadiyapreet/SentinelAI

一款生产级 AI 驱动的 Web 应用防火墙,提供实时威胁检测、机器学习异常检测和完整的 OWASP Top 10 防护能力。

Stars: 0 | Forks: 0

# 🛡️ SentinelAI

Python FastAPI React PostgreSQL Redis Docker OWASP License

🔒 智能 Web 应用防火墙与威胁检测系统

生产级 AI 驱动 WAF,全面覆盖 OWASP Top 10 (2021)
实时检测 • ML 异常检测 • SIEM 仪表盘 • AI 驱动的解释

## 📋 目录 - [概述](#-overview) - [功能特性](#-features) - [架构](#-architecture) - [快速开始](#-quick-start) - [详细安装指南](#-detailed-setup-guide) - [配置说明](#-configuration) - [API 参考](#-api-reference) - [前端仪表盘](#-frontend-dashboard) - [ML 模型训练](#-ml-model-training) - [测试](#-testing) - [部署](#-deployment) - [故障排除](#-troubleshooting) - [贡献指南](#-contributing) - [许可证](#-license) ## 🎯 概述 SentinelAI 是一个**达到入职标准、生产就绪**的 Web 应用防火墙 (WAF),提供针对 Web 攻击的全面防护。其功能可媲美 **Cloudflare WAF**、**Imperva** 和 **F5 Advanced WAF** 的初级版本。 ### SentinelAI 的独特之处? - **17 个集成安全模块** 协同工作 - **全面覆盖 OWASP Top 10 (2021)** 并提供合规性报告 - **AI 驱动的攻击解释** 使用 Groq/Claude API - **实时 SIEM 仪表盘** 搭配 WebSocket 实时数据流 - **基于 ML 的异常检测** (Isolation Forest + Logistic Regression) - **通过虚拟补丁实现零日防护** - **威胁情报集成** (AbuseIPDB, VirusTotal, Tor 出口节点) ## ✨ 功能特性 ### 核心防护模块 | # | 模块 | 描述 | 关键技术 | |---|--------|-------------|------------------| | 1 | **请求拦截器** | 多层载荷标准化 | FastAPI 中间件 | | 2 | **基于规则的检测** | 40+ 条针对 OWASP Top 10 的正则表达式 | PostgreSQL, 热重载 | | 3 | **ML 异常检测** | 针对未知攻击的集成模型 | scikit-learn, joblib | | 4 | **自动 IP 封禁** | 带有 TTL 的“三振出局”系统 | Redis, 国家/ASN 封禁 | | 5 | **行为分析** | 机器人、暴力破解、Slowloris 攻击检测 | 滑动窗口计数器 | | 6 | **API 安全** | JWT 攻击、BOLA/IDOR、速率限制 | 令牌桶算法 | | 7 | **虚拟补丁** | 无需代码更改的零日防护 | 基于 CVE 的规则 | | 8 | **文件上传安全** | MIME、魔术字节、恶意软件扫描 | 内容分析 | | 9 | **取证日志** | 防篡改审计追踪 | SHA-256 哈希链 | | 10 | **SIEM 仪表盘** | 实时监控 UI | React, WebSocket, Recharts | | 11 | **AI 解释** | LLM 驱动的攻击分析 | Groq/Anthropic API | | 12 | **警报系统** | 多渠道通知 | Telegram, Email, Slack | | 13 | **GeoIP 追踪** | 攻击来源映射 | ip-api.com, MaxMind | | 14 | **蜜罐陷阱** | 诱饵端点 | Canary 令牌 | | 15 | **PDF 报告** | 安全报告生成 | ReportLab | | 16 | **威胁情报** | 外部信誉数据 | AbuseIPDB, VirusTotal | | 17 | **DevOps API** | CI/CD 规则管理 | REST API, OpenAPI | ### OWASP Top 10 (2021) 覆盖范围 | 类别 | 状态 | 检测方法 | |----------|:------:|-------------------| | **A01** 权限控制失效 (Broken Access Control) | ✅ | 路径遍历 (`../`)、强制浏览、IDOR | | **A02** 加密失败 (Cryptographic Failures) | ✅ | URL 中的敏感数据 (`password=`, `token=`) | | **A03** 注入 (Injection) | ✅ | SQL, XSS, Command, LDAP, NoSQL, XPath | | **A04** 不安全设计 (Insecure Design) | ✅ | API 模式分析、批量赋值 | | **A05** 安全配置错误 (Security Misconfiguration) | ✅ | `.env`, `.git`, `phpinfo.php` 访问 | | **A06** 易受攻击和过时的组件 (Vulnerable Components) | ✅ | 载荷中已知的漏洞利用特征 | | **A07** 认证失败 (Auth Failures) | ✅ | 暴力破解、撞库检测 | | **A08** 软件和数据完整性失败 (Software Integrity) | ✅ | JWT `alg:none` 攻击、未签名令牌 | | **A09** 安全日志和监控失败 (Logging Failures) | ✅ | 所有事件均通过哈希链记录 | | **A10** 服务端请求伪造 (SSRF) | ✅ | `localhost`, `169.254.169.254`, 内部 IP | ### 安全响应头 (自动注入) 每个响应都包含以下防护头: ``` X-Frame-Options: DENY X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Content-Security-Policy: default-src 'self' Strict-Transport-Security: max-age=31536000; includeSubDomains Referrer-Policy: strict-origin-when-cross-origin Permissions-Policy: camera=(), microphone=(), geolocation=() ``` ## 🏗️ 架构 ``` ┌─────────────────┐ │ React SIEM │ │ Dashboard │ │ (Port 3000) │ └────────┬────────┘ │ WebSocket ▼ ┌──────────┐ ┌──────────┐ ┌─────────────────┐ ┌──────────────┐ │ Client │─────▶│ Nginx │─────▶│ FastAPI WAF │─────▶│ Backend App │ │ Browser │ │ (TLS/443)│ │ (Port 8000) │ │ (Optional) │ └──────────┘ └──────────┘ └────────┬────────┘ └──────────────┘ │ ┌────────────────────────┼────────────────────────┐ │ │ │ ▼ ▼ ▼ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ Redis │ │ PostgreSQL │ │ ML Model │ │ (Blocklist) │ │ (Logs/DB) │ │ (Scoring) │ └──────────────┘ └──────────────┘ └──────────────┘ │ ┌────────────────────────┼────────────────────────┐ │ │ │ ▼ ▼ ▼ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ Groq/Claude │ │ AbuseIPDB │ │ Telegram │ │ (AI Explain)│ │ (Threat TI) │ │ (Alerts) │ └──────────────┘ └──────────────┘ └──────────────┘ ``` ### 请求流程 ``` Request → Nginx → WAF Middleware: │ ├─1─▶ Extract (IP, headers, body, params) ├─2─▶ Normalize (URL decode → HTML decode → base64 → Unicode) ├─3─▶ Check Blocklist (Redis) ├─4─▶ Rule Engine (40+ patterns) ├─5─▶ ML Engine (Isolation Forest + LR) ├─6─▶ Behavioral Analysis │ └─▶ Decision: ├─ ALLOW → Forward to backend ├─ BLOCK → 403 JSON + Log + Strike └─ CHALLENGE → CAPTCHA page ``` ## 🚀 快速开始 ### 前置条件 - **Docker** & **Docker Compose** (v2.0+) - **Git** - **8GB RAM** 最低 (推荐: 16GB) - **可用端口**: 80, 443, 3000, 5432, 6379, 8000, 8080 ### 一键设置 ``` # 克隆 repository git clone https://github.com/yourusername/SentinelAI.git cd SentinelAI # 复制 environment file 并配置 cp docker/.env.example docker/.env # 启动所有 services cd docker docker-compose up -d # 查看 logs docker-compose logs -f ``` ### 访问入口 | 服务 | URL | 描述 | |---------|-----|-------------| | 仪表盘 | http://localhost:3000 | SIEM 监控 UI | | WAF API | http://localhost:8000 | FastAPI 后端 | | API 文档 | http://localhost:8000/docs | Swagger/OpenAPI | | DVWA | http://localhost:8080 | 测试目标 (含漏洞应用) | | PostgreSQL | localhost:5432 | 数据库 | | Redis | localhost:6379 | 缓存/黑名单 | ### 默认凭据 | 服务 | 用户名 | 密码 | |---------|----------|----------| | 仪表盘 | `admin` | `admin123` (请立即修改!) | | DVWA | `admin` | `password` | | PostgreSQL | `sentinel` | 在 `.env` 文件中设置 | ## 📖 详细安装指南 ### 第 1 步:克隆仓库 ``` git clone https://github.com/yourusername/SentinelAI.git cd SentinelAI ``` ### 第 2 步:配置环境 ``` # 复制示例 environment file cp docker/.env.example docker/.env # 根据你的设置编辑 nano docker/.env ``` **必填配置:** ``` # Database(必填 - 更改默认密码!) POSTGRES_PASSWORD=your_secure_password_here # Security Key(必填 - 生成一个随机的 32 位以上字符串) SECRET_KEY=your-super-secret-key-minimum-32-characters-long # WAF 模式:BLOCK、MONITOR 或 CHALLENGE WAF_MODE=BLOCK ``` **可选 API 密钥 (用于完整功能):** ``` # AI 解释(选择一个) GROQ_API_KEY=gsk_xxxxxxxxxxxx # Get from: https://console.groq.com ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxx # Get from: https://console.anthropic.com # Threat Intelligence ABUSEIPDB_API_KEY=xxxxxxxxxxxx # Get from: https://www.abuseipdb.com/account/api VIRUSTOTAL_API_KEY=xxxxxxxxxxxx # Get from: https://www.virustotal.com/gui/my-apikey # Telegram 告警 TELEGRAM_BOT_TOKEN=123456789:ABCdef # Get from: @BotFather on Telegram TELEGRAM_CHAT_ID=-1001234567890 # Your group/channel ID # Email 告警 (SMTP) SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USER=your-email@gmail.com SMTP_PASSWORD=your-app-password # For Gmail, use App Password ALERT_EMAIL_FROM=sentinelai@yourdomain.com ALERT_EMAIL_TO=security-team@yourdomain.com # Slack 告警 SLACK_WEBHOOK_URL=https://hooks.slack.com/services/xxx/xxx/xxx ``` ### 第 3 步:生成 SSL 证书 (HTTPS 可选) 用于开发环境 (自签名): ``` cd docker/ssl openssl req -x509 -newkey rsa:4096 \ -keyout key.pem -out cert.pem \ -days 365 -nodes \ -subj "/CN=localhost" ``` 用于生产环境,使用 Let's Encrypt: ``` # 安装 certbot sudo apt install certbot # 生成证书 sudo certbot certonly --standalone -d yourdomain.com # 复制到 ssl 目录 sudo cp /etc/letsencrypt/live/yourdomain.com/fullchain.pem docker/ssl/cert.pem sudo cp /etc/letsencrypt/live/yourdomain.com/privkey.pem docker/ssl/key.pem ``` ### 第 4 步:训练 ML 模型 ``` # 选项 1:使用 Docker docker-compose run --rm backend python -m ml_model.train # 选项 2:本地(需要 Python 3.11+) cd ml_model pip install -r ../backend/requirements.txt python train.py ``` 这将生成: - `ml_model/model.joblib` - Isolation Forest 模型 - `ml_model/lr_model.joblib` - Logistic Regression 模型 - `ml_model/scaler.joblib` - 特征缩放器 ### 第 5 步:启动服务 ``` cd docker docker-compose up -d ``` **检查服务健康状态:** ``` # 查看所有 services docker-compose ps # 检查 WAF 健康状态 curl http://localhost:8000/health # 查看 logs docker-compose logs -f backend docker-compose logs -f frontend ``` ### 第 6 步:填充初始数据 ``` # 将 WAF 规则写入 database docker-compose exec backend python scripts/seed_rules.py # 同步 threat intelligence docker-compose exec backend python scripts/sync_threat_intel.py ``` ### 第 7 步:访问仪表盘 在浏览器中打开 http://localhost:3000。 默认登录:`admin` / `admin123` **⚠️ 请立即修改默认密码!** ## ⚙️ 配置说明 ### 环境变量参考 | 变量 | 描述 | 默认值 | 必填 | |----------|-------------|---------|:--------:| | `SECRET_KEY` | JWT 签名密钥 (32+ 字符) | - | ✅ | | `POSTGRES_PASSWORD` | 数据库密码 | - | ✅ | | `WAF_MODE` | 运行模式: `BLOCK`, `MONITOR`, `CHALLENGE` | `BLOCK` | | | `DEBUG` | 启用调试模式 | `false` | | | `GROQ_API_KEY` | 用于 AI 解释的 Groq API 密钥 | - | | | `ANTHROPIC_API_KEY` | Anthropic API 密钥 (备选) | - | | | `ABUSEIPDB_API_KEY` | AbuseIPDB 威胁情报 | - | | | `VIRUSTOTAL_API_KEY` | VirusTotal 查询 | - | | | `TELEGRAM_BOT_TOKEN` | Telegram 机器人令牌 | - | | | `TELEGRAM_CHAT_ID` | Telegram 聊天 ID | - | | | `SLACK_WEBHOOK_URL` | Slack Webhook URL | - | | | `SMTP_HOST` | SMTP 服务器主机名 | - | | | `SMTP_PORT` | SMTP 服务器端口 | `587` | | | `SMTP_USER` | SMTP 用户名 | - | | | `SMTP_PASSWORD` | SMTP 密码 | - | | ### WAF 运行模式 | 模式 | 行为 | |------|----------| | `BLOCK` | 检测并拦截恶意请求 (403 响应) | | `MONITOR` | 仅检测并记录 (允许所有流量) - 用于规则调优 | | `CHALLENGE` | 对中等严重性返回 CAPTCHA,拦截高/严重级别 | ### 配置检测规则 规则可以通过以下方式管理: 1. **仪表盘 UI** → 规则页面 2. **REST API** → `POST /api/waf/rules` 3. **数据库填充** → `scripts/seed_rules.py` **规则格式:** ``` { "name": "SQL Injection - Union Select", "pattern": "(?i)union\\s+(all\\s+)?select", "attack_type": "SQL_INJECTION", "owasp_category": "A03_INJECTION", "severity": "HIGH", "target": "all", "enabled": true, "mode": "BLOCK" } ``` ## 📡 API 参考 ### 健康检查 ``` GET /health ``` 响应: ``` { "status": "healthy", "version": "1.0.0", "timestamp": "2024-03-31T12:00:00Z", "uptime_seconds": 3600, "components": { "waf": "healthy", "redis": "healthy", "database": "healthy", "ml_model": "healthy" } } ``` ### WAF 状态 ``` GET /api/waf/status ``` ### 获取攻击日志 ``` GET /api/logs?limit=100&offset=0&severity=HIGH ``` ### 手动封禁 IP ``` POST /api/waf/block Content-Type: application/json { "ip": "192.168.1.100", "reason": "Manual block - suspicious activity", "duration": 3600 } ``` ### 解封 IP ``` DELETE /api/waf/block/192.168.1.100 ``` ### 获取规则 ``` GET /api/rules ``` ### 创建规则 ``` POST /api/rules Content-Type: application/json { "name": "Custom SQL Pattern", "pattern": "(?i)exec\\s+xp_", "attack_type": "SQL_INJECTION", "severity": "CRITICAL" } ``` ### AI 攻击解释 ``` POST /api/ai/explain Content-Type: application/json { "log_id": "550e8400-e29b-41d4-a716-446655440000" } ``` ### 生成 PDF 报告 ``` POST /api/reports/generate Content-Type: application/json { "start_date": "2024-03-01", "end_date": "2024-03-31", "include_ai_summary": true } ``` ### 导入规则 (CI/CD) ``` POST /api/waf/rules/import Content-Type: application/json { "rules": [...], "replace_existing": false } ``` ### 导出规则 ``` GET /api/waf/rules/export ``` ## 🖥️ 前端仪表盘 ### 页面 | 页面 | 描述 | |------|-------------| | **仪表盘** | 概览,包含指标、图表、世界地图、实时数据流 | | **日志** | 可搜索的攻击日志表,带有 AI 解释按钮 | | **规则** | 管理检测规则和虚拟补丁 | | **警报** | 警报历史和通知设置 | | **报告** | 生成并下载 PDF 安全报告 | | **威胁情报** | IP 信誉查询和黑名单管理 | | **设置** | WAF 配置、RBAC、集成 | ### 仪表盘组件 - **指标卡片**: 总拦截数、活动封禁、请求数/分钟、最高攻击类型 - **攻击分布图**: 按攻击类型划分的甜甜圈图 - **小时成交量**: 每小时攻击次数柱状图 (24h) - **实时流量**: 流量与拦截量的折线图 (60 分钟) - **世界地图**: 带有严重性标记的攻击来源 - **OWASP 网格**: 显示触发类别的合规性面板 - **实时数据流**: 实时 WebSocket 事件流 ### WebSocket 连接 连接到实时事件: ``` const ws = new WebSocket('ws://localhost:8000/ws/events'); ws.onmessage = (event) => { const data = JSON.parse(event.data); if (data.type === 'attack') { console.log('Attack detected:', data); } }; // Keep-alive ping setInterval(() => ws.send('ping'), 30000); ``` ## 🤖 ML 模型训练 ### 特征工程 ML 模型从每个请求中提取 15 个特征: | 特征 | 描述 | |---------|-------------| | `total_payload_length` | path + query + body 的总长度 | | `url_length` | URL 路径长度 | | `body_length` | 请求体长度 | | `special_char_count` | 特殊字符 `< > ' " ; = ( )` 的计数 | | `shannon_entropy` | 载荷随机性度量 | | `http_verb_encoded` | GET=0, POST=1, PUT=2, 等 | | `url_path_depth` | 路径中 `/` 的数量 | | `num_query_params` | 查询参数计数 | | `num_unique_chars` | 载荷中的唯一字符数 | | `digit_ratio` | 数字比例 | | `_ratio` | 大写字母比例 | | `body_url_ratio` | 请求体长度 / URL 长度 | | `content_type_encoded` | Content-type 类别 | | `request_hour` | 一天中的小时 (0-23) | | `non_printable_ratio` | 不可打印字符比例 | ### 训练过程 ``` cd ml_model python train.py ``` 此过程: 1. 生成 10,000 个合成正常请求 2. 生成 2,000 个合成攻击请求 3. 训练 Isolation Forest (contamination=0.05) 4. 在标记数据上训练 Logistic Regression 5. 拟合 StandardScaler 用于特征归一化 6. 将模型保存为 `.joblib` 文件 7. 报告精确率、召回率、F1 分数 ### 定时重训练 设置每周 cron 任务: ``` # 编辑 crontab crontab -e # 添加每周重训练(周日凌晨 3 点) 0 3 * * 0 cd /path/to/SentinelAI && docker-compose exec backend python scripts/retrain_model.py ``` ## 🧪 测试 ### 运行单元测试 ``` # 所有测试 docker-compose exec backend pytest tests/ -v # 特定测试文件 docker-compose exec backend pytest tests/test_detector.py -v # 使用 coverage docker-compose exec backend pytest tests/ --cov=. --cov-report=html ``` ### 测试攻击检测 ``` # SQL Injection curl "http://localhost:8000/api/test?id=1' OR 1=1--" # XSS curl "http://localhost:8000/api/test?q=" # Path Traversal curl "http://localhost:8000/../../etc/passwd" # Command Injection curl "http://localhost:8000/api/test?cmd=;cat /etc/passwd" # Honeypot 触发 curl "http://localhost:8000/wp-admin" curl "http://localhost:8000/.env" ``` ### 安全测试工具 **使用 Burp Suite:** 1. 配置代理指向 `localhost:8080` 2. 目标 WAF 位于 `localhost:8000` 3. 使用 Intruder 配合攻击载荷 **使用 OWASP ZAP:** ``` # 在 Docker 中运行 ZAP docker run -t owasp/zap2docker-stable zap-baseline.py \ -t http://host.docker.internal:8000 ``` **使用 sqlmap:** ``` # 测试 SQL injection 检测 sqlmap -u "http://localhost:8000/api/test?id=1" --batch ``` ### 负载测试 ``` # 安装 locust pip install locust # 运行 load test locust -f tests/locustfile.py --host=http://localhost:8000 ``` 示例 `locustfile.py`: ``` from locust import HttpUser, task, between class WAFUser(HttpUser): wait_time = between(0.1, 0.5) @task(10) def normal_request(self): self.client.get("/api/test?q=hello") @task(1) def attack_request(self): self.client.get("/api/test?q=' OR 1=1--") ``` ## 🚢 部署 ### 生产环境检查清单 - [ ] 更改所有默认密码 - [ ] 设置 `WAF_MODE=BLOCK` - [ ] 设置 `DEBUG=false` - [ ] 配置 SSL 证书 - [ ] 设置监控 (Prometheus/Grafana) - [ ] 配置备份计划 - [ ] 设置日志轮转 - [ ] 配置警报阈值 - [ ] 审查并调优检测规则 - [ ] 使用生产数据运行 ML 模型训练 ### Docker Compose (生产环境) ``` # docker-compose.prod.yml version: '3.8' services: backend: image: sentinelai/backend:latest restart: always environment: - WAF_MODE=BLOCK - DEBUG=false deploy: replicas: 3 resources: limits: cpus: '2' memory: 4G ``` ### Kubernetes 部署 ``` # k8s/deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: sentinelai-waf spec: replicas: 3 selector: matchLabels: app: sentinelai-waf template: spec: containers: - name: waf image: sentinelai/backend:latest ports: - containerPort: 8000 resources: limits: memory: "4Gi" cpu: "2000m" livenessProbe: httpGet: path: /health port: 8000 initialDelaySeconds: 30 periodSeconds: 10 ``` ### 监控 **Prometheus 指标端点:** ``` GET /metrics ``` **关键指标:** - `waf_requests_total` - 处理的总请求数 - `waf_blocked_total` - 被拦截的总请求数 - `waf_latency_seconds` - 请求处理延迟 - `waf_ml_score_histogram` - ML 异常分数分布 ## 🔧 故障排除 ### 常见问题 **1. 数据库连接失败** ``` # 检查 PostgreSQL 是否运行 docker-compose ps postgres # 检查 logs docker-compose logs postgres # 验证连接 docker-compose exec postgres psql -U sentinel -d sentinelai -c "SELECT 1" ``` **2. Redis 连接失败** ``` # 检查 Redis 是否运行 docker-compose ps redis # 测试连接 docker-compose exec redis redis-cli ping ``` **3. 找不到 ML 模型** ``` # 训练模型 docker-compose exec backend python -m ml_model.train # 验证文件存在 ls -la ml_model/*.joblib ``` **4. 前端无法加载** ``` # 检查 frontend logs docker-compose logs frontend # 如有需要重新构建 docker-compose build frontend docker-compose up -d frontend ``` **5. WebSocket 无法连接** ``` # 检查 CORS 设置 # 确保 frontend URL 在 CORS_ORIGINS 中 # 检查 Nginx WebSocket 代理 # 验证 nginx.conf 中的 upgrade headers ``` ### 调试模式 启用调试日志: ``` DEBUG=true LOG_LEVEL=DEBUG ``` 查看详细日志: ``` docker-compose logs -f backend 2>&1 | grep -E "(ERROR|WARNING|DEBUG)" ``` ### 性能调优 **增加 Worker 数量:** ``` WORKERS=4 ``` **Redis 连接池:** ``` REDIS_POOL_SIZE=20 ``` **数据库连接池:** ``` DB_POOL_SIZE=20 DB_MAX_OVERFLOW=10 ``` ## 🤝 贡献指南 我们欢迎各种形式的贡献!请参阅我们的[贡献指南](CONTRIBUTING.md)。 ### 开发环境设置 ``` # 克隆 repo git clone https://github.com/yourusername/SentinelAI.git cd SentinelAI # 创建 virtual environment python -m venv venv source venv/bin/activate # Linux/Mac # 或:venv\Scripts\activate # Windows # 安装 dependencies pip install -r backend/requirements.txt # 安装 dev dependencies pip install pytest pytest-cov black isort mypy # 运行测试 pytest tests/ -v # 格式化代码 black backend/ isort backend/ ``` ### 代码风格 - Python: Black 格式化工具, isort 用于导入排序 - JavaScript: Prettier, ESLint - 提交信息: Conventional Commits 格式 ## 📄 许可证 本项目采用 MIT 许可证授权 - 详情请参阅 [LICENSE](LICENSE) 文件。 ## 🙏 致谢 - [OWASP](https://owasp.org/) 提供安全指南 - [FastAPI](https://fastapi.tiangolo.com/) 提供优秀的框架 - [scikit-learn](https://scikit-learn.org/) 提供 ML 能力 - [Recharts](https://recharts.org/) 提供可视化支持 - [Groq](https://groq.com/) 提供 AI 能力 ## 📞 支持 - **文档**: 本 README - **问题反馈**: [GitHub Issues](https://github.com/yourusername/SentinelAI/issues) - **讨论**: [GitHub Discussions](https://github.com/yourusername/SentinelAI/discussions)

用 ❤️ 为安全社区构建
⭐ 如果觉得有用,请给个 Star!

标签:AMSI绕过, Apex, API安全, AppImage, AV绕过, CISA项目, Docker, FastAPI, JSON输出, OWASP Top 10, PB级数据处理, PostgreSQL, Python, React, Redis, SIEM仪表盘, SQL注入防御, Syscalls, WAF, Web应用防火墙, XSS防护, 人工智能, 威胁检测, 安全运维, 安全防御评估, 异常检测, 搜索引擎查询, 无后门, 机器学习, 测试用例, 漏洞防护, 用户模式Hook绕过, 网络安全, 请求拦截, 逆向工具, 隐私保护