
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
这些任务是开源的修复任务,需与https://hub.docker.com/r/vmware/vss-remediation-worker%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8%E3%80%82%E8%A6%81%E4%BD%BF%E7%94%A8%E6%AD%A4%E4%BB%A3%E7%A0%81%EF%BC%8C%E5%BF%85%E9%A1%BB%E9%83%A8%E7%BD%B2%E8%AF%A5%E5%B7%A5%E4%BD%9C%E5%99%A8%E5%B9%B6%E6%AD%A3%E7%A1%AE%E9%85%8D%E7%BD%AESecure State worker组。
向此仓库贡献可用任务需遵循以下约定:
每个任务必须完全包含在独立目录中,目录名称即为任务名称。例如,名为s3-remove-public-access的目录将生成名为s3-remove-public-access的任务。
执行Python任务时,文件必须与目录同名并带有.py扩展名。例如,s3-remove-public-access任务必须在该目录中包含s3-remove-public-access.py文件。
requirements.txt和constraints.txt文件为可选但推荐使用。这确保工作器能以可重复的方式安装依赖,避免Secure State应用因新依赖安装而导致任务失效。
当工作器运行时,会在任务目录下安装(可选的)requirements.txt和constraints.txt中指定的所有依赖。任务执行时,Python运行时仅限于该相对路径下的依赖。这确保所有执行的代码均为Secure State工作器已知,并可通过校验和验证。工作器还会将整个文件夹移动到单独的工作目录,以防止本地导入。
工作器执行任务的方式类似于:
bashpython ./s3-remove-public-access/s3-remove-public-access.py {... 发现有效载荷JSON ...}
发现有效载荷格式如下:
json{ "notificationInfo": { "CloudAccountID" : <string>, "RuleID": <string>, "RuleName": <string>, "RuleDisplayName": <string>, "Level": <string>, "Service": <string>, "FindingInfo": { "FindingId": <string>, "ObjectId": <string>, "ObjectChain": <string>, "CloudTags": { "<key1>": "<value1>", "<key2>": "<value2>", }, "RiskScore": <integer>, "Region": <string>, "Service": <string> } }, "autoRemediate": <boolean> }
所有stdout和stderr日志会发送到Secure State Web应用,用于在用户界面中显示。日志记录时需注意,不要记录敏感数据。
下表列出所有支持的任务及其链接:
| 规则ID | 规则名称 | 修复任务链接 |
|---|---|---|
| 5c8c26997a550e1fb6560cd9 | Blob容器启用了公共读取访问权限 | azure_blob_remove_public_access |
| 5c8c26687a550e1fb6560c72 | 为Keyvault启用日志记录 | azure_key_vault_logging_for_keyvault_enabled |
| 5c8c26847a550e1fb6560cab | 网络安全组应限制SSH端口(22)的公共访问 | azure_network_security_group_close_port_22 |
| 5c8c267e7a550e1fb6560c9c | 网络安全组应限制远程桌面端口(3389)的公共访问 | azure_network_security_group_close_port_3389 |
| 3abf3147-ea53-4302-b237-caab4d764c77 | 应启用DDoS保护标准 | azure_security_center_enable_ddos_protection |
| 5c8c268a7a550e1fb6560cb9 | 应启用SQL Server审计 | azure_sql_auditing_on_server |
| 5c8c268d7a550e1fb6560cc0 | 应启用SQL数据加密 | azure_sql_data_encryption_on |
| 5c8c26947a550e1fb6560cce | SQL服务器应启用Azure Defender for SQL | azure_sql_threat_detection_on_server |
| 5c8c269a7a550e1fb6560cdb | 存储账户未配置为仅允许HTTPS流量 | azure_storage_account_allow_https_traffic_only |
| 99d645b8-aa87-11ea-bb37-0242ac*** | 存储账户可公开访问 | azure_storage_default_network_access_deny |
| 02b672b7-a590-4434-8188-***b2d1864 | 存储账户静态加密未配置客户管理密钥(CMK) | azure_storage_encryption_at_rest_not_configured_with_customer_managed_key |
| 643eb5fc-7747-4df4-b217-41c4e97e0c07 | 存储账户Blob服务未配置软删除 | azure_storage_soft_delete_not_enabled |
| d7a3ad03-860c-4928-9ba8-789e84a835be | 虚拟机规模集VM通过SSH端口(22)可公开访问互联网 | azure_vm_close_port_22 |
| 5c8c26417a550e1fb6560c3f | EC2实例应限制SSH端口(22)的公共访问 | ec2_close_port_22 |
| 5c8c26437a550e1fb6560c42 | EC2安全组应限制远程桌面端口(3389)的公共访问 | ec2_close_port_3389 |
| 657c46b7-1cd0-4cce-80bb-9d195f49c987 | 未启用弹性负载均衡器访问日志 | elb_enable_access_logs |
| 5c8c264a7a550e1fb6560c4d | RDS备份保留期少于30天 | rds_backup_retention_30_days |
| 5c8c265e7a550e1fb6560c67 | 应启用S3访问日志 | s3_enable_access_logging |
| 1d***-9fff-48b2-a7c3-ffc56a4da5e6 | 应启用S3存储桶默认加密 | s3_enable_default_encryption |
| 5c8c26507a550e1fb6560c57 | S3存储桶应限制完全公共访问 | s3_remove_public_access |
| 5c8c26517a550e1fb6560c59 | S3存储桶应限制公共读取访问 | s3_remove_public_access |
| 5c8c26537a550e1fb6560c5a | S3存储桶应限制公共读取ACL访问 | s3_remove_public_access |
| 5c8c26537a550e1fb6560c5b | S3存储桶应限制公共写入访问 | s3_remove_public_access |
| 5c8c26547a550e1fb6560c5c | S3存储桶应限制公共写入ACL访问 | s3_remove_public_access |
| 5c8c26637a550e1fb6560c6b | S3存储桶策略应限制公共Get访问 | s3_remove_public_access |
| 5c8c26617a550e1fb6560c69 | S3存储桶策略应限制完全公共访问 | s3_remove_public_access |
| 5c8c25ec7a550e1fb6560bbe | EC2安全组应限制SSH端口(22)的公共访问 | security_group_close_port_22 |
| 5c8c25ef7a550e1fb6560bc4 | EC2实例应限制远程桌面端口(3389)的公共访问 | security_group_close_port_3389 |
| 5c8c25f07a550e1fb6560bc6 | EC2实例应限制PostgreSQL服务器端口(5432)的公共访问 | security_group_close_port_5432 |
| 5c8c25e47a550e1fb6560bac | 应加密CloudTrail日志 | aws_cloudtrail_logs_encrypted |
| 5c8c26217a550e1fb6560c12 | 未启用KMS自动密钥轮换 | aws_kms_key_rotates |
| 5c8c265c7a550e1fb6560c63 | CloudTrail S3存储桶应启用访问日志 | s3_enable_access_logging |
| 5c8c265d7a550e1fb6560c65 | CloudTrail S3存储桶应限制仅授权用户访问 | aws_s3_cloudtrail_public_access |
Secure State团队欢迎社区贡献。如果您希望贡献代码且尚未签署贡献者许可协议(CLA),我们的机器人会在您提交Pull Request时更新相关问题。有关CLA流程的任何问题,请参考我们的https://cla.vmware.com/faq%E3%80%82
本仓库的所有贡献必须按照该页面所述进行签署。您的签名证明您编写了补丁或有权将其作为开源补丁传递。
有关详细信息,请参阅CONTRIBUTING.md。
委员会成员是来自社区的志愿者和VMware员工,不对因运行本仓库示例而可能发生的任何问题负责。
成员:
如发现错误,请提交https://github.com/vmware-samples/secure-state-remediation-jobs/issues%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务