opencode-skills-collection 4.0.68 → 4.0.70

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 (491) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +304 -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/api-integration-architect/SKILL.md +241 -0
  19. package/bundled-skills/apify-generate-output-schema/SKILL.md +438 -0
  20. package/bundled-skills/apify-integration-development/SKILL.md +168 -0
  21. package/bundled-skills/apify-integration-development/references/ai-framework-package.md +158 -0
  22. package/bundled-skills/apify-integration-development/references/ai-harness-plugin.md +192 -0
  23. package/bundled-skills/apify-integration-development/references/sdk-integration.md +236 -0
  24. package/bundled-skills/apify-integration-development/references/workflow-automation.md +163 -0
  25. package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
  26. package/bundled-skills/architecture-review/README.md +42 -0
  27. package/bundled-skills/architecture-review/SKILL.md +77 -0
  28. package/bundled-skills/architecture-review/examples.md +11 -0
  29. package/bundled-skills/architecture-review/reference/best-practices.md +7 -0
  30. package/bundled-skills/architecture-review/reference/capabilities.md +20 -0
  31. package/bundled-skills/architecture-review/reference/fallbacks.md +11 -0
  32. package/bundled-skills/architecture-review/reference/graph.md +15 -0
  33. package/bundled-skills/architecture-review/reference/mcp.md +14 -0
  34. package/bundled-skills/architecture-review/reference/workflow.md +15 -0
  35. package/bundled-skills/architecture-review/templates/architecture-review.md +21 -0
  36. package/bundled-skills/argocd-gitops/SKILL.md +469 -0
  37. package/bundled-skills/arm-templates/SKILL.md +438 -0
  38. package/bundled-skills/arm-templates/references/details.md +64 -0
  39. package/bundled-skills/asset-inventory/SKILL.md +412 -0
  40. package/bundled-skills/asset-inventory/references/details.md +127 -0
  41. package/bundled-skills/audit-logging/SKILL.md +476 -0
  42. package/bundled-skills/aws-cloudtrail/SKILL.md +486 -0
  43. package/bundled-skills/aws-cost-optimization/SKILL.md +331 -0
  44. package/bundled-skills/aws-ec2/SKILL.md +426 -0
  45. package/bundled-skills/aws-ecs-fargate/SKILL.md +388 -0
  46. package/bundled-skills/aws-iam/SKILL.md +463 -0
  47. package/bundled-skills/aws-lambda/SKILL.md +428 -0
  48. package/bundled-skills/aws-rds/SKILL.md +380 -0
  49. package/bundled-skills/aws-s3/SKILL.md +434 -0
  50. package/bundled-skills/aws-secrets-manager/SKILL.md +486 -0
  51. package/bundled-skills/aws-vpc/SKILL.md +436 -0
  52. package/bundled-skills/azure-ai-document-intelligence-ts/SKILL.md +1 -1
  53. package/bundled-skills/azure-aks/SKILL.md +423 -0
  54. package/bundled-skills/azure-devops/SKILL.md +457 -0
  55. package/bundled-skills/azure-functions-devsec/SKILL.md +436 -0
  56. package/bundled-skills/azure-keyvault/SKILL.md +455 -0
  57. package/bundled-skills/azure-keyvault/references/details.md +83 -0
  58. package/bundled-skills/azure-monitor-audit/SKILL.md +379 -0
  59. package/bundled-skills/azure-networking/SKILL.md +448 -0
  60. package/bundled-skills/azure-networking/references/details.md +135 -0
  61. package/bundled-skills/azure-sql/SKILL.md +413 -0
  62. package/bundled-skills/azure-sql/references/details.md +113 -0
  63. package/bundled-skills/azure-vms/SKILL.md +402 -0
  64. package/bundled-skills/azure-vms/references/details.md +134 -0
  65. package/bundled-skills/backup-recovery/SKILL.md +388 -0
  66. package/bundled-skills/bb-methodology/SKILL.md +451 -0
  67. package/bundled-skills/bb-methodology/references/details.md +120 -0
  68. package/bundled-skills/block-storage/SKILL.md +371 -0
  69. package/bundled-skills/blue-green-deploy/SKILL.md +453 -0
  70. package/bundled-skills/blue-green-deploy/references/details.md +90 -0
  71. package/bundled-skills/bug-bounty/SKILL.md +447 -0
  72. package/bundled-skills/bug-bounty/references/details.md +1316 -0
  73. package/bundled-skills/bugcrowd-reporting/SKILL.md +351 -0
  74. package/bundled-skills/business-continuity/SKILL.md +463 -0
  75. package/bundled-skills/career-ops/SKILL.md +186 -0
  76. package/bundled-skills/cdn-setup/SKILL.md +374 -0
  77. package/bundled-skills/change-management/SKILL.md +438 -0
  78. package/bundled-skills/change-management/references/details.md +105 -0
  79. package/bundled-skills/circleci/SKILL.md +475 -0
  80. package/bundled-skills/cis-benchmarks/SKILL.md +150 -0
  81. package/bundled-skills/cloudflare-pages/SKILL.md +318 -0
  82. package/bundled-skills/cloudflare-r2/SKILL.md +353 -0
  83. package/bundled-skills/cloudflare-workers/SKILL.md +415 -0
  84. package/bundled-skills/cloudflare-zero-trust/SKILL.md +361 -0
  85. package/bundled-skills/cloudformation/SKILL.md +461 -0
  86. package/bundled-skills/code-review-sensei/SKILL.md +177 -0
  87. package/bundled-skills/codebase-onboarding/README.md +42 -0
  88. package/bundled-skills/codebase-onboarding/SKILL.md +77 -0
  89. package/bundled-skills/codebase-onboarding/examples.md +11 -0
  90. package/bundled-skills/codebase-onboarding/reference/best-practices.md +7 -0
  91. package/bundled-skills/codebase-onboarding/reference/capabilities.md +20 -0
  92. package/bundled-skills/codebase-onboarding/reference/fallbacks.md +11 -0
  93. package/bundled-skills/codebase-onboarding/reference/graph.md +15 -0
  94. package/bundled-skills/codebase-onboarding/reference/mcp.md +14 -0
  95. package/bundled-skills/codebase-onboarding/reference/workflow.md +15 -0
  96. package/bundled-skills/codebase-onboarding/templates/repository-onboarding.md +21 -0
  97. package/bundled-skills/connection-auth-rules/SKILL.md +199 -0
  98. package/bundled-skills/connection-auth-rules/fetch_schema.py +320 -0
  99. package/bundled-skills/constraint-driven-development/SKILL.md +335 -0
  100. package/bundled-skills/constraint-driven-development/references/floor-guard.md +99 -0
  101. package/bundled-skills/container-hardening/SKILL.md +126 -0
  102. package/bundled-skills/container-registries/SKILL.md +435 -0
  103. package/bundled-skills/container-scanning/SKILL.md +416 -0
  104. package/bundled-skills/convex-backend/SKILL.md +338 -0
  105. package/bundled-skills/dast-scanning/SKILL.md +437 -0
  106. package/bundled-skills/database-backups/SKILL.md +425 -0
  107. package/bundled-skills/datadog/SKILL.md +487 -0
  108. package/bundled-skills/dependency-analysis/README.md +42 -0
  109. package/bundled-skills/dependency-analysis/SKILL.md +76 -0
  110. package/bundled-skills/dependency-analysis/examples.md +11 -0
  111. package/bundled-skills/dependency-analysis/reference/best-practices.md +7 -0
  112. package/bundled-skills/dependency-analysis/reference/capabilities.md +20 -0
  113. package/bundled-skills/dependency-analysis/reference/fallbacks.md +11 -0
  114. package/bundled-skills/dependency-analysis/reference/graph.md +15 -0
  115. package/bundled-skills/dependency-analysis/reference/mcp.md +14 -0
  116. package/bundled-skills/dependency-analysis/reference/workflow.md +15 -0
  117. package/bundled-skills/dependency-analysis/templates/dependency-review.md +21 -0
  118. package/bundled-skills/dependency-scanning/SKILL.md +457 -0
  119. package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
  120. package/bundled-skills/devops-pipeline-builder/SKILL.md +200 -0
  121. package/bundled-skills/disaster-recovery/SKILL.md +374 -0
  122. package/bundled-skills/disaster-recovery/references/details.md +219 -0
  123. package/bundled-skills/dns-management/SKILL.md +375 -0
  124. package/bundled-skills/docker-compose/SKILL.md +482 -0
  125. package/bundled-skills/docker-management/SKILL.md +426 -0
  126. package/bundled-skills/eas-app-stores/SKILL.md +197 -0
  127. package/bundled-skills/eas-app-stores/agents/openai.yaml +4 -0
  128. package/bundled-skills/eas-app-stores/references/app-store-metadata.md +497 -0
  129. package/bundled-skills/eas-app-stores/references/ios-app-store.md +376 -0
  130. package/bundled-skills/eas-app-stores/references/native-ios.md +167 -0
  131. package/bundled-skills/eas-app-stores/references/play-store.md +244 -0
  132. package/bundled-skills/eas-app-stores/references/testflight.md +62 -0
  133. package/bundled-skills/eas-app-stores/references/workflows.md +120 -0
  134. package/bundled-skills/eas-hosting/SKILL.md +448 -0
  135. package/bundled-skills/eas-hosting/agents/openai.yaml +4 -0
  136. package/bundled-skills/eas-observe/SKILL.md +75 -0
  137. package/bundled-skills/eas-observe/agents/openai.yaml +4 -0
  138. package/bundled-skills/eas-observe/references/metrics.md +98 -0
  139. package/bundled-skills/eas-observe/references/queries.md +403 -0
  140. package/bundled-skills/eas-observe/references/setup.md +476 -0
  141. package/bundled-skills/eas-observe/references/third-party.md +136 -0
  142. package/bundled-skills/eas-simulator/SKILL.md +251 -0
  143. package/bundled-skills/eas-simulator/agents/openai.yaml +4 -0
  144. package/bundled-skills/eas-simulator/references/controllers.md +135 -0
  145. package/bundled-skills/eas-simulator/references/run-your-app.md +240 -0
  146. package/bundled-skills/eas-simulator/references/troubleshooting.md +47 -0
  147. package/bundled-skills/eas-workflows/SKILL.md +119 -0
  148. package/bundled-skills/eas-workflows/agents/openai.yaml +4 -0
  149. package/bundled-skills/eas-workflows/scripts/fetch.js +109 -0
  150. package/bundled-skills/ebpf-observability/SKILL.md +436 -0
  151. package/bundled-skills/ebpf-observability/references/details.md +542 -0
  152. package/bundled-skills/elk-stack/SKILL.md +487 -0
  153. package/bundled-skills/enterprise-vpn-attack/SKILL.md +395 -0
  154. package/bundled-skills/evidence-hygiene/SKILL.md +404 -0
  155. package/bundled-skills/expo-animation/LICENSE +21 -0
  156. package/bundled-skills/expo-animation/RECIPES.md +385 -0
  157. package/bundled-skills/expo-animation/SKILL.md +295 -0
  158. package/bundled-skills/expo-animation/agents/openai.yaml +4 -0
  159. package/bundled-skills/fact-check-x-unified/SKILL.md +178 -0
  160. package/bundled-skills/fact-check-x-unified/agents/openai.yaml +4 -0
  161. package/bundled-skills/fact-check-x-unified/references/acceptance-criteria.md +44 -0
  162. package/bundled-skills/fact-check-x-unified/references/contracts.md +39 -0
  163. package/bundled-skills/fact-check-x-unified/scripts/common.py +31 -0
  164. package/bundled-skills/fact-check-x-unified/scripts/fact_check_x.py +1832 -0
  165. package/bundled-skills/fact-check-x-unified/scripts/trusted_search_config.py +324 -0
  166. package/bundled-skills/fact-check-x-unified/tests/anchor_downgrade_test.py +90 -0
  167. package/bundled-skills/fact-check-x-unified/tests/multi_platform_test.py +369 -0
  168. package/bundled-skills/fact-check-x-unified/tests/smoke_test.py +740 -0
  169. package/bundled-skills/fact-check-x-unified/tests/stage_checkpoint_test.py +103 -0
  170. package/bundled-skills/fact-check-x-unified/tests/trusted_search_config_test.py +156 -0
  171. package/bundled-skills/feature-flags/SKILL.md +426 -0
  172. package/bundled-skills/feature-flags/references/details.md +86 -0
  173. package/bundled-skills/fedramp-compliance/SKILL.md +453 -0
  174. package/bundled-skills/firebase-app-platform/SKILL.md +381 -0
  175. package/bundled-skills/firewall-config/SKILL.md +479 -0
  176. package/bundled-skills/gcp-audit-logs/SKILL.md +452 -0
  177. package/bundled-skills/gcp-audit-logs/references/details.md +56 -0
  178. package/bundled-skills/gcp-cloud-functions/SKILL.md +284 -0
  179. package/bundled-skills/gcp-cloud-sql/SKILL.md +277 -0
  180. package/bundled-skills/gcp-compute/SKILL.md +319 -0
  181. package/bundled-skills/gcp-gke/SKILL.md +307 -0
  182. package/bundled-skills/gcp-networking/SKILL.md +293 -0
  183. package/bundled-skills/gcp-secret-manager/SKILL.md +421 -0
  184. package/bundled-skills/gcp-secret-manager/references/details.md +131 -0
  185. package/bundled-skills/gdpr-compliance/SKILL.md +451 -0
  186. package/bundled-skills/gdpr-compliance/references/details.md +145 -0
  187. package/bundled-skills/geo-audit/SKILL.md +368 -0
  188. package/bundled-skills/geo-brand-mentions/SKILL.md +68 -0
  189. package/bundled-skills/geo-brand-mentions/references/details.md +471 -0
  190. package/bundled-skills/geo-citability/SKILL.md +350 -0
  191. package/bundled-skills/geo-compare/SKILL.md +340 -0
  192. package/bundled-skills/geo-content/SKILL.md +383 -0
  193. package/bundled-skills/geo-crawlers/SKILL.md +408 -0
  194. package/bundled-skills/geo-llmstxt/SKILL.md +464 -0
  195. package/bundled-skills/geo-platform-optimizer/SKILL.md +314 -0
  196. package/bundled-skills/geo-proposal/SKILL.md +378 -0
  197. package/bundled-skills/geo-prospect/SKILL.md +225 -0
  198. package/bundled-skills/geo-report/SKILL.md +436 -0
  199. package/bundled-skills/geo-report-pdf/SKILL.md +157 -0
  200. package/bundled-skills/geo-schema/SKILL.md +408 -0
  201. package/bundled-skills/geo-technical/SKILL.md +78 -0
  202. package/bundled-skills/geo-technical/references/details.md +543 -0
  203. package/bundled-skills/git-workflow/SKILL.md +460 -0
  204. package/bundled-skills/github-actions/SKILL.md +368 -0
  205. package/bundled-skills/gitlab-ci/SKILL.md +340 -0
  206. package/bundled-skills/gpt-taste/SKILL.md +8 -1
  207. package/bundled-skills/gpu-kubernetes-operations/SKILL.md +468 -0
  208. package/bundled-skills/gpu-server-management/SKILL.md +236 -0
  209. package/bundled-skills/hashicorp-vault/SKILL.md +408 -0
  210. package/bundled-skills/helm-charts/SKILL.md +469 -0
  211. package/bundled-skills/hf-cli/SKILL.md +263 -0
  212. package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
  213. package/bundled-skills/huggingface-community-evals/SKILL.md +228 -0
  214. package/bundled-skills/huggingface-community-evals/examples/.env.example +3 -0
  215. package/bundled-skills/huggingface-community-evals/examples/USAGE_EXAMPLES.md +101 -0
  216. package/bundled-skills/huggingface-community-evals/scripts/inspect_eval_uv.py +104 -0
  217. package/bundled-skills/huggingface-community-evals/scripts/inspect_vllm_uv.py +306 -0
  218. package/bundled-skills/huggingface-community-evals/scripts/lighteval_vllm_uv.py +297 -0
  219. package/bundled-skills/huggingface-datasets/SKILL.md +130 -0
  220. package/bundled-skills/hunt-aspnet/SKILL.md +321 -0
  221. package/bundled-skills/hunt-ato/SKILL.md +184 -0
  222. package/bundled-skills/hunt-auth-bypass/SKILL.md +426 -0
  223. package/bundled-skills/hunt-auth-bypass/references/details.md +80 -0
  224. package/bundled-skills/hunt-brute-force/SKILL.md +341 -0
  225. package/bundled-skills/hunt-business-logic/SKILL.md +281 -0
  226. package/bundled-skills/hunt-cache-poison/SKILL.md +382 -0
  227. package/bundled-skills/hunt-captcha-bypass/SKILL.md +136 -0
  228. package/bundled-skills/hunt-cicd/SKILL.md +311 -0
  229. package/bundled-skills/hunt-clickjacking/SKILL.md +110 -0
  230. package/bundled-skills/hunt-cors/SKILL.md +335 -0
  231. package/bundled-skills/hunt-dom/SKILL.md +323 -0
  232. package/bundled-skills/hunt-exceptional-conditions/SKILL.md +111 -0
  233. package/bundled-skills/hunt-file-upload/SKILL.md +202 -0
  234. package/bundled-skills/hunt-fintech-graphql/SKILL.md +289 -0
  235. package/bundled-skills/hunt-forgot-password/SKILL.md +114 -0
  236. package/bundled-skills/hunt-grpc/SKILL.md +317 -0
  237. package/bundled-skills/hunt-host-header/SKILL.md +309 -0
  238. package/bundled-skills/hunt-html-injection/SKILL.md +106 -0
  239. package/bundled-skills/hunt-http-smuggling/SKILL.md +129 -0
  240. package/bundled-skills/hunt-http-smuggling/references/phase2h-smuggling-cachepoison.md +177 -0
  241. package/bundled-skills/hunt-idor/SKILL.md +434 -0
  242. package/bundled-skills/hunt-jwt-crypto/SKILL.md +221 -0
  243. package/bundled-skills/hunt-k8s/SKILL.md +337 -0
  244. package/bundled-skills/hunt-laravel/SKILL.md +255 -0
  245. package/bundled-skills/hunt-ldap/SKILL.md +351 -0
  246. package/bundled-skills/hunt-lfi/SKILL.md +311 -0
  247. package/bundled-skills/hunt-llm-ai/SKILL.md +289 -0
  248. package/bundled-skills/hunt-mfa-bypass/SKILL.md +177 -0
  249. package/bundled-skills/hunt-misc/SKILL.md +378 -0
  250. package/bundled-skills/hunt-nextjs/SKILL.md +299 -0
  251. package/bundled-skills/hunt-nodejs/SKILL.md +263 -0
  252. package/bundled-skills/hunt-nosqli/SKILL.md +210 -0
  253. package/bundled-skills/hunt-ntlm-info/SKILL.md +314 -0
  254. package/bundled-skills/hunt-oauth/SKILL.md +459 -0
  255. package/bundled-skills/hunt-open-redirect/SKILL.md +223 -0
  256. package/bundled-skills/hunt-race-condition/SKILL.md +381 -0
  257. package/bundled-skills/hunt-race-condition/references/details.md +159 -0
  258. package/bundled-skills/hunt-rag-vector/SKILL.md +212 -0
  259. package/bundled-skills/hunt-rce/SKILL.md +444 -0
  260. package/bundled-skills/hunt-rce/references/details.md +110 -0
  261. package/bundled-skills/hunt-saml/SKILL.md +156 -0
  262. package/bundled-skills/hunt-session/SKILL.md +342 -0
  263. package/bundled-skills/hunt-shadow-api/SKILL.md +198 -0
  264. package/bundled-skills/hunt-source-leak/SKILL.md +345 -0
  265. package/bundled-skills/hunt-spa-api/SKILL.md +163 -0
  266. package/bundled-skills/hunt-springboot/SKILL.md +285 -0
  267. package/bundled-skills/hunt-sqli/SKILL.md +466 -0
  268. package/bundled-skills/hunt-ssrf/SKILL.md +396 -0
  269. package/bundled-skills/hunt-ssrf/references/details.md +179 -0
  270. package/bundled-skills/hunt-ssti/SKILL.md +163 -0
  271. package/bundled-skills/hunt-subdomain/SKILL.md +379 -0
  272. package/bundled-skills/hunt-tls-network/SKILL.md +399 -0
  273. package/bundled-skills/hunt-xxe/SKILL.md +466 -0
  274. package/bundled-skills/i-have-adhd/SKILL.md +170 -0
  275. package/bundled-skills/identity-access-management/SKILL.md +382 -0
  276. package/bundled-skills/identity-access-management/references/details.md +524 -0
  277. package/bundled-skills/incident-management/SKILL.md +484 -0
  278. package/bundled-skills/incident-response/SKILL.md +448 -0
  279. package/bundled-skills/incident-response/references/details.md +113 -0
  280. package/bundled-skills/interview-me/SKILL.md +248 -0
  281. package/bundled-skills/iso27001-compliance/SKILL.md +460 -0
  282. package/bundled-skills/jenkins/SKILL.md +462 -0
  283. package/bundled-skills/jev-social/SKILL.md +182 -0
  284. package/bundled-skills/jev-use/SKILL.md +158 -0
  285. package/bundled-skills/kubernetes-hardening/SKILL.md +154 -0
  286. package/bundled-skills/kubernetes-ops/SKILL.md +449 -0
  287. package/bundled-skills/kubernetes-ops/references/details.md +108 -0
  288. package/bundled-skills/kustomize/SKILL.md +478 -0
  289. package/bundled-skills/linux-administration/SKILL.md +367 -0
  290. package/bundled-skills/linux-hardening/SKILL.md +154 -0
  291. package/bundled-skills/llm-app-security/SKILL.md +389 -0
  292. package/bundled-skills/llm-app-security/references/details.md +674 -0
  293. package/bundled-skills/llm-caching/SKILL.md +334 -0
  294. package/bundled-skills/llm-cost-optimization/SKILL.md +311 -0
  295. package/bundled-skills/llm-fine-tuning/SKILL.md +329 -0
  296. package/bundled-skills/llm-gateway/SKILL.md +282 -0
  297. package/bundled-skills/llm-inference-scaling/SKILL.md +286 -0
  298. package/bundled-skills/llmops-platform-engineering/SKILL.md +472 -0
  299. package/bundled-skills/load-balancing/SKILL.md +403 -0
  300. package/bundled-skills/loki-logging/SKILL.md +479 -0
  301. package/bundled-skills/longbridge-derivatives/SKILL.md +117 -0
  302. package/bundled-skills/longbridge-derivatives/references/option.md +36 -0
  303. package/bundled-skills/longbridge-derivatives/references/options-advanced.md +101 -0
  304. package/bundled-skills/longbridge-derivatives/references/options-pnl.md +74 -0
  305. package/bundled-skills/longbridge-derivatives/references/options-strategy.md +82 -0
  306. package/bundled-skills/longbridge-derivatives/references/options-volatility.md +70 -0
  307. package/bundled-skills/longbridge-derivatives/references/warrant.md +12 -0
  308. package/bundled-skills/longbridge-quant/SKILL.md +151 -0
  309. package/bundled-skills/longbridge-quant/references/correlation.md +51 -0
  310. package/bundled-skills/longbridge-quant/references/execution-model.md +68 -0
  311. package/bundled-skills/longbridge-quant/references/factor-research.md +95 -0
  312. package/bundled-skills/longbridge-quant/references/factor-screen.md +101 -0
  313. package/bundled-skills/longbridge-quant/references/hedging.md +136 -0
  314. package/bundled-skills/longbridge-quant/references/ml-strategy.md +77 -0
  315. package/bundled-skills/longbridge-quant/references/multifactor.md +68 -0
  316. package/bundled-skills/longbridge-quant/references/pairs-trading.md +61 -0
  317. package/bundled-skills/longbridge-quant/references/quant-cli.md +133 -0
  318. package/bundled-skills/longbridge-quant/references/quant-stats.md +150 -0
  319. package/bundled-skills/longbridge-quant/references/seasonality.md +50 -0
  320. package/bundled-skills/longbridge-quant/references/strategy-optimizer.md +68 -0
  321. package/bundled-skills/longbridge-quant/references/volatility-strategy.md +52 -0
  322. package/bundled-skills/longbridge-research/SKILL.md +187 -0
  323. package/bundled-skills/longbridge-research/references/company-profile.md +96 -0
  324. package/bundled-skills/longbridge-research/references/company-tearsheet.md +82 -0
  325. package/bundled-skills/longbridge-research/references/competitive-analysis.md +81 -0
  326. package/bundled-skills/longbridge-research/references/consensus.md +92 -0
  327. package/bundled-skills/longbridge-research/references/coverage-initiation.md +76 -0
  328. package/bundled-skills/longbridge-research/references/defi-yield.md +60 -0
  329. package/bundled-skills/longbridge-research/references/finance-calendar.md +165 -0
  330. package/bundled-skills/longbridge-research/references/financial-planning.md +77 -0
  331. package/bundled-skills/longbridge-research/references/forecast-eps.md +39 -0
  332. package/bundled-skills/longbridge-research/references/fund-holder.md +44 -0
  333. package/bundled-skills/longbridge-research/references/hkipo-analysis.md +101 -0
  334. package/bundled-skills/longbridge-research/references/industry-peers.md +46 -0
  335. package/bundled-skills/longbridge-research/references/industry-rank.md +62 -0
  336. package/bundled-skills/longbridge-research/references/insider-trades.md +48 -0
  337. package/bundled-skills/longbridge-research/references/institution-rating.md +62 -0
  338. package/bundled-skills/longbridge-research/references/investment-ideas.md +69 -0
  339. package/bundled-skills/longbridge-research/references/investment-proposal.md +95 -0
  340. package/bundled-skills/longbridge-research/references/investors.md +87 -0
  341. package/bundled-skills/longbridge-research/references/onchain.md +70 -0
  342. package/bundled-skills/longbridge-research/references/post-investment.md +76 -0
  343. package/bundled-skills/longbridge-research/references/shareholder.md +72 -0
  344. package/bundled-skills/longbridge-research/references/short-positions.md +50 -0
  345. package/bundled-skills/longbridge-research/references/short-trades.md +50 -0
  346. package/bundled-skills/longbridge-research/references/stock-research.md +61 -0
  347. package/bundled-skills/longbridge-research/references/thesis-tracker.md +64 -0
  348. package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
  349. package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
  350. package/bundled-skills/makepad-2-0-animation/SKILL.md +318 -0
  351. package/bundled-skills/makepad-2-0-animation/references/animator-reference.md +433 -0
  352. package/bundled-skills/makepad-2-0-dsl/SKILL.md +492 -0
  353. package/bundled-skills/makepad-2-0-dsl/references/dsl-syntax-reference.md +511 -0
  354. package/bundled-skills/makepad-2-0-dsl/references/extended-guide.md +56 -0
  355. package/bundled-skills/makepad-2-0-dsl/references/property-system.md +757 -0
  356. package/bundled-skills/makepad-2-0-events/SKILL.md +497 -0
  357. package/bundled-skills/makepad-2-0-events/references/event-patterns.md +802 -0
  358. package/bundled-skills/makepad-2-0-events/references/extended-guide.md +590 -0
  359. package/bundled-skills/makepad-2-0-layout/SKILL.md +499 -0
  360. package/bundled-skills/makepad-2-0-layout/references/extended-guide.md +243 -0
  361. package/bundled-skills/makepad-2-0-layout/references/layout-patterns.md +881 -0
  362. package/bundled-skills/makepad-2-0-widgets/SKILL.md +261 -0
  363. package/bundled-skills/makepad-2-0-widgets/references/widget-advanced.md +648 -0
  364. package/bundled-skills/makepad-2-0-widgets/references/widget-catalog.md +547 -0
  365. package/bundled-skills/mcp-server-security/SKILL.md +356 -0
  366. package/bundled-skills/mcp-server-security/references/details.md +745 -0
  367. package/bundled-skills/mdm-device-management/SKILL.md +404 -0
  368. package/bundled-skills/mdm-device-management/references/details.md +410 -0
  369. package/bundled-skills/meeting-distiller-pro/SKILL.md +120 -0
  370. package/bundled-skills/meme-coin-audit/SKILL.md +402 -0
  371. package/bundled-skills/mid-engagement-ir-detection/SKILL.md +377 -0
  372. package/bundled-skills/model-registry-governance/SKILL.md +452 -0
  373. package/bundled-skills/model-serving-kubernetes/SKILL.md +339 -0
  374. package/bundled-skills/model-supply-chain-security/SKILL.md +427 -0
  375. package/bundled-skills/mongodb/SKILL.md +436 -0
  376. package/bundled-skills/monte-carlo-analyze-root-cause/SKILL.md +12 -1
  377. package/bundled-skills/monte-carlo-asset-health/SKILL.md +12 -1
  378. package/bundled-skills/monte-carlo-context-detection/SKILL.md +170 -0
  379. package/bundled-skills/monte-carlo-context-detection/references/signal-definitions.md +46 -0
  380. package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +435 -0
  381. package/bundled-skills/multi-tenant-llm-hosting/references/details.md +211 -0
  382. package/bundled-skills/mysql/SKILL.md +390 -0
  383. package/bundled-skills/new-relic/SKILL.md +472 -0
  384. package/bundled-skills/nfs-storage/SKILL.md +356 -0
  385. package/bundled-skills/object-storage/SKILL.md +378 -0
  386. package/bundled-skills/offensive-osint/SKILL.md +443 -0
  387. package/bundled-skills/okta-attack/SKILL.md +436 -0
  388. package/bundled-skills/ollama-stack/SKILL.md +379 -0
  389. package/bundled-skills/openclaw-deployment-hardening/SKILL.md +135 -0
  390. package/bundled-skills/openclaw-local-mac-mini/SKILL.md +426 -0
  391. package/bundled-skills/openclaw-local-mac-mini/references/details.md +221 -0
  392. package/bundled-skills/openclaw-security-hardening/SKILL.md +135 -0
  393. package/bundled-skills/openshift/SKILL.md +485 -0
  394. package/bundled-skills/opentelemetry/SKILL.md +438 -0
  395. package/bundled-skills/opentelemetry/references/details.md +78 -0
  396. package/bundled-skills/opentofu-migration/SKILL.md +349 -0
  397. package/bundled-skills/osint-methodology/SKILL.md +460 -0
  398. package/bundled-skills/osint-methodology/references/details.md +1350 -0
  399. package/bundled-skills/pci-dss-compliance/SKILL.md +446 -0
  400. package/bundled-skills/penetration-testing/SKILL.md +152 -0
  401. package/bundled-skills/performance-tuning/SKILL.md +381 -0
  402. package/bundled-skills/planetscale/SKILL.md +297 -0
  403. package/bundled-skills/platform-engineering/SKILL.md +348 -0
  404. package/bundled-skills/platform-engineering/references/details.md +944 -0
  405. package/bundled-skills/podman/SKILL.md +405 -0
  406. package/bundled-skills/policy-as-code/SKILL.md +434 -0
  407. package/bundled-skills/policy-as-code/references/details.md +204 -0
  408. package/bundled-skills/postgresql-devsec/SKILL.md +378 -0
  409. package/bundled-skills/prometheus-grafana/SKILL.md +469 -0
  410. package/bundled-skills/prompt-injection-defense/SKILL.md +483 -0
  411. package/bundled-skills/rag-infrastructure/SKILL.md +269 -0
  412. package/bundled-skills/rag-observability-evals/SKILL.md +444 -0
  413. package/bundled-skills/rag-observability-evals/references/details.md +92 -0
  414. package/bundled-skills/recon-scope-triage/SKILL.md +128 -0
  415. package/bundled-skills/redis/SKILL.md +421 -0
  416. package/bundled-skills/redteam-report-template/SKILL.md +370 -0
  417. package/bundled-skills/remotion-captions/SKILL.md +57 -0
  418. package/bundled-skills/remotion-captions/agents/openai.yaml +7 -0
  419. package/bundled-skills/remotion-captions/assets/remotion-icon.svg +4 -0
  420. package/bundled-skills/remotion-captions/display-captions.md +190 -0
  421. package/bundled-skills/remotion-captions/import-srt-captions.md +73 -0
  422. package/bundled-skills/remotion-captions/transcribe-captions.md +70 -0
  423. package/bundled-skills/remotion-create/SKILL.md +106 -0
  424. package/bundled-skills/remotion-create/agents/openai.yaml +7 -0
  425. package/bundled-skills/remotion-create/assets/remotion-icon.svg +4 -0
  426. package/bundled-skills/remotion-create/tailwind.md +11 -0
  427. package/bundled-skills/remotion-create/video-layout.md +9 -0
  428. package/bundled-skills/remotion-docs/SKILL.md +67 -0
  429. package/bundled-skills/remotion-docs/agents/openai.yaml +7 -0
  430. package/bundled-skills/remotion-docs/assets/remotion-icon.svg +4 -0
  431. package/bundled-skills/remotion-interactivity/SKILL.md +270 -0
  432. package/bundled-skills/remotion-interactivity/agents/openai.yaml +7 -0
  433. package/bundled-skills/remotion-interactivity/assets/remotion-icon.svg +4 -0
  434. package/bundled-skills/remotion-render/SKILL.md +48 -0
  435. package/bundled-skills/remotion-render/agents/openai.yaml +7 -0
  436. package/bundled-skills/remotion-render/assets/remotion-icon.svg +4 -0
  437. package/bundled-skills/remotion-render/transparent-videos.md +106 -0
  438. package/bundled-skills/report-writing/SKILL.md +426 -0
  439. package/bundled-skills/report-writing/references/details.md +187 -0
  440. package/bundled-skills/reverse-proxy/SKILL.md +420 -0
  441. package/bundled-skills/runbook-creation/SKILL.md +438 -0
  442. package/bundled-skills/runbook-creation/references/details.md +71 -0
  443. package/bundled-skills/saas-pricing-strategist/SKILL.md +169 -0
  444. package/bundled-skills/saas-security-posture/SKILL.md +415 -0
  445. package/bundled-skills/sast-scanning/SKILL.md +444 -0
  446. package/bundled-skills/sbom-supply-chain/SKILL.md +433 -0
  447. package/bundled-skills/score-eval/SKILL.md +35 -0
  448. package/bundled-skills/security-arsenal/SKILL.md +446 -0
  449. package/bundled-skills/security-arsenal/references/details.md +540 -0
  450. package/bundled-skills/security-automation/SKILL.md +146 -0
  451. package/bundled-skills/semantic-versioning/SKILL.md +434 -0
  452. package/bundled-skills/semantic-versioning/references/details.md +83 -0
  453. package/bundled-skills/service-mesh/SKILL.md +422 -0
  454. package/bundled-skills/soc2-compliance/SKILL.md +409 -0
  455. package/bundled-skills/sops-encryption/SKILL.md +124 -0
  456. package/bundled-skills/sre-dashboards/SKILL.md +143 -0
  457. package/bundled-skills/ssh-configuration/SKILL.md +324 -0
  458. package/bundled-skills/ssl-tls-management/SKILL.md +428 -0
  459. package/bundled-skills/ssl-tls-management/references/details.md +99 -0
  460. package/bundled-skills/startup-it-troubleshooting/SKILL.md +415 -0
  461. package/bundled-skills/supply-chain-attack-recon/SKILL.md +453 -0
  462. package/bundled-skills/supply-chain-attack-recon/references/details.md +258 -0
  463. package/bundled-skills/systemd-services/SKILL.md +379 -0
  464. package/bundled-skills/terraform-aws/SKILL.md +125 -0
  465. package/bundled-skills/terraform-azure/SKILL.md +415 -0
  466. package/bundled-skills/terraform-azure/references/details.md +231 -0
  467. package/bundled-skills/terraform-gcp/SKILL.md +369 -0
  468. package/bundled-skills/threat-modeling/SKILL.md +487 -0
  469. package/bundled-skills/user-management/SKILL.md +383 -0
  470. package/bundled-skills/using-agent-skills/SKILL.md +220 -0
  471. package/bundled-skills/vector-database-ops/SKILL.md +300 -0
  472. package/bundled-skills/vendor-management/SKILL.md +439 -0
  473. package/bundled-skills/vendor-management/references/details.md +109 -0
  474. package/bundled-skills/vercel-deployments/SKILL.md +296 -0
  475. package/bundled-skills/vllm-server/SKILL.md +236 -0
  476. package/bundled-skills/vmware-vcenter-attack/SKILL.md +412 -0
  477. package/bundled-skills/vpn-setup/SKILL.md +452 -0
  478. package/bundled-skills/vulnerability-scanning/SKILL.md +448 -0
  479. package/bundled-skills/waf-setup/SKILL.md +354 -0
  480. package/bundled-skills/waf-setup/references/details.md +211 -0
  481. package/bundled-skills/web2-recon/SKILL.md +440 -0
  482. package/bundled-skills/web2-recon/references/details.md +319 -0
  483. package/bundled-skills/web3-audit/SKILL.md +445 -0
  484. package/bundled-skills/web3-audit/references/details.md +224 -0
  485. package/bundled-skills/windows-hardening/SKILL.md +454 -0
  486. package/bundled-skills/windows-hardening/references/details.md +204 -0
  487. package/bundled-skills/windows-server/SKILL.md +318 -0
  488. package/bundled-skills/writing-guidelines/SKILL.md +60 -0
  489. package/bundled-skills/zero-trust/SKILL.md +461 -0
  490. package/package.json +1 -1
  491. package/skills_index.json +7874 -277
