anyshift-io/sre-skills

GitHub: anyshift-io/sre-skills

面向 AI agent 的 SRE 方法论技能库,将可靠性工作流打包为可离线运行的自包含模块,使 agent 按真实 playbook 处理运维任务。

Stars: 14 | Forks: 0

# sre-skills [![许可证](https://img.shields.io/badge/license-Apache_2.0-blue.svg)](./LICENSE) 面向 AI agents 的 SRE 方法论技能。每个技能将一个可靠性工作流(调查实时 incident、oncall 交接、撰写 postmortem)打包为 agent 可加载并运行的自包含模块。 由 [Anyshift](https://www.anyshift.io) 构建和维护。 ## 为什么使用这些技能 你的 agent 已经能够编写代码和运行命令。但它并不知道一位经验丰富的 SRE 是如何处理 incident 的:首先该关联哪些信号、什么时候部署是首要嫌疑对象、什么时候应该停止挖掘并 page 人类。这些技能编码了这种方法论,以便 agent 遵循真正的 playbook,而不是即兴发挥。 每个技能都能端到端运行,无需 Anyshift 账户,也无需外部凭证。方法论、实例和重放测试都可以针对 fixtures 离线运行。 ## 技能 每个技能针对一个真实的产品和它的一项任务:审计 IAM policy、对 Terraform plan 进行分流、解析 S3 bucket 的有效访问权限。它端到端地、离线地针对 fixtures 完成这项工作。它不是一个把 API 响应原样丢回来的 wrapper:每个技能都承载了资深工程师应用于该单一数据源的判断,以及从看似干净的 config 中分离出信号的阈值和已知的错误组合。 然后它会停止。单一数据源只了解它自己。当一个问题的回答需要进行*join*(这个 role 对应它能实际访问的所有内容,这个 queue 对应它的生产者和消费者,这个 plan 对应它将移动到的正在运行的 infrastructure)时,数据就会耗尽。每个技能都会确切地指出这种情况发生在哪里以及缺少了什么,因此这种边界是明确的,而不是一个隐蔽的错误答案。这种边界每次都是相同的:跨资源、跨数据源或跨时间的 join。 | 技能 | 领域 | 它的功能 | |---|---|---| | [`sqs-queue-auditor`](./skills/sqs-queue-auditor/) | AWS | 审计 redrive/DLQ 接线、`maxReceiveCount`、针对 DLQ 的留存顺序,以及留在危险默认值的 visibility timeout:这种 queue 侧 config 会在每个属性读取正常时悄悄丢弃或重新传递消息。 | | [`iam-policy-auditor`](./skills/iam-policy-auditor/) | AWS | 将 wildcards 扩展为具体的权限,并标记已知的特权提升组合(`PassRole`+`RunInstances`、`CreatePolicyVersion`、`UpdateFunctionCode`+`PassRole`),这些组合从单条语句看来并没有问题。 | | `security-group-exposure-auditor` | AWS | 将重叠和冗余的规则合并为有效的允许集,标记宽泛的 CIDR 和通往任意地方的 egress,并将 SG 到 SG 的引用呈现为基于单条规则阅读时会遗漏的横向移动原语。 | | `s3-access-auditor` | AWS | 解析跨 Block Public Access、bucket policy、ACL 和 access points 的*有效*公开访问和跨账户访问:这四个相互作用的层级在单独查看时都会被误判。 | | `terraform-plan-risk-reporter` | IaC | 按 blast risk 对 plan 变更进行排序,将有状态或不可替代资源的销毁和强制替换,从它们隐藏在其中的无害的原地更新中分离出来。 | | `github-actions-flake-reporter` | CI/CD | 检测不稳定的 job(在未更改的 SHA 上重运行后通过),按原因对失败进行聚类,并标记跨运行历史的持续时间回归,而不仅仅是最后一次失败的运行。 | [`sqs-queue-auditor`](./skills/sqs-queue-auditor/)(8 个实例)和 [`iam-policy-auditor`](./skills/iam-policy-auditor/)(11 个实例)是首批构建的两个技能,每个都带有基于 fixture 的重放测试和提交的 ablation eval;其余的都是*计划中*的。[`kubectl-investigator`](./skills/kubectl-investigator/) 作为方法论形态的参考模板保留:它展示了上述每个技能所遵循的目录结构、实例格式和基于 fixture 的重放测试。 ## 使用技能 ### Claude Code(推荐) 这些技能作为插件在 Anyshift 的 [Claude Code](https://claude.com/claude-code) 市场中发布。在 Claude Code 会话中: ``` /plugin marketplace add anyshift-io/claude-plugins /plugin install sre-skills@anyshift ``` 技能现已加载。每当你提出涉及 incident、变更审查、oncall 交接、postmortem 或可靠性审计的问题时,agent 都会自动调用合适的技能。稍后可以通过 `/plugin marketplace update anyshift` 拉取新技能和版本。 ### 任何其他 agent Clone 该 repo 并将你的 agent 指向你想要的技能。每个技能目录都是自包含的:方法论、实例和基于 fixture 的重放测试都放在一起,因此你可以在将技能指向你自己的 infrastructure 之前,先针对 fixtures 运行它。 ``` git clone https://github.com/anyshift-io/sre-skills.git ``` 每个技能还记录了它的失败模式:它可能在哪里出错,以及 agent 应该在何时升级给人类而不是自行操作。 ## 通过 Anyshift 深入探索(可选) 这些技能可以独立运行。两个可选层可以添加 infrastructure 上下文: - **Anyshift MCP 作为上下文 primer。** 技能可以选择从 Anyshift MCP server 获取更丰富的上下文。当为某个技能配置了该集成时,该技能会发布一个经过测量的“有与无”对比 delta,因此增加的价值是明确的,而不是假定的。 - **Annie,预加载。** 运行 Anyshift 的 Annie agent 可为你提供已加载的这些技能,并接入了你的 Terraform state、云清单(AWS / GCP / Azure)以及最近的部署。 ## 每个技能的保证 - 两个源自真实 incident 或典型场景的实例。 - 无需外部凭证即可运行的基于 fixture 的重放测试。 - 一个明确的失败模式部分:技能在哪里出错,agent 应该在何时升级给人类。 ## 寻找更多内容 有关 SRE 技能(我们的和其他人的)、MCP server 以及阅读材料的精选索引,请参见 [anyshift-io/awesome-sre-skills](https://github.com/anyshift-io/awesome-sre-skills)。 ## 贡献 欢迎对厂商中立的技能做出贡献。请参见 [CONTRIBUTING.md](./CONTRIBUTING.md)。 ## 许可证 [Apache 2.0](./LICENSE)。
标签:SRE, 偏差过滤, 子域名突变, 漏洞利用检测, 运维自动化