用途:按 Prowler SDK 架构模式创建或更新安全检查,涵盖检查实现与元数据文件。
主要能力:提供检查目录结构(prowler/providers/{provider}/services/{service}/{check_name}/,含 init.py、{check_name}.py、{check_name}.metadata.json);给出创建流程:确认检查不存在、确保 provider 与 service 存在、创建文件、实现逻辑、编写元数据、验证检测、本地运行、编写测试。命名规范为 {service}{resource}{security_control},如 ec2_instance_public_ip_disabled。元数据包含 Provider、CheckID、CheckTitle、CheckType、ServiceName、Severity、ResourceType、ResourceGroup、Description、Risk、RelatedUrl、AdditionalURLs、Remediation(CLI、NativeIaC、Other、Terraform)、Recommendation、Categories、DependsOn、RelatedTo、Notes 等字段,并列出必填项与严重级别(low/medium/high/critical)判定指引。报告状态为 PASS、FAIL、MANUAL;权限或可用性错误不应记为 FAIL,而应输出一条租户级 MANUAL 发现,且不得修改 report.check_metadata.Severity 来隐藏。
使用方式:用 mkdir -p 与 touch 创建文件;实现类继承 Check 并返回 Check_Report_{Provider} 列表;验证命令 uv run python prowler-cli.py {provider} --list-checks | grep {check_name};运行命令 uv run python prowler-cli.py {provider} --log-level ERROR --verbose --check {check_name},可加 --profile 或指定多个检查。
适用场景:为 AWS、Azure、GCP、Kubernetes、GitHub、M365 等 provider 新增或更新安全检查。
限制:测试模式参见 prowler-test-sdk 技能;模板见 assets/,字段文档见 references/metadata-docs.md;具体收费、平台与效果暂未提供。