anyshift-io/sre-skills
GitHub: anyshift-io/sre-skills
面向 AI agent 的 SRE 方法论技能库,将可靠性工作流打包为可离线运行的自包含模块,使 agent 按真实 playbook 处理运维任务。
Stars: 14 | Forks: 0
# sre-skills
[](./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, 偏差过滤, 子域名突变, 漏洞利用检测, 运维自动化