InkBlade(墨刃零):专注AI训练/推理集群的渗透测试框架
原创
侠盗鲁平
侠盗鲁平
IndexSec
2026年10月28日 11:15
北京
去阅读
InkBlade Agent渗透测试框架不是通用的 K8s 扫描器。它专门测试 LLM 训练与推理基础设施:训练任务能不能被污染,推理权重能不能被拿走,低权限 Pod 能不能横向,GPU 与网络 fabric 能不能被滥用,云身份能不能被接管。
项目入口
- GitHub:https://github.com/lupingQAQ/inkblade
- 文档站:https://lupingqaq.github.io/inkblade/
- 使用边界:仅用于获得书面授权的目标
一、训练/推理集群的安全风险
大模型平台的风险不只在模型输出,更在承载训练与推理的基础设施:作业调度、GPU 通信、模型权重、缓存隔离、云身份链路。
1.1 训练集群风险
| 风险域 | 典型组件 / 攻击面 |
|---|---|
| 作业与队列控制面 | Ray、LWS、Kueue、Volcano、多集群调度 |
| 集合通信与 fabric | NCCL、RoCE、InfiniBand、SHARP、IB Partition |
| GPU 与节点控制面 | GPU Operator、DRA、CSI、CNI、网络 Operator |
| 训练数据与权重链路 | 共享 PVC、checkpoint、optimizer 分片、权重桶、模型仓库 |
| 训练框架入口 | Megatron、DeepSpeed、verl、AReaL、SkyRL、slime |
| 云身份链路 | IRSA、Pod Identity、IMDS、跨账户 AssumeRole |
1.2 推理集群风险
| 风险域 | 典型组件 / 攻击面 |
|---|---|
| 推理服务管理面 | vLLM、SGLang、AReaL、OpenRLHF 管理端点 |
| 插件与代码加载 | 插件路由、远程代码加载、开发模式、权重导出路径 |
| KV 与缓存隔离 | prefill/decode KV 通道、远程 KV 池、前缀缓存、跨租户命中 |
| 平台组件 | AI Gateway、模型注册表、向量库、配额与日志系统 |
| GPU 租户隔离 | MIG、MPS、GPU 池化调度中的残留与隔离边界 |
二、十层检测面
InkBlade Agent渗透测试框架将训练/推理集群风险拆成十层,逐层验证,而不是只做端口或版本扫描。
| 层 | 检测内容 |
|---|---|
| 1. 架构层 | rail 与多平面错配、prefill/decode KV 通道、IMEX/ComputeDomain、MoE/EP 集合通信、多集群信任 |
| 2. 产品 / 框架层 | vLLM、SGLang、AReaL、verl、DeepSpeed、Megatron、slime、AI Gateway 的管理面与插件面 |
| 3. 组件 / Operator 层 | Ray、LWS、GPU Operator、DRA、CSI、CNI、BMC/Redfish 的特权与默认配置 |
| 4. 网络 / fabric 层 | hostNetwork、SR-IOV、macvlan、双 CNI、IB Partition、RoCE PFC/ECN、SHARP、NCCL 端口与 DNS 发现 |
| 5. 数据 / 权重层 | checkpoint、optimizer 分片、数据集管线、Hugging Face cache、权重桶、模型注册表 |
| 6. 租户隔离层 | MIG/MPS 残留、GPU 池化调度、cache_salt、路由指标泄露 |
| 7. 供应链 / 身份层 | trust_remote_code 、版本锁定、attestation、SBOM、IRSA、Workload Identity、IMDS |
| 8. 缓存安全层 | 跨租户前缀缓存、语义误命中、逐出残留、远程 KV 池、EPP 指标、TTFT 侧信道 |
| 9. 跨组合层 | 单独看是中危、组合后变高危的链路,例如“管理面无鉴权 + SA 权限 + 权重桶写入” |
| 10. 防护绕过层 | 验证哪些变体能绕过 HIDS、运行时 eBPF、准入、镜像扫描、WAF、网络可视化,并输出检测结果与盲区 |
三、探针:运行在目标 Pod 内的 Rust 执行体
InkBlade Agent渗透测试框架的目标侧执行体是一个 静态 musl Rust 探针。
3.1 默认环境假设
默认按最低权限 Pod 设计:
- 非 root
- 无 hostPath
- 无 privileged
- 无 kubeconfig
- 只允许出站连接
探针启动后 主动回连控制端,不在目标 Pod 开监听端口。
3.2 回连通道
| 传输 | 说明 |
|---|---|
| TLS | 默认加密回连 |
| WSS | TLS + WebSocket |
| HTTPS 长轮询 | 表现为普通 API 流量 |
| QUIC | UDP 443,低延迟传输 |
| WebTransport | HTTP/3 双向流,实验性 |
| MASQUE CONNECT-UDP | HTTP/3 UDP 代理 |
3.3 认证方式
- 控制端证书 SHA-256 pin
- challenge-HMAC token
- token 不写入日志和状态文件
3.4 探针能力
| 操作 | 能力 |
|---|---|
collect |
主机、Pod、进程、网络、Kubernetes 上下文 |
exec / audit-exec |
受预算和命令白名单约束的执行与审计 |
read-file / list-files |
文件读取与目录枚举 |
upload / download |
受授权控制的数据传输 |
dial |
TCP/UDP 探测与转发 |
spawn |
投放子探针,保留 probe_id / parent_id |
beacon |
状态与心跳 |
cleanup |
子探针优先清理,避免遗留未回收 token |
子探针继承更严格的预算和白名单,并限制嵌套层数与并发子探针数量。
四、代理:与 ML 集群通信协议一致的代理层
InkBlade Agent渗透测试框架的代理不是通用 SOCKS 转发,而是使用训练/推理环境中常见的服务协议形态,使代理流量与 ML 平台自身通信保持一致。
| 协议 | 场景 |
|---|---|
| gRPC over TLS | Triton 8001 / Ray 8265,token 放 gRPC metadata |
| Redis RESP over TLS | Ray GCS 6379,客户端 AUTH 后转发 |
| TCPStore / Gloo TLS relay | PyTorch 29500,HMAC 握手后转发 |
| NCCL / UCX TCP 控制 profile | 50000–51000 等 bootstrap / 控制端口,只覆盖 TCP 控制流 |
| ZMTP + CURVE | SGLang / vLLM 常见 ZeroMQ 面,实验性 |
| MASQUE CONNECT-UDP | RoCE / UCX 的 UDP 辅助面 |
| SOCKS5 | 仅 loopback,用于本地工具兼容 |
五、漏洞研究与产出结果
5.1 漏洞储备
- 286 个检测模板
- 121 条检测规则
- 29 条攻击链
- 184 条漏洞研究记录
- 68 个可运行 PoC
其中,在 169 条研究记录中:
- 47 条已完成动态复现,并确认为 未公开漏洞
5.2 报告产物
- 中英双语渗透报告
- 修复报告
- SARIF / OCSF / VEX 导出
- 权限图
- 执行时间线
- 操作与文件访问台账
- SHA-256 证据 manifest
- 规则与攻击链覆盖矩阵
使用边界
InkBlade Agent渗透测试框架仅用于 获得书面授权 的目标。
* 不得用于未授权测试
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论