giriaryan694-a11y/ai-recon

GitHub: giriaryan694-a11y/ai-recon

一款专注于 AI/ML 基础设施的侦察工具,能够识别模型服务框架、向量数据库和 LLM 运行时,并枚举元数据、标记已知漏洞和映射 MITRE ATLAS 技术ID。

Stars: 0 | Forks: 0

# AI-RECON — AI 基础设施侦察工具 一款专为 AI/ML 基础设施构建的侦察工具——那种 Nmap 无法理解的基础设施。当 Nmap 在端口 8000 上只看到 `http-alt` 时,AI-RECON 却能识别出 Triton、vLLM 或 Ollama,查询它们的 API,并绘制出完整的攻击面。 ## 功能特性 | 阶段 | 功能描述 | |-------|-------------| | **端口扫描** | 针对 19 个 AI 专属端口(5000, 6333, 8000–8002, 8080–8082, 8265, 8500–8501, 8888, 9000–9001, 11434, 19530)进行并行 TCP 连接扫描 | | **HTTP 指纹识别** | Header 分析、JSON 响应结构、端点命名约定、错误消息指纹识别 | | **gRPC 检测** | 针对 Triton (8001)、TF Serving (8500)、Qdrant (6334)、Milvus (19530) 进行 HTTP/2 前缀探测 | | **元数据枚举** | 从 MLflow 中提取实验、模型注册表、Artifact URI、用户 ID;从 Qdrant/Weaviate/Chroma 中提取集合;从 Jupyter 中提取 Kernel + Notebook;从 Ollama/Triton/TorchServe 中提取模型列表 | | **漏洞标记** | 将发现结果映射到已知 CVE(CVE-2023-48022、CVE-2024-1558、CVE-2024-28224、ShellTorch 等) | | **ATLAS 映射** | 每个端口发现结果都会标记其对应的 MITRE ATLAS 技术ID | | **JSON 导出** | 生成用于 Pipeline 集成的完整结构化报告 | | **CIDR 支持** | 使用单条命令扫描整个子网 | ## 安装 ``` pip install requests rich ``` 无其他依赖。仅需纯 Python 3.10+。 ## 使用方法 ``` # 基础扫描 — 针对单个主机的所有 AI 端口 python ai_recon.py -t 10.10.45.12 # 包含完整 metadata 枚举 python ai_recon.py -t 10.10.45.12 --enumerate # 保存 JSON 报告 python ai_recon.py -t 10.10.45.12 --enumerate --output report.json # 仅扫描特定端口 python ai_recon.py -t 192.168.1.10 --ports 5000,8000,8888 # 扫描整个 subnet python ai_recon.py -t 10.10.45.0/24 # 调整 timing python ai_recon.py -t 10.10.45.15 --timeout 5 --threads 100 ``` ## 命令行参数 | 参数 | 默认值 | 描述 | |------|---------|-------------| | `-t / --target` | 必填 | IP、主机名或 CIDR(例如 `10.0.0.0/24`) | | `-p / --ports` | 所有 AI 端口 | 逗号分隔的端口列表 | | `--timeout` | 2.0s | TCP/HTTP 连接超时时间 | | `--threads` | 50 | 并行扫描线程数 | | `--enumerate` | 关闭 | 运行元数据枚举阶段 | | `--output` | 关闭 | 将 JSON 报告写入文件 | | `--no-banner` | 关闭 | 隐藏 ASCII Banner | ## 端口参考 | 端口 | 服务 | 类别 | |------|---------|----------| | 5000 | MLflow Tracking Server | ML 生命周期 | | 6333 | Qdrant HTTP | Vector DB | | 6334 | Qdrant gRPC | Vector DB | | 8000 | Triton / vLLM / Chroma | 模型服务 | | 8001 | Triton gRPC | 模型服务 | | 8002 | Triton Prometheus | 指标监控 | | 8080 | TorchServe / Weaviate | 模型服务 | | 8081 | TorchServe Management API | 模型服务 | | 8082 | TorchServe Prometheus | 指标监控 | | 8265 | Ray Dashboard / Job API | 任务编排 | | 8500 | TensorFlow Serving gRPC | 模型服务 | | 8501 | TensorFlow Serving HTTP | 模型服务 | | 8888 | Jupyter Notebook | 开发环境 | | 9000 | MinIO S3 API | 对象存储 | | 9001 | MinIO Console | 对象存储 | | 11434 | Ollama LLM Runtime | LLM 服务 | | 19530 | Milvus gRPC | Vector DB | ## MITRE ATLAS 映射 | 发现类型 | ATLAS 技术 | |-------------|----------------| | 端口扫描 AI 服务 | AML.T0006 — 主动扫描 | | 模型注册表枚举 | AML.T0007 — 发现 ML Artifacts | | LLM 端点识别 | AML.T0014 — 发现 ML 模型家族 | | 供应链暴露 | AML.T0010 — ML 供应链妥协 | ## JSON 报告结构 ``` { "meta": { "tool": "AI-RECON", "author": "Aryan Giri", "target": "...", "timestamp": "..." }, "open_ports": { "5000": { "service": "MLflow", "category": "ML Lifecycle", ... } }, "fingerprints": { "5000": { "framework": "MLflow Tracking", "confidence": "HIGH", ... } }, "enumeration": { "5000": [ { "label": "Experiments", "artifact_uris": [...], "users": [...] } ] }, "vulnerabilities": { "5000": [ { "cve": "CVE-2024-1558", "severity": "CRITICAL", ... } ] } } ``` ## 法律声明 仅限在经授权的渗透测试、红蓝对抗演练和封闭的实验室环境中使用。 *由 Aryan Giri 制作*
标签:AI红队工具, API枚举, ATLAS框架, ATT&CK映射, CVE映射, gRPC探测, LLM运行时检测, MLOps安全, ML基础设施侦察, Python安全工具, 人工智能安全, 企业安全, 元数据提取, 合规与审计, 合规性, 向量数据库安全, 大模型安全, 实时处理, 密码管理, 开源软件, 插件系统, 数据统计, 模型服务框架, 端口扫描, 网络安全审计, 网络安全扫描器, 网络指纹识别, 网络资产管理, 自动化渗透测试, 进程保护, 逆向工具, 速率限制处理