//InkBlade墨刃零

训练与推理基础设施

InkBlade墨刃零

训练与推理集群渗透测试平台

产品文档 / 2026-10

把静态 Rust 探针放进已授权的 Pod,覆盖十层检测,产出双语报告、可重放规则与本地控制台。控制端不向集群下发代码。

01

十层检测

探针逐层看什么

每一层都是一组可独立执行的模板。模板声明输入、步骤、检查项、发现和产物;探针执行模板并回传证据。

10检测层
286模板
29条链
11防护绕过模块

十层一览

层能做什么代表模板
1架构层审计 rail 与多平面错配、PD 分离 KV 通道、IMEX 域、MoE/EP 集合通信、长上下文 KV 生命周期、多集群联邦与身份信任。rail-mismatch-forcing, prefill-decode-kv-channel-unauth, nvlink-imex-isolation
2产品 / 框架层枚举 vLLM、SGLang、TRL、verl、AReaL、SkyRL、OpenRLHF、slime、LLaMA-Factory、ms-swift、Megatron-LM、DeepSpeed、transformers、网关与 Agent 平台的管理面与控制面。vllm-plugin-auth-bypass, sglang-admin-failopen, verl-prime-code-exec
3组件 / Operator 层检查 Ray 与 LWS 控制面、GPU Operator 与驱动容器、DRA 策略、CSI 节点插件、BMC/Redfish 与 DPU offload。ray-dashboard-job, gpu-operator-driver-audit, gpu-dra-mig-policy
4网络 / fabric 层验证 hostNetwork、SR-IOV、macvlan 上的策略旁路,CNI 双控制面、IB 子网管理器、RoCE PFC/ECN、SHARP、NCCL bootstrap 与 DNS。multus-sriov-rdma-bypass, ib-sm-partition-audit, sharp-in-network-poison
5数据 / 权重层检查 checkpoint 与优化器分片、数据集管道、HF 缓存、权重桶、模型注册表与 KV/前缀缓存。checkpoint-shard-poison, skyrl-fetch-weights-traversal, model-registry-exposure
6租户 / 隔离层度量 MIG 与 MPS 残留、GPU 池化调度器、cache_salt 策略与路由指标泄露。gpu-tenant-residue, hami-scheduler-auth-gap, cache-salt-policy-audit
7供应链 / 身份层核验 trust_remote_code、revision 固定、证明链、SBOM、IRSA/工作负载身份、IMDS 与凭据暴露。trust-remote-code-supply-chain, gpu-cc-attestation-chain, cloud-irsa-trust-wildcard
8缓存安全层测试跨租户前缀缓存、语义缓存误命中、逐出残留、远程 KV 池、EPP 指标与 TTFT 时序。prefix-cache-cross-tenant-leak, remote-kv-pool-isolation, cache-timing-sidechannel
9跨组合层只在两个或三个组件同时满足条件时才成立的发现,合并到组合层报一次,并把组件级记录并入其中。sglang-weight-exfil, imex-computedomain-gpu-memory-crossing, long-context-cache-leak
10防护绕过层度量 HIDS、运行时 eBPF、准入、镜像扫描、主机代理、WAF 与流量可视化是否看得见良性授权行为。defense-bypass-elkeid, defense-bypass-falco, defense-bypass-admission

逐层检测点与证据产出:DETECTION-LAYERS.md · PRODUCT.md

平台能力

  • 一条执行路径。 立足、Rust 探针、帧通道、Pod 内任务、子探针、证据。
  • 探针树。 probe_id 与 parent_id 标出位置;子探针用自己的 token,继承只能更严格;限制嵌套层数与并发子探针数量;清理先子后父。
  • Agent 运行时。 带预算的目标图,含决策轨迹、journal 恢复与零执行回放。
  • 跨集群中继。 集群间用同一套帧协议,并留下覆盖证明。
  • 证据由探针产出。 任务结果、步骤日志、产物、SHA-256 manifest、流量表与清理回执。
  • 规则可重放。 准入、运行时、网络三类规则包,输出拦截 / 检出 / 漏过矩阵。
  • 报告与控制台。 双语渗透与修复报告、SARIF / OCSF / VEX 导出、本地控制台。
