【Kiro】MCP最佳实践
本指南概述了使用 Kiro 配置和使用模型上下文协议 (MCP) 服务器的安全最佳实践,帮助您保护敏感信息并维护系统安全。
了解 MCP 安全性
MCP 服务器通过连接外部服务和 API 来扩展 Kiro 的功能。这带来了一些需要注意的潜在安全问题:
访问敏感信息:MCP 服务器可能需要 API 密钥或令牌
外部代码执行:MCP 服务器在 Kiro 沙箱之外运行代码
数据传输:Kiro 与外部服务之间的信息流
安全配置
保护 API 密钥和令牌
切勿将带有敏感令牌的配置文件提交到版本控制
尽可能使用环境变量而不是硬编码值
创建具有 MCP 服务器运行所需的最低权限的令牌
定期轮换配置中使用的API 密钥和令牌
示例:使用环境变量
而不是在配置中对令牌进行硬编码:
{
"mcpServers": {
"github": {
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
}
}
}
}
在 shell 中设置环境变量:
export GITHUB_TOKEN=your-token-value
配置文件权限
限制对 MCP 配置文件的访问:
# Set restrictive permissions on user-level config
chmod 600 ~/.kiro/settings/mcp.json
# Set restrictive permissions on workspace-level config
chmod 600 .kiro/settings/mcp.json
安全工具使用
工具审批流程
在批准之前仔细审查每个工具请求
检查传递给工具的参数
在批准之前了解该工具的作用
拒绝任何与你当前任务不符的可疑请求
自动批准指南
仅自动批准以下工具:
没有对敏感系统的写权限
来自经过验证的代码的可靠来源
在您的工作流程中经常使用
访问范围有限
{
"mcpServers": {
"aws-docs": {
"autoApprove": [
"mcp_aws_docs_search_documentation",
"mcp_aws_docs_read_documentation"
]
}
}
}
服务器特定的安全性
AWS 文档服务器
AWS 文档服务器通常是安全的,因为它:
只阅读公开文档
不访问您的 AWS 账户或资源
不需要 AWS 凭证
GitHub MCP 服务器
使用 GitHub MCP 服务器时:
为 Kiro创建具有最小权限的专用令牌
将存储库访问权限限制为仅需要的权限
除非绝对必要,否则不要授予删除权限
考虑使用细粒度的个人访问令牌而不是经典令牌
自定义 MCP 服务器
创建或使用自定义 MCP 服务器时:
使用前查看源代码
尽可能在隔离环境中运行
限制授予服务器的权限
监控服务器活动是否存在意外行为
工作区隔离
使用工作区级配置
对项目特定的 MCP 服务器使用工作区级配置:
project-a/
├── .kiro/
│ └── settings/
│ └── mcp.json # Project A specific servers
project-b/
├── .kiro/
│ └── settings/
│ └── mcp.json # Project B specific servers
这确保了:
MCP 服务器仅在相关项目中工作时运行
代币和配置在项目之间是隔离的
安全风险被限制在特定的工作空间内
监控与审计
检查 MCP 日志
定期检查 MCP 日志以监控服务器活动:
打开 Kiro 面板
选择“输出”选项卡
从下拉菜单中选择“Kiro - MCP Logs”
审计工具使用情况
定期检查您已批准的工具:
检查您的 MCP 配置以获取自动批准的工具
查看 MCP 日志以了解工具使用模式
删除不再频繁使用的工具的自动批准
应对安全事件
如果您怀疑 MCP 服务器存在安全问题:
在您的配置中立即禁用服务器
撤销与服务器关联的任何令牌或 API 密钥
检查连接的服务中是否存在未经授权的活动
向 MCP 服务器维护人员报告问题
额外的安全措施
网络安全
使用防火墙限制来自 MCP 服务器的出站连接
考虑使用 VPN进行敏感的 MCP 服务器连接
监控往返于 MCP 服务器的网络流量
系统安全
使用安全补丁更新您的系统
以最小权限运行 MCP 服务器
使用单独的用户帐户运行敏感的 MCP 服务器
有关配置 MCP 服务器的信息,请参阅MCP 配置页面。