OpenHands Software Agent SDK 安全体系深度剖析:密钥管理与纵深防御策略清单
【免费下载链接】software-agent-sdkA clean, modular SDK for building AI agents with OpenHands V1.项目地址https://gitcode.com/gh_mirrors/so/software-agent-sdk点击查看免费下载Software Agent SDKOpenHands Agent SDK V1是一套用于构建 AI Agent 的模块化 Python SDK其内置的密钥管理与纵深防御Defense-in-Depth安全体系是新手最容易被忽视、却最关键的部分SDK 在 openhands-sdk/openhands/sdk/security/ 目录下提供了从风险分级、威胁签名扫描到人工确认门禁的完整链路让 Agent 执行每个动作前都能被安检。本文将用一份清单式指南带你快速看懂这两大安全机制的设计思路与落地方式。为什么 AI Agent 需要专门的安全体系AI Agent 与普通的聊天机器人不同——它会直接执行终端命令、修改文件、访问网络。一个被诱导或幻觉驱动的 Agent 执行rm -rf /或curl ... | sh的后果是真实的。OpenHands Software Agent SDK 的应对思路是纵深防御不依赖任何单一检测手段而是串联多层检查任何一层失效都有下一层兜底。核心模块路径风险定义risk.py分析器基类analyzer.py本地确定性检测defense_in_depth/确认策略confirmation_policy.py密钥体系secret/ 与 conversation/secret_registry.py密钥管理Software Agent SDK 的安全地基密钥抽象StaticSecret 与 LookupSecretSDK 在 secrets.py 中定义了SecretSource抽象基类并提供两种实现类型用途说明StaticSecret本地静态密钥基于 Pydantic 的SecretStr序列化时自动脱敏LookupSecret远程动态获取通过 URL 拉取密钥值支持自定义请求头LookupSecret有一个很实用的设计进程内可以注册LocalSecretResolver让同时既提供又消费密钥的 agent-server 直接本地解析避免 HTTP 自环导致的死锁等待。会话级保险柜SecretRegistry真正管理密钥生命周期的是 secret_registry.py 中的SecretRegistry。它把密钥注册到会话上下文中并在事件、工具输出等文本中递归执行掩码masking替换防止密钥随日志、轨迹或 LLM 上下文外泄。参考示例自定义密钥示例12_custom_secrets.py透明加密与脱敏三种序列化模式密钥落盘时由 cipher.py 与 pydantic_secrets.py 协同处理支持三种模式redact默认脱敏替换为**********占位符最安全encrypted用 Fernet 对称加密后存储前端无法解密适合需要回读的场景plaintext明文暴露仅限可信后端使用。加密失败时如换钥升级会安全降级为脱敏而非抛出明文保证最坏情况也不泄露。导出边界红action把凭证挡在轨迹文件之外agent-server 侧的 _secret_redaction.py见 openhands-agent-server/openhands/agent_server/_secret_redaction.py在轨迹导出trajectory download等数据离开服务器的边界做最后一道递归清洗无论是明文还是 Fernet 密文gAAAAA前缀都会被替换为脱敏标记确保下载的会话文件永远不携带可恢复的凭证。纵深防御多层安全分析器策略清单风险分级SecurityRisk 四级模型risk.py 定义了LOW/MEDIUM/HIGH/UNKNOWN四级风险。一个值得新手注意的细节UNKNOWN与任何级别都不可比较比较会抛ValueError它专门用于表达评估失败/无法判定并会在确认策略中 fail-safe默认要求确认。第一层PatternSecurityAnalyzer 确定性签名扫描pattern.py 使用双语料策略扫描 Agent 动作可执行语料工具参数匹配rm -rf变体、sudo rm、mkfs、dd写裸盘、curl | sh、subprocess调用等破坏性签名全字段语料含思考/推理文本匹配 ignore all previous instructions 等提示注入话术。关键设计破坏性命令只扫描将要执行的内容不误伤 Agent 只是想到的命令所有正则做了有界量词约束以防止 ReDoS 攻击。第二层PolicyRailSecurityAnalyzer 组合威胁检测policy_rails.py 处理组合才有毒的结构性威胁v1 内置三条规则railRail检测内容结果fetch-to-execcurl/wget下载内容直接管道给 shell/解释器执行HIGHraw-disk-opdd of/dev/...或mkfs.*裸盘操作HIGHcatastrophic-delete对/、~、/etc、/var等关键路径的递归强删HIGH按执行段逐段评估避免思考文本里的curl与工具调用里的ls跨字段误触发。第三层EnsembleSecurityAnalyzer 最坏情况融合ensemble.py 把多个分析器组合成一个取所有结果中最高的具体风险等级。两条重要的安全兜底fail-closed某个子分析器抛异常时该动作直接计为HIGH——坏掉的检测器不能悄悄降低安全性propagate_unknownTrue严格模式任一子分析器返回UNKNOWN整体即UNKNOWN默认触发人工确认适合更严格的环境。第四层LLM 自评估与外部 AI 安全监控LLMSecurityAnalyzerllm_analyzer.py读取 LLM 生成动作时自行标注的security_riskToolShieldLLMSecurityAnalyzertoolshield_llm_analyzer.py调用 LLM 做工具调用安全评审并结合安全经验库GraySwanAnalyzergrayswan/analyzer.py接入外部 GraySwan Cygnal API把对话历史待执行动作送审按返回的 violation score 映射到三级风险low_threshold0.3/medium_threshold0.7可调。人工门禁ConfirmationPolicy 三种策略分析器只打分是否拦截由确认策略决定见 confirmation_policy.py策略行为适用场景AlwaysConfirm所有动作都需确认高敏感环境NeverConfirm全自动放行受控沙箱/CIConfirmRisky达到阈值默认HIGH才确认UNKNOWN默认也确认日常推荐另外分析器基类的默认行为是错误即高危分析过程抛异常时该动作按HIGH处理analyzer.py 第 127-144 行。纵深防御配置清单快速上手完整可运行示例见 47_defense_in_depth_security.py核心接线只有三行security_analyzer EnsembleSecurityAnalyzer( analyzers[PolicyRailSecurityAnalyzer(), PatternSecurityAnalyzer()] ) confirmation_policy ConfirmRisky(thresholdSecurityRisk.HIGH) conversation.set_security_analyzer(security_analyzer) conversation.set_confirmation_policy(confirmation_policy)配套清单想更严格把阈值降到ConfirmRisky(thresholdSecurityRisk.MEDIUM)想加 LLM 评审往EnsembleSecurityAnalyzer的列表里追加ToolShieldLLMSecurityAnalyzer想定制风险判断口径参考自定义安全策略示例 32_configurable_security_policy.py用自定义CUSTOM_SECURITY_POLICY文本指导 LLM 自评想体验确认交互见 04_confirmation_mode_example.py。 记住这条黄金法则分析器选择不会自动改变确认策略两者必须显式分别配置——这是 Software Agent SDK 安全体系最常见的配置误区。总结OpenHands Software Agent SDK 的安全体系可以概括为一张双清单密钥管理清单SecretSource抽象 →SecretRegistry会话掩码 → 三模式序列化脱敏/加密/明文→ 导出边界二次清洗密钥在输入、存储、运行、导出四个环节都不落地明文纵深防御清单SecurityRisk分级 → 签名扫描 组合威胁检测 → 最坏情况融合fail-closed→ LLM/外部 AI 监控 →ConfirmRisky人工门禁任何单层失效都有下一层兜底。对新手来说默认配置Pattern PolicyRail ConfirmRisky(HIGH)已经能挡住绝大多数危险动作理解本文的层级设计后你就可以按业务敏感度自由加码构建属于自己的 AI Agent 安全边界。赞分享【免费下载链接】software-agent-sdkA clean, modular SDK for building AI agents with OpenHands V1.项目地址https://gitcode.com/gh_mirrors/so/software-agent-sdk点击查看免费下载相关推荐ECC 规则体系下的 TypeScript/JavaScript 安全实践密钥管理、Agent 审计与纵深防御指南ECC 规则体系下的 TypeScript/JavaScript 安全实践密钥管理、Agent 审计与纵深防御指南 导读 本文围绕 ECCAgent Har人工智能AI 技能AI 插件AI 评测Agent 评测MCP Clients开发工具Open Glean 安全策略与纵深防御架构漏洞上报、密钥托管与出站请求防护全解读Open Glean 安全策略与纵深防御架构漏洞上报、密钥托管与出站请求防护全解读 Open Glean 是一个开源的 AI 知识工作平台其核心职责包括代用24GB以下显存用户的终极AI解决方案Flux1-dev完整部署指南24GB以下显存用户的终极AI解决方案Flux1 dev完整部署指南 还在为AI模型对显存要求过高而烦恼吗Flux1 dev专为24GB以下VRAM环境深度基础模型计算机视觉创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