02

一条执行路径

三个组件,一棵探针树

控制端不在目标侧执行任何逻辑:它负责授权、渲染模板、执行预算与归档证据。探针是 Pod 里唯一运行的代码。

执行路径
立足 ──▶ Rust 探针 ──▶ 帧通道 ──▶ Pod 内任务
                                   │
                                   ├─▶ 子探针 ──▶ 子探针
                                   └─▶ 证据 ──▶ 报告 / 规则 / 控制台

三个组件

  • 模板层。 template.json 声明输入、载荷、步骤、computed 状态、检查项、发现与产物。
  • 探针端。 静态 Rust 二进制使用 HMAC 认证的帧协议,执行 http、tcp、exec、fs、k8s、socks 与 spawn。
  • 控制端。 Python 负责授权、范围、级别、备份与审计校验,并把探针证据汇总成发现。

探针树

每颗探针都有 probe_id 与 parent_id。子探针继承父探针的只读状态、命令白名单与预算,且只能更严格。清理先子后父,避免留下未清理、仍持有 token 的子探针进程。

ARCHITECTURE.md · ARCHITECTURE-PROBE.md · PROBE-PROTOCOL.md

03

静态 Rust 探针

一个二进制、286 个模板

探针是 linux/amd64 与 linux/arm64 各一个静态 musl 二进制。模板是 JSON 数据。

286模板
2musl 架构
12探针操作

探针操作

操作做什么
collect采集主机、Pod、进程、网络与 Kubernetes 上下文。
exec在预算内执行白名单命令。
audit-exec执行命令并留下审计轨迹与时序记录。
read-file读取文件,带大小上限与 SHA-256 哈希。
list-files列出目录树与元数据。
upload写入前先过授权与写权限校验。
download分块流式回传文件。
spawn启动子探针,给它独立 token 与更严格的预算。
dial向范围内目标建立 TCP 或 UDP 连接。
socks暴露回环 SOCKS5 监听,兼容本地工具。
beacon经帧通道发送心跳与状态更新。
cleanup移除产物并确认探针树已清空。

每个操作都受预算与范围约束,并写入证据库;探针树按先子后父的顺序清理。

每个模块都是模板;注册表不接受带 run.py 的模块。

ARCHITECTURE-PROBE.md · PROBE-PROTOCOL.md · PROBE-BUILD.md

04

代理协议支持

回连传输与 ML 服务代理

回连通道与 ML 代理属于两层:通道在控制端与探针之间承载帧,代理在探针与范围内目标之间承载服务协议。

层支持
回连通道TLS · WSS · HTTPS · QUIC · WebTransport(experimental)· MASQUE
ML 服务代理gRPC · Redis · TCPStore · NCCL · UCX · ZMTP(experimental)
SOCKS5仅回环兼容(127.0.0.1)

认证与加密

  • 每个帧都带 token 与 HMAC;token 或 MAC 不匹配就断开连接。
  • TLS、WSS、HTTPS、QUIC 与 WebTransport 用 SHA-256 pin 校验控制端证书,可选 CA 文件。
  • gRPC、Redis、TCPStore、NCCL 与 UCX 代理走 TLS;ZMTP 启用时使用 CURVE 与 Z85 密钥。
  • SOCKS5 只留在回环,是本地工具的兼容路径,不是全网代理。

PROBE-CHANNEL.md · PROBE-PROTOCOL.md · USAGE.md

05

漏洞研究

模板目录背后的漏洞研究

模板目录对应 184 条漏洞记录,每条写清组件、受影响版本、根因、影响与检测方式;其中 68 条带可运行 PoC。研究集共 169 条:47 条经动态复现并确认未公开,46 条可以进入协调披露,去重后得到 39 个独立利用原语。103 条受影响版本记录与 121 条检测规则支撑 29 条攻击链。

漏洞研究

库存数量
漏洞条目184
可运行 PoC68
研究记录169
确认未公开47
可进入披露46
独立原语39
版本矩阵条目103
载荷包47
检测规则121
攻击链29

公开台账列出组件、类别、受影响版本与披露状态;利用细节不公开。

