Skip to content

Kiro 是基于 AWS 基础设施构建的独立 Agentic IDE,安全性遵循 AWS 共享责任模型:AWS 负责云基础设施安全,用户负责数据和配置管理。Kiro 提供 Autopilot(自动执行)和 Supervised(逐步确认)两种运行模式,并支持可信命令列表配置。本文介绍各模式的行为差异、资源保护建议及远程扩展安全注意事项。

Kiro 是一款基于 AWS 构建的独立 Agentic IDE。其安全框架以 AWS 的安全基础设施为基础,帮助保护你的开发环境和数据。

共享责任模型

AWS 云的安全遵循共享责任模型,分为"云的安全"和"云中安全"两个层面:

  • 云的安全(AWS 负责):AWS 负责保护运行所有 AWS 服务的全球基础设施。第三方审计机构定期测试并验证 AWS 的安全有效性,详见 AWS Compliance Programs
  • 云中安全(用户负责):由你使用的 AWS 服务决定,同时包括数据敏感性、公司合规要求和适用法规等因素。

URL 抓取

在 Kiro Chat 模块中,你可以粘贴特定 URL 让设备抓取并作为上下文使用。你需要自行负责所抓取 URL 的内容合规性,确保符合适用的第三方条款和法规。

Autopilot 模式与 Supervised 模式

Kiro 默认启用 Autopilot 模式,你可以随时在两种模式之间切换。

Autopilot 模式

Autopilot 模式下,Kiro 自主运行:

  • 无需逐步审批即可执行多个步骤
  • 根据对需求的理解自主决策
  • 可在 Chat 界面随时开关 Autopilot
  • 可随时中断 Autopilot,恢复手动控制

Autopilot 有权执行代码变更,包括在代码库中创建、修改、搜索和删除文件,以及运行影响文件系统的命令。

Supervised 模式

Supervised 模式下,Kiro 以交互方式工作,每一步都需要用户确认:

  • 建议文件创建、修改和删除操作,但等待用户确认后才执行
  • 需要时主动提出澄清问题
  • 可审查并批准每个生成的文档或代码变更,全程掌控开发过程

在两种模式下,你都可以通过 Chat 模块中的 View all changes 查看 Agent 所做的单个或全部文件变更,也可以选择 Revert all changes 或回滚到某个检查点,将文件恢复到本地文件系统的之前状态。

可信命令

默认情况下,Kiro 在运行任何命令前都需要用户审批。你可以在设置中搜索 Kiro Agent: Trusted Commands 创建自己的可信命令列表。

Kiro 使用简单的字符串前缀匹配来判断命令是否自动信任:

  • 精确匹配:命令必须完全匹配(如 npm install
  • 通配符匹配:使用 * 信任命令变体(如 npm * 信任所有 npm 命令)
  • 全局信任:单独使用 * 信任所有命令(极度谨慎使用

系统将整个命令视为单一字符串,仅检查是否以可信模式开头,不分析命令结构、链式调用或特殊字符。配置可信命令模式的责任完全由用户承担。

最佳实践

以下最佳实践为通用指导,不代表完整的安全解决方案。请根据实际环境判断其适用性。

保护你的资源

使用 GitHub 或 Google 账号登录 Kiro 时,Kiro Agent 运行在本地环境中,可能访问:

  • 本地文件和代码仓库
  • 环境变量
  • 存储在环境中的 AWS 凭证
  • 其他含敏感信息的配置文件

建议措施

  1. 工作区隔离:将敏感项目放在独立工作区;使用 .gitignore 阻止访问敏感文件;考虑使用 IDE 的工作区信任功能。
  2. 使用干净的环境:考虑为 Kiro 创建专用用户账号或容器环境;仅授予当前项目所需的仓库和资源访问权限。
  3. 谨慎管理 AWS 凭证:使用具有适当权限的临时凭证;考虑使用 AWS named profile 隔离 Kiro 的访问范围;敏感工作时,不需要时从环境中移除 AWS 凭证。
  4. 仓库访问控制:使用 GitHub 认证时,检查 Kiro 可访问的仓库范围;尽可能使用仓库专用的访问 token;定期审计访问权限。

远程扩展安全

Kiro 支持 Open VSX 扩展,包括远程 SSH 扩展(Open VSX 上社区维护的 Open Remote - SSH 是常用选择),以提供熟悉的开发体验。关于扩展兼容性的详细信息,请参阅扩展兼容性指南

常见问题

Q:Autopilot 模式下,如何防止 Kiro 误删重要文件?

A:可以通过两种方式防护:一是在项目根目录的 .gitignore 中标记敏感文件;二是在执行高风险操作前切换到 Supervised 模式,逐步审批每个文件操作。Autopilot 执行过程中也可随时中断并通过 "Revert all changes" 回滚。

Q:可信命令列表配置错误会有什么后果?

A:配置过于宽松(如 npm *)意味着所有 npm 子命令都会自动执行,包括 npm publishnpm run deploy 等高风险命令。建议从最小范围开始配置,只信任经过验证的、幂等或低风险的命令,避免使用全局通配符 *

Q:Kiro 会访问我存储在系统环境变量中的 AWS 凭证吗?

A:是的,Kiro Agent 运行在本地环境中,可以读取系统环境变量,包括 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 等。建议为 Kiro 使用临时凭证或专用的最小权限 IAM 角色,避免使用具有管理员权限的长期凭证。