Better Harness 隐私与证据边界指南:如何确保原始提示词、凭证与密钥绝不出现在报告里
Better Harness 隐私与证据边界指南如何确保原始提示词、凭证与密钥绝不出现在报告里【免费下载链接】better-harnessAn open-source Harness Engineering platform for coding agents—define harnesses as code, run controlled experiments, inspect evidence, and compare outcomes. Turn task evidence into actionable team and organization insights.项目地址: https://gitcode.com/gh_mirrors/be/better-harness在使用 Better Harness 这类 Harness 工程平台分析 Coding Agent 会话时最让人担心的问题是报告会不会把我们的原始提示词、API 密钥、密码或内部路径泄露出去答案是否定的。Better Harness 是一个面向 Coding Agent 的开源 Harness 工程平台它将任务证据转化为可行动的团队洞察而证据链的第一原则就是隐私边界——所有进入报告和检查器的文本都会先经过脱敏层凭证、密钥与敏感路径在落盘之前就被替换为redacted、secret或path占位符。一、为什么证据必须先过隐私关Better Harness 的核心工作是把 Coding Agent 的会话记录Session Evidence加工成可读的检查器视图、HTML 报告和组织级洞察。这意味着系统必须读你的用户提示词你写给 Agent 的每一句话工具调用轨迹执行过的命令、读过的文件会话元数据session ID、项目路径、时间戳。这些数据单独看都有泄露风险。因此 Better Harness 没有采用事后删的思路而是在证据投影evidence projection的入口处统一设卡渲染器拿到的永远是已经脱敏过的文本。这一设计在 session-notebook-evidence-projection.md 中有架构层面的说明。二、第一道防线提示词截断与回合选择 并非用了脱敏就原样输出。Better Harness 对原始提示词的第一层处理是最小化保留privacy-safe-text.mjs 中的privacySafeUserInputEvidence函数只从整段对话里挑选至多三个回合进入证据包保留位置内容默认截断长度request第一个用户请求220 字符intermediate中间最长的一轮120 字符followUp最后一轮追问160 字符其余回合不会被丢弃不留痕——证据包里会记录observedTurns观察到的总回合数和omittedTurns省略的回合数让报告既诚实又不冗余。更巧妙的是排除名单。isExcludedUserInput 会直接拒绝把以下内容当作用户提示词收录工具结果回显tool_result、tool_resultJSON注入的系统上下文AGENTS.md指令块、environment_context用户中断标记[Request interrupted by user]。因为这些伪用户输入往往是整段命令输出或配置文件内容的搬运最可能夹带敏感数据——直接从源头拒收比事后清洗更可靠。三、第二道防线凭证与密钥的定点清除 真正点名式的脱敏发生在 sanitizePrivateReviewText。它是一串按序执行的正则替换覆盖真实世界中绝大多数凭证形态敏感形态脱敏后对应代码位置Bearer eyJhbGciOi...Bearer redactedL64api_key: sk-xxx/passwordabcapi_keyredactedL65sk-…、ghp_…、glpat-…、xoxb-…secretL66-L67URL 内嵌凭据postgres://user:passhostpostgres://redactedhostL68AWS 密钥AKIA...secretL69其中 URL userinfo 凭据的清洗是被专门强化过的——security-reliability-boundaries 规格书 的验收条件 AC-4 明确要求脱敏必须覆盖 HTTP、数据库、SSH 等分层 URL 协议下的用户名字符串包括百分号编码和只有 username/token的变体。 设计原则一句话总结宁可损失诊断细节也要清除凭证材料Redaction must favor removing credential material over preserving diagnostic fidelity这条原则写在 规格书的风险备注 里。四、第三道防线本地路径与身份标识的匿名化 比密钥更日常的泄露是本地路径和会话标识。你的 home 目录结构、项目绝对路径、UUID 形式的 session ID同样会被 sanitizePrivateReviewText 统一替换/Users/xxx/project/src/...、C:\Users\...、~/...→path标准 UUID →idsession_xxx、task-xxxx形式的标识符 →id所有输出还强制截断到长度上限L80超长部分以省略号收尾防止整段日志涌入报告。此外Markdown 图片语法会被整体移除、链接只保留文字——这是为了堵住通过图片 URL 或深链夹带数据的隐蔽通道L62-L63。五、共享脱敏层不止一处防线而是同一把锁隐私边界不是一个模块的私事而是跨功能共享的同一套契约。会话分析与提交关联是两条独立的证据管线但共用同一脱敏标准会话分析管线privacy-safe-text.mjs提交-会话关联管线redaction.mjs 中的redactTranscriptText其文件注释直言不讳——Shared privacy boundary for local transcript-derived views面向本地转录视图的共享隐私边界在进入任何渲染器之前先移除凭证形态的值仓库侧还有独立的密钥扫描守护 secret-scan.mjs并且遵循**失败关闭fail-closed**策略扫描不完整时绝不报告成功而是返回独立非零退出码见 规格书 AC-3。也就是说即使某条证据链路有疏漏其他链路的脱敏仍然独立生效即使密钥扫描扫不全它也会明确告诉你没扫完而不是假装干净。六、安全地看证据Harness Inspector 长什么样 脱敏之后你依然能获得足够丰富的证据体验。在 Harness Inspector 的会话视图中用户提示词以短摘要卡片形式出现工具调用则按类型聚合展示展开检查时你会注意到图例里有一个明确的redacted detail项——系统会向用户透明地展示这里曾有细节已被脱敏而不是偷偷隐藏这套检查器的使用细节可以参考 harness-inspector 概念文档。七、如何验证这些隐私承诺Better Harness 对隐私边界的承诺不是口号而是可回归测试的契约2026-07-31-security-reliability-boundaries.md —— 专门记录凭证脱敏加固的规格书含 AC-4 验收条件test/sessions/ —— 会话分析管线的隐私与会话测试集test/agent-guardrails-secret-scan.test.mjs —— 密钥扫描的失败关闭行为测试。回归测试会逐字断言精确的凭证值不得出现在任何输出中exact credential non-retention覆盖从 GitLab token 到分层 URL 各种形态。八、小结隐私是证据链的地基 Better Harness 对原始提示词、凭证、密钥绝不进入报告的实现可以浓缩为四条原则源头最小化只保留 1N 个提示词回合其余留痕但不收录定点清除Bearer、API Key、Git/AWS 令牌、URL 凭据等 6 类以上形态逐一替换匿名化路径、UUID、会话 ID 全部抽象为占位符并强制截断失败关闭扫描不全就明说绝不假装安全。作为新手你不需要自己写任何过滤规则——只要通过正常流程生成报告这些防线就已经默认生效。你唯一要做的是在 references/session-evidence/ 的阅读材料里花十分钟理解证据包的保留与省略语义然后放心地把团队会话数据交给 Better Harness 分析。【免费下载链接】better-harnessAn open-source Harness Engineering platform for coding agents—define harnesses as code, run controlled experiments, inspect evidence, and compare outcomes. Turn task evidence into actionable team and organization insights.项目地址: https://gitcode.com/gh_mirrors/be/better-harness创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