0DAY-PUBLIC.md · VULNERABILITY-LAYERS.md · DETECTION-LAYERS.md

06

从立足到报告

九个阶段,每步都留下下一步能校验的东西

阶段顺序很重要。任何阶段都可以拒绝,拒绝之后这次运行就停在这里。

  • 1立足session open 记录入口方式、目标、命名空间、Pod 与凭据指纹。
    → 会话记录
  • 2Rust 探针probe deploy 投放静态二进制并登记身份与哈希。
    → 探针身份
  • 3通道channel listen 接收探针回连;有本地命令通道时也可以用 stdio 通道。
    → 通道状态
  • 4检测session run、run 与 agent run 按十层执行模板。
    → 发现、证据
  • 5逃逸execute 解析链;写步骤先过备份校验。
    → 逃逸路径
  • 6横向通道转发、子探针与 agent 图边测绘内部可达性。
    → 可达图
  • 7多探针probe spawn 扩展探针树;子探针继承更严格的预算与白名单。
    → 探针树
  • 8跨集群agent relay 连接集群;agent coverage 写出完成证明。
    → 中继状态、覆盖证明
  • 9报告 / 规则 / 控制台report、export、rules generate 与 ui 完成报告、规则与控制台。
    → 报告、规则包、控制台

写操作的五道校验

校验拒绝条件信号
授权没记录、窗口过期、资产越界。exit 91
级别模板级别高于记录。exit 91
备份写步骤没有备份目标。exit 91
范围目标或命名空间不在会话内。拒绝
回滚有步骤无法恢复。exit 3

逐阶段参考

07

探针优先接入

安装、接入、投放、运行、报告

从控制台开始,接入你已有的探针或立足点。默认立足点是一个普通的最低权限 Pod:非 root、没有 hostPath 或 privileged、没有 kubeconfig,只有出站 TCP。

  1. python -m pip install -e .安装控制端,需要 Python 3.10 – 3.13。
  2. python -m inkblade up启动控制台,在浏览器里登录并签授权记录。
  3. python -m inkblade probe list接入已有探针;控制端监听,探针主动回连。
  4. python -m inkblade session open --mode foothold ...用已有 shell、SA token 或 RCE 完成首次投放。
  5. python -m inkblade agent run --probe <probe-id> ...通过探针通道执行检测,再生成报告。
终端 · 探针优先
$ python -m inkblade up
$ python -m inkblade quickstart
$ python -m inkblade probe list
$ python -m inkblade channel listen
$ python -m inkblade session open --mode foothold --target <target>     --credential-source pod-shell --namespace <namespace> --pod <pod>
$ python -m inkblade probe deploy --session <session-id> --via rce     --binary ./inkblade-probe-linux-amd64 --probe-token-file ./probe.token --allow-write
$ inkblade-probe reverse --host <controller> --port <port>
$ python -m inkblade agent run --probe <probe-id> --objective read-only-recon --workspace ./work
$ python -m inkblade report --run <run-id> --lang bi

子探针由父探针用 probe upload + probe spawn 投放,回连方式相同。目标环境里有本地命令通道时,可以用 stdio 通道(channel start)。kubeconfig 是可选的,只用于首次批量 bootstrap。文档站点在本地:python -m inkblade docs 在 127.0.0.1:8766 提供 docs/ 并打开浏览器,--no-browser 则不打开。

快速开始 · 安装 · 使用

08

命令表

实际输入的命令面

不访问集群或 LLM 的命令可以离线运行;`agent` 规划需要配置 LLM 端点。

任务命令
接入向导inkblade up
授权记录inkblade quickstart · inkblade roe
会话inkblade session open|status|close|run
探针inkblade probe deploy|list|collect|exec|read-file|list-files|upload|download|spawn|cleanup
通道inkblade channel listen|start|status|stop
单模板inkblade session run --id --module · inkblade run --module
链inkblade execute --chain [--dry-run]
Agentinkblade agent run|status|trace|resume|replay|stop
跨集群inkblade agent relay add|list|status · inkblade agent coverage status|proof
报告inkblade report --run --lang bi
导出inkblade export --run --format sarif|ocsf|vex
规则inkblade rules generate · inkblade rules validate
控制台inkblade ui
文档站点inkblade docs --port 8766 --bind 127.0.0.1
模板inkblade template list|get|plan|validate

