opencode-skills-collection 4.0.68 → 4.0.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +266 -1
  2. package/bundled-skills/access-review/SKILL.md +394 -0
  3. package/bundled-skills/access-review/references/details.md +121 -0
  4. package/bundled-skills/agent-evals/SKILL.md +420 -0
  5. package/bundled-skills/agent-observability/SKILL.md +346 -0
  6. package/bundled-skills/agent-observability/references/details.md +786 -0
  7. package/bundled-skills/ai-agent-security/SKILL.md +393 -0
  8. package/bundled-skills/ai-agent-security/references/details.md +912 -0
  9. package/bundled-skills/ai-coding-agent-guardrails/SKILL.md +442 -0
  10. package/bundled-skills/ai-coding-agent-guardrails/references/details.md +753 -0
  11. package/bundled-skills/ai-inference-service-mesh/SKILL.md +449 -0
  12. package/bundled-skills/ai-pipeline-orchestration/SKILL.md +287 -0
  13. package/bundled-skills/ai-red-teaming/SKILL.md +409 -0
  14. package/bundled-skills/ai-security-hardening/SKILL.md +343 -0
  15. package/bundled-skills/ai-sre-incident-response/SKILL.md +336 -0
  16. package/bundled-skills/alerting-oncall/SKILL.md +458 -0
  17. package/bundled-skills/alerting-oncall/references/details.md +84 -0
  18. package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
  19. package/bundled-skills/argocd-gitops/SKILL.md +469 -0
  20. package/bundled-skills/arm-templates/SKILL.md +438 -0
  21. package/bundled-skills/arm-templates/references/details.md +64 -0
  22. package/bundled-skills/asset-inventory/SKILL.md +412 -0
  23. package/bundled-skills/asset-inventory/references/details.md +127 -0
  24. package/bundled-skills/audit-logging/SKILL.md +476 -0
  25. package/bundled-skills/aws-cloudtrail/SKILL.md +486 -0
  26. package/bundled-skills/aws-cost-optimization/SKILL.md +331 -0
  27. package/bundled-skills/aws-ec2/SKILL.md +426 -0
  28. package/bundled-skills/aws-ecs-fargate/SKILL.md +388 -0
  29. package/bundled-skills/aws-iam/SKILL.md +463 -0
  30. package/bundled-skills/aws-lambda/SKILL.md +428 -0
  31. package/bundled-skills/aws-rds/SKILL.md +380 -0
  32. package/bundled-skills/aws-s3/SKILL.md +434 -0
  33. package/bundled-skills/aws-secrets-manager/SKILL.md +486 -0
  34. package/bundled-skills/aws-vpc/SKILL.md +436 -0
  35. package/bundled-skills/azure-ai-document-intelligence-ts/SKILL.md +1 -1
  36. package/bundled-skills/azure-aks/SKILL.md +423 -0
  37. package/bundled-skills/azure-devops/SKILL.md +457 -0
  38. package/bundled-skills/azure-functions-devsec/SKILL.md +436 -0
  39. package/bundled-skills/azure-keyvault/SKILL.md +455 -0
  40. package/bundled-skills/azure-keyvault/references/details.md +83 -0
  41. package/bundled-skills/azure-monitor-audit/SKILL.md +379 -0
  42. package/bundled-skills/azure-networking/SKILL.md +448 -0
  43. package/bundled-skills/azure-networking/references/details.md +135 -0
  44. package/bundled-skills/azure-sql/SKILL.md +413 -0
  45. package/bundled-skills/azure-sql/references/details.md +113 -0
  46. package/bundled-skills/azure-vms/SKILL.md +402 -0
  47. package/bundled-skills/azure-vms/references/details.md +134 -0
  48. package/bundled-skills/backup-recovery/SKILL.md +388 -0
  49. package/bundled-skills/bb-methodology/SKILL.md +451 -0
  50. package/bundled-skills/bb-methodology/references/details.md +120 -0
  51. package/bundled-skills/block-storage/SKILL.md +371 -0
  52. package/bundled-skills/blue-green-deploy/SKILL.md +453 -0
  53. package/bundled-skills/blue-green-deploy/references/details.md +90 -0
  54. package/bundled-skills/bug-bounty/SKILL.md +447 -0
  55. package/bundled-skills/bug-bounty/references/details.md +1316 -0
  56. package/bundled-skills/bugcrowd-reporting/SKILL.md +351 -0
  57. package/bundled-skills/business-continuity/SKILL.md +463 -0
  58. package/bundled-skills/career-ops/SKILL.md +186 -0
  59. package/bundled-skills/cdn-setup/SKILL.md +374 -0
  60. package/bundled-skills/change-management/SKILL.md +438 -0
  61. package/bundled-skills/change-management/references/details.md +105 -0
  62. package/bundled-skills/circleci/SKILL.md +475 -0
  63. package/bundled-skills/cis-benchmarks/SKILL.md +150 -0
  64. package/bundled-skills/cloudflare-pages/SKILL.md +318 -0
  65. package/bundled-skills/cloudflare-r2/SKILL.md +353 -0
  66. package/bundled-skills/cloudflare-workers/SKILL.md +415 -0
  67. package/bundled-skills/cloudflare-zero-trust/SKILL.md +361 -0
  68. package/bundled-skills/cloudformation/SKILL.md +461 -0
  69. package/bundled-skills/constraint-driven-development/SKILL.md +335 -0
  70. package/bundled-skills/constraint-driven-development/references/floor-guard.md +99 -0
  71. package/bundled-skills/container-hardening/SKILL.md +126 -0
  72. package/bundled-skills/container-registries/SKILL.md +435 -0
  73. package/bundled-skills/container-scanning/SKILL.md +416 -0
  74. package/bundled-skills/convex-backend/SKILL.md +338 -0
  75. package/bundled-skills/dast-scanning/SKILL.md +437 -0
  76. package/bundled-skills/database-backups/SKILL.md +425 -0
  77. package/bundled-skills/datadog/SKILL.md +487 -0
  78. package/bundled-skills/dependency-scanning/SKILL.md +457 -0
  79. package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
  80. package/bundled-skills/disaster-recovery/SKILL.md +374 -0
  81. package/bundled-skills/disaster-recovery/references/details.md +219 -0
  82. package/bundled-skills/dns-management/SKILL.md +375 -0
  83. package/bundled-skills/docker-compose/SKILL.md +482 -0
  84. package/bundled-skills/docker-management/SKILL.md +426 -0
  85. package/bundled-skills/ebpf-observability/SKILL.md +436 -0
  86. package/bundled-skills/ebpf-observability/references/details.md +542 -0
  87. package/bundled-skills/elk-stack/SKILL.md +487 -0
  88. package/bundled-skills/enterprise-vpn-attack/SKILL.md +395 -0
  89. package/bundled-skills/evidence-hygiene/SKILL.md +404 -0
  90. package/bundled-skills/feature-flags/SKILL.md +426 -0
  91. package/bundled-skills/feature-flags/references/details.md +86 -0
  92. package/bundled-skills/fedramp-compliance/SKILL.md +453 -0
  93. package/bundled-skills/firebase-app-platform/SKILL.md +381 -0
  94. package/bundled-skills/firewall-config/SKILL.md +479 -0
  95. package/bundled-skills/gcp-audit-logs/SKILL.md +452 -0
  96. package/bundled-skills/gcp-audit-logs/references/details.md +56 -0
  97. package/bundled-skills/gcp-cloud-functions/SKILL.md +284 -0
  98. package/bundled-skills/gcp-cloud-sql/SKILL.md +277 -0
  99. package/bundled-skills/gcp-compute/SKILL.md +319 -0
  100. package/bundled-skills/gcp-gke/SKILL.md +307 -0
  101. package/bundled-skills/gcp-networking/SKILL.md +293 -0
  102. package/bundled-skills/gcp-secret-manager/SKILL.md +421 -0
  103. package/bundled-skills/gcp-secret-manager/references/details.md +131 -0
  104. package/bundled-skills/gdpr-compliance/SKILL.md +451 -0
  105. package/bundled-skills/gdpr-compliance/references/details.md +145 -0
  106. package/bundled-skills/geo-audit/SKILL.md +368 -0
  107. package/bundled-skills/geo-brand-mentions/SKILL.md +68 -0
  108. package/bundled-skills/geo-brand-mentions/references/details.md +471 -0
  109. package/bundled-skills/geo-citability/SKILL.md +350 -0
  110. package/bundled-skills/geo-compare/SKILL.md +340 -0
  111. package/bundled-skills/geo-content/SKILL.md +383 -0
  112. package/bundled-skills/geo-crawlers/SKILL.md +408 -0
  113. package/bundled-skills/geo-llmstxt/SKILL.md +464 -0
  114. package/bundled-skills/geo-platform-optimizer/SKILL.md +314 -0
  115. package/bundled-skills/geo-proposal/SKILL.md +378 -0
  116. package/bundled-skills/geo-prospect/SKILL.md +225 -0
  117. package/bundled-skills/geo-report/SKILL.md +436 -0
  118. package/bundled-skills/geo-report-pdf/SKILL.md +157 -0
  119. package/bundled-skills/geo-schema/SKILL.md +408 -0
  120. package/bundled-skills/geo-technical/SKILL.md +78 -0
  121. package/bundled-skills/geo-technical/references/details.md +543 -0
  122. package/bundled-skills/git-workflow/SKILL.md +460 -0
  123. package/bundled-skills/github-actions/SKILL.md +368 -0
  124. package/bundled-skills/gitlab-ci/SKILL.md +340 -0
  125. package/bundled-skills/gpu-kubernetes-operations/SKILL.md +468 -0
  126. package/bundled-skills/gpu-server-management/SKILL.md +236 -0
  127. package/bundled-skills/hashicorp-vault/SKILL.md +408 -0
  128. package/bundled-skills/helm-charts/SKILL.md +469 -0
  129. package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
  130. package/bundled-skills/hunt-aspnet/SKILL.md +321 -0
  131. package/bundled-skills/hunt-ato/SKILL.md +184 -0
  132. package/bundled-skills/hunt-auth-bypass/SKILL.md +426 -0
  133. package/bundled-skills/hunt-auth-bypass/references/details.md +80 -0
  134. package/bundled-skills/hunt-brute-force/SKILL.md +341 -0
  135. package/bundled-skills/hunt-business-logic/SKILL.md +281 -0
  136. package/bundled-skills/hunt-cache-poison/SKILL.md +382 -0
  137. package/bundled-skills/hunt-captcha-bypass/SKILL.md +136 -0
  138. package/bundled-skills/hunt-cicd/SKILL.md +311 -0
  139. package/bundled-skills/hunt-clickjacking/SKILL.md +110 -0
  140. package/bundled-skills/hunt-cors/SKILL.md +335 -0
  141. package/bundled-skills/hunt-dom/SKILL.md +323 -0
  142. package/bundled-skills/hunt-exceptional-conditions/SKILL.md +111 -0
  143. package/bundled-skills/hunt-file-upload/SKILL.md +202 -0
  144. package/bundled-skills/hunt-fintech-graphql/SKILL.md +289 -0
  145. package/bundled-skills/hunt-forgot-password/SKILL.md +114 -0
  146. package/bundled-skills/hunt-grpc/SKILL.md +317 -0
  147. package/bundled-skills/hunt-host-header/SKILL.md +309 -0
  148. package/bundled-skills/hunt-html-injection/SKILL.md +106 -0
  149. package/bundled-skills/hunt-http-smuggling/SKILL.md +129 -0
  150. package/bundled-skills/hunt-http-smuggling/references/phase2h-smuggling-cachepoison.md +177 -0
  151. package/bundled-skills/hunt-idor/SKILL.md +434 -0
  152. package/bundled-skills/hunt-jwt-crypto/SKILL.md +221 -0
  153. package/bundled-skills/hunt-k8s/SKILL.md +337 -0
  154. package/bundled-skills/hunt-laravel/SKILL.md +255 -0
  155. package/bundled-skills/hunt-ldap/SKILL.md +351 -0
  156. package/bundled-skills/hunt-lfi/SKILL.md +311 -0
  157. package/bundled-skills/hunt-llm-ai/SKILL.md +289 -0
  158. package/bundled-skills/hunt-mfa-bypass/SKILL.md +177 -0
  159. package/bundled-skills/hunt-misc/SKILL.md +378 -0
  160. package/bundled-skills/hunt-nextjs/SKILL.md +299 -0
  161. package/bundled-skills/hunt-nodejs/SKILL.md +263 -0
  162. package/bundled-skills/hunt-nosqli/SKILL.md +210 -0
  163. package/bundled-skills/hunt-ntlm-info/SKILL.md +314 -0
  164. package/bundled-skills/hunt-oauth/SKILL.md +459 -0
  165. package/bundled-skills/hunt-open-redirect/SKILL.md +223 -0
  166. package/bundled-skills/hunt-race-condition/SKILL.md +381 -0
  167. package/bundled-skills/hunt-race-condition/references/details.md +159 -0
  168. package/bundled-skills/hunt-rag-vector/SKILL.md +212 -0
  169. package/bundled-skills/hunt-rce/SKILL.md +444 -0
  170. package/bundled-skills/hunt-rce/references/details.md +110 -0
  171. package/bundled-skills/hunt-saml/SKILL.md +156 -0
  172. package/bundled-skills/hunt-session/SKILL.md +342 -0
  173. package/bundled-skills/hunt-shadow-api/SKILL.md +198 -0
  174. package/bundled-skills/hunt-source-leak/SKILL.md +345 -0
  175. package/bundled-skills/hunt-spa-api/SKILL.md +163 -0
  176. package/bundled-skills/hunt-springboot/SKILL.md +285 -0
  177. package/bundled-skills/hunt-sqli/SKILL.md +466 -0
  178. package/bundled-skills/hunt-ssrf/SKILL.md +396 -0
  179. package/bundled-skills/hunt-ssrf/references/details.md +179 -0
  180. package/bundled-skills/hunt-ssti/SKILL.md +163 -0
  181. package/bundled-skills/hunt-subdomain/SKILL.md +379 -0
  182. package/bundled-skills/hunt-tls-network/SKILL.md +399 -0
  183. package/bundled-skills/hunt-xxe/SKILL.md +466 -0
  184. package/bundled-skills/i-have-adhd/SKILL.md +170 -0
  185. package/bundled-skills/identity-access-management/SKILL.md +382 -0
  186. package/bundled-skills/identity-access-management/references/details.md +524 -0
  187. package/bundled-skills/incident-management/SKILL.md +484 -0
  188. package/bundled-skills/incident-response/SKILL.md +448 -0
  189. package/bundled-skills/incident-response/references/details.md +113 -0
  190. package/bundled-skills/interview-me/SKILL.md +248 -0
  191. package/bundled-skills/iso27001-compliance/SKILL.md +460 -0
  192. package/bundled-skills/jenkins/SKILL.md +462 -0
  193. package/bundled-skills/jev-use/SKILL.md +158 -0
  194. package/bundled-skills/kubernetes-hardening/SKILL.md +154 -0
  195. package/bundled-skills/kubernetes-ops/SKILL.md +449 -0
  196. package/bundled-skills/kubernetes-ops/references/details.md +108 -0
  197. package/bundled-skills/kustomize/SKILL.md +478 -0
  198. package/bundled-skills/linux-administration/SKILL.md +367 -0
  199. package/bundled-skills/linux-hardening/SKILL.md +154 -0
  200. package/bundled-skills/llm-app-security/SKILL.md +389 -0
  201. package/bundled-skills/llm-app-security/references/details.md +674 -0
  202. package/bundled-skills/llm-caching/SKILL.md +334 -0
  203. package/bundled-skills/llm-cost-optimization/SKILL.md +311 -0
  204. package/bundled-skills/llm-fine-tuning/SKILL.md +329 -0
  205. package/bundled-skills/llm-gateway/SKILL.md +282 -0
  206. package/bundled-skills/llm-inference-scaling/SKILL.md +286 -0
  207. package/bundled-skills/llmops-platform-engineering/SKILL.md +472 -0
  208. package/bundled-skills/load-balancing/SKILL.md +403 -0
  209. package/bundled-skills/loki-logging/SKILL.md +479 -0
  210. package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
  211. package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
  212. package/bundled-skills/mcp-server-security/SKILL.md +356 -0
  213. package/bundled-skills/mcp-server-security/references/details.md +745 -0
  214. package/bundled-skills/mdm-device-management/SKILL.md +404 -0
  215. package/bundled-skills/mdm-device-management/references/details.md +410 -0
  216. package/bundled-skills/meme-coin-audit/SKILL.md +402 -0
  217. package/bundled-skills/mid-engagement-ir-detection/SKILL.md +377 -0
  218. package/bundled-skills/model-registry-governance/SKILL.md +452 -0
  219. package/bundled-skills/model-serving-kubernetes/SKILL.md +339 -0
  220. package/bundled-skills/model-supply-chain-security/SKILL.md +427 -0
  221. package/bundled-skills/mongodb/SKILL.md +436 -0
  222. package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +435 -0
  223. package/bundled-skills/multi-tenant-llm-hosting/references/details.md +211 -0
  224. package/bundled-skills/mysql/SKILL.md +390 -0
  225. package/bundled-skills/new-relic/SKILL.md +472 -0
  226. package/bundled-skills/nfs-storage/SKILL.md +356 -0
  227. package/bundled-skills/object-storage/SKILL.md +378 -0
  228. package/bundled-skills/offensive-osint/SKILL.md +443 -0
  229. package/bundled-skills/okta-attack/SKILL.md +436 -0
  230. package/bundled-skills/ollama-stack/SKILL.md +379 -0
  231. package/bundled-skills/openclaw-deployment-hardening/SKILL.md +135 -0
  232. package/bundled-skills/openclaw-local-mac-mini/SKILL.md +426 -0
  233. package/bundled-skills/openclaw-local-mac-mini/references/details.md +221 -0
  234. package/bundled-skills/openclaw-security-hardening/SKILL.md +135 -0
  235. package/bundled-skills/openshift/SKILL.md +485 -0
  236. package/bundled-skills/opentelemetry/SKILL.md +438 -0
  237. package/bundled-skills/opentelemetry/references/details.md +78 -0
  238. package/bundled-skills/opentofu-migration/SKILL.md +349 -0
  239. package/bundled-skills/osint-methodology/SKILL.md +460 -0
  240. package/bundled-skills/osint-methodology/references/details.md +1350 -0
  241. package/bundled-skills/pci-dss-compliance/SKILL.md +446 -0
  242. package/bundled-skills/penetration-testing/SKILL.md +152 -0
  243. package/bundled-skills/performance-tuning/SKILL.md +381 -0
  244. package/bundled-skills/planetscale/SKILL.md +297 -0
  245. package/bundled-skills/platform-engineering/SKILL.md +348 -0
  246. package/bundled-skills/platform-engineering/references/details.md +944 -0
  247. package/bundled-skills/podman/SKILL.md +405 -0
  248. package/bundled-skills/policy-as-code/SKILL.md +434 -0
  249. package/bundled-skills/policy-as-code/references/details.md +204 -0
  250. package/bundled-skills/postgresql-devsec/SKILL.md +378 -0
  251. package/bundled-skills/prometheus-grafana/SKILL.md +469 -0
  252. package/bundled-skills/prompt-injection-defense/SKILL.md +483 -0
  253. package/bundled-skills/rag-infrastructure/SKILL.md +269 -0
  254. package/bundled-skills/rag-observability-evals/SKILL.md +444 -0
  255. package/bundled-skills/rag-observability-evals/references/details.md +92 -0
  256. package/bundled-skills/recon-scope-triage/SKILL.md +128 -0
  257. package/bundled-skills/redis/SKILL.md +421 -0
  258. package/bundled-skills/redteam-report-template/SKILL.md +370 -0
  259. package/bundled-skills/report-writing/SKILL.md +426 -0
  260. package/bundled-skills/report-writing/references/details.md +187 -0
  261. package/bundled-skills/reverse-proxy/SKILL.md +420 -0
  262. package/bundled-skills/runbook-creation/SKILL.md +438 -0
  263. package/bundled-skills/runbook-creation/references/details.md +71 -0
  264. package/bundled-skills/saas-security-posture/SKILL.md +415 -0
  265. package/bundled-skills/sast-scanning/SKILL.md +444 -0
  266. package/bundled-skills/sbom-supply-chain/SKILL.md +433 -0
  267. package/bundled-skills/security-arsenal/SKILL.md +446 -0
  268. package/bundled-skills/security-arsenal/references/details.md +540 -0
  269. package/bundled-skills/security-automation/SKILL.md +146 -0
  270. package/bundled-skills/semantic-versioning/SKILL.md +434 -0
  271. package/bundled-skills/semantic-versioning/references/details.md +83 -0
  272. package/bundled-skills/service-mesh/SKILL.md +422 -0
  273. package/bundled-skills/soc2-compliance/SKILL.md +409 -0
  274. package/bundled-skills/sops-encryption/SKILL.md +124 -0
  275. package/bundled-skills/sre-dashboards/SKILL.md +143 -0
  276. package/bundled-skills/ssh-configuration/SKILL.md +324 -0
  277. package/bundled-skills/ssl-tls-management/SKILL.md +428 -0
  278. package/bundled-skills/ssl-tls-management/references/details.md +99 -0
  279. package/bundled-skills/startup-it-troubleshooting/SKILL.md +415 -0
  280. package/bundled-skills/supply-chain-attack-recon/SKILL.md +453 -0
  281. package/bundled-skills/supply-chain-attack-recon/references/details.md +258 -0
  282. package/bundled-skills/systemd-services/SKILL.md +379 -0
  283. package/bundled-skills/terraform-aws/SKILL.md +125 -0
  284. package/bundled-skills/terraform-azure/SKILL.md +415 -0
  285. package/bundled-skills/terraform-azure/references/details.md +231 -0
  286. package/bundled-skills/terraform-gcp/SKILL.md +369 -0
  287. package/bundled-skills/threat-modeling/SKILL.md +487 -0
  288. package/bundled-skills/user-management/SKILL.md +383 -0
  289. package/bundled-skills/using-agent-skills/SKILL.md +220 -0
  290. package/bundled-skills/vector-database-ops/SKILL.md +300 -0
  291. package/bundled-skills/vendor-management/SKILL.md +439 -0
  292. package/bundled-skills/vendor-management/references/details.md +109 -0
  293. package/bundled-skills/vercel-deployments/SKILL.md +296 -0
  294. package/bundled-skills/vllm-server/SKILL.md +236 -0
  295. package/bundled-skills/vmware-vcenter-attack/SKILL.md +412 -0
  296. package/bundled-skills/vpn-setup/SKILL.md +452 -0
  297. package/bundled-skills/vulnerability-scanning/SKILL.md +448 -0
  298. package/bundled-skills/waf-setup/SKILL.md +354 -0
  299. package/bundled-skills/waf-setup/references/details.md +211 -0
  300. package/bundled-skills/web2-recon/SKILL.md +440 -0
  301. package/bundled-skills/web2-recon/references/details.md +319 -0
  302. package/bundled-skills/web3-audit/SKILL.md +445 -0
  303. package/bundled-skills/web3-audit/references/details.md +224 -0
  304. package/bundled-skills/windows-hardening/SKILL.md +454 -0
  305. package/bundled-skills/windows-hardening/references/details.md +204 -0
  306. package/bundled-skills/windows-server/SKILL.md +318 -0
  307. package/bundled-skills/zero-trust/SKILL.md +461 -0
  308. package/package.json +1 -1
  309. package/skills_index.json +6943 -323
