10. 安全注意事项 (Security Considerations)
10.1. 不可信输入 (Untrusted Input)
agent 必须 (MUST) 将收到的所有消息视为不可信输入, 并在解析和操作之前验证长度和数据类型. 拒绝解析失败或溢出的请求, 并返回 SSH_AGENT_FAILURE.
10.2. 信任边界 (Trust Boundary)
agent 信任边界内的任何方都可以使用加载的密钥. 不应将私钥加载到信任边界之外无法被强制接受的位置. 在连接公共访问的 agent 之前, 用户 SHOULD 评估 agent 信任边界.
10.3. 端点访问控制 (Endpoint Access Control)
agent 端点 MUST 经过操作系统访问控制, 以防止 agent 信任边界之外的方访问. agent SHOULD 默认仅允许同一用户的进程连接. 建议将 agent 端点权限限制为仅用户访问. 在 Microsoft Windows 上, agent 命名管道 SHOULD 通过适当的访问控制列表 (ACL) 进行保护.
10.4. 私钥材料 (Private Key Material)
私钥材料 MUST 保留在 agent 进程中, 并且 MUST NOT 以明文形式导出. 加载到 agent 中的私钥 SHOULD 使用密钥保护 (key protection) 或口令 (passphrase) 进行加密, 但这由客户端策略决定.
10.5. 转发 (Forwarding)
当 agent 转发到远程系统时, 远程系统可以获得 agent 信任边界内的访问权限. 用户 SHOULD 谨慎对待转发的 agent 访问. 远程 SSH 服务器 MAY 拒绝 agent 转发请求.