完整使用手册

09

Wheel、容器、Helm

一个控制端,三种交付方式

控制端是一个无第三方依赖的 Python 包;探针是独立的静态二进制。

wheel
python -m pip wheel . --no-deps -w dist/
python -m pip install --no-index --find-links dist/ inkblade
容器
docker build -t inkblade:0.2.0 .
docker run --rm -v inkblade-data:/data inkblade:0.2.0 up
helm · 默认只读
helm install inkblade deploy/helm/inkblade   --namespace inkblade --create-namespace

uid 10001、根文件系统只读、证据写入 PVC。默认只给读动词;写操作需要 readOnly=false、rbac.allowWrite=true 与签署记录。卸载时保留 PVC。

安装指南 · 探针投放

10

安全与授权

授权是使用前提,不是功能开关

没有签署记录,InkBlade 拒绝运行。每个阶段都有自己的校验。

  1. RoE 记录目标、范围、级别、时间窗与应急联系人;记录带哈希,随每次运行进入证据。
  2. 默认只读采集、探测、读文件与只读模板不需要额外开关。
  3. 五道写权限校验会话级别、--allow-write、meta.writes、backup-write 模式、备份回执。
  4. 备份与回滚写前做快照,写操作与快照都记录,恢复按步骤进行。
  5. 审计与证据每次探针动作与文件访问进入证据库,带 SHA-256 manifest。
  6. 急停inkblade abort 停止整个工作区;agent stop 停止单次运行。
控制保证什么
授权文件每次运行都带签署授权文件的哈希,并写入证据。
范围与级别越界或超出级别的动作会在执行前被拒绝。
备份回执没有可恢复快照就没有写操作。
证据 manifest每条发现都能落到 task、step、artifact、probe 或 manifest 哈希。

仅限授权使用。没有书面授权就不做。对不归你所有的系统动手,在多数司法辖区属于违法。没有签署记录,软件会拒绝。

安全问题走 SECURITY.md 的私密渠道;公开 issue 不要贴利用细节。

11

常见问题

接入、探针、检测、授权、交付

探针怎么进 Pod?

从你已有的立足点投放。默认是授权 RCE:二进制 base64 分块送进 Pod,落到 memfd;没有 memfd 就落到 /dev/shm 或 /tmp,chmod 700 后启动。另外三条路是 ServiceAccount token、共享卷与 EphemeralContainer 清单:probe deploy --via sa-token 生成临时 kubeconfig 后 kubectl cp + exec;共享卷把二进制放进目标容器挂载的卷;probe deploy --via manifest 生成 Pod、Job 或 EphemeralContainer 清单。kubectl 只在批量 bootstrap 时需要。探针启动后执行 inkblade-probe reverse --host <controller> --port <port> 回连控制端,之后的命令都走这条通道。

探针是不是后门?

不是。它不持久化、不改启动项、不改镜像、不回连固定 C2。它只在授权会话内运行,执行已注册模板,默认只读,写操作过校验,退出时清理。

写操作怎么保证安全?

五道校验:授权覆盖目标、级别与时间窗;--allow-write;meta.writes 与写步骤;backup-write 模式;备份回执。写后回读哈希,失败回滚。

能离线吗?

手动执行、模板、探针和报告可以离线;`agent run` 的 LLM 规划需要配置 LLM 端点(本地模型或内网 API),没有配置时就用手动或规则模式。

能商用或 fork 吗?

Apache-2.0 允许商用与 fork。保留 LICENSE 与 NOTICE,不要用 InkBlade 商标命名 fork。

更多:FAQ.md

12

许可

Apache-2.0、仓库政策

Apache-2.0。允许商用、fork 与嵌入到其他产品中;保留 LICENSE 与 NOTICE。

项目说明
许可证Apache-2.0。保留 LICENSE 与 NOTICE。
商标fork 不要使用 InkBlade 名称。
政策SECURITY.md、CONTRIBUTING.md、CODE_OF_CONDUCT.md。

文档索引:DOC-INDEX.md