洛谷 P9748 [CSP-J 2023] 小苹果 c++语言

洛谷 P9748 [CSP-J 2023] 小苹果 c++语言

老规矩 题目奉上这次的题目有些长 不过无伤大雅题目大意桌子上有 n 个苹果,编号 \(1\sim n\),排成一列。 每一天操作规则:从最左边第 1 个苹果开始,每隔 2 个拿走 1 个苹果。也就是取第 1、4、7…… 位置上的苹果(位置…

2026/10/7 15:22:33 阅读更多 →
工业电缆连接可靠性:从接触电阻到MTBF的工程实现

工业电缆连接可靠性:从接触电阻到MTBF的工程实现

1. 工业系统中可靠电缆连接到底意味着什么?“Reliable Cable Connections for Industrial Systems”——这个标题里没有一个生僻词,但每个词都沉甸甸的。我干工业自动化集成和现场调试十多年,亲手拆过上千根接线端子,拧过上万颗M3…

2026/10/7 15:22:32 阅读更多 →
Django教材管理网站:从设计到毕设实战解析

Django教材管理网站:从设计到毕设实战解析

“教材管理”这类系统,在计算机毕设里算是常青树了。不是因为题目有多新,而是它背后覆盖了一套完整的“用户-角色-业务流-数据表”逻辑,非常适合用来考察一个学生从需求分析到代码落地的综合能力。今天分享的这个基于Django的教材管理网站&am…

2026/10/7 15:22:32 阅读更多 →

最新新闻

淋巴细胞目标检测实战:从标注格式转换到YOLO训练避坑指南

淋巴细胞目标检测实战:从标注格式转换到YOLO训练避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 16:01:28 阅读更多 →
树莓派计算模块CM4与CM5全SKU对比与选型指南

树莓派计算模块CM4与CM5全SKU对比与选型指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 16:01:27 阅读更多 →
SystemC与TLM2.0的ESL性能建模实战:从架构评估到GEM5联合仿真

SystemC与TLM2.0的ESL性能建模实战:从架构评估到GEM5联合仿真

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 16:01:27 阅读更多 →
Altium Designer PCB开窗挖槽:阻焊开窗与机械层铣槽槽孔

Altium Designer PCB开窗挖槽:阻焊开窗与机械层铣槽槽孔

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 16:01:27 阅读更多 →
SMB版本差异与Windows局域网共享故障排查指南

SMB版本差异与Windows局域网共享故障排查指南

简介:smb.rar_SMB 是一份以经典《超级玛丽》(Super Mario Bros)为蓝本的 2D 平台游戏源码工程,面向刚接触游戏编程的 C 语言学习者和爱好者,演示了从窗口创建、资源加载到游戏逻辑更新的完整流程。压缩包内共 33 个文件…

2026/10/7 16:01:27 阅读更多 →
PDN阻抗优化与芯片供电仿真:Sigrity+ADS双工具实战指南

PDN阻抗优化与芯片供电仿真:Sigrity+ADS双工具实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 16:00:27 阅读更多 →

日新闻

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:01:58 阅读更多 →
用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →
芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 14:34:12 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 14:34:13 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 9:29:10 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 14:34:12 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 11:43:46 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →