最佳实践(Best Practices)
本指南概述了在配置和使用 Model Context Protocol(MCP)服务器与 Kiro 时的安全最佳实践,帮助你保护敏感信息并维护系统安全。
理解 MCP 的安全性
MCP 服务器通过连接外部服务和 API 扩展了 Kiro 的功能,但也引入了一些潜在的安全风险:
- 访问敏感信息:MCP 服务器可能需要使用 API key 或 token
- 执行外部代码:MCP 服务器会在 Kiro 沙箱之外运行代码
- 数据传输:Kiro 与外部服务之间会传输信息
安全配置建议
保护 API key 和 token
- 不要将包含敏感 token 的配置文件提交到版本控制系统
- 尽量使用环境变量,避免将值写死在配置文件中
- 创建权限最小化的 token,只满足 MCP 服务器功能即可
- 定期更换 API key 和 token,提升安全性
示例:使用环境变量
不要将 token 硬编码在配置文件中,推荐使用如下方式:
{
"mcpServers": {
"github": {
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
}
}
}
}
然后在 shell 中设置环境变量:
export GITHUB_TOKEN=your-token-value
配置文件权限
限制 MCP 配置文件的访问权限:
# 限制用户级别配置权限
chmod 600 ~/.kiro/settings/mcp.json
# 限制工作区级别配置权限
chmod 600 .kiro/settings/mcp.json
安全使用 MCP 工具
工具使用审批流程
- 仔细检查每个工具请求,在批准前务必确认
- 核实传入参数 是否合理
- 了解工具将执行的操作,防止被滥用
- 拒绝可疑请求,特别是与当前任务无关的调用
自动批准工具的建议
仅对满足以下条件的工具启用自动批准:
- 不能写入敏感系统数据
- 来源可信,代码已审核
- 是你日常工作中频繁使用的工具
- 访问权限有限,仅作用于特定内容
示例配置:
{
"mcpServers": {
"aws-docs": {
"autoApprove": [
"mcp_aws_docs_search_documentation",
"mcp_aws_docs_read_documentation"
]
}
}
}
针对特定服务器的安全建议
AWS Documentation Server
此服务器一般是安全的,因为它:
- 仅访问公开文档
- 不访问你的 AWS 账户或资源
- 不需要 AWS 凭证
GitHub MCP Server
使用 GitHub MCP Server 时:
- 为 Kiro 单独创建 token,权限要尽可能小
- 限制仓库访问范围,只允许必要的仓库
- 避免授予删除权限,除非确实需要
- 优先使用细粒度权限的 Personal Access Token,替代经典 token
自定义 MCP 服务器
使用自定义 MCP 服务器时:
- 先审核源代码,确认无恶意行为
- 尽量在隔离环境中运行(如容器、虚拟机)
- 限制服务器权限,原则上不给过多访问能力
- 监控服务器行为,防止异常操作
工作区隔离(Workspace Isolation)
使用工作区级别的配置文件
为每个项目单独配置 MCP 服务器:
project-a/
├── .kiro/
│ └── settings/
│ └── mcp.json # Project A 专用配置
project-b/
├── .kiro/
│ └── settings/
│ └── mcp.json # Project B 专用配置
这样可以确保:
- 只在当前项目中运行对应 MCP 服务器
- token 和配置不会相互干扰
- 安全风险限定在单个工作区内
监控与审计
查看 MCP 日志
定期查看 MCP 日志,掌握服务器活动状态:
- 打开 Kiro 面板
- 切换到 “Output” 标签
- 在下拉列表中选择 “Kiro - MCP Logs”
审计工具使用情况
定期回顾你批准过哪些工具:
- 查看 MCP 配置文件中的
autoApprove
列表 - 审查 MCP 日志,了解工具使用频率和模式
- 移除那些你不再常用的工具的自动批准权限
安全事件响应
如果你怀疑某个 MCP 服务器存在安全问题,应立即采取以下措施:
- 在配置文件中禁用该服务器
- 撤销与该服务器相关的所有 token 和 API key
- 检查外部服务是否有未授权的访问记录
- 向该 MCP 服务器的维护者报告问题
其他安全建议
网络安全
- 使用防火墙 限制 MCP 服务器的出站连接
- 对敏感服务器使用 VPN 增强网络安全
- 监控 MCP 的网络流量,检测异常请求
系统安全
- 及时安装系统更新与安全补丁
- 以最低权限运行 MCP 服务器
- 为敏感服务器使用单独的用户账户