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, 内存规避, 多人体追踪, 密码管理, 无后门, 日志审计, 逆向工具