
【免费下载链接】agnes-harnessAgnes Harness: A pluggable agent harness for Forward Deployed Engineering (FDE). Built for trust. Made for the real world.项目地址https://gitcode.com/gh_mirrors/ag/agnes-harness点击查看免费下载Agnes HarnessAGH是一款面向 FDE 的可插拔 Agent 框架其插件安全治理覆盖安装、信任、能力哈希绑定与回滚的完整生命周期每一步都用内容哈希与能力指纹互相校验确保你信任的永远是你预览过的那一份插件代码。本文带你从零看懂这套机制。为什么插件需要一套安全生命周期AGH 的口号是 Built for trust为信任而生。在 安全与信任指南 中项目把信任拆成三层边界边界含义它不能证明什么包信任接受一份具有特定内容哈希与能力声明的代码对所有未来版本的授权工具审批允许某次动作或所选范围内的动作操作系统沙箱一定成功沙箱 / 执行约束按平台探测与策略限制执行隔离恶意进程内插件关键点在于信任是版本级、内容级的。信任 v1 不等于信任 v2换了任何一个字节之前的信任决定自动失效。这正是 AGH 插件管理的核心设计实现见 packages/package-manager/。第一步先预览后安装——不哈希确认绝不落盘Web 界面的插件管理页可以一眼看到装了什么、来自哪里、是否启用在 Web 的「设置 → 插件管理 → 从来源安装」或用 CLI 执行package inspect你会先看到一份预览包 ID、版本、来源npm / 本地目录 / 市场内容哈希integrity与能力哈希capabilityHash能力声明、告警warnings与阻断项blockers有阻断项的包无法通过点确认绕过必须解决原因后才能继续。安装流程有一个容易被忽略的细节包先写入临时的 staging 目录形如.stage-uuid提交前会对目录树重新计算一次哈希与预览时的哈希比对不一致就报E_LOCK_MISMATCHpackage preview is stale。这保证了你看到的预览 实际落盘的代码。相关实现在 staging.ts 与 manager.ts。 成功安装的新包默认是禁用状态——装上了 ≠ 生效了还需要下一步的信任审查。第二步信任绑定——两个哈希对不上就拒绝启用插件前需要一次信任决定trust decision。CLI 的命令形如node packages/cli/dist/local/agnes.mjs package trust 包ID INTEGRITY CAPABILITY_HASH注意它有两个参数integrity整包内容哈希和capabilityHash能力指纹。在 lifecycle.ts 中系统会把你的决定与锁文件里的包快照逐项比对——任何一项不一致直接报E_WORKSPACE_UNTRUSTEDtrust decision differs from the package snapshot。这意味着包被改动过哪怕一个字节→ 旧信任作废能力声明被偷偷加了一项 → 能力哈希变了 → 旧信任作废信任决定本身是绑定到快照的不能含糊地说我信任这个包。CLI 信任流程演示信任门四道检查一次过即使哈希对上了trust-gate.ts 还会依次检查四道门检查规则不通过时许可证白名单只接受 MIT、Apache-2.0、BSD 等开源协议E_PACKAGE_QUARANTINED发布隔离期npm/市场来源需满最低发布时间隔离期E_PACKAGE_QUARANTINEDAPI 版本兼容包的apiRange需覆盖当前扩展 API 版本E_API_RANGE能力上限ceiling声明能力不能超过当前 profile 的天花板E_CEILING_EXCEEDED其中发布隔离期是个有意思的设计新发布的包要晾一段时间才能被信任降低抢注和快速换壳攻击的空间。危险能力想跳过检查也不行trust-gate.ts 中还定义了危险能力判定声明了通配符网络访问*主机或同时声明tools.invokesubagent的包不允许通过 force/skip 路径强行放行。这类包必须走完整审查。第三步能力哈希是怎么算出来的能力指纹不是简单JSON.stringify。integrity.ts 中的做法是对贡献项contributions和依赖dependencies做规范化序列化canonical对象键排序、数组保序消除格式差异对扩展类贡献补上默认runtimeSupports避免没写和写了 in-process被判成两种能力计算SHA-256得到 capabilityHash。能力集合本身来自扩展清单的声明解析逻辑见 capabilities.tstools、hooks、slots、services、network、network.publicRead、events、tools.invoke、artifacts、subagent等。注释里有一句很直白never infer grants from truthy prefixes绝不从布尔前缀推断授权——能力必须是明确声明的。第四步更新与回滚——旧版本有指纹回滚要重新审查更新时自动保留上一版执行更新时系统把当前版本完整快照为previous锁文件中记录其treeIntegrity并在包存储中备份为.previous-hash目录见 store.ts。同时 assertNoReferences 会检查有没有别的包依赖它、profile 或部署工作区是否还引用着旧能力——有引用就报 package has active references拒绝更新。回滚不是一键时光倒流回滚时manager.ts先验指纹对保留的上一版目录重新算哈希与previous.treeIntegrity不符就报previous package tree differs——备份被改过回滚直接失败再验元数据重新 inspect 上一版贡献项与依赖的规范化结果必须和锁文件记录一致默认落回未信任 禁用普通回滚完成后目标是trusted: null, enabled: false你需要重新检查哈希、重新信任、重新启用——回滚本身不自动继承任何信任。官方文档也提醒回滚依赖保留的上一版保留是有界的不是任意历史版本仓库被吊销、删除或无法验证的快照不能被自动复活。每一步都留下审计记录每次安装/信任/启用/更新/回滚/删除提交后都会追加一条审计事件见 audit.ts操作者、来源哈希、旧/新状态、capabilityDiff能力差异等文件以 0600 权限追加写、只增不改。事后审计某次能力变更是谁放行的直接查审计日志即可。新手操作速查表阶段做什么看什么预览安装Web「从来源安装」或package inspect来源、版本、integrity、capabilityHash、warnings、blockers信任启用package trustpackage enable两个哈希与预览一致开关只在包真正运行时才打开查看实际状态package statusdesired期望与 actual实际分开看更新/回滚Web 更新动作或package rollback 包ID新哈希与能力变化回滚后重新信任并检查服务禁用/删除package disable/package remove运行中的快照可能仍持有 pin不要手删引用目录 完整操作路径参考安装、启用、更新与删除指南插件开发视角见 插件开发文档。结语哈希是记忆流程是牙齿AGH 的插件安全治理思路可以浓缩成一句话预览定指纹信任绑指纹变更换指纹回滚验指纹。你信任的不是某个名字的软件而是某一组字节 一份能力声明。理解了这个闭环你就能放心地把第三方能力装进自己的 Agent也能在出问题时用审计日志把责任链完整还原。赞分享【免费下载链接】agnes-harnessAgnes Harness: A pluggable agent harness for Forward Deployed Engineering (FDE). Built for trust. Made for the real world.项目地址https://gitcode.com/gh_mirrors/ag/agnes-harness点击查看免费下载相关推荐Higress插件全生命周期管理从安装到卸载的完整指南Higress插件全生命周期管理从安装到卸载的完整指南 还在为云原生网关插件管理而烦恼一文掌握Higress插件生命周期管理全流程轻松实现插件的安装、升级API网关后端云原生微服务LLM 网关人工智能MCP 服务ExplorerPatcher安装卸载完整生命周期管理ExplorerPatcher安装卸载完整生命周期管理 概述 ExplorerPatcher是一款革命性的Windows系统增强工具旨在恢复和改进Windo桌面应用逆向工程终极指南3步掌握开源录屏工具Cap打造专业级视频内容终极指南3步掌握开源录屏工具Cap打造专业级视频内容 Cap是一款功能强大的开源屏幕录制工具专为需要高质量视频内容创作的个人和团队设计。作为Loom的开源屏幕录制音视频视频处理桌面应用后端前端AI 应用上一篇Laravel Lang 捷克语cs语言包翻译缺口全解析15 个待翻译键的来源与补齐实战下一篇1.11.7 (Nov 24, 2024)创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考