老板今日速览:微信收款、电商流量、AI记账,三件事正改你的活法

老板今日速览:微信收款、电商流量、AI记账,三件事正改你的活法

今天这几件事,跟老板关系最大,3分钟看完。微信支付新协议刚生效,收款环节的合规红线变了;品质电商"五优"行动落地,流量开始往好货倾斜;AI记账工具今年集体成熟,替你管账的方式正在变。…

2026/10/14 16:13:25 阅读更多 →
用Excel VBA打造进销存系统:小仓库库存自动管理与预警实战

用Excel VBA打造进销存系统:小仓库库存自动管理与预警实战

简介:这套进销存管理系统以Excel VBA为开发基础,专门解决中小企业与个人用户的日常进销存管理需求,覆盖采购、进货、销售与库存监控等核心流程。其核心思路是利用宏自动化完成供应商与客户信息登记、入库出库、库存实时扣减及低库存预警&…

2026/10/14 16:13:25 阅读更多 →
kuangbin带你飞专题一:简单搜索DFS/BFS刷题全攻略

kuangbin带你飞专题一:简单搜索DFS/BFS刷题全攻略

1. 这套题单为什么值得刷“kuangbin带你飞”这个名字在算法竞赛圈子里流传了很多年,尤其是专题一“简单搜索”,几乎是每一位入门选手都会接触到的第一套完整刷题清单。很多刷题指南、经验帖、训练营都把它作为起点,不是因为它简单&#xff0c…

