SuperAPI AI 工具集

ai-infrastructure-attack

安全与审计

查看项目

更新于 10-16 04:42

技能介绍

用途

本技能是一套面向 AI/ML 基础设施的安全测试方法论,适用于目标环境中出现 Jupyter Notebook/JupyterHub/JupyterLab、MLflow、Ray Dashboard、Kubeflow、Gradio/Streamlit 应用、vLLM/TGI/Ollama 推理服务或其他机器学习平台时的安全评估。其核心背景是:AI/ML 平台通常由数据科学家而非安全工程师部署,大量服务默认无认证、开放在公网、运行在高权限环境(GPU 节点/K8s 集群),且这些平台天然提供代码执行能力(notebook/pipeline),因此攻下一个服务往往等同于获得远程代码执行(RCE)。

主要能力

技能按阶段组织测试流程:

  • Phase 0 服务识别:给出常见 AI/ML 服务端口、默认认证状态与危害等级对照表,包括 8888(Jupyter Notebook/Lab,Token 常为空或弱,直接 RCE)、8000(JupyterHub,用户名密码,多用户 RCE)、5000(MLflow,无认证,模型投毒+RCE)、8265(Ray Dashboard,无认证,任务执行=RCE)、8080(Kubeflow Dashboard,无/Dex OIDC,Pipeline=RCE)、7860(Gradio,无认证,SSRF+文件读取)、8501(Streamlit,无认证,SSRF+信息泄露)、11434(Ollama,无认证,模型操作+SSRF)、3000(Grafana ML 监控,admin/admin,信息泄露)。
  • Phase 1 Jupyter Notebook/Lab(最高优先级):未授权访问检测(/api、/api/kernels、/api/sessions、/api/contents、/lab、/api/me);Token 获取/绕过(默认/空 Token、环境变量 JUPYTER_TOKEN、配置文件 ~/.jupyter/jupyter_notebook_config.py、启动日志、URL 参数泄露、JupyterHub 默认凭据);RCE 利用(创建 kernel、通过 REST API 创建并执行 notebook、通过 terminal 执行);后渗透(读取环境变量中的云凭据、检查 K8s Pod、读取 ServiceAccount Token、检查 GPU 与模型文件)。
  • Phase 2 MLflow:未授权访问检测(experiments/search、registered-models/search、runs/search、experiments/list);模型投毒→RCE(利用 pickle 反序列化构造恶意模型并注册);凭据提取(artifact 存储的 S3/GCS/Azure 凭据、运行参数中的敏感信息)。
  • Phase 3 Ray Dashboard:RCE(通过 /api/jobs/ 提交远程任务执行代码并查看输出);集群信息收集(/api/cluster_status、/nodes,可能暴露内网 IP、GPU 配置、资源使用)。
  • Phase 4 Gradio / Streamlit:Gradio 的 API 端点探测、文件上传漏洞(如 CVE-2024-1561)、路径穿越、flagging 目录检查;Streamlit 的健康检查与 host-config 探测、SSRF 与文件上传检查。
  • Phase 5 Ollama / vLLM / TGI:Ollama 的模型列表与运行状态、通过模型拉取实现 SSRF、模型交互提取训练数据/prompt;vLLM/TGI 的 OpenAI 兼容 API 探测与推理 API 滥用。
  • 决策树:按发现的端口给出对应的测试路径分支。
  • 参考资源:Jupyter 高级利用 + MLflow/Ray 自动化脚本位于 references/ai-exploit-details.md。

使用方式

技能以命令行示例(curl、Python 代码片段)形式给出各阶段的检测与利用步骤,使用者需按 Phase 0 到 Phase 5 的顺序,先识别目标服务与端口,再根据决策树选择对应路径进行验证。所有命令与代码均需在获得明确授权的测试环境中使用。

适用场景

适用于对 AI/ML 平台进行授权渗透测试、红队评估、安全审计与漏洞验证,尤其是当目标涉及 Jupyter、MLflow、Ray、Kubeflow、Gradio、Streamlit、Ollama、vLLM/TGI 等组件,或发现相关端口对外开放时。

限制

本技能为安全测试方法论,仅应在合法授权范围内使用。资料未提供具体工具的安装命令、依赖版本、收费信息或平台支持范围;部分利用路径(如 Gradio 文件上传漏洞)依赖特定版本或配置,实际效果需以目标环境为准。