AgentProvenance

Agent 执行观测与证据验证示例 文档
示例/单个 Agent打开回放

DeepSeek:一次普通开发任务

English | 中文

真实 DeepSeek Harness 会话为一个 Python 收入报表增加 --daily,保持原有总额 输出不变,并运行七项测试。AgentProvenance 同时保存任务、对话、工具输入与结果、 配置、文件变化和原生内核事件。可以从原始任务一路查看实现、测试和最终文件。

离线回放

使用 v0.9.0 CLI,在解压目录执行:

./agentprov demo deepseek-context

从源码使用时,先执行 go build -o agentprov ./cmd/agentprov 构建二进制。 只有源码构建需要 Go。

回放只读、离线,不需要 DeepSeek 密钥或 Linux VM,也不会执行证据中的命令。 CLI 先验证原始签名,再导入独立临时目录,完成图完整性检查后打开 Dashboard。

Run ID 为 run-dbc2adf273d4。可读的 demo 名称不会改写证据中的身份。

看什么

执行图谱在上方,Agent 会话默认收起。建议先看任务和工具结果,再选择图中的文件,最后查看采集情况。

  1. Agent 会话 / 对话与工具:查看用户的日报需求、三个种子文件的读取、实现与 测试修改,以及真实工具输出。展开工具结果或点击查看已保存正文; 原始来源记录保留来源的完整记录结构。
  2. 权限与配置:查看当时记录的 workspace-write、ask 策略、模型和工作目录。 本次没有发生审批交互。配置为 ask 不等于发生过一次授权。
  3. 文件与产物:选择 report.py 或 test_report.py 阅读保存的最终正文, 无需展开会话。工作区比较标出发生变化的路径;保存的正文是最终状态, 不是文本补丁,也不代表每一次中间写入。
  4. 定位到图谱:沿已保存的工具关系进入图谱,再返回对应输入与结果。 单元测试命令和最后的 CLI 检查各有一条关联到真实 Bash exec 事件的推断边。
  5. 采集情况:对照正常的会话采集、部分成功的内核采集与工具关联。 图完整性、签名验证和采集完整性是三个独立结论。

对话与工具结果

测试命令与返回结果分别保存。展开参数 / 结果即可对照阅读, 也可以沿链接查看已保存正文和图谱证据。

Agent 会话中记录的测试命令与真实返回结果

权限与配置

会话记录了权限预设、沙箱模式和审批策略。这些是来源提供的配置, 不单独证明相关限制已被强制执行。

记录的权限预设、沙箱模式与审批策略

已保存正文

已保存正文查看器中的真实七项测试结果

结构化结果支持可读视图与原始字节切换。前者只改变显示方式;哈希和字节位置 对应保存的原文。原始来源记录与不完整的分页内容仍按原始字节展示。

Agent 会话收起时仍可阅读最终文件正文

采集情况

会话采集、工具与运行时关联、运行时完整性分别报告。 展开对应诊断可查看数量与来源依据。

分别报告会话采集、工具关联和运行时覆盖情况

这份记录采到了什么

采集日期为 2026-09-28,使用 DeepSeek Harness 0.1.7-rc.2、原生 session.v4.jsonl.zstd,运行在准备好的 Linux 6.8.0-137-generic aarch64 VM。

  • 73 条物理来源记录全部读取并保存:13 条消息、12 次工具调用、12 条工具结果、 五条配置记录,以及来源生命周期记录。会话采集的失败、截断、未识别、延后 处理数量均为零;来源没有提供审批记录。
  • 包内有 157 条已保存运行时事件,其中 128 条来自原生 eBPF。命令、时间和 scope 关联匹配了 22 条 exec 中的两条。置信档位 0.8 表示推断, 不是经过校准的概率,更不是内核证明的子 Agent 身份。其余 exec 保持未关联。
  • 保存了 report.py 和 test_report.py 的最终正文,共 4,048 字节。 两个生成的 .pyc 文件明确标记为二进制正文省略。Bundle 没有省略对象, 但这不等于文本采集支持了二进制文件。
  • 内核采集为部分成功:可选探针及 TLS 可见性不完整;节点诊断包含三条被拒收的 file-write 数据,以及封存时的待处理事件。无法确定这些缺口对本次 Run 的影响, 不推算 Run 级丢失数,也不声称抓到了 TLS 模型响应。
  • 既有 secret_path 规则还命中了 Harness 启动时对 .env、.credentials.yaml 和凭证模块路径的访问尝试。这些记录反映文件打开尝试, 可以在风险视图查看具体依据;本示例没有 Agent 窃密或进程被终止的证据。

工具输出记录了七项测试通过,总额仍为 42.00;9 月 25、26、27 日的收入分别为 30.00、7.25、4.75。采集脚本在 launch 结束后还独立重跑了测试和 CLI 检查。 回放验证的是已保存输出,不会重新调用模型或执行已捕获代码。

可移植证据

采集清单 标明来源版本、采集日期、签名包与配套公钥。 压缩包包含已保存的会话、文件正文、运行时事件和批次成员。离线回放只读取这些证据, 不依赖原 VM 的文件。导入前检查原始签名;图完整性与采集覆盖分别报告。

重新采集

需要已配置的 DeepSeek Harness、工作区之外的有效凭证、Python 3,以及具有可用 原生 Sensor 和 cgroup 委派的 Linux 环境。先运行 agentprov doctor 检查能力。 脚本不会安装软件、自动提权或更换凭证。

export AGENTPROV_BIN=/absolute/path/to/agentprov
export DSH_BIN=/absolute/path/to/dsh
export DSH_HOME=/absolute/path/to/configured-dsh-home
bash demo/deepseek-context/capture.sh /tmp/deepseek-context-new

脚本只复制三个种子文件,在一次性工作区外生成签名私钥,用 launch --file-diff 执行 TASK.md 中的任务。私钥不要公开。发布新证据前,需要检查覆盖报告 和凭证残留;本次样本通过了已知密钥精确检索与凭证模式扫描,但未来每次采集仍需审查。

新一轮模型执行可能使用不同工具、产生不同结果和记录。保留这份历史样本,不要为 迎合说明文档而覆盖它。

离线回放签名记录,无需账号或虚拟机。