
Infrabroker
io.github.luisgf由 GitHub 帳號 luisgf 發布v3.1.3更新於 Oct 24, 2026
SSH & Kubernetes access broker for AI agents; the model never touches a credential.
概覽
Infrabroker 讓 AI 助理透過代理執行 SSH 指令與 Kubernetes 操作,憑證不會進入模型上下文。
- 可以做什麼
- Infrabroker 是基礎設施存取代理,向 MCP 用戶端提供 SSH 與 Kubernetes 工具。代理請求執行動作,例如在主機上執行指令或查詢叢集,代理會依政策檢查,用為該次操作臨時簽發的憑證執行,並只回傳輸出。SSH 工具包括 ssh_execute、工作階段開啟/執行/關閉、伺服器清單與檔案上傳下載;Kubernetes 工具包括 k8s_get、k8s_list、k8s_logs、k8s_apply、k8s_delete 與 k8s_list_clusters。它也支援指令政策、dry-run、審批閘門、動作預算、RBAC、工作階段錄製與鏈式稽核日誌。
- 適用情境
- 當助理需要操作真實伺服器或 Kubernetes 叢集,但不應持有 SSH 金鑰、憑證或叢集權杖時使用。它適合希望為 AI 代理提供依政策檢查、可稽核、逐次授權的存取,而不是把靜態 SSH 金鑰暴露給模型的團隊。
- 執行需求
- 以本機程序透過 stdio 執行,通常由 MCP 用戶端帶設定檔路徑啟動。單一二進位本機模式不需要 signer 或 PKI;完整遠端部署使用獨立的 signer 服務、mTLS 與產生的 PKI。可選的遠端模式使用 OIDC bearer 權杖。以預編譯二進位、Go 安裝或容器映像散布。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Infrabroker,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
infrabroker
[CI] [Release] [Go Report Card] [License: GPL-3.0] [Docs]
Infrastructure access broker for AI agents — SSH & Kubernetes. The model
never touches a credential. (formerly ssh-broker)
The agent requests an action — run a command on a host, query or change a cluster. infrabroker checks it against policy, executes it with a credential minted for that single operation — an ephemeral, scope-limited SSH certificate from its own CA, or a short-lived bound ServiceAccount token — and returns only the output. Keys, certificates and tokens live in the broker's memory and are discarded after the call: nothing enters the model's context, so a prompt-injected agent has nothing to exfiltrate.
One binary — infrabroker — exposes the same engine (internal/broker) and tool
surface (internal/mcpserver) over three transports, chosen by subcommand. (The
legacy per-transport binaries broker / mcp-broker / mcp-broker-http remain as
thin deprecated wrappers over these subcommands, so existing configs keep
working.)
- MCP stdio (local, recommended for personal use) —
infrabroker serve-mcp. Tools:ssh_execute,ssh_session_open/ssh_session_exec/ssh_session_close,ssh_list_servers,ssh_put_file/ssh_get_file; with clusters configured, alsok8s_get/k8s_list/k8s_logs/k8s_apply/k8s_delete/k8s_list_clusters. No transport auth — isolation comes from the process being launched by the user (as the MCP spec recommends for stdio). - MCP HTTP + OAuth2/OIDC (remote, multi-user) —
infrabroker serve-mcp-http, Streamable HTTP. Same tools, but each client authenticates with an OIDC bearer token validated locally against the issuer's JWKS; the user identity (and groups, for per-user RBAC) is propagated to the signer. - HTTP + mTLS —
infrabroker serve-http,POST /v1/ssh_run(one-shot), for network agents authenticated with a client certificate.
Documentation
This README is a landing page. The detail lives in focused, single-source docs:
Why infrabroker
- Anti-exfiltration (prompt injection): the ephemeral key/cert/token live only in the broker's memory; they never enter the model's context.
- Kubernetes without kubeconfigs: the signer mints a short-lived bound ServiceAccount token (TokenRequest API) per operation; every cluster is default-deny with per-verb/resource/namespace policy and the same dry-run, approval and audit path as SSH.
- Anti-reuse: each cert carries a TTL of minutes,
source-address(broker or bastion IP), and — for one-shot — aforce-command. Useless outside its host/time/IP. - Controlled escalation:
allow_sudo/allowed_sudo_userslive in the signer; a compromised broker cannot escalate where policy forbids it. - CA compromise bounded: one CA per host group (
ca_keys), each key optionally in Azure Key Vault or ssh-agent (YubiKey PIV / SoftHSM / TPM) — the private key never leaves the HSM. - Audit / non-repudiation: append-only, Ed25519-chained log correlated by
serialacross signer, broker, andsshd.
The full threat model — including what the system deliberately does not defend — is in THREAT_MODEL.md.
How it works
The broker sends an intent ({host, role, purpose, command?, sudo?, pty?, pubkey, …}); the signer derives every certificate constraint from policy and
returns the signed cert. The ephemeral private key is generated in the broker
and never leaves it. See ARCHITECTURE.md for the request flow,
the design decisions, and the per-hop ProxyJump certificate diagrams.
Feature overview
Comparison with existing solutions
Several tools address SSH access control or AI-agent credential security, but none cover the full combination that infrabroker targets in a lightweight, self-hosted package.
Teleport is the closest commercial equivalent — short-lived SSH certs, RBAC, and since 2025 Secure MCP; its Jan-2026 Agentic Identity Framework targets the same threat model. The difference is operational weight: Teleport needs a dedicated control-plane cluster, recording proxy, and web UI — orders of magnitude heavier than a Go binary + signer.
HashiCorp Vault SSH secrets engine
is an SSH CA with full HSM/KMS support and (2025) its own MCP server, but it
provides only the signing piece — you still build the execution layer
(engine.go, session.go, the MCP tools) yourself.
StrongDM hides credentials but stores
long-lived secrets rather than generating ephemeral certs in memory, making it
weaker against exfiltration. Smallstep SSH CA is a
lightweight OIDC-integrated SSH CA (close to cmd/signer) with no execution
broker or MCP layer. ssh-mcp exposes
SSH to LLMs over MCP but uses a static SSH key — the exact vulnerability this
broker prevents. CyberArk PAM offers
comparable JIT cert access but is a closed enterprise platform for human
operators, not AI workloads.
Where it fits: MCP-native AI-agent access + in-memory ephemeral certs + separate signer + ASCIIcast recording + chained audit, as a small set of Go binaries without a cluster. Enterprise features (web UI, multi-region HA) are on the roadmap (see HANDOFF.md).
Install
- Prebuilt binaries — each release
ships
infrabroker_<ver>_{linux,darwin}_{amd64,arm64}.tar.gzwith all binaries, plus the installer tarball (infrabroker-v<ver>.tar.gz) thatdeploy/install.shconsumes for the systemd production path. - go install —
go install github.com/luisgf/infrabroker/cmd/infrabroker@latest(pure Go, no CGO; same for the othercmd/binaries). - Container —
ghcr.io/luisgf/infrabroker(docker or podman, multi-arch; entrypoint is the stdio MCP frontend). See CONTAINERS.md, including a compose demo that runs the full stack against a toy host:cd examples/compose && docker compose up --build -d(ormake demo). - From source — the Quickstart below.
Register with Claude Code in one line — native binary or container:
Quickstart
Fastest path (local, single binary): QUICKSTART.md takes
you from git clone to your first ssh_execute in under 10 minutes with one
binary and one config.json — no signer service, no PKI. The steps below set up
the full remote stack (a separated signer); the containerised demo is under
Install.
Register the stdio MCP with your client:
Full setup — local vs external signing mode, the remote OAuth frontend, host
fields, sudoers, PKI, and broker-ctl — is in OPERATIONS.md.
Tool usage for the model is in USAGE.md.
API
Full reference: API.md.
Security
The security posture — trust boundaries, the layered controls (RBAC, command
policy, approval gate, guardrails, source-address/TTL pinning, chained audit,
default-on secret redaction), and the explicit non-goals (mode=exec
sessions are broker-preflighted but not host-enforced unless the host opts into
sealed_exec, no KRL, secret redaction is best-effort regex matching rather
than a guarantee, …) — is documented in
THREAT_MODEL.md.
To report a vulnerability, see SECURITY.md. CI enforces gofmt,
go vet, go test -race, and govulncheck on every push and PR.
Testing
License
Copyright (C) 2026 Luis González Fernández.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License v3.0 as published by the Free Software Foundation. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See LICENSE for the full text.
來源:README.md,提交 cf5fa9d
工具
0版本歷史
1- v3.1.3最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分