@@ -0,0 +1,354 @@
1
+ ---
2
+ name: waf-setup
3
+ description: Deploy and tune Web Application Firewalls. Configure rules for OWASP
4
+ Top 10 protection. Use when protecting web applications from common attacks.
5
+ category: security
6
+ risk: critical
7
+ source: https://github.com/BagelHole/DevOps-Security-Agent-Skills
8
+ source_repo: BagelHole/DevOps-Security-Agent-Skills
9
+ source_type: community
10
+ date_added: '2026-09-20'
11
+ license: MIT
12
+ license_source: https://github.com/BagelHole/DevOps-Security-Agent-Skills/blob/main/LICENSE
13
+ compatibility: Requires the relevant security tooling (scanners, vault CLIs) and an
14
+ authorized scope for any active assessment. Docs-only; helper scripts and templates
15
+ not bundled.
16
+ metadata:
17
+ author: devops-skills
18
+ version: '1.0'
19
+ ---
20
+
21
+ # WAF Setup
22
+
23
+ Protect web applications with Web Application Firewalls.
24
+
25
+ ## Prerequisites
26
+
27
+ - Web application behind a load balancer or reverse proxy
28
+ - AWS account for AWS WAF, or Cloudflare account for Cloudflare WAF
29
+ - Nginx with ModSecurity module compiled for self-hosted WAF
30
+ - Access to application logs to tune rules and identify false positives
31
+ - Understanding of HTTP request/response structure
32
+
33
+ ## AWS WAF
34
+
35
+ ### Create Web ACL with Managed Rules
36
+
37
+ ```bash
38
+ # Create Web ACL with AWS managed rules
39
+ aws wafv2 create-web-acl \
40
+ --name production-waf \
41
+ --scope REGIONAL \
42
+ --default-action Allow={} \
43
+ --visibility-config SampledRequestsEnabled=true,CloudWatchMetricsEnabled=true,MetricName=production-waf \
44
+ --rules file://waf-rules.json
45
+ ```
46
+
47
+ ### AWS WAF Rules Configuration
48
+
49
+ ```json
50
+ [
51
+ {
52
+ "Name": "AWSManagedRulesCommonRuleSet",
53
+ "Priority": 1,
54
+ "Statement": {
55
+ "ManagedRuleGroupStatement": {
56
+ "VendorName": "AWS",
57
+ "Name": "AWSManagedRulesCommonRuleSet",
58
+ "ExcludedRules": []
59
+ }
60
+ },
61
+ "OverrideAction": { "None": {} },
62
+ "VisibilityConfig": {
63
+ "SampledRequestsEnabled": true,
64
+ "CloudWatchMetricsEnabled": true,
65
+ "MetricName": "AWSCommonRules"
66
+ }
67
+ },
68
+ {
69
+ "Name": "AWSManagedRulesSQLiRuleSet",
70
+ "Priority": 2,
71
+ "Statement": {
72
+ "ManagedRuleGroupStatement": {
73
+ "VendorName": "AWS",
74
+ "Name": "AWSManagedRulesSQLiRuleSet"
75
+ }
76
+ },
77
+ "OverrideAction": { "None": {} },
78
+ "VisibilityConfig": {
79
+ "SampledRequestsEnabled": true,
80
+ "CloudWatchMetricsEnabled": true,
81
+ "MetricName": "AWSSQLiRules"
82
+ }
83
+ },
84
+ {
85
+ "Name": "AWSManagedRulesKnownBadInputsRuleSet",
86
+ "Priority": 3,
87
+ "Statement": {
88
+ "ManagedRuleGroupStatement": {
89
+ "VendorName": "AWS",
90
+ "Name": "AWSManagedRulesKnownBadInputsRuleSet"
91
+ }
92
+ },
93
+ "OverrideAction": { "None": {} },
94
+ "VisibilityConfig": {
95
+ "SampledRequestsEnabled": true,
96
+ "CloudWatchMetricsEnabled": true,
97
+ "MetricName": "AWSBadInputRules"
98
+ }
99
+ },
100
+ {
101
+ "Name": "RateLimitRule",
102
+ "Priority": 4,
103
+ "Statement": {
104
+ "RateBasedStatement": {
105
+ "Limit": 2000,
106
+ "AggregateKeyType": "IP"
107
+ }
108
+ },
109
+ "Action": { "Block": {} },
110
+ "VisibilityConfig": {
111
+ "SampledRequestsEnabled": true,
112
+ "CloudWatchMetricsEnabled": true,
113
+ "MetricName": "RateLimit"
114
+ }
115
+ },
116
+ {
117
+ "Name": "GeoBlockRule",
118
+ "Priority": 5,
119
+ "Statement": {
120
+ "GeoMatchStatement": {
121
+ "CountryCodes": ["KP", "IR", "SY"]
122
+ }
123
+ },
124
+ "Action": { "Block": {} },
125
+ "VisibilityConfig": {
126
+ "SampledRequestsEnabled": true,
127
+ "CloudWatchMetricsEnabled": true,
128
+ "MetricName": "GeoBlock"
129
+ }
130
+ },
131
+ {
132
+ "Name": "BlockBadUserAgents",
133
+ "Priority": 6,
134
+ "Statement": {
135
+ "ByteMatchStatement": {
136
+ "SearchString": "sqlmap",
137
+ "FieldToMatch": { "SingleHeader": { "Name": "user-agent" } },
138
+ "TextTransformations": [{ "Priority": 0, "Type": "LOWERCASE" }],
139
+ "PositionalConstraint": "CONTAINS"
140
+ }
141
+ },
142
+ "Action": { "Block": {} },
143
+ "VisibilityConfig": {
144
+ "SampledRequestsEnabled": true,
145
+ "CloudWatchMetricsEnabled": true,
146
+ "MetricName": "BadUserAgent"
147
+ }
148
+ }
149
+ ]
150
+ ```
151
+
152
+ ### Associate WAF with ALB
153
+
154
+ ```bash
155
+ # Associate with Application Load Balancer
156
+ aws wafv2 associate-web-acl \
157
+ --web-acl-arn arn:aws:wafv2:us-east-1:123456789:regional/webacl/production-waf/abc123 \
158
+ --resource-arn arn:aws:elasticloadbalancing:us-east-1:123456789:loadbalancer/app/my-alb/abc123
159
+
160
+ # Associate with API Gateway
161
+ aws wafv2 associate-web-acl \
162
+ --web-acl-arn arn:aws:wafv2:us-east-1:123456789:regional/webacl/production-waf/abc123 \
163
+ --resource-arn arn:aws:apigateway:us-east-1::/restapis/abc123/stages/prod
164
+ ```
165
+
166
+ ### AWS WAF Terraform
167
+
168
+ ```hcl
169
+ resource "aws_wafv2_web_acl" "main" {
170
+ name = "production-waf"
171
+ scope = "REGIONAL"
172
+ description = "Production WAF with OWASP protections"
173
+
174
+ default_action {
175
+ allow {}
176
+ }
177
+
178
+ rule {
179
+ name = "AWSManagedRulesCommonRuleSet"
180
+ priority = 1
181
+
182
+ override_action { none {} }
183
+
184
+ statement {
185
+ managed_rule_group_statement {
186
+ name = "AWSManagedRulesCommonRuleSet"
187
+ vendor_name = "AWS"
188
+
189
+ rule_action_override {
190
+ name = "SizeRestrictions_BODY"
191
+ action_to_use { count {} }
192
+ }
193
+ }
194
+ }
195
+
196
+ visibility_config {
197
+ cloudwatch_metrics_enabled = true
198
+ metric_name = "AWSCommonRules"
199
+ sampled_requests_enabled = true
200
+ }
201
+ }
202
+
203
+ rule {
204
+ name = "RateLimit"
205
+ priority = 10
206
+
207
+ action { block {} }
208
+
209
+ statement {
210
+ rate_based_statement {
211
+ limit = 2000
212
+ aggregate_key_type = "IP"
213
+ }
214
+ }
215
+
216
+ visibility_config {
217
+ cloudwatch_metrics_enabled = true
218
+ metric_name = "RateLimit"
219
+ sampled_requests_enabled = true
220
+ }
221
+ }
222
+
223
+ visibility_config {
224
+ cloudwatch_metrics_enabled = true
225
+ metric_name = "production-waf"
226
+ sampled_requests_enabled = true
227
+ }
228
+ }
229
+
230
+ resource "aws_wafv2_web_acl_association" "alb" {
231
+ resource_arn = aws_lb.main.arn
232
+ web_acl_arn = aws_wafv2_web_acl.main.arn
233
+ }
234
+ ```
235
+
236
+ ## Cloudflare WAF
237
+
238
+ ### API Configuration
239
+
240
+ ```bash
241
+ # List available WAF rulesets
242
+ curl -s "https://api.cloudflare.com/client/v4/zones/${ZONE_ID}/rulesets" \
243
+ -H "Authorization: Bearer ${CF_TOKEN}" | jq '.result[] | {id, name, phase}'
244
+
245
+ # Create a custom WAF rule
246
+ curl -X POST "https://api.cloudflare.com/client/v4/zones/${ZONE_ID}/rulesets" \
247
+ -H "Authorization: Bearer ${CF_TOKEN}" \
248
+ -H "Content-Type: application/json" \
249
+ -d '{
250
+ "name": "Custom WAF Rules",
251
+ "kind": "zone",
252
+ "phase": "http_request_firewall_custom",
253
+ "rules": [
254
+ {
255
+ "action": "block",
256
+ "expression": "(http.request.uri.query contains \"union select\" or http.request.uri.query contains \"1=1\")",
257
+ "description": "Block SQL injection patterns in query string"
258
+ },
259
+ {
260
+ "action": "block",
261
+ "expression": "(http.request.uri.path contains \"..%2f\" or http.request.uri.path contains \"..%5c\")",
262
+ "description": "Block path traversal attempts"
263
+ },
264
+ {
265
+ "action": "challenge",
266
+ "expression": "(cf.threat_score gt 30)",
267
+ "description": "Challenge high threat score visitors"
268
+ },
269
+ {
270
+ "action": "block",
271
+ "expression": "(http.request.headers[\"user-agent\"] contains \"sqlmap\" or http.request.headers[\"user-agent\"] contains \"nikto\")",
272
+ "description": "Block known attack tools"
273
+ }
274
+ ]
275
+ }'
276
+
277
+ # Configure rate limiting
278
+ curl -X POST "https://api.cloudflare.com/client/v4/zones/${ZONE_ID}/rulesets" \
279
+ -H "Authorization: Bearer ${CF_TOKEN}" \
280
+ -H "Content-Type: application/json" \
281
+ -d '{
282
+ "name": "Rate Limiting",
283
+ "kind": "zone",
284
+ "phase": "http_ratelimit",
285
+ "rules": [
286
+ {
287
+ "action": "block",
288
+ "ratelimit": {
289
+ "characteristics": ["ip.src"],
290
+ "period": 60,
291
+ "requests_per_period": 100,
292
+ "mitigation_timeout": 600
293
+ },
294
+ "expression": "(http.request.uri.path matches \"^/api/\")",
295
+ "description": "Rate limit API endpoints"
296
+ }
297
+ ]
298
+ }'
299
+ ```
300
+
301
+ ### Cloudflare Terraform
302
+
303
+ ```hcl
304
+ resource "cloudflare_ruleset" "waf_custom" {
305
+ zone_id = var.zone_id
306
+ name = "Custom WAF Rules"
307
+ kind = "zone"
308
+ phase = "http_request_firewall_custom"
309
+
310
+ rules {
311
+ action = "block"
312
+ expression = "(http.request.uri.query contains \"union select\")"
313
+ description = "Block SQL injection in query string"
314
+ }
315
+
316
+ rules {
317
+ action = "managed_challenge"
318
+ expression = "(cf.threat_score gt 30)"
319
+ description = "Challenge suspicious visitors"
320
+ }
321
+ }
322
+ ```
323
+
324
+
325
+ ## Contents
326
+
327
+ - [ModSecurity with Nginx](references/details.md)
328
+ - [WAF Tuning Workflow](references/details.md)
329
+ - [Troubleshooting](references/details.md)
330
+ - [Best Practices](references/details.md)
331
+ - [Related Skills](references/details.md)
332
+
333
+ ## When to Use This Skill
334
+
335
+ Use this skill when:
336
+ - Deploying a public-facing web application that needs attack protection
337
+ - Meeting compliance requirements (PCI-DSS, SOC2) for web application security
338
+ - Blocking OWASP Top 10 attack categories (SQLi, XSS, CSRF, etc.)
339
+ - Protecting APIs from abuse, injection, and rate-based attacks
340
+ - Adding a virtual patching layer while application code is being fixed
341
+
342
+ ## Limitations
343
+
344
+ - Apply guidance only within authorized scope; test destructive steps in non-production first.
345
+ - Docs-only import: upstream scripts and templates not bundled.
346
+
347
+ ### Example
348
+
349
+ ```bash
350
+ # Read-only first: inventory before any active step.
351
+ which <tool> && <tool> --help | head -n 20
352
+ ```
353
+
354
+ > 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,211 @@
1
+ # Details (moved from SKILL.md)
2
+
3
+ > Extended reference content for `waf-setup`, kept under `references/` so the entrypoint stays within the audit budget.
4
+
5
+ ## ModSecurity with Nginx
6
+
7
+ ### Installation
8
+
9
+ ```bash
10
+ # Install ModSecurity for Nginx (Ubuntu)
11
+ apt install -y libmodsecurity3 libmodsecurity-dev nginx libnginx-mod-http-modsecurity
12
+
13
+ # Or compile from source
14
+ git clone https://github.com/SpiderLabs/ModSecurity /opt/modsecurity
15
+ cd /opt/modsecurity
16
+ git submodule init && git submodule update
17
+ ./build.sh && ./configure && make && make install
18
+ ```
19
+
20
+ ### Nginx Configuration
21
+
22
+ ```nginx
23
+ # /etc/nginx/nginx.conf
24
+ load_module modules/ngx_http_modsecurity_module.so;
25
+
26
+ http {
27
+ modsecurity on;
28
+ modsecurity_rules_file /etc/nginx/modsec/main.conf;
29
+
30
+ server {
31
+ listen 443 ssl http2;
32
+ server_name example.com;
33
+
34
+ # ModSecurity can also be enabled per-location
35
+ location /api/ {
36
+ modsecurity on;
37
+ modsecurity_rules_file /etc/nginx/modsec/api-rules.conf;
38
+ proxy_pass http://backend;
39
+ }
40
+ }
41
+ }
42
+ ```
43
+
44
+ ### ModSecurity Main Configuration
45
+
46
+ ```bash
47
+ # /etc/nginx/modsec/main.conf
48
+ Include /etc/nginx/modsec/modsecurity.conf
49
+
50
+ # Set to DetectionOnly first, switch to On after tuning
51
+ SecRuleEngine On
52
+
53
+ # Request body handling
54
+ SecRequestBodyAccess On
55
+ SecRequestBodyLimit 13107200
56
+ SecRequestBodyNoFilesLimit 131072
57
+
58
+ # Response body handling
59
+ SecResponseBodyAccess On
60
+ SecResponseBodyMimeType text/plain text/html text/xml application/json
61
+
62
+ # Logging
63
+ SecAuditEngine RelevantOnly
64
+ SecAuditLogRelevantStatus "^(?:5|4(?!04))"
65
+ SecAuditLogParts ABIJDEFHZ
66
+ SecAuditLogType Serial
67
+ SecAuditLog /var/log/modsec/modsec_audit.log
68
+
69
+ # Include OWASP Core Rule Set
70
+ Include /etc/nginx/modsec/crs/crs-setup.conf
71
+ Include /etc/nginx/modsec/crs/rules/*.conf
72
+ ```
73
+
74
+ ### OWASP Core Rule Set Setup
75
+
76
+ ```bash
77
+ # Download and install OWASP CRS
78
+ cd /etc/nginx/modsec
79
+ git clone https://github.com/coreruleset/coreruleset crs
80
+ cp crs/crs-setup.conf.example crs/crs-setup.conf
81
+
82
+ # Customize CRS settings
83
+ cat >> crs/crs-setup.conf << 'EOF'
84
+
85
+ # Set paranoia level (1-4, higher = more strict)
86
+ SecAction "id:900000, phase:1, pass, t:none, nolog, setvar:tx.paranoia_level=2"
87
+
88
+ # Set anomaly score thresholds
89
+ SecAction "id:900110, phase:1, pass, t:none, nolog, \
90
+ setvar:tx.inbound_anomaly_score_threshold=5, \
91
+ setvar:tx.outbound_anomaly_score_threshold=4"
92
+
93
+ # Exclude known false positives
94
+ SecRule REQUEST_URI "@beginsWith /api/upload" \
95
+ "id:1001,phase:1,pass,nolog,ctl:ruleRemoveById=920420"
96
+ EOF
97
+
98
+ # Create rule exclusions file
99
+ cat > /etc/nginx/modsec/crs/RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf << 'EOF'
100
+ # Exclude rules that cause false positives on specific paths
101
+ SecRule REQUEST_URI "@beginsWith /api/webhook" \
102
+ "id:1000001,phase:1,pass,nolog,ctl:ruleRemoveTargetById=942100;ARGS:payload"
103
+
104
+ # Exclude rules for specific parameters
105
+ SecRule ARGS_NAMES "^content$" \
106
+ "id:1000002,phase:1,pass,nolog,ctl:ruleRemoveTargetById=941100;ARGS:content"
107
+ EOF
108
+ ```
109
+
110
+ ### Custom ModSecurity Rules
111
+
112
+ ```bash
113
+ # /etc/nginx/modsec/custom-rules.conf
114
+
115
+ # Block requests with known attack tool user agents
116
+ SecRule REQUEST_HEADERS:User-Agent "@pm sqlmap nikto nmap masscan dirbuster" \
117
+ "id:10001,phase:1,deny,status:403,log,msg:'Blocked attack tool'"
118
+
119
+ # Block requests to sensitive paths
120
+ SecRule REQUEST_URI "@rx /(\.git|\.env|\.svn|wp-admin|phpmyadmin|adminer)" \
121
+ "id:10002,phase:1,deny,status:404,log,msg:'Blocked sensitive path access'"
122
+
123
+ # Rate limit by IP (10 requests/second)
124
+ SecRule IP:REQUEST_RATE "@gt 10" \
125
+ "id:10003,phase:1,deny,status:429,log,msg:'Rate limit exceeded',\
126
+ setvar:IP.request_rate=+1,expirevar:IP.request_rate=1"
127
+
128
+ # Block oversized cookies (potential overflow attack)
129
+ SecRule REQUEST_HEADERS:Cookie "@gt 4096" \
130
+ "id:10004,phase:1,deny,status:400,log,msg:'Oversized cookie header'"
131
+
132
+ # Virtual patch: block specific CVE exploit pattern
133
+ SecRule ARGS:filename "@contains ../../" \
134
+ "id:10005,phase:2,deny,status:403,log,msg:'Path traversal blocked (virtual patch CVE-XXXX-XXXX)'"
135
+
136
+ # Require Content-Type on POST requests
137
+ SecRule REQUEST_METHOD "@streq POST" \
138
+ "id:10006,phase:1,chain,deny,status:400,log,msg:'POST without Content-Type'"
139
+ SecRule &REQUEST_HEADERS:Content-Type "@eq 0" ""
140
+ ```
141
+
142
+
143
+ ## WAF Tuning Workflow
144
+
145
+ ```bash
146
+ #!/bin/bash
147
+ # waf-tune.sh - Analyze WAF logs for false positives
148
+
149
+ AUDIT_LOG="/var/log/modsec/modsec_audit.log"
150
+ TIMEFRAME="24h"
151
+
152
+ echo "=== WAF Tuning Report ==="
153
+ echo "Analyzing last ${TIMEFRAME} of audit logs"
154
+ echo ""
155
+
156
+ # Top blocked rules
157
+ echo "--- Top 10 triggered rules ---"
158
+ grep -oP 'id "\K[0-9]+' "$AUDIT_LOG" | sort | uniq -c | sort -rn | head -10
159
+
160
+ echo ""
161
+ echo "--- Top blocked URIs ---"
162
+ grep -oP 'REQUEST_URI: \K[^\s]+' "$AUDIT_LOG" | sort | uniq -c | sort -rn | head -10
163
+
164
+ echo ""
165
+ echo "--- Top blocked IPs ---"
166
+ grep -oP 'client \K[0-9.]+' "$AUDIT_LOG" | sort | uniq -c | sort -rn | head -10
167
+
168
+ echo ""
169
+ echo "--- False positive candidates (high-frequency blocks on common paths) ---"
170
+ grep -oP 'id "\K[0-9]+' "$AUDIT_LOG" | sort | uniq -c | sort -rn | \
171
+ while read count rule_id; do
172
+ if [ "$count" -gt 100 ]; then
173
+ echo " Rule $rule_id triggered $count times - review for false positive"
174
+ fi
175
+ done
176
+ ```
177
+
178
+
179
+ ## Troubleshooting
180
+
181
+ | Problem | Cause | Solution |
182
+ |---------|-------|----------|
183
+ | Legitimate requests blocked | False positives from CRS rules | Set `SecRuleEngine DetectionOnly` first; review audit log; add exclusions |
184
+ | WAF not blocking attacks | Rules in detection-only mode | Switch `SecRuleEngine On` after tuning period |
185
+ | High latency with WAF enabled | Response body inspection overhead | Disable `SecResponseBodyAccess` if not needed; reduce `paranoia_level` |
186
+ | AWS WAF rules not matching | Rule priority order wrong | Lower priority number = evaluated first; reorder rules |
187
+ | ModSecurity crashes nginx | Memory exhaustion on large requests | Increase `SecRequestBodyLimit`; adjust `SecPcreMatchLimit` |
188
+ | Cloudflare WAF blocks API calls | Expression too broad | Narrow expression with path or method conditions |
189
+ | CRS update breaks application | New rules trigger on existing traffic | Pin CRS version; test updates in staging first |
190
+
191
+
192
+ ## Best Practices
193
+
194
+ - Start in detection/log mode, switch to blocking after tuning
195
+ - Tune rules for at least 1-2 weeks before enforcement
196
+ - Monitor blocked requests daily during tuning phase
197
+ - Update managed rule sets and CRS regularly
198
+ - Create custom rules for application-specific attack patterns
199
+ - Use virtual patching to protect against known CVEs while code is being fixed
200
+ - Set appropriate rate limits per endpoint
201
+ - Maintain exclusion rules documentation with justifications
202
+ - Test WAF rules with known attack payloads before deploying
203
+ - Keep audit logs for at least 90 days for forensic analysis
204
+
205
+
206
+ ## Related Skills
207
+
208
+ - dast-scanning (`dast-scanning`) - Web security testing
209
+ - ssl-tls-management (`ssl-tls-management`) - HTTPS configuration
210
+ - firewall-config (`firewall-config`) - Network-level firewalling
211
+