2026/10/14 16:12:24 阅读更多 →

最新新闻

AI辅助开发实战:用Python重做一个mini版Photoshop

AI辅助开发实战:用Python重做一个mini版Photoshop

最近技术社区和设计圈都在讨论一件事:Adobe 更新应用内许可条款后,不少开发者担心“用 AI 辅助开发软件”会撞上版权红线;随后 Adobe 官方人员在社区公开回应,表示不会对使用 AI 辅助开发的非商业开源替代品采取法律行动&#xff…

2026/10/14 21:38:32 阅读更多 →
ASO优化实力品牌怎么选:从关键词到转化闭环的筛选指南

ASO优化实力品牌怎么选:从关键词到转化闭环的筛选指南

做应用推广这些年,我接触最多的词就是ASO优化。不管你的产品是新上架还是已经跑了一年,应用商店的搜索结果、榜单位置、详情页转化,都直接决定自然量的大小。很多人一听说某个品牌擅长ASO优化,第一反应是“那家能帮我冲榜吗”&…

2026/10/14 21:38:32 阅读更多 →
无人自助拼豆系统核心逻辑实现与全流程部署实战操作指南

无人自助拼豆系统核心逻辑实现与全流程部署实战操作指南

无人自助拼豆系统概述 无人自助拼豆系统是一种基于物联网与软件开发技术的智能设备管理系统,旨在为用户提供便捷的拼豆服务。该系统通常包括用户端、管理后台及硬件设备之间的交互逻辑,实现从用户操作到数据处理的全流程自动化。通过结合Spring Boot、My…

2026/10/14 21:38:32 阅读更多 →
深入解析 CMake 缓存机制:删掉 CMakeCache.txt 与 CMakeFiles/ 的正确时机

深入解析 CMake 缓存机制:删掉 CMakeCache.txt 与 CMakeFiles/ 的正确时机

先说一个近乎人人遇过的场景:白天还好好的 CMake 工程,下午一改CMakeLists.txt,再一编译就开始闹脾气——头文件找不到、链接器报一堆 undefined reference、甚至改动完全没有生效。这时候老手多半会不动声色抛出千古名句:“把 CM…

2026/10/14 21:38:32 阅读更多 →
教务系统后端实战:MySQL 8.0 + Spring Boot 3.2 工程化搭建指南

教务系统后端实战:MySQL 8.0 + Spring Boot 3.2 工程化搭建指南

简介:本资源是一份面向高校计算机专业学生的数据库课程设计实践材料,聚焦教务管理系统的完整开发流程,以MySQL为数据存储核心、Java为应用实现语言,帮助初学者掌握需求分析、ER建模、SQL脚本编写、JDBC连接、前后端基础交互等关键…

2026/10/14 21:38:32 阅读更多 →
48V输入LDO稳压芯片方案:PW8600 80V耐压/70V宽压/1.8μA低功耗电路详解

48V输入LDO稳压芯片方案:PW8600 80V耐压/70V宽压/1.8μA低功耗电路详解

LDO 稳压芯片 选型助手 面向硬件工程师与电子研发人员,通过输入电压 / 输出电压快速匹配合适的 LDO 型号, 并提供完整参数查阅、外围器件建议与型号清单,让选型一步到位。 传统 LDO 耐压不足 5V/6V LDO 无法直连 24V/36V/48V 总线&#xff0c…

2026/10/14 21:37:29 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 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/13 22:01:27 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/14 7:53:34 阅读更多 →