核心用途
agent-bom-discover-aws 是一款面向 AWS 云环境的 AI 资产发现与清单生成工具,专为安全审计和合规场景设计。它通过调用 AWS SDK 以只读权限扫描 Bedrock Agent、SageMaker、ECS、EKS、Lambda、Step Functions、EC2 等服务,输出符合 agent-bom 标准的 JSON 格式清单(SBOM),支持后续导入安全扫描工具进行漏洞与配置风险分析。
显著优点
最小权限安全模型:设计上强制使用短生命周期凭证(AWS SSO、WebIdentity、STS 临时角色),明确禁止用户粘贴长期 Access Key,凭证全程驻留本地环境不外传。
离线扫描架构:核心模式为 discover-only,仅生成本地清单文件即停止,不强制推送至任何云端 API;扫描阶段(scan-local)完全在本地执行,满足气隙隔离要求。
标准化输出:清单包含 source_type: skill_invoked_pull 溯源标记、权限使用记录、云身份生命周期及 MCP 服务器启动元数据,支持 SARIF/JSON 多格式导出,便于集成 CI/CD 与 SIEM。
细粒度服务控制:通过 --include-* / --no-include-* 开关精确控制扫描范围,避免过度授权和噪声数据。
潜在局限
- 依赖 operator 环境:需预装 Python 3.11+ 及 agent-bom CLI,对非技术用户门槛较高
- 区域与凭证配置敏感:跨账户/跨区域场景需手动管理 AWS_PROFILE/AWS_REGION 环境变量
- 无实时防护能力:纯发现工具,不提供运行时监控或主动拦截功能
- 发现结果质量受 IAM 策略约束:若只读策略未覆盖特定资源类型,清单将不完整
适合人群
- 云安全工程师:执行定期 AI 工作负载盘点与合规基线比对
- DevSecOps 团队:在 CI 流水线中集成 IaC 阶段的资产清单验证
- 合规审计人员:生成可追溯的云资源清单用于 SOC2、ISO27001 证据包
- 红队/渗透测试人员:快速绘制目标账户 AI 攻击面图谱
常规风险与缓解
| 风险 | 缓解措施 |
|------|---------|
| 凭证泄露 | 强制使用 STS 临时凭证,代码中 redact 敏感值,禁止打印密钥 |
| 权限提升误操作 | 仅绑定只读 IAM Action(如 `bedrock:GetAgent`、`sagemaker:ListEndpoints`),明确 `privilege_escalation: false` |
| 数据残留 | 清单文件写入路径由 operator 指定,无自动上传 telemetry 或持久化 |
| 供应链污染 | Apache-2.0 开源,源码可审计,PyPI 发布支持哈希校验 |
使用建议
优先运行于 discover-only 模式,在隔离环境完成清单生成与人工复核后,再按需本地扫描。生产账户建议配置独立的只读审计角色,启用 CloudTrail 监控 SDK 调用日志。