Skill 安装
多 Agent 安装npx skills add https://github.com/aws/agent-toolkit-for-aws --skill aws-secrets-manager
使用 npx skills 快速安装,支持将 Skill 添加到多个兼容的 AI Agent。
Skill 调研报告
aws/agent-toolkit-for-aws#aws-secrets-manager
Skill 更新日志
版本列表
无版本号
fix(asm-exec):通过 run_script 解析密钥(修复 #293)(#296)
* fix(asm-exec):通过 run_script 解析密钥
aws___call_aws 已于 2026-08-31 移除,因此 asm-exec 无法解析任何
密钥:_resolve_via_mcp 调用了一个已不存在的工具。将
MCP 路径移植到 aws___run_script,它会运行一段简短的服务器端脚本,
调用 call_boto3('secretsmanager', 'GetSecretValue', ...) 并将
响应作为脚本的 return_value 返回。
同时修复两个导致该故障无法诊断的缺陷:
- 传输超时被硬编码为 10s,但 run_script 的 boto3
往返耗时约 13s,因此每次尝试都会超时。将其默认值改为
30s,并可通过 ASM_EXEC_MCP_TIMEOUT 配置。
- _resolve_via_mcp 将所有异常都折叠为一个“Failed to
resolve”字符串。在 stderr 上报告具体原因(工具被移除/重命名、
超时、端点不可达、权限被拒绝、密钥缺失),
且绝不包含密钥值。
_extract_secret_string 现在还会遍历 run_script 信封的
return_value 键(为向后兼容保留旧的 result/output 键)。
使用 repr 嵌入 call_boto3 参数,使密钥 id 和版本阶段
无法突破生成的脚本。更新 SKILL.md 以保持一致。
修复 #293
* refactor(asm-exec):移除未使用的 _mcp_post timeout 参数
回应 #296 的评审反馈:没有调用方传入 timeout,因此该
参数是死代码。_mcp_post 直接读取模块级 MCP_TIMEOUT,
保持超时可通过 ASM_EXEC_MCP_TIMEOUT 配置。
---------
Co-authored-by: Bidesh Thapaliya
无版本号
切换到固定依赖版本的代理(#292)
无版本号
feat:支持 Agent Plugins v1.0.0(#214)
* feat:支持 Agent Plugins v1.0.0
添加根级 plugin.json 和 mcp.json,将 aws-core 钩子移至
com.anthropic.claude-code 命名空间下,在
规范源处修复 skill frontmatter,并添加一个接入
mise run validate 的一致性验证器。
Frontmatter 编辑在 skills/ 中进行,并通过 tools/sync-plugin-skills.py
传播到插件副本,从而保持 lint:skill-parity 通过。
* fix:通过 manifest 指针恢复 Codex 钩子加载
无版本号
fix(aws-secrets-manager):在 asm-exec 中解析环境变量,修复钩子误报(#163)
* fix(aws-secrets-manager):在 asm-exec 中解析环境变量,修复钩子误报
修复 #147
缺陷 1:asm-exec 现在会在将环境变量传递给子进程之前
解析其中的 {{resolve:secretsmanager:...}} 引用,与
文档所述行为一致。使用与 argv 解析相同的单次 re.sub,
因此已解析的值绝不会被重新扫描。
缺陷 2:secret-safety.py 的 PreToolUse 钩子现在使用调用形态匹配
(SDK 方法调用语法)而非裸子串匹配。像 grep、git log、rg、cat 等
仅提及 API 名称的只读命令不再被
误拦截。实际的密钥获取(AWS CLI、SMA URL、内联 SDK
调用)仍会被拦截。
* fix(aws-core):防止 secret-safety 钩子中的复合命令绕过,移除测试
回应评审反馈并加固钩子:
- 仅对简单命令启用只读允许列表:复合 shell
运算符(;、&&、||、|、`、$())现在会阻止提前 allow(),因此
像 "grep x && python3 -c client.get_secret_value(...)" 这样的命令
会被正确拒绝。
- 应评审者要求,从插件目录中移除 tests/test_defect_fixes.py
(测试不应随插件发布)。
---------
Co-authored-by: Arne Wouters
无版本号
feat:为 AWS Secrets Manager 添加 secret-safety 防护栏(#65)
防止 AI 代理将明文密钥值拉入其上下文。
代理使用 {{resolve:secretsmanager:NAME}} 引用密钥,asm-exec 包装器
在运行时解析,使该值到达目标命令
但绝不进入模型。
- PreToolUse 插件钩子拦截跨 AWS CLI、SDK/boto3、MCP 工具
以及直接 SMA 访问的 get-secret-value / batch-get-secret-value。
- aws-secrets-manager skill 记录了解析语法和 asm-exec 用法。
- asm-exec 通过 Secrets Manager Agent 或 AWS MCP
端点(SigV4 签名,仅标准库)解析引用,无本地明文回退。
尽力而为的防御,而非安全边界;请配合 IAM 最小权限、
CloudTrail 和 VPC 端点策略使用。
暂无评论...