tharsan1305/APIShield-AI
GitHub: tharsan1305/APIShield-AI
一款 AI 驱动的 API 渗透测试与漏洞情报平台,自动化执行端点发现、漏洞探测、风险评分与多格式报告生成。
Stars: 0 | Forks: 0
# 🛡️ APIShield-AI
**AI 驱动的 API 渗透测试与漏洞情报平台**
APIShield-AI 是一个专业级的、授权的 API 安全扫描和渗透测试平台。它实现了端点发现、主动漏洞探测、动态风险评分以及报告生成的自动化。
## ✨ 功能特性
- **📊 单页应用 (SPA) 交互式仪表盘**:提供包含五个独立标签页的深色模式 Web 报告:
- **仪表盘**:环形合规仪表及分类覆盖率细分。
- **执行报告**:高层级摘要、管理指标及战略风险评级。
- **开发者报告**:详尽的技术细节,受影响端点的可展开/滚动列表,以及可复制的修复代码片段。
- **渗透测试**:完整的原始 HTTP 流量交换(请求与响应详情)存储库,便于简单复现。
- **JSON/SARIF**:输出兼容的 SARIF JSON 日志,便于与 CI/CD 工具集成。
- **📈 高级安全指标**:
- **CVSS v3.1 评分与向量**(例如 `8.6` - `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N`)。
- 针对所有发现的问题进行 **OWASP API Security Top 10 (2023)** 映射。
- **智能置信度水平**(例如 `Verified (95%)`、`Likely (70%)`、`Needs Manual Verification (40%)`)。
- **🗃️ 智能去重与合并**:将不同端点上的同类漏洞进行分组,以防止信息冗余,并显示受影响的路由和方法列表。
- **💻 多框架修复**:提供可直接复制的代码修复方案,支持 **Spring Boot (Java)、Node.js (Express)、.NET (C#)、Python (FastAPI) 和 Go**。
- **📑 专业 PDF 导出**:将所有发现的问题生成 PDF 摘要,便于离线分发。
- **🧠 OpenAI 辅助分析**:采用 GPT-4o 智能分析响应,并结合确定性检查。
## 🔒 安全默认设置
1. **显式授权**:在执行任何主动探测之前,必须提供 `--i-have-authorization` 标志。
2. **范围限制**:将请求严格限制在目标主机名范围内,以防止扫描第三方 API。
3. **私有地址保护**:阻止扫描环回、链路本地、私有或多播目标,除非明确指定 `--allow-private-targets`。
4. **定速探测**:在连续请求之间插入延迟,避免对 API 造成过大负担。
## 🚀 安装说明
确保已安装 Python(版本 3.8+)。运行以下安装命令:
```
# 进入项目文件夹
cd api-pentest-agent
# 创建虚拟环境
py -m venv .venv
# 激活虚拟环境
.\.venv\Scripts\Activate.ps1
# 安装 requirements
pip install -r requirements.txt
# 创建环境配置文件
copy .env.example .env
```
如果您希望启用 OpenAI 辅助的响应验证,请编辑 `.env` 并添加您的密钥:
```
OPENAI_API_KEY=your-api-key-here
OPENAI_MODEL=gpt-4o
```
*注意:如果未指定 API 密钥,该工具将自动降级为确定性模式(功能完全正常)。*
## 💻 使用说明
该代理可以通过 **CLI 界面** 或 **Web 应用程序** 运行。
### 1. 命令行界面 (`main.py`)
针对远程 URL 运行基本扫描(启用不安全 TLS 验证、请求定速以及授权检查):
```
cd api-pentest-agent
py main.py https://api.example.com --i-have-authorization
```
#### CLI 选项
```
positional arguments:
url Target base URL, e.g. https://api.example.com
options:
-h, --help show this help message and exit
--i-have-authorization
Required acknowledgement for active testing
--auth-token TOKEN Bearer token for authenticated requests
--header HEADER Additional header, repeatable. Format: 'Name: value'
--timeout SECONDS HTTP connection timeout (default: 15)
--delay SECONDS Delay between requests in seconds (default: 0.15)
--max-endpoints N Maximum endpoints to scan (default: 100)
--rate-limit-requests Rate limiting requests count (default: 12)
--module NAME Run only selected module(s), repeatable (e.g. --module sqli)
--output DIR Report output directory (default: reports)
--proxy URL Optional HTTP proxy (e.g., http://127.0.0.1:8080)
--insecure Disable TLS certificate verification
--allow-private-targets Allow loopback/private target testing
--no-ai Use deterministic analysis only (bypass OpenAI calls)
```
#### CLI 示例
- **认证测试**:
py main.py https://api.example.com --i-have-authorization --auth-token "eyJhbGciOiJIUzI1..."
- **使用特定模块测试 Localhost API**:
py main.py http://127.0.0.1:8080 --i-have-authorization --allow-private-targets --module sqli --module auth --no-ai
### 2. 图形化 Web 应用程序 (`web_app.py`)
如需图形化的扫描体验,请启动内置的 HTTP 服务器:
```
cd api-pentest-agent
py web_app.py
```
1. 打开浏览器并导航至终端中显示的地址(默认:`http://127.0.0.1:8765`)。
2. 输入目标 URL,添加请求头或 token,勾选授权复选框,并选择目标测试模块。
3. 点击 **Run Security Scan**。
4. 完成后,立即查看指标,下载 **PDF 报告** 或 **SARIF JSON 日志**,或者打开带有选项卡导航的 **SPA 交互式仪表盘**。
## 🛠️ 包含的安全模块
- `sqli`:探测参数和请求头中的 SQL 注入漏洞。
- `xss`:探测字段中是否存在 API 响应里的跨站脚本反射。
- `auth`:测试 token 验证绕过、缺失认证请求头以及弱登录。
- `cors`:验证 Origin 反射策略和通配符设置。
- `rate-limit`:通过发起大量请求,测试是否缺乏 API 速率限制。
- `idor`:检查参数是否存在 IDOR 漏洞及缺失所有权校验。
- `ssrf`:查找导致服务器请求内部重定向的参数。
- `method-abuse`:探测不受支持的 HTTP 方法(例如:PUT、DELETE、OPTIONS)。
- `open-redirect`:检查返回 URL 输入是否存在任意重定向。
- `broken-auth`:测试暴力破解访问和多因素认证 (MFA) 绕过参数。
- `mass-assignment`:将管理员权限注入到请求体属性中。
- `rbac`:针对管理员路径评估低权限会话请求头。
- `data-exposure`:扫描响应数据中泄露的密码、密钥和个人敏感信息 (PII)。
- `jwt`:扫描 JSON Web Token 签名算法篡改及弱密钥。
- `oauth`:评估重定向 URI 和 code 参数。
- `session`:审计 cookie 标志(`Secure`、`HttpOnly`、`SameSite`)。
## 📁 项目结构
```
APIShield-AI/
│
├── api-pentest-agent/ # Scanner Source Code
│ ├── core/
│ │ ├── ingest/ # Spec parsers & REST API Crawlers
│ │ ├── remediation.py # Grouping logic & Remediation templates
│ │ ├── report_generator.py # HTML SPA Dashboard
│ │ ├── sarif_generator.py # SARIF JSON exporter
│ │ ├── pdf_report.py # PDF report exporter
│ │ ├── risk_engine.py # CVSS & Risk severity calculator
│ │ └── ai_analyzer.py # AI response analyzer
│ │
│ ├── attacks/ # Security scanning modules
│ ├── rules/ # Signature detection rules (JSON)
│ ├── main.py # CLI entry point
│ └── web_app.py # Web dashboard server
│
└── .gitignore # Ignored configurations
```
## 🛡️ 许可证与免责声明
*免责声明:此工具仅供授权的安全评估使用。未经明确许可测试目标网络或 API 是违法行为。*
标签:API安全, JSON输出, OpenAI, Python, SARIF, 内存规避, 多人体追踪, 密码管理, 无后门, 日志审计, 逆向工具