@@ -0,0 +1,448 @@
1
+ ---
2
+ name: incident-response
3
+ description: Handle security incidents with IR playbooks and procedures.
4
+ category: security
5
+ risk: critical
6
+ source: https://github.com/BagelHole/DevOps-Security-Agent-Skills
7
+ source_repo: BagelHole/DevOps-Security-Agent-Skills
8
+ source_type: community
9
+ date_added: '2026-09-20'
10
+ license: MIT
11
+ license_source: https://github.com/BagelHole/DevOps-Security-Agent-Skills/blob/main/LICENSE
12
+ compatibility: Requires the relevant security tooling (scanners, vault CLIs) and an
13
+ authorized scope for any active assessment. Docs-only; helper scripts and templates
14
+ not bundled.
15
+ metadata:
16
+ author: devops-skills
17
+ version: '1.0'
18
+ ---
19
+
20
+ # Incident Response
21
+
22
+ Handle security incidents effectively with structured response procedures.
23
+
24
+ ## Prerequisites
25
+
26
+ - IR team roster with on-call rotation and escalation paths
27
+ - Secure communication channel (separate from production systems)
28
+ - Forensic workstation with analysis tools installed
29
+ - Evidence storage with chain-of-custody controls
30
+ - Legal counsel contact information
31
+ - Pre-authorized incident response actions documented
32
+
33
+ ## Incident Response Phases
34
+
35
+ ```yaml
36
+ phases:
37
+ 1_preparation:
38
+ - IR team roster and 24/7 contact info
39
+ - Tools and privileged access ready
40
+ - Playbooks documented and tested
41
+ - Evidence collection kit prepared
42
+ - Communication templates drafted
43
+
44
+ 2_detection:
45
+ - Alert triage and validation
46
+ - Initial assessment and scoping
47
+ - Severity classification
48
+ - Incident ticket creation
49
+
50
+ 3_containment:
51
+ - Short-term containment (stop bleeding)
52
+ - Evidence preservation (before changes)
53
+ - System isolation (network/host level)
54
+ - Credential rotation if needed
55
+
56
+ 4_eradication:
57
+ - Root cause analysis
58
+ - Remove threat actor access
59
+ - Patch exploited vulnerabilities
60
+ - Clean compromised systems
61
+
62
+ 5_recovery:
63
+ - System restoration from clean backups
64
+ - Enhanced monitoring deployment
65
+ - Phased return to production
66
+ - Business continuity verification
67
+
68
+ 6_lessons_learned:
69
+ - Post-incident review (within 72 hours)
70
+ - Timeline reconstruction
71
+ - Documentation update
72
+ - Process and detection improvements
73
+ ```
74
+
75
+ ## Severity Classification
76
+
77
+ | Level | Impact | Response Time | Examples |
78
+ |-------|--------|---------------|----------|
79
+ | Critical (P1) | Active data breach, full outage, ransomware | Immediate (< 15 min) | Data exfiltration in progress, ransomware spreading |
80
+ | High (P2) | Service degraded, potential breach | < 1 hour | Unauthorized admin access, malware detected |
81
+ | Medium (P3) | Limited impact, contained | < 4 hours | Phishing compromise (single user), policy violation |
82
+ | Low (P4) | Minimal impact | Next business day | Failed brute force, blocked scanning activity |
83
+
84
+ ## Evidence Collection Scripts
85
+
86
+ ### Linux Evidence Collection
87
+
88
+ ```bash
89
+ #!/bin/bash
90
+ # linux-evidence-collect.sh - Collect forensic evidence from a Linux host
91
+ # Run with sudo. Preserves evidence with timestamps and hashes.
92
+
93
+ set -euo pipefail
94
+
95
+ EVIDENCE_DIR="/evidence/$(hostname)-$(date +%Y%m%d-%H%M%S)"
96
+ mkdir -p "$EVIDENCE_DIR"
97
+ LOGFILE="$EVIDENCE_DIR/collection.log"
98
+
99
+ log() { echo "[$(date -u +%Y-%m-%dT%H:%M:%SZ)] $*" | tee -a "$LOGFILE"; }
100
+
101
+ log "Starting evidence collection on $(hostname)"
102
+ log "Collector: $(whoami)"
103
+ log "System time: $(date -u)"
104
+
105
+ # System information
106
+ log "Collecting system information..."
107
+ uname -a > "$EVIDENCE_DIR/uname.txt"
108
+ cat /etc/os-release > "$EVIDENCE_DIR/os-release.txt"
109
+ uptime > "$EVIDENCE_DIR/uptime.txt"
110
+ date -u > "$EVIDENCE_DIR/system-time.txt"
111
+
112
+ # Running processes (full command line)
113
+ log "Collecting process list..."
114
+ ps auxwwf > "$EVIDENCE_DIR/processes.txt"
115
+ ps -eo pid,ppid,user,args --sort=-pcpu > "$EVIDENCE_DIR/processes-by-cpu.txt"
116
+
117
+ # Network connections
118
+ log "Collecting network state..."
119
+ ss -tulnp > "$EVIDENCE_DIR/listening-ports.txt"
120
+ ss -anp > "$EVIDENCE_DIR/all-connections.txt"
121
+ ip addr show > "$EVIDENCE_DIR/ip-addresses.txt"
122
+ ip route show > "$EVIDENCE_DIR/routes.txt"
123
+ iptables -L -n -v > "$EVIDENCE_DIR/iptables.txt" 2>&1 || true
124
+ cat /etc/resolv.conf > "$EVIDENCE_DIR/dns-config.txt"
125
+
126
+ # User activity
127
+ log "Collecting user activity..."
128
+ last -a > "$EVIDENCE_DIR/login-history.txt"
129
+ lastb > "$EVIDENCE_DIR/failed-logins.txt" 2>&1 || true
130
+ who > "$EVIDENCE_DIR/currently-logged-in.txt"
131
+ w > "$EVIDENCE_DIR/user-activity.txt"
132
+ cat /etc/passwd > "$EVIDENCE_DIR/passwd.txt"
133
+ cat /etc/shadow > "$EVIDENCE_DIR/shadow.txt" 2>/dev/null || true
134
+ cat /etc/group > "$EVIDENCE_DIR/group.txt"
135
+
136
+ # Scheduled tasks
137
+ log "Collecting scheduled tasks..."
138
+ for user in $(cut -f1 -d: /etc/passwd); do
139
+ crontab -u "$user" -l 2>/dev/null >> "$EVIDENCE_DIR/crontabs.txt" && \
140
+ echo "--- $user ---" >> "$EVIDENCE_DIR/crontabs.txt"
141
+ done
142
+ ls -la /etc/cron.* > "$EVIDENCE_DIR/cron-dirs.txt" 2>&1
143
+
144
+ # File system state
145
+ log "Collecting filesystem state..."
146
+ find /tmp /var/tmp /dev/shm -type f -ls > "$EVIDENCE_DIR/temp-files.txt" 2>/dev/null
147
+ find / -name "*.sh" -mtime -7 -ls > "$EVIDENCE_DIR/recent-scripts.txt" 2>/dev/null
148
+ find / -perm -4000 -type f -ls > "$EVIDENCE_DIR/suid-files.txt" 2>/dev/null
149
+ find /home -name ".*history" -ls > "$EVIDENCE_DIR/history-files.txt" 2>/dev/null
150
+
151
+ # Loaded kernel modules
152
+ log "Collecting kernel modules..."
153
+ lsmod > "$EVIDENCE_DIR/kernel-modules.txt"
154
+
155
+ # Open files
156
+ log "Collecting open files..."
157
+ lsof -n > "$EVIDENCE_DIR/open-files.txt" 2>/dev/null
158
+
159
+ # Systemd services
160
+ log "Collecting service state..."
161
+ systemctl list-units --type=service --all > "$EVIDENCE_DIR/services.txt"
162
+ systemctl list-timers --all > "$EVIDENCE_DIR/timers.txt"
163
+
164
+ # Log preservation
165
+ log "Preserving system logs..."
166
+ tar czf "$EVIDENCE_DIR/var-log.tar.gz" /var/log/ 2>/dev/null
167
+
168
+ # Docker containers (if present)
169
+ if command -v docker &>/dev/null; then
170
+ log "Collecting Docker state..."
171
+ docker ps -a > "$EVIDENCE_DIR/docker-containers.txt"
172
+ docker images > "$EVIDENCE_DIR/docker-images.txt"
173
+ docker network ls > "$EVIDENCE_DIR/docker-networks.txt"
174
+ fi
175
+
176
+ # Kubernetes (if kubectl available)
177
+ if command -v kubectl &>/dev/null; then
178
+ log "Collecting Kubernetes state..."
179
+ kubectl get pods --all-namespaces > "$EVIDENCE_DIR/k8s-pods.txt" 2>/dev/null
180
+ kubectl get events --all-namespaces --sort-by=.lastTimestamp > "$EVIDENCE_DIR/k8s-events.txt" 2>/dev/null
181
+ fi
182
+
183
+ # Hash all evidence files
184
+ log "Computing evidence hashes..."
185
+ find "$EVIDENCE_DIR" -type f ! -name "checksums.sha256" -exec sha256sum {} \; > "$EVIDENCE_DIR/checksums.sha256"
186
+
187
+ log "Evidence collection complete: $EVIDENCE_DIR"
188
+ echo "Total files collected: $(find "$EVIDENCE_DIR" -type f | wc -l)"
189
+ ```
190
+
191
+ ### Memory Acquisition
192
+
193
+ ```bash
194
+ #!/bin/bash
195
+ # memory-capture.sh - Capture volatile memory for forensic analysis
196
+
197
+ EVIDENCE_DIR="/evidence/memory-$(hostname)-$(date +%Y%m%d-%H%M%S)"
198
+ mkdir -p "$EVIDENCE_DIR"
199
+
200
+ # Using LiME (Linux Memory Extractor)
201
+ if [ -f /lib/modules/$(uname -r)/extra/lime.ko ]; then
202
+ insmod /lib/modules/$(uname -r)/extra/lime.ko "path=$EVIDENCE_DIR/memory.lime format=lime"
203
+ echo "Memory captured with LiME"
204
+ fi
205
+
206
+ # Alternative: /proc/kcore (partial, but always available)
207
+ cp /proc/kcore "$EVIDENCE_DIR/kcore" 2>/dev/null
208
+
209
+ # Capture /proc/meminfo for context
210
+ cat /proc/meminfo > "$EVIDENCE_DIR/meminfo.txt"
211
+
212
+ # Hash the memory dump
213
+ sha256sum "$EVIDENCE_DIR"/* > "$EVIDENCE_DIR/checksums.sha256"
214
+ ```
215
+
216
+ ### AWS Evidence Collection
217
+
218
+ ```bash
219
+ #!/bin/bash
220
+ # aws-evidence-collect.sh - Collect evidence from compromised AWS resources
221
+
222
+ INCIDENT_ID="${1:?Usage: $0 <incident-id>}"
223
+ INSTANCE_ID="${2:?Usage: $0 <incident-id> <instance-id>}"
224
+ EVIDENCE_BUCKET="s3://incident-evidence-${AWS_ACCOUNT_ID}"
225
+ EVIDENCE_PREFIX="${INCIDENT_ID}/$(date +%Y%m%d-%H%M%S)"
226
+
227
+ echo "=== AWS Evidence Collection ==="
228
+ echo "Incident: $INCIDENT_ID"
229
+ echo "Instance: $INSTANCE_ID"
230
+
231
+ # Snapshot EBS volumes
232
+ echo "Creating EBS snapshots..."
233
+ VOLUMES=$(aws ec2 describe-volumes \
234
+ --filters "Name=attachment.instance-id,Values=${INSTANCE_ID}" \
235
+ --query 'Volumes[].VolumeId' --output text)
236
+
237
+ for vol in $VOLUMES; do
238
+ SNAP_ID=$(aws ec2 create-snapshot \
239
+ --volume-id "$vol" \
240
+ --description "IR Evidence - ${INCIDENT_ID} - ${vol}" \
241
+ --tag-specifications "ResourceType=snapshot,Tags=[{Key=IncidentId,Value=${INCIDENT_ID}},{Key=Purpose,Value=forensic-evidence}]" \
242
+ --query 'SnapshotId' --output text)
243
+ echo " Snapshot created: $SNAP_ID for volume $vol"
244
+ done
245
+
246
+ # Capture instance metadata
247
+ echo "Capturing instance metadata..."
248
+ aws ec2 describe-instances --instance-ids "$INSTANCE_ID" \
249
+ > "/tmp/${INCIDENT_ID}-instance-describe.json"
250
+ aws s3 cp "/tmp/${INCIDENT_ID}-instance-describe.json" \
251
+ "${EVIDENCE_BUCKET}/${EVIDENCE_PREFIX}/instance-describe.json"
252
+
253
+ # Capture security group rules
254
+ SG_IDS=$(aws ec2 describe-instances --instance-ids "$INSTANCE_ID" \
255
+ --query 'Reservations[].Instances[].SecurityGroups[].GroupId' --output text)
256
+ for sg in $SG_IDS; do
257
+ aws ec2 describe-security-group-rules --filters "Name=group-id,Values=${sg}" \
258
+ > "/tmp/${INCIDENT_ID}-sg-${sg}.json"
259
+ aws s3 cp "/tmp/${INCIDENT_ID}-sg-${sg}.json" \
260
+ "${EVIDENCE_BUCKET}/${EVIDENCE_PREFIX}/sg-${sg}.json"
261
+ done
262
+
263
+ # Collect CloudTrail events for the instance
264
+ echo "Collecting CloudTrail events..."
265
+ aws cloudtrail lookup-events \
266
+ --lookup-attributes "AttributeKey=ResourceName,AttributeValue=${INSTANCE_ID}" \
267
+ --start-time "$(date -d '7 days ago' -u +%Y-%m-%dT%H:%M:%SZ)" \
268
+ > "/tmp/${INCIDENT_ID}-cloudtrail.json"
269
+ aws s3 cp "/tmp/${INCIDENT_ID}-cloudtrail.json" \
270
+ "${EVIDENCE_BUCKET}/${EVIDENCE_PREFIX}/cloudtrail.json"
271
+
272
+ # Collect VPC flow logs
273
+ echo "Collecting VPC flow logs..."
274
+ ENI_ID=$(aws ec2 describe-instances --instance-ids "$INSTANCE_ID" \
275
+ --query 'Reservations[].Instances[].NetworkInterfaces[0].NetworkInterfaceId' --output text)
276
+ aws ec2 describe-flow-logs --filter "Name=resource-id,Values=${ENI_ID}" \
277
+ > "/tmp/${INCIDENT_ID}-flow-logs.json"
278
+ aws s3 cp "/tmp/${INCIDENT_ID}-flow-logs.json" \
279
+ "${EVIDENCE_BUCKET}/${EVIDENCE_PREFIX}/flow-logs-config.json"
280
+
281
+ # Isolate the instance (move to quarantine security group)
282
+ echo "Isolating instance..."
283
+ QUARANTINE_SG=$(aws ec2 create-security-group \
284
+ --group-name "quarantine-${INCIDENT_ID}" \
285
+ --description "Quarantine SG for incident ${INCIDENT_ID}" \
286
+ --vpc-id "$(aws ec2 describe-instances --instance-ids "$INSTANCE_ID" \
287
+ --query 'Reservations[].Instances[].VpcId' --output text)" \
288
+ --query 'GroupId' --output text)
289
+
290
+ # Quarantine SG: deny all inbound, allow outbound only to evidence bucket
291
+ aws ec2 modify-instance-attribute \
292
+ --instance-id "$INSTANCE_ID" \
293
+ --groups "$QUARANTINE_SG"
294
+
295
+ echo "Instance isolated with quarantine SG: $QUARANTINE_SG"
296
+ echo "Evidence stored at: ${EVIDENCE_BUCKET}/${EVIDENCE_PREFIX}/"
297
+ ```
298
+
299
+ ## Forensics Commands Reference
300
+
301
+ ```bash
302
+ # --- Disk forensics ---
303
+ # Create forensic image of a disk
304
+ dd if=/dev/sda of=/evidence/disk.img bs=4M status=progress
305
+ sha256sum /evidence/disk.img > /evidence/disk.img.sha256
306
+
307
+ # Mount forensic image read-only
308
+ mount -o ro,loop,noexec /evidence/disk.img /mnt/forensic
309
+
310
+ # Find recently modified files
311
+ find /mnt/forensic -type f -mtime -3 -ls | sort -k11
312
+
313
+ # Find files by owner
314
+ find /mnt/forensic -user www-data -type f -newer /tmp/reference-time -ls
315
+
316
+ # --- Log analysis ---
317
+ # Search auth logs for brute force
318
+ grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -rn | head -20
319
+
320
+ # Search for privilege escalation
321
+ grep -E "(sudo|su\[)" /var/log/auth.log | grep -v "session opened"
322
+
323
+ # Search web logs for attack patterns
324
+ grep -iE "(union.*select|<script|\.\.\/|%00)" /var/log/nginx/access.log
325
+
326
+ # Timeline analysis with find
327
+ find / -newermt "2025-01-15 00:00" ! -newermt "2025-01-16 00:00" -ls 2>/dev/null | sort -k9
328
+
329
+ # --- Network forensics ---
330
+ # Capture network traffic
331
+ tcpdump -i eth0 -w /evidence/capture.pcap -c 100000
332
+
333
+ # Analyze pcap for suspicious connections
334
+ tcpdump -r /evidence/capture.pcap -nn 'dst port 4444 or dst port 8888 or dst port 1337'
335
+
336
+ # Check for DNS tunneling
337
+ tcpdump -r /evidence/capture.pcap -nn 'udp port 53' | awk '{print $NF}' | sort | uniq -c | sort -rn | head -20
338
+
339
+ # --- Malware analysis ---
340
+ # Check file for known malware hashes
341
+ sha256sum suspicious_file
342
+ # Compare against VirusTotal: https://www.virustotal.com
343
+
344
+ # Strings analysis
345
+ strings suspicious_file | grep -iE "(http|ftp|ssh|password|key|token)"
346
+
347
+ # Check for packed/obfuscated binaries
348
+ file suspicious_file
349
+ readelf -h suspicious_file 2>/dev/null
350
+ ```
351
+
352
+ ## Communication Templates
353
+
354
+ ### Initial Notification (Internal)
355
+
356
+ ```markdown
357
+ ## Security Incident Notification
358
+
359
+ **Incident ID:** INC-YYYY-NNNN
360
+ **Severity:** [Critical/High/Medium/Low]
361
+ **Status:** Active - Investigating
362
+ **Time Detected:** YYYY-MM-DD HH:MM UTC
363
+ **Reported By:** [Name/System]
364
+
365
+ ### Summary
366
+ [1-2 sentence description of what was detected]
367
+
368
+ ### Impact Assessment
369
+ - **Systems affected:** [list]
370
+ - **Data at risk:** [type and scope]
371
+ - **Users impacted:** [count/scope]
372
+ - **Business impact:** [description]
373
+
374
+ ### Current Actions
375
+ - [ ] Evidence preservation in progress
376
+ - [ ] Containment measures being applied
377
+ - [ ] IR team assembled
378
+
379
+ ### Next Update
380
+ Expected at: YYYY-MM-DD HH:MM UTC
381
+
382
+ ### Incident Commander
383
+ [Name] - [Contact info]
384
+ ```
385
+
386
+ ### Stakeholder Update
387
+
388
+ ```markdown
389
+ ## Incident Update - INC-YYYY-NNNN
390
+
391
+ **Update #:** N
392
+ **Time:** YYYY-MM-DD HH:MM UTC
393
+ **Severity:** [unchanged/upgraded/downgraded]
394
+ **Status:** [Investigating/Contained/Eradicating/Recovering/Resolved]
395
+
396
+ ### Progress Since Last Update
397
+ - [Bullet points of actions taken]
398
+
399
+ ### Current Understanding
400
+ - **Root cause:** [Known/Under investigation]
401
+ - **Scope:** [Expanded/Unchanged/Reduced]
402
+ - **Threat actor:** [If applicable]
403
+
404
+ ### Active Containment Measures
405
+ - [List of measures in place]
406
+
407
+ ### Next Steps
408
+ - [Planned actions with ETA]
409
+
410
+ ### Decisions Needed
411
+ - [If any decisions required from leadership]
412
+ ```
413
+
414
+ ### External Breach Notification (if required)
415
+
416
+ ```markdown
417
+
418
+ ## Contents
419
+
420
+ - [Notice of Data Security Incident](references/details.md)
421
+ - [IR Playbook: Compromised Credentials](references/details.md)
422
+ - [Troubleshooting](references/details.md)
423
+ - [Best Practices](references/details.md)
424
+ - [Related Skills](references/details.md)
425
+
426
+ ## When to Use This Skill
427
+
428
+ Use this skill when:
429
+ - Responding to an active security incident (breach, malware, unauthorized access)
430
+ - Building incident response playbooks and runbooks
431
+ - Conducting IR tabletop exercises and drills
432
+ - Setting up evidence collection and forensic capabilities
433
+ - Establishing communication protocols for security events
434
+ - Performing post-incident reviews and process improvements
435
+
436
+ ## Limitations
437
+
438
+ - Apply guidance only within authorized scope; test destructive steps in non-production first.
439
+ - Docs-only import: upstream scripts and templates not bundled.
440
+
441
+ ### Example
442
+
443
+ ```bash
444
+ # Read-only first: inventory before any active step.
445
+ which <tool> && <tool> --help | head -n 20
446
+ ```
447
+
448
+ > Adapted from [BagelHole/DevOps-Security-Agent-Skills](https://github.com/BagelHole/DevOps-Security-Agent-Skills) (MIT); frontmatter, When to Use/Limitations, and safety boundaries added for upstream compliance. Docs-only import: helper scripts and templates not bundled.
@@ -0,0 +1,113 @@
1
+ # Details (moved from SKILL.md)
2
+
3
+ > Extended reference content for `incident-response`, kept under `references/` so the entrypoint stays within the audit budget.
4
+
5
+ ## Notice of Data Security Incident
6
+
7
+ Dear [Customer/Partner],
8
+
9
+ We are writing to inform you of a security incident that we detected on
10
+ [date]. Upon discovery, we immediately activated our incident response
11
+ procedures and engaged external cybersecurity experts.
12
+
13
+ ### What Happened
14
+ [Brief, factual description]
15
+
16
+ ### What Information Was Involved
17
+ [Types of data affected]
18
+
19
+ ### What We Are Doing
20
+ [Remediation steps taken and planned]
21
+
22
+ ### What You Can Do
23
+ [Recommended actions for affected parties]
24
+
25
+ ### Contact Information
26
+ For questions, please contact: [dedicated contact/hotline]
27
+
28
+ [Company Name]
29
+ [Date]
30
+ ```
31
+
32
+
33
+ ## IR Playbook: Compromised Credentials
34
+
35
+ ```yaml
36
+ playbook: compromised-credentials
37
+ trigger: "Alert indicating credential theft, brute force success, or credential dump"
38
+
39
+ steps:
40
+ 1_validate:
41
+ - Confirm the alert is not a false positive
42
+ - Identify which credentials are compromised
43
+ - Determine scope (single user, service account, API key)
44
+
45
+ 2_contain:
46
+ - Disable compromised accounts immediately
47
+ - Revoke active sessions and tokens
48
+ - Rotate API keys and service account credentials
49
+ - Block source IP if identified
50
+ commands:
51
+ - "aws iam update-login-profile --user-name USER --password-reset-required"
52
+ - "aws iam delete-access-key --user-name USER --access-key-id AKIAXXXX"
53
+ - "aws iam deactivate-mfa-device --user-name USER --serial-number ARN"
54
+ - "kubectl delete secret compromised-secret -n NAMESPACE"
55
+
56
+ 3_investigate:
57
+ - Review CloudTrail/audit logs for the compromised identity
58
+ - Identify all actions taken with compromised credentials
59
+ - Check for persistence (new keys, roles, backdoors)
60
+ - Determine initial compromise vector (phishing, leak, breach)
61
+
62
+ 4_eradicate:
63
+ - Remove any backdoors or persistence mechanisms
64
+ - Rotate all credentials that may have been exposed
65
+ - Update access policies to enforce MFA
66
+ - Patch credential storage if vault/secret manager was compromised
67
+
68
+ 5_recover:
69
+ - Issue new credentials with MFA enforced
70
+ - Restore access with least-privilege review
71
+ - Monitor new credentials for abnormal usage
72
+
73
+ 6_improve:
74
+ - Add detection for initial compromise vector
75
+ - Review credential management policies
76
+ - Update security awareness training if phishing was involved
77
+ ```
78
+
79
+
80
+ ## Troubleshooting
81
+
82
+ | Problem | Cause | Solution |
83
+ |---------|-------|----------|
84
+ | Evidence collection script fails | Insufficient permissions | Run with sudo/root; pre-authorize IR accounts |
85
+ | Cannot access compromised system | System encrypted by ransomware | Use offline disk imaging; restore from backups |
86
+ | Logs are missing or tampered | Attacker cleared logs | Check centralized log aggregator; restore from log backups |
87
+ | Cannot determine incident scope | Insufficient logging | Enable CloudTrail, VPC flow logs, audit logging for future |
88
+ | Stakeholders demanding immediate answers | Pressure to resolve quickly | Follow IR process; provide regular updates; avoid speculation |
89
+ | False positive triggered full IR | Detection rules too sensitive | Tune alerting thresholds; add validation step before escalation |
90
+ | Evidence integrity questioned | No chain of custody | Hash all evidence immediately; document who accessed what and when |
91
+
92
+
93
+ ## Best Practices
94
+
95
+ - Pre-define and practice playbooks with tabletop exercises quarterly
96
+ - Maintain separate, secure communication channels for IR (not email or Slack on corporate infra)
97
+ - Always preserve evidence before making changes to compromised systems
98
+ - Establish chain of custody for all collected evidence
99
+ - Engage legal counsel early in any potential data breach
100
+ - Conduct blameless post-incident reviews within 72 hours
101
+ - Update detection rules and playbooks based on lessons learned
102
+ - Pre-authorize common IR actions so responders can act without delay
103
+ - Keep an IR "go bag" with tools, credentials, and documentation ready
104
+ - Test backup restoration procedures regularly (not just backup creation)
105
+
106
+
107
+ ## Related Skills
108
+
109
+ - audit-logging (`audit-logging`) - Log analysis
110
+ - alerting-oncall (`alerting-oncall`) - Alert management
111
+ - security-automation (`security-automation`) - Automated response workflows
112
+ - threat-modeling (`threat-modeling`) - Proactive threat identification
113
+