GenAI-Security-Project/agent-control-standard已验证
发生了什么:本期单仓库核查确认:仓库自述为「The open standard for runtime agent control — declarative hooks, policy enforcement, and observability across AI agent frameworks」,元数据为 ★172 / forks 51 / open issues 124,TypeScript,Apache-2.0,topics 含 agent-safety、ai-agents、governance、middleware、observability、open-standard、opentelemetry、owasp、policy-enforcement、runtime-control,created 2026-04-10T22:30:37Z,updated 2026-10-04T23:55:06Z,pushed 2026-10-04T23:57:09Z,默认分支 integration,未归档、非 fork;release 列表为 0 条。README 显示其定位与能力面:ACS 是一份 wire specification,让独立的 Guardian Agent 在 AI agent 即将执行动作前检查并 permit/deny/modify 该动作,通过认证通道传输并留下可事后重建的审计轨迹;hook 请求以 JSON-RPC 2.0 形式发出(示例方法 steps/toolCallRequest,params 含 acs_version 0.1.0、request_id、timestamp、metadata);参考实现把 Microsoft Agent Governance Toolkit(AGT)置于 ACS wire 契约之后,提供 Claude Code 与 OpenCode 的 host shim,依赖 bun,启动后 Guardian 监听 http://localhost:8787/acs,并输出 .acs/envelopes.jsonl 与 .acs/session-context.jsonl 日志;README 给出可复现验证路径:让 Claude Code 执行 echo rm -rf /,被 AGT 内置破坏性模式规则以 reason code destructive_shell_command_blocked、policy agt_stock 拒绝,返回 permissionDecision=deny,同会话 ls -la 正常执行;无编码 agent 时也可直接把 hook payload 管道进 shim 得到同样决策。README 主动披露的缺口:参考 Guardian 未实现 ACS-Core 要求的 envelope HMAC-SHA256 基线签名,任何能访问该端口者都可读取并触发决策(issue #70);默认失败姿态为 fail-open,Guardian 崩溃、挂起或不可达时会静默停止管控、宿主照常执行,需显式设置 ACS_ON_DECISION_FAILURE=deny 才 fail closed(issue #32、#37);19 个 hook 方法中仅 steps/toolCallRequest 与 steps/toolCallResult 两个被实时求值;bun install 不安装系统命令 trash,缺少时 bun test 会有 26 个 conformance/upstream-watch 脚本失败。
技术含义:该项目的技术取舍是把 agent 安全从「框架内建护栏」改为「跨框架的线上协议」:管控点被抽象成 agent 与工具之间的一次带审计的请求-决策往返,因此同一套策略可以同时罩住 Claude Code、OpenCode 等不同宿主,而不必为每个框架重写护栏;以 JSON-RPC 2.0 + envelope 日志的形式表达,则让决策可被独立进程观测与回放,便于接入可观测性栈。代价与风险同样明确:其一,参考实现尚未实现规范自己要求的 envelope 签名,端口可达即等于决策可被伪造或读取,这在把 Guardian 当作安全边界时会直接失效;其二,默认 fail-open 意味着「Guardian 挂了就等于没有管控」,与安全组件通常期望的 fail-closed 相反,必须显式改配置;其三,仅 2/19 个 hook 方法被实时求值,说明规范表达力远大于当前实现覆盖面,README 也明确拒绝把该树当作与 AGT 的全面互操作基准;其四,0 release 且默认分支为 integration,接口仍可能变动,采用方无法锁定版本。本期未做第三方复测,未验证其在真实生产 agent 上的误拦率、漏拦率与决策往返带来的延迟开销。