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.
- package/bundled-skills/.antigravity-install-manifest.json +281 -1
- package/bundled-skills/access-review/SKILL.md +394 -0
- package/bundled-skills/access-review/references/details.md +121 -0
- package/bundled-skills/agent-evals/SKILL.md +420 -0
- package/bundled-skills/agent-observability/SKILL.md +346 -0
- package/bundled-skills/agent-observability/references/details.md +786 -0
- package/bundled-skills/ai-agent-security/SKILL.md +393 -0
- package/bundled-skills/ai-agent-security/references/details.md +912 -0
- package/bundled-skills/ai-coding-agent-guardrails/SKILL.md +442 -0
- package/bundled-skills/ai-coding-agent-guardrails/references/details.md +753 -0
- package/bundled-skills/ai-inference-service-mesh/SKILL.md +449 -0
- package/bundled-skills/ai-pipeline-orchestration/SKILL.md +287 -0
- package/bundled-skills/ai-red-teaming/SKILL.md +409 -0
- package/bundled-skills/ai-security-hardening/SKILL.md +343 -0
- package/bundled-skills/ai-sre-incident-response/SKILL.md +336 -0
- package/bundled-skills/alerting-oncall/SKILL.md +458 -0
- package/bundled-skills/alerting-oncall/references/details.md +84 -0
- package/bundled-skills/anti-slop-design/SKILL.md +393 -0
- package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +1 -0
- package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
- package/bundled-skills/argocd-gitops/SKILL.md +469 -0
- package/bundled-skills/arm-templates/SKILL.md +438 -0
- package/bundled-skills/arm-templates/references/details.md +64 -0
- package/bundled-skills/artifact-yylo/SKILL.md +122 -0
- package/bundled-skills/asset-inventory/SKILL.md +412 -0
- package/bundled-skills/asset-inventory/references/details.md +127 -0
- package/bundled-skills/audit-logging/SKILL.md +476 -0
- package/bundled-skills/aws-cloudtrail/SKILL.md +486 -0
- package/bundled-skills/aws-cost-optimization/SKILL.md +331 -0
- package/bundled-skills/aws-ec2/SKILL.md +426 -0
- package/bundled-skills/aws-ecs-fargate/SKILL.md +388 -0
- package/bundled-skills/aws-iam/SKILL.md +463 -0
- package/bundled-skills/aws-lambda/SKILL.md +428 -0
- package/bundled-skills/aws-rds/SKILL.md +380 -0
- package/bundled-skills/aws-s3/SKILL.md +434 -0
- package/bundled-skills/aws-secrets-manager/SKILL.md +486 -0
- package/bundled-skills/aws-vpc/SKILL.md +436 -0
- package/bundled-skills/azure-ai-document-intelligence-ts/SKILL.md +1 -1
- package/bundled-skills/azure-aks/SKILL.md +423 -0
- package/bundled-skills/azure-devops/SKILL.md +457 -0
- package/bundled-skills/azure-functions-devsec/SKILL.md +436 -0
- package/bundled-skills/azure-keyvault/SKILL.md +455 -0
- package/bundled-skills/azure-keyvault/references/details.md +83 -0
- package/bundled-skills/azure-monitor-audit/SKILL.md +379 -0
- package/bundled-skills/azure-networking/SKILL.md +448 -0
- package/bundled-skills/azure-networking/references/details.md +135 -0
- package/bundled-skills/azure-sql/SKILL.md +413 -0
- package/bundled-skills/azure-sql/references/details.md +113 -0
- package/bundled-skills/azure-vms/SKILL.md +402 -0
- package/bundled-skills/azure-vms/references/details.md +134 -0
- package/bundled-skills/backup-recovery/SKILL.md +388 -0
- package/bundled-skills/bb-methodology/SKILL.md +451 -0
- package/bundled-skills/bb-methodology/references/details.md +120 -0
- package/bundled-skills/block-storage/SKILL.md +371 -0
- package/bundled-skills/blue-green-deploy/SKILL.md +453 -0
- package/bundled-skills/blue-green-deploy/references/details.md +90 -0
- package/bundled-skills/bug-bounty/SKILL.md +447 -0
- package/bundled-skills/bug-bounty/references/details.md +1316 -0
- package/bundled-skills/bugcrowd-reporting/SKILL.md +351 -0
- package/bundled-skills/business-continuity/SKILL.md +463 -0
- package/bundled-skills/career-ops/SKILL.md +186 -0
- package/bundled-skills/cdn-setup/SKILL.md +374 -0
- package/bundled-skills/change-management/SKILL.md +438 -0
- package/bundled-skills/change-management/references/details.md +105 -0
- package/bundled-skills/circleci/SKILL.md +475 -0
- package/bundled-skills/cis-benchmarks/SKILL.md +150 -0
- package/bundled-skills/cloudflare-pages/SKILL.md +318 -0
- package/bundled-skills/cloudflare-r2/SKILL.md +353 -0
- package/bundled-skills/cloudflare-workers/SKILL.md +415 -0
- package/bundled-skills/cloudflare-zero-trust/SKILL.md +361 -0
- package/bundled-skills/cloudformation/SKILL.md +461 -0
- package/bundled-skills/constraint-driven-development/SKILL.md +335 -0
- package/bundled-skills/constraint-driven-development/references/floor-guard.md +99 -0
- package/bundled-skills/container-hardening/SKILL.md +126 -0
- package/bundled-skills/container-registries/SKILL.md +435 -0
- package/bundled-skills/container-scanning/SKILL.md +416 -0
- package/bundled-skills/convex-backend/SKILL.md +338 -0
- package/bundled-skills/dast-scanning/SKILL.md +437 -0
- package/bundled-skills/database-backups/SKILL.md +425 -0
- package/bundled-skills/datadog/SKILL.md +487 -0
- package/bundled-skills/dependency-scanning/SKILL.md +457 -0
- package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
- package/bundled-skills/disaster-recovery/SKILL.md +374 -0
- package/bundled-skills/disaster-recovery/references/details.md +219 -0
- package/bundled-skills/dns-management/SKILL.md +375 -0
- package/bundled-skills/docker-compose/SKILL.md +482 -0
- package/bundled-skills/docker-management/SKILL.md +426 -0
- package/bundled-skills/ebpf-observability/SKILL.md +436 -0
- package/bundled-skills/ebpf-observability/references/details.md +542 -0
- package/bundled-skills/elk-stack/SKILL.md +487 -0
- package/bundled-skills/enterprise-vpn-attack/SKILL.md +395 -0
- package/bundled-skills/evidence-hygiene/SKILL.md +404 -0
- package/bundled-skills/feature-flags/SKILL.md +426 -0
- package/bundled-skills/feature-flags/references/details.md +86 -0
- package/bundled-skills/fedramp-compliance/SKILL.md +453 -0
- package/bundled-skills/firebase-app-platform/SKILL.md +381 -0
- package/bundled-skills/firewall-config/SKILL.md +479 -0
- package/bundled-skills/gcp-audit-logs/SKILL.md +452 -0
- package/bundled-skills/gcp-audit-logs/references/details.md +56 -0
- package/bundled-skills/gcp-cloud-functions/SKILL.md +284 -0
- package/bundled-skills/gcp-cloud-sql/SKILL.md +277 -0
- package/bundled-skills/gcp-compute/SKILL.md +319 -0
- package/bundled-skills/gcp-gke/SKILL.md +307 -0
- package/bundled-skills/gcp-networking/SKILL.md +293 -0
- package/bundled-skills/gcp-secret-manager/SKILL.md +421 -0
- package/bundled-skills/gcp-secret-manager/references/details.md +131 -0
- package/bundled-skills/gdpr-compliance/SKILL.md +451 -0
- package/bundled-skills/gdpr-compliance/references/details.md +145 -0
- package/bundled-skills/geo-audit/SKILL.md +368 -0
- package/bundled-skills/geo-brand-mentions/SKILL.md +68 -0
- package/bundled-skills/geo-brand-mentions/references/details.md +471 -0
- package/bundled-skills/geo-citability/SKILL.md +350 -0
- package/bundled-skills/geo-compare/SKILL.md +340 -0
- package/bundled-skills/geo-content/SKILL.md +383 -0
- package/bundled-skills/geo-crawlers/SKILL.md +408 -0
- package/bundled-skills/geo-llmstxt/SKILL.md +464 -0
- package/bundled-skills/geo-platform-optimizer/SKILL.md +314 -0
- package/bundled-skills/geo-proposal/SKILL.md +378 -0
- package/bundled-skills/geo-prospect/SKILL.md +225 -0
- package/bundled-skills/geo-report/SKILL.md +436 -0
- package/bundled-skills/geo-report-pdf/SKILL.md +157 -0
- package/bundled-skills/geo-schema/SKILL.md +408 -0
- package/bundled-skills/geo-technical/SKILL.md +78 -0
- package/bundled-skills/geo-technical/references/details.md +543 -0
- package/bundled-skills/git-workflow/SKILL.md +460 -0
- package/bundled-skills/github-actions/SKILL.md +368 -0
- package/bundled-skills/gitlab-ci/SKILL.md +340 -0
- package/bundled-skills/google-no-code/SKILL.md +136 -0
- package/bundled-skills/gpu-kubernetes-operations/SKILL.md +468 -0
- package/bundled-skills/gpu-server-management/SKILL.md +236 -0
- package/bundled-skills/hashicorp-vault/SKILL.md +408 -0
- package/bundled-skills/helm-charts/SKILL.md +469 -0
- package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
- package/bundled-skills/hunt-aspnet/SKILL.md +321 -0
- package/bundled-skills/hunt-ato/SKILL.md +184 -0
- package/bundled-skills/hunt-auth-bypass/SKILL.md +426 -0
- package/bundled-skills/hunt-auth-bypass/references/details.md +80 -0
- package/bundled-skills/hunt-brute-force/SKILL.md +341 -0
- package/bundled-skills/hunt-business-logic/SKILL.md +281 -0
- package/bundled-skills/hunt-cache-poison/SKILL.md +382 -0
- package/bundled-skills/hunt-captcha-bypass/SKILL.md +136 -0
- package/bundled-skills/hunt-cicd/SKILL.md +311 -0
- package/bundled-skills/hunt-clickjacking/SKILL.md +110 -0
- package/bundled-skills/hunt-cors/SKILL.md +335 -0
- package/bundled-skills/hunt-dom/SKILL.md +323 -0
- package/bundled-skills/hunt-exceptional-conditions/SKILL.md +111 -0
- package/bundled-skills/hunt-file-upload/SKILL.md +202 -0
- package/bundled-skills/hunt-fintech-graphql/SKILL.md +289 -0
- package/bundled-skills/hunt-forgot-password/SKILL.md +114 -0
- package/bundled-skills/hunt-grpc/SKILL.md +317 -0
- package/bundled-skills/hunt-host-header/SKILL.md +309 -0
- package/bundled-skills/hunt-html-injection/SKILL.md +106 -0
- package/bundled-skills/hunt-http-smuggling/SKILL.md +129 -0
- package/bundled-skills/hunt-http-smuggling/references/phase2h-smuggling-cachepoison.md +177 -0
- package/bundled-skills/hunt-idor/SKILL.md +434 -0
- package/bundled-skills/hunt-jwt-crypto/SKILL.md +221 -0
- package/bundled-skills/hunt-k8s/SKILL.md +337 -0
- package/bundled-skills/hunt-laravel/SKILL.md +255 -0
- package/bundled-skills/hunt-ldap/SKILL.md +351 -0
- package/bundled-skills/hunt-lfi/SKILL.md +311 -0
- package/bundled-skills/hunt-llm-ai/SKILL.md +289 -0
- package/bundled-skills/hunt-mfa-bypass/SKILL.md +177 -0
- package/bundled-skills/hunt-misc/SKILL.md +378 -0
- package/bundled-skills/hunt-nextjs/SKILL.md +299 -0
- package/bundled-skills/hunt-nodejs/SKILL.md +263 -0
- package/bundled-skills/hunt-nosqli/SKILL.md +210 -0
- package/bundled-skills/hunt-ntlm-info/SKILL.md +314 -0
- package/bundled-skills/hunt-oauth/SKILL.md +459 -0
- package/bundled-skills/hunt-open-redirect/SKILL.md +223 -0
- package/bundled-skills/hunt-race-condition/SKILL.md +381 -0
- package/bundled-skills/hunt-race-condition/references/details.md +159 -0
- package/bundled-skills/hunt-rag-vector/SKILL.md +212 -0
- package/bundled-skills/hunt-rce/SKILL.md +444 -0
- package/bundled-skills/hunt-rce/references/details.md +110 -0
- package/bundled-skills/hunt-saml/SKILL.md +156 -0
- package/bundled-skills/hunt-session/SKILL.md +342 -0
- package/bundled-skills/hunt-shadow-api/SKILL.md +198 -0
- package/bundled-skills/hunt-source-leak/SKILL.md +345 -0
- package/bundled-skills/hunt-spa-api/SKILL.md +163 -0
- package/bundled-skills/hunt-springboot/SKILL.md +285 -0
- package/bundled-skills/hunt-sqli/SKILL.md +466 -0
- package/bundled-skills/hunt-ssrf/SKILL.md +396 -0
- package/bundled-skills/hunt-ssrf/references/details.md +179 -0
- package/bundled-skills/hunt-ssti/SKILL.md +163 -0
- package/bundled-skills/hunt-subdomain/SKILL.md +379 -0
- package/bundled-skills/hunt-tls-network/SKILL.md +399 -0
- package/bundled-skills/hunt-xxe/SKILL.md +466 -0
- package/bundled-skills/i-have-adhd/SKILL.md +170 -0
- package/bundled-skills/idea-evaluator/SKILL.md +75 -0
- package/bundled-skills/idea-evaluator/idea-evaluator-con/SKILL.md +64 -0
- package/bundled-skills/idea-evaluator/idea-evaluator-pro/SKILL.md +64 -0
- package/bundled-skills/identity-access-management/SKILL.md +382 -0
- package/bundled-skills/identity-access-management/references/details.md +524 -0
- package/bundled-skills/incident-management/SKILL.md +484 -0
- package/bundled-skills/incident-response/SKILL.md +448 -0
- package/bundled-skills/incident-response/references/details.md +113 -0
- package/bundled-skills/interview-me/SKILL.md +248 -0
- package/bundled-skills/iso27001-compliance/SKILL.md +460 -0
- package/bundled-skills/jenkins/SKILL.md +462 -0
- package/bundled-skills/jev-use/SKILL.md +158 -0
- package/bundled-skills/kubernetes-hardening/SKILL.md +154 -0
- package/bundled-skills/kubernetes-ops/SKILL.md +449 -0
- package/bundled-skills/kubernetes-ops/references/details.md +108 -0
- package/bundled-skills/kustomize/SKILL.md +478 -0
- package/bundled-skills/ledger-tasks-yylo/SKILL.md +219 -0
- package/bundled-skills/linux-administration/SKILL.md +367 -0
- package/bundled-skills/linux-hardening/SKILL.md +154 -0
- package/bundled-skills/llm-app-security/SKILL.md +389 -0
- package/bundled-skills/llm-app-security/references/details.md +674 -0
- package/bundled-skills/llm-caching/SKILL.md +334 -0
- package/bundled-skills/llm-cost-optimization/SKILL.md +311 -0
- package/bundled-skills/llm-fine-tuning/SKILL.md +329 -0
- package/bundled-skills/llm-gateway/SKILL.md +282 -0
- package/bundled-skills/llm-inference-scaling/SKILL.md +286 -0
- package/bundled-skills/llmops-platform-engineering/SKILL.md +472 -0
- package/bundled-skills/load-balancing/SKILL.md +403 -0
- package/bundled-skills/loki-logging/SKILL.md +479 -0
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +4 -4
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
- package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
- package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
- package/bundled-skills/mcp-server-security/SKILL.md +356 -0
- package/bundled-skills/mcp-server-security/references/details.md +745 -0
- package/bundled-skills/mdm-device-management/SKILL.md +404 -0
- package/bundled-skills/mdm-device-management/references/details.md +410 -0
- package/bundled-skills/meme-coin-audit/SKILL.md +402 -0
- package/bundled-skills/mid-engagement-ir-detection/SKILL.md +377 -0
- package/bundled-skills/model-registry-governance/SKILL.md +452 -0
- package/bundled-skills/model-serving-kubernetes/SKILL.md +339 -0
- package/bundled-skills/model-supply-chain-security/SKILL.md +427 -0
- package/bundled-skills/mongodb/SKILL.md +436 -0
- package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +435 -0
- package/bundled-skills/multi-tenant-llm-hosting/references/details.md +211 -0
- package/bundled-skills/mysql/SKILL.md +390 -0
- package/bundled-skills/new-relic/SKILL.md +472 -0
- package/bundled-skills/nfs-storage/SKILL.md +356 -0
- package/bundled-skills/object-storage/SKILL.md +378 -0
- package/bundled-skills/offensive-osint/SKILL.md +443 -0
- package/bundled-skills/okta-attack/SKILL.md +436 -0
- package/bundled-skills/ollama-stack/SKILL.md +379 -0
- package/bundled-skills/openclaw-deployment-hardening/SKILL.md +135 -0
- package/bundled-skills/openclaw-local-mac-mini/SKILL.md +426 -0
- package/bundled-skills/openclaw-local-mac-mini/references/details.md +221 -0
- package/bundled-skills/openclaw-security-hardening/SKILL.md +135 -0
- package/bundled-skills/openshift/SKILL.md +485 -0
- package/bundled-skills/opentelemetry/SKILL.md +438 -0
- package/bundled-skills/opentelemetry/references/details.md +78 -0
- package/bundled-skills/opentofu-migration/SKILL.md +349 -0
- package/bundled-skills/osint-methodology/SKILL.md +460 -0
- package/bundled-skills/osint-methodology/references/details.md +1350 -0
- package/bundled-skills/pci-dss-compliance/SKILL.md +446 -0
- package/bundled-skills/penetration-testing/SKILL.md +152 -0
- package/bundled-skills/performance-tuning/SKILL.md +381 -0
- package/bundled-skills/plan-ledger-tasks-yylo/SKILL.md +52 -0
- package/bundled-skills/planetscale/SKILL.md +297 -0
- package/bundled-skills/platform-engineering/SKILL.md +348 -0
- package/bundled-skills/platform-engineering/references/details.md +944 -0
- package/bundled-skills/podman/SKILL.md +405 -0
- package/bundled-skills/policy-as-code/SKILL.md +434 -0
- package/bundled-skills/policy-as-code/references/details.md +204 -0
- package/bundled-skills/postgresql-devsec/SKILL.md +378 -0
- package/bundled-skills/prometheus-grafana/SKILL.md +469 -0
- package/bundled-skills/prompt-injection-defense/SKILL.md +483 -0
- package/bundled-skills/rag-infrastructure/SKILL.md +269 -0
- package/bundled-skills/rag-observability-evals/SKILL.md +444 -0
- package/bundled-skills/rag-observability-evals/references/details.md +92 -0
- package/bundled-skills/ralph-loop-yylo/SKILL.md +55 -0
- package/bundled-skills/ralph-loop-yylo/references/first_check.md +18 -0
- package/bundled-skills/ralph-loop-yylo/references/implement.md +60 -0
- package/bundled-skills/recon-scope-triage/SKILL.md +128 -0
- package/bundled-skills/redis/SKILL.md +421 -0
- package/bundled-skills/redteam-report-template/SKILL.md +370 -0
- package/bundled-skills/report-writing/SKILL.md +426 -0
- package/bundled-skills/report-writing/references/details.md +187 -0
- package/bundled-skills/resumable-implementation-contracts/SKILL.md +254 -0
- package/bundled-skills/reverse-proxy/SKILL.md +420 -0
- package/bundled-skills/runbook-creation/SKILL.md +438 -0
- package/bundled-skills/runbook-creation/references/details.md +71 -0
- package/bundled-skills/saas-security-posture/SKILL.md +415 -0
- package/bundled-skills/sast-scanning/SKILL.md +444 -0
- package/bundled-skills/sbom-supply-chain/SKILL.md +433 -0
- package/bundled-skills/security-arsenal/SKILL.md +446 -0
- package/bundled-skills/security-arsenal/references/details.md +540 -0
- package/bundled-skills/security-automation/SKILL.md +146 -0
- package/bundled-skills/semantic-versioning/SKILL.md +434 -0
- package/bundled-skills/semantic-versioning/references/details.md +83 -0
- package/bundled-skills/service-mesh/SKILL.md +422 -0
- package/bundled-skills/soc2-compliance/SKILL.md +409 -0
- package/bundled-skills/sops-encryption/SKILL.md +124 -0
- package/bundled-skills/sre-dashboards/SKILL.md +143 -0
- package/bundled-skills/ssh-configuration/SKILL.md +324 -0
- package/bundled-skills/ssl-tls-management/SKILL.md +428 -0
- package/bundled-skills/ssl-tls-management/references/details.md +99 -0
- package/bundled-skills/startup-it-troubleshooting/SKILL.md +415 -0
- package/bundled-skills/supply-chain-attack-recon/SKILL.md +453 -0
- package/bundled-skills/supply-chain-attack-recon/references/details.md +258 -0
- package/bundled-skills/systemd-services/SKILL.md +379 -0
- package/bundled-skills/terraform-aws/SKILL.md +125 -0
- package/bundled-skills/terraform-azure/SKILL.md +415 -0
- package/bundled-skills/terraform-azure/references/details.md +231 -0
- package/bundled-skills/terraform-gcp/SKILL.md +369 -0
- package/bundled-skills/threat-modeling/SKILL.md +487 -0
- package/bundled-skills/understand-project-yylo/SKILL.md +62 -0
- package/bundled-skills/user-management/SKILL.md +383 -0
- package/bundled-skills/using-agent-skills/SKILL.md +220 -0
- package/bundled-skills/vector-database-ops/SKILL.md +300 -0
- package/bundled-skills/vendor-management/SKILL.md +439 -0
- package/bundled-skills/vendor-management/references/details.md +109 -0
- package/bundled-skills/vercel-deployments/SKILL.md +296 -0
- package/bundled-skills/vllm-server/SKILL.md +236 -0
- package/bundled-skills/vmware-vcenter-attack/SKILL.md +412 -0
- package/bundled-skills/vpn-setup/SKILL.md +452 -0
- package/bundled-skills/vulnerability-scanning/SKILL.md +448 -0
- package/bundled-skills/waf-setup/SKILL.md +354 -0
- package/bundled-skills/waf-setup/references/details.md +211 -0
- package/bundled-skills/weather-model-data-fetching/SKILL.md +277 -0
- package/bundled-skills/weather-observation-fetching/SKILL.md +246 -0
- package/bundled-skills/web2-recon/SKILL.md +440 -0
- package/bundled-skills/web2-recon/references/details.md +319 -0
- package/bundled-skills/web3-audit/SKILL.md +445 -0
- package/bundled-skills/web3-audit/references/details.md +224 -0
- package/bundled-skills/wiki-yylo/SKILL.md +114 -0
- package/bundled-skills/windows-hardening/SKILL.md +454 -0
- package/bundled-skills/windows-hardening/references/details.md +204 -0
- package/bundled-skills/windows-server/SKILL.md +318 -0
- package/bundled-skills/workflow-yylo/SKILL.md +107 -0
- package/bundled-skills/zero-trust/SKILL.md +461 -0
- package/package.json +1 -1
- package/skills_index.json +6924 -0
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
# Details (moved from SKILL.md)
|
|
2
|
+
|
|
3
|
+
> Extended reference content for `web2-recon`, kept under `references/` so the entrypoint stays within the audit budget.
|
|
4
|
+
|
|
5
|
+
## 30-MINUTE RECON PROTOCOL
|
|
6
|
+
|
|
7
|
+
### Minutes 0-5: Read Program Page
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
Note:
|
|
11
|
+
- ALL in-scope assets (every domain listed)
|
|
12
|
+
- Out-of-scope list (read carefully — common trap)
|
|
13
|
+
- Safe harbor statement
|
|
14
|
+
- Impact types accepted (some exclude "low")
|
|
15
|
+
- Average bounty amount (signals program generosity)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Minutes 5-15: Asset Discovery
|
|
19
|
+
|
|
20
|
+
Run the standard pipeline above. Focus on live.txt output.
|
|
21
|
+
|
|
22
|
+
### Minutes 15-25: Surface Map
|
|
23
|
+
|
|
24
|
+
Run gf patterns and the interesting-params grep above.
|
|
25
|
+
|
|
26
|
+
### Minutes 25-30: Manual Exploration
|
|
27
|
+
|
|
28
|
+
Open Burp Suite. Browse the app with proxy on:
|
|
29
|
+
1. Register an account
|
|
30
|
+
2. Perform main user actions (create/read/update/delete resources)
|
|
31
|
+
3. Note all API calls in Burp history
|
|
32
|
+
4. Look for endpoints not in your URL list
|
|
33
|
+
|
|
34
|
+
### After 30 min: Prioritize
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
Priority 1: API endpoints with ID parameters → IDOR candidates
|
|
38
|
+
Priority 2: File upload features → XSS/RCE candidates
|
|
39
|
+
Priority 3: OAuth/SSO flows → auth bypass candidates
|
|
40
|
+
Priority 4: Search/filter with user input → SQLi/SSRF/SSTI candidates
|
|
41
|
+
Priority 5: Admin/debug endpoints → auth bypass candidates
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
## Toolchain fallback (when `dnsx` / `httpx` crash)
|
|
48
|
+
|
|
49
|
+
The projectdiscovery Go binaries (`dnsx`, `httpx`, `naabu`) occasionally `SIGSEGV` on macOS arm64 due to a cgo / system-resolver interaction. The crash signature is identical regardless of install method — both `brew install` and `go install github.com/projectdiscovery/<tool>@latest` produce binaries that segfault at the same address. Smoke-test once before relying on them in a real engagement:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
dnsx -version # if SIGSEGV: use the dig fallback below
|
|
53
|
+
httpx -version # if SIGSEGV: use the curl fallback below
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### `dnsx` → `dig` fallback
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Replaces: dnsx -l subs.txt -a -resp -silent
|
|
60
|
+
while read s; do
|
|
61
|
+
ips=$(dig +short +tries=1 +time=3 "$s" \
|
|
62
|
+
| grep -E '^[0-9.]+$' \
|
|
63
|
+
| paste -sd, -)
|
|
64
|
+
[ -n "$ips" ] && echo "$s|$ips"
|
|
65
|
+
done < subs.txt
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### `httpx` → `curl` fallback
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Replaces: httpx -l subs.txt -silent -status-code -title -tech-detect
|
|
72
|
+
while read s; do
|
|
73
|
+
resp=$(curl -s -L -m 5 -o /tmp/body \
|
|
74
|
+
-w "%{http_code}|%{url_effective}|%{header_server}" \
|
|
75
|
+
"https://$s")
|
|
76
|
+
code=$(echo "$resp" | cut -d'|' -f1)
|
|
77
|
+
if [ "$code" != "000" ]; then
|
|
78
|
+
title=$(grep -oE '<title[^>]*>[^<]*</title>' /tmp/body | head -1 | sed 's/<[^>]*>//g')
|
|
79
|
+
echo "$s|$resp|$title"
|
|
80
|
+
fi
|
|
81
|
+
done < subs.txt
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Trade-off:** Serial vs. concurrent. The fallback handles ~24 subdomains in 14 seconds; the same workload on `httpx` with default 50 threads finishes in 2-3 seconds. For VDP-scale recon (< 100 subdomains) the fallback is fine. For mass recon (1000+) fix the toolchain first.
|
|
85
|
+
|
|
86
|
+
Verified against HackerOne's own VDP in `docs/verification/recon-hackerone-vdp.md`.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
## API Spec / Swagger / OpenAPI Discovery (2024-2026 surface)
|
|
92
|
+
|
|
93
|
+
API spec endpoints are the single highest-leverage recon target on any modern .NET / Node / Python / Java backend. The spec discloses every endpoint, HTTP methods, parameter names + types + formats, models, validation rules — a complete attack-map in JSON. Default routes are commonly left enabled in production. **Add this wordlist to the directory-fuzzing phase** (after the standard `common.txt` pass).
|
|
94
|
+
|
|
95
|
+
### Default discovery path wordlist (paste into `swagger-paths.txt`)
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
# NSwag / Swashbuckle (ASP.NET Core)
|
|
99
|
+
/swagger
|
|
100
|
+
/swagger/
|
|
101
|
+
/swagger/index.html
|
|
102
|
+
/swagger/ui/index.html
|
|
103
|
+
/swagger/v1/swagger.json
|
|
104
|
+
/swagger/v2/swagger.json
|
|
105
|
+
/swagger/v3/swagger.json
|
|
106
|
+
/swagger/docs/v1
|
|
107
|
+
/swagger/docs/v2
|
|
108
|
+
/swagger-ui
|
|
109
|
+
/swagger-ui/
|
|
110
|
+
/swagger-ui.html
|
|
111
|
+
/swagger-resources
|
|
112
|
+
/swagger-resources/configuration/ui
|
|
113
|
+
/nswag
|
|
114
|
+
/nswag/index.html
|
|
115
|
+
/api/swagger
|
|
116
|
+
/api/swagger.json
|
|
117
|
+
/api/swagger/v1/swagger.json
|
|
118
|
+
/api/openapi
|
|
119
|
+
/api/openapi.json
|
|
120
|
+
/api/v1/swagger.json
|
|
121
|
+
/api/v2/swagger.json
|
|
122
|
+
/api-docs
|
|
123
|
+
/api-docs/swagger.json
|
|
124
|
+
|
|
125
|
+
# OpenAPI generic
|
|
126
|
+
/openapi
|
|
127
|
+
/openapi.json
|
|
128
|
+
/openapi.yaml
|
|
129
|
+
/openapi.yml
|
|
130
|
+
/openapi/v1.json
|
|
131
|
+
/openapi/v2.json
|
|
132
|
+
/openapi/v3.json
|
|
133
|
+
/.well-known/openapi.json
|
|
134
|
+
|
|
135
|
+
# Java / Spring (Springfox / springdoc)
|
|
136
|
+
/v2/api-docs
|
|
137
|
+
/v3/api-docs
|
|
138
|
+
/v3/api-docs.yaml
|
|
139
|
+
/v3/api-docs/swagger-config
|
|
140
|
+
/swagger-ui/index.html
|
|
141
|
+
|
|
142
|
+
# Python (FastAPI / Flask-RESTPlus / Connexion / DRF)
|
|
143
|
+
/docs
|
|
144
|
+
/docs/
|
|
145
|
+
/redoc
|
|
146
|
+
/redoc/
|
|
147
|
+
/openapi.json
|
|
148
|
+
/swagger.json
|
|
149
|
+
/swagger/?format=openapi
|
|
150
|
+
/swagger.yaml
|
|
151
|
+
|
|
152
|
+
# Express / Node / Hapi
|
|
153
|
+
/api-docs
|
|
154
|
+
/api-docs.json
|
|
155
|
+
/swagger.json
|
|
156
|
+
/swagger-stats
|
|
157
|
+
/graphql-docs
|
|
158
|
+
|
|
159
|
+
# GraphQL adjacent (often co-located)
|
|
160
|
+
/graphql
|
|
161
|
+
/graphiql
|
|
162
|
+
/playground
|
|
163
|
+
/altair
|
|
164
|
+
/voyager
|
|
165
|
+
/graphql/console
|
|
166
|
+
/graphql-explorer
|
|
167
|
+
|
|
168
|
+
# ReDoc / RapiDoc / Stoplight / alt UIs
|
|
169
|
+
/redoc
|
|
170
|
+
/redoc.html
|
|
171
|
+
/redoc-ui.html
|
|
172
|
+
/rapidoc
|
|
173
|
+
/rapidoc.html
|
|
174
|
+
/stoplight
|
|
175
|
+
/elements
|
|
176
|
+
|
|
177
|
+
# Misc / dev-leftover
|
|
178
|
+
/actuator
|
|
179
|
+
/actuator/openapi
|
|
180
|
+
/actuator/mappings
|
|
181
|
+
/q/openapi
|
|
182
|
+
/q/swagger-ui
|
|
183
|
+
/docs/swagger.json
|
|
184
|
+
/api/v1/docs
|
|
185
|
+
/api/v2/docs
|
|
186
|
+
/internal/swagger
|
|
187
|
+
/admin/swagger
|
|
188
|
+
/management/swagger
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Integration with the standard pipeline
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
# After live-hosts.txt is built (Phase 1 / 2), run:
|
|
195
|
+
ffuf -w swagger-paths.txt -u "https://FUZZ.target.com" -mc 200,302 -fs 0 -t 50 -o swagger-hits.json
|
|
196
|
+
# Or with httpx for content-aware filtering:
|
|
197
|
+
httpx -l live-hosts.txt -path swagger-paths.txt -mc 200 -mr "swagger|openapi" -json | tee swagger-hits.jsonl
|
|
198
|
+
# For every hit:
|
|
199
|
+
jq '.paths | keys' swagger.json > endpoints.txt
|
|
200
|
+
jq '.components.schemas' swagger.json > schemas.json # mass-assignment field candidates
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### Why this matters for recon-to-hunting handoff
|
|
204
|
+
|
|
205
|
+
- **Spec → mass IDOR/BOLA** — `jq '.paths | keys' swagger.json` becomes the input list for `Autorize`/`ffuf` per-user testing.
|
|
206
|
+
- **Spec → mass-assignment payload construction** — `components.schemas.UserUpdateDto` enumerates `isAdmin`, `emailVerified`, `tenantId`, `role`.
|
|
207
|
+
- **Spec → hidden endpoint discovery** — `/internal/*`, `/debug/*`, `/v0/*`, `/legacy/*` routes documented but never auth-gated.
|
|
208
|
+
- **Spec → injection-class seeding** — every parameter's type + format + enum + max-length means payloads pass validation before reaching the sink. Especially valuable against ASP.NET Core where the model binder rejects malformed input before any controller logic.
|
|
209
|
+
|
|
210
|
+
### Tools
|
|
211
|
+
|
|
212
|
+
- `kiterunner` — natively ingests OpenAPI spec, generates requests against the API.
|
|
213
|
+
- `sj` (Swagger Jacker) — purpose-built for Swagger spec exploitation.
|
|
214
|
+
- `apidetector` (brinhosa) — Swagger-UI mass scanner.
|
|
215
|
+
- `XSSwagger` (vavkamil) — detects vulnerable Swagger UI versions (CVE-2018-25031 family).
|
|
216
|
+
- `nuclei -t http/exposures/apis/` — built-in templates for default spec paths.
|
|
217
|
+
|
|
218
|
+
### Anti-pattern reminder
|
|
219
|
+
|
|
220
|
+
A 404/403 on `/swagger` does NOT mean no spec is exposed. Many .NET projects route the spec under `/api/swagger/v1/swagger.json` rather than `/swagger`. Always test the full path list, not just the root.
|
|
221
|
+
|
|
222
|
+
Full attack-chain analysis is in `hunt-api-misconfig` → `NSwag / Swagger / OpenAPI Spec Exposure`.
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
## Related Skills & Chains
|
|
228
|
+
|
|
229
|
+
- **`offensive-osint`** — When recon needs concrete probes / wordlists / regexes beyond the basic pipeline. Workflow primitive: this skill produces the URL set; `offensive-osint` provides the secret regexes, GraphQL/Swagger paths, and identity-fabric probes you apply to that URL set.
|
|
230
|
+
- **`osint-methodology`** — When you need a severity rubric for what you discovered. Workflow primitive: after recon outputs `subdomains.txt` / `live-hosts.txt` / `urls.txt`, score each asset against `osint-methodology`'s findings rubric to decide what gets a finding versus what stays in the asset graph.
|
|
231
|
+
- **`hunt-subdomain`** — When recon surfaces stale CNAMEs / dangling DNS. Workflow primitive: any subdomain in `subdomains.txt` whose CNAME points to S3 / GitHub Pages / Heroku / Shopify / Azure should auto-route to `hunt-subdomain` for takeover validation.
|
|
232
|
+
- **`security-arsenal`** — When the URL set is classified by `gf` and ready for active testing. Workflow primitive: `gf xss/ssrf/sqli/idor` output names become payload-class queries against `security-arsenal`'s payload library.
|
|
233
|
+
- **`bb-methodology`** — When recon completes and Phase 1 transitions to Phase 2 (Mapping). Workflow primitive: hand the live host + URL set back to `bb-methodology` Phase 2 for endpoint mapping and Phase 3 vulnerability discovery routing.
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
## Operator Notes (Claude-BugHunter)
|
|
239
|
+
|
|
240
|
+
> Engagement-derived + 2026-specific additions to the vendored foundation.
|
|
241
|
+
> Wisdom from real authorized engagements + Phase 2 verification across
|
|
242
|
+
> this repo's 31+ skill-area live tests. The upstream pipeline covers the WHAT;
|
|
243
|
+
> this layer covers the WHEN-IT-WORKS-vs-WHEN-IT-DOESN'T.
|
|
244
|
+
|
|
245
|
+
### Cross-TLD pivot discipline
|
|
246
|
+
|
|
247
|
+
Phase 2C's HackerOne VDP recon walked from `hackerone.com` (24 subdomains) into a sister TLD `hacker.one` (12 more subdomains found in JS bundle references). Operators who only enumerate `*.target.com` miss attack surface that the target legitimately operates on a different domain.
|
|
248
|
+
|
|
249
|
+
Always grep JS bundles for plausible sibling TLDs:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
# pull all JS, grep for sibling-TLD candidates
|
|
253
|
+
for url in $(cat live-hosts.txt); do
|
|
254
|
+
curl -s "$url" | grep -oE 'src="[^"]+\.js"' | sed 's/src="//;s/"//'
|
|
255
|
+
done | sort -u > js-urls.txt
|
|
256
|
+
|
|
257
|
+
# then on each JS file
|
|
258
|
+
for j in $(cat js-urls.txt); do
|
|
259
|
+
curl -s "$j" | grep -oE '[a-z0-9.-]+\.(io|app|one|dev|test|cloud|ai|co)' | sort -u
|
|
260
|
+
done | sort -u > sibling-tld-candidates.txt
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
Common sibling-TLD patterns: `target.com → target.io / target.app / target.one / target.dev / target.test / target-corp.com / target-cdn.net`. Always validate via WHOIS or by checking if the cert chain trusts the same internal CA before treating the sister TLD as in-scope.
|
|
264
|
+
|
|
265
|
+
### Subdomain wordlist priorities by 2026
|
|
266
|
+
|
|
267
|
+
Top discovery prefixes by hit rate against enterprise VDPs in our 2024-2026 corpus:
|
|
268
|
+
|
|
269
|
+
```
|
|
270
|
+
mta-sts.* api.* docs.*
|
|
271
|
+
dev-* staging-* *-qa
|
|
272
|
+
*-stage *-uat events.*
|
|
273
|
+
portal.* customer.* partner.*
|
|
274
|
+
vendor.* internal-* admin-*
|
|
275
|
+
employee-* hr.* jobs.*
|
|
276
|
+
sso.* auth.* id.*
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
Internal-looking subdomains often expose more surface than the marketing site — `partner.target.com` and `vendor-portal.target.com` frequently have weaker auth than the main app because they're scoped for "trusted" external users. Always send a probe to the long-tail wordlist after the standard subfinder run completes.
|
|
280
|
+
|
|
281
|
+
### Live-host probe: how to fingerprint stack quickly
|
|
282
|
+
|
|
283
|
+
`curl -sI <host>` headers are 80% of the fingerprint:
|
|
284
|
+
|
|
285
|
+
- `Server:` — apache / nginx / cloudflare / kestrel (= .NET Core) / openresty / envoy
|
|
286
|
+
- `X-Powered-By:` — PHP version, ASP.NET version, Express.js
|
|
287
|
+
- `X-Drupal-Cache`, `X-Generator: Drupal 9` — Drupal
|
|
288
|
+
- `X-Generator: WordPress` — WordPress
|
|
289
|
+
- `Via:` — CDN chain (1.1 varnish, 1.1 cloudfront)
|
|
290
|
+
- `Set-Cookie:` names — `JSESSIONID` (Java), `PHPSESSID` (PHP), `ASP.NET_SessionId` (.NET), `connect.sid` (Express), `laravel_session` (Laravel)
|
|
291
|
+
|
|
292
|
+
JS bundle filename patterns:
|
|
293
|
+
|
|
294
|
+
- `/_next/static/` = Next.js
|
|
295
|
+
- `/_nuxt/` = Nuxt
|
|
296
|
+
- `/assets/static/` with hash filenames = Vite
|
|
297
|
+
- `/static/js/main.*.chunk.js` = Create React App
|
|
298
|
+
- `runtime.*.js + polyfills.*.js + main.*.js` = Angular CLI
|
|
299
|
+
|
|
300
|
+
The first 10s of recon should yield a stack guess; the rest is targeting. If your fingerprint contradicts itself (Server says nginx, Set-Cookie says ASP.NET) you've found a reverse proxy front-end — note the origin app for later smuggling/cache attacks.
|
|
301
|
+
|
|
302
|
+
### GitHub Pages 404 vs takeover signal
|
|
303
|
+
|
|
304
|
+
Critical distinction operators get wrong:
|
|
305
|
+
|
|
306
|
+
- **"Page not found · GitHub Pages"** with HTTP 404 means the repo EXISTS — NOT a takeover.
|
|
307
|
+
- **"There isn't a GitHub Pages site here"** means the repo was deleted — TAKEOVER candidate.
|
|
308
|
+
|
|
309
|
+
Same distinction for CloudFront:
|
|
310
|
+
|
|
311
|
+
- **"Error - 404"** with `Server: CloudFront` = distribution exists, origin returned 404 — NOT a takeover.
|
|
312
|
+
- **"The request could not be satisfied"** with `X-Cache: Error from cloudfront` = origin missing entirely — potential takeover.
|
|
313
|
+
|
|
314
|
+
Phase 2C verified both patterns live. Always check the EXACT response body string before filing a takeover finding — the takeover-scanner tools (subzy, subjack) match on multiple fingerprints and frequently false-positive on the "still owned, just empty" case.
|
|
315
|
+
|
|
316
|
+
### Toolchain fallback
|
|
317
|
+
|
|
318
|
+
Already covered in this file's Phase 2C addition. Quick reminder: dnsx/httpx may segfault on macOS arm64; the dig+curl fallback works for < 100-host runs in ~14 seconds. Don't burn an hour debugging Go binary panics when the fallback gets you to the same URL set.
|
|
319
|
+
|