免费试用日志保留 7 天
返回企业总览
智能体审计轨迹

智能体的每一个动作, 都有据可查。

当一个 AI 智能体写代码、跑命令、动你的仓库时,「是 AI 干的」不是一个你的审计员会接受的答案。Bromure 把每一次会话都变成一条结构化、可归因的记录:谁跑了哪个智能体、针对什么、又精确地动了什么。

问题

AI 写的代码,却没有保管链

你代码库中越来越大的一部分如今由智能体起草——而轨迹却很薄。是哪位工程师启动了这次会话?哪个模型?智能体读了、改了或删了哪些文件?它跑了什么命令、针对哪些系统?对大多数团队来说,诚实的答案是耸耸肩,而一个耸肩撑不过一次 SOC 2 审计、一次安全事件,或一个监管者的质询。

智能体在工程师的笔记本上运行,以工程师的账号、用工程师的访问权。从外面看,一个智能体的提交与人类的提交毫无二致——直到出了岔子,你需要重建究竟发生了什么,却没有任何东西可供重建。

Bromure 的答案

每一次会话都是一条防篡改的记录

因为智能体跑在一台 Bromure VM 里,每一个动作都在边界处被捕获:它创建、修改和删除的文件,附带 diff;它跑的每一条 shell 命令;它调用的每一个工具;它触达的每一个端点——全部关联到工程师的身份和所用模型,集中留存。

完整对话也被归档——prompt、模型回复、工具调用、整段对话记录——存放在云端,安全团队可审阅,工程负责人可抽样,并可导出到你已经在用来留存邮件和聊天记录的同一套归档系统。AI 辅助的工作变得和你组织所做的任何其他事一样可审计。

工作原理

智能体碰过的每一个文件

按会话、按代码仓库、按工程师——智能体创建、修改或删除的精确文件集合,附带 diff,关联到启动会话的人以及他们使用的模型。

每一条命令、每一次调用

智能体在 VM 里执行的每一条 shell 命令、它读过的每一个文件、调用过的每一个工具、访问过的每一个 API——在会话进行时实时捕获。

完整对话记录,归档可查

Prompt、回复和工具调用集中留存,可按团队、仓库或模型查询,并可导出到你现有的留存归档。

绑定身份且防篡改

每一条记录都携带工程师的 SSO 身份和设备,写入一个只追加的流,你的 SIEM 能像摄入人类活动那样摄入它。

注入尝试,已被标记

当智能体读取的内容——一个文件、一个抓取来的页面、工具输出——或它所信任的一个 CLAUDE.md 夹带了被注入的指令时,Bromure 的本地设备检测会记录下来:来源、片段,以及这次请求是被记录、被标记还是被拦下。

实战演练

数月之后,重建一次会话

一次安全审查问了一个简单的问题:有没有任何智能体碰过支付模块,如果有,它做了什么?没有 Bromure,这是一个散落在数十台笔记本上、无从回答的问题。有了它,这是一次查询。

每一次智能体会话都跑在一台 Bromure VM 里,把它的活动流式送到企业服务器:工程师的身份、模型、每一次文件读写及其 diff、每一条命令、每一个网络目的地,以及完整的 prompt / 回复对话记录。审查者过滤到支付仓库,拿到碰过它的每一次会话——共三次,两位工程师,连同确切的改动和产生它们的对话。

他们抽样查看对话记录,确认这些改动经过正常流程审查并合入,再把导出附到审计档案上。一场本会持续数天的取证手忙脚乱,变成一次十分钟的查询——而由于这份记录防篡改,它作为证据而非回忆站得住脚。

把它流式传到你的 SIEM

轨迹不必只待在 Bromure 里

把 Bromure 指向你自己的 SIEM 或 OpenTelemetry Collector,整份记录就会跟着过去。智能体活动、浏览器会话和管理审计轨迹会以 OTLP/HTTP 日志的形式转发——每个事件都是带有 OTel 语义属性、以及你的告警已经能识别之严重级别的 LogRecord。Bromure 从自己存储的事件中通过滚动游标发送,因此你的端点短暂中断也不会丢任何东西。

指向你的 Collector

把你的 OTLP/HTTP 日志端点告诉 Bromure,如果你的 Collector 需要,再给一个认证头——bearer 令牌、Datadog 密钥,它要什么都行。该值以信封加密存储,且不再显示。你可以选择转发三条流中的哪几条。

[otlp]
endpoint = "https://otel.acme.com/v1/logs"   # https only
auth_header_name  = "Authorization"
auth_header_value = "Bearer <token>"          # envelope-encrypted at rest

[otlp.streams]
agentic_coding = true   # tool calls, credential use, injection, supply chain
web_sessions   = true   # managed-browser request metadata
audit          = true   # admin actions + ingest auth failures

每个动作,一条 OTLP 日志记录

每个智能体动作都映射为一条 LogRecord,携带工程师的 SSO 身份、模型、仓库和动作——并带有你的 SIEM 可据以告警的严重级别。被拦截的提示注入尝试会以 WARN 形式到达,你的检测管道已经在路由它。

