
【免费下载链接】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),仅供参考