{
  "severityText": "WARN",
  "body": { "stringValue": "prompt_injection · tool output · blocked" },
  "attributes": {
    "enduser.id":         "[email protected]",
    "bromure.session.id": "f3a9…ce21",
    "bromure.repo":       "acme/payments",
    "bromure.model":      "claude-opus-4-8",
    "bromure.event.type": "prompt_injection"
  }
}

可靠的至少一次投递

Bromure 从自己存储的事件中按每条流的游标转发,而不是从实时摄取路径。如果你的 Collector 宕机,保留期内不会丢失任何东西——它恢复后会从最后确认的位置继续投递。

stream           cursor        last forward   status
agentic_coding   seq:184201    2s ago         ok
web_sessions     ts:17:42:08   2s ago         ok
audit            id:90412      2s ago         ok
# endpoint outage → backoff + retry, cursor holds
# at-least-once · no loss within retention
架构与集成

它究竟是如何构建的

营销到此为止。下面是每一次 Bromure 部署所依赖的技术基础设施——无论你是在保护 BYOD 员工队伍,还是在一家受监管机构内部隔离涉密等级,底层都是同一套。

虚拟化层强制的隔离

每一个配置文件运行在一台基于 Apple Virtualization.framework 的轻量 Linux 虚拟机中——拥有独立于宿主机的内核、文件系统和网络栈。基础镜像是一套经过签名、可复现的 Alpine 构建,在会话启动时通过 APFS 写时复制克隆出来(磁盘开销几乎为零)。宿主机无法读取 VM 内存;除非配置文件策略明确允许,VM 也无法读取宿主机的剪贴板、文件系统或网络适配器。

身份:用户走 SSO,设备走 mTLS

注册和会话启动由你组织已在运行的两个因素把关。通过 OIDC / SAML 对接 Google Workspace、Okta、Microsoft Entra 或 Authentik 识别用户身份。由你的 PKI 签发、与本次安装绑定的单机 mTLS 客户端证书识别机器身份。吊销其中任意一个,下一次会话便无法启动——没有代理可被篡改,也没有本地策略可被绕过。

配置即代码

工作配置文件——允许的 SaaS 列表、下载 / 剪贴板 / 截屏策略、VPN 配置、键盘布局、根 CA、网络出站规则——是一份签名的声明式产物。用 Git 版本化管理。通过你的 MDM 或 Bromure 配置端点下发。被篡改的配置文件将通不过签名校验,会话拒绝启动。用户机器上运行的,与你编写的完全比特一致。

按配置文件划分的网络平面

每个配置文件自带虚拟网卡。可选择经宿主机 NAT、桥接到物理接口,或通过 WireGuard、IKEv2 / IPsec 或 Cloudflare WARP 建立隧道——所有这些隧道都在 VM 内终结,对宿主机不可见。在此之上叠加 DNS 覆盖、出站端口白名单、LAN 隔离和 HTTP 代理。分段由虚拟化层强制,而不是靠防火墙上的一张贴纸。

审计流水线

每一次请求——时间戳、方法、URL、状态码、用户、配置文件、设备——都在 VM 外部捕获,以防篡改的 JSON Lines 流送达你既有的日志接收端(SIEM、数据湖、留存归档)。可选对可疑流量启用仅请求头或完整请求体的会话录制。稳定的 Schema、有文档的字段、格式上不被厂商锁定。

默认临时,可选持久

关闭窗口,VM 即销毁。令牌、Cookie、缓存、下载以及会话期间落地的任何恶意软件都会随之消失。需要保留状态的配置文件——一套书签、一段已保存会话、一次已登录的 SaaS——可选择加入一块由 macOS Keychain 管理密钥的 LUKS 加密持久盘。密钥永不离开用户设备。

常见问题

这和 Git 历史有什么不同?

+

Git 显示最终提交的 diff。Bromure 显示产生它的整场会话——智能体读了但没改的文件、它跑的命令、走过的死胡同、网络调用,以及驱动它的那段对话。Git 告诉你什么落了地;Bromure 告诉你是怎么落地的,以及沿途还发生了什么。

这份记录防篡改吗?

+

是的。会话在进行时流式写入你企业服务器上一个只追加的日志,携带工程师的 SSO 身份和设备证书。工程师无法事后悄悄修改他们的智能体做过的事。

我们能把它接入现有的 SIEM 和留存工具吗?

+

可以——通过 OpenTelemetry 原生支持。把 Bromure 指向你的 SIEM 或 OpenTelemetry Collector 的 OTLP/HTTP 日志端点,智能体活动、浏览器会话和审计轨迹就会以带 OTel 语义属性的 OTLP 日志记录的形式流入。转录则单独导出到你已经用于邮件和聊天留存的同一归档。

捕获这一切会拖慢工程师吗?

+

不会。捕获发生在 VM 边界,不挡工程师的路。他们和以前完全一样地跑 Claude Code 或 Codex;记录自动累积。

「是 AI 干的」 不是一条审计轨迹。

把每一次智能体会话都变成一条你的审计员会接受的、可归因、防篡改的记录。