opencode-skills-collection 4.1.15 → 4.1.16
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 +2 -1
- package/bundled-skills/00-andruia-consultant/SKILL.md +23 -10
- package/bundled-skills/10-andruia-skill-smith/SKILL.md +18 -14
- package/bundled-skills/20-andruia-niche-intelligence/SKILL.md +40 -15
- package/bundled-skills/360-feedback-system/SKILL.md +7 -10
- package/bundled-skills/3d-web-experience/SKILL.md +91 -47
- package/bundled-skills/acceptance-orchestrator/SKILL.md +6 -7
- package/bundled-skills/access-matrix/SKILL.md +8 -7
- package/bundled-skills/accessibility-compliance-accessibility-audit/SKILL.md +10 -4
- package/bundled-skills/accessibility-compliance-accessibility-audit/resources/implementation-playbook.md +29 -76
- package/bundled-skills/accesslint-audit/SKILL.md +13 -7
- package/bundled-skills/accesslint-diff/SKILL.md +15 -47
- package/bundled-skills/accesslint-scan/SKILL.md +24 -8
- package/bundled-skills/activecampaign-automation/SKILL.md +8 -4
- package/bundled-skills/ad-campaign-analyzer/SKILL.md +11 -9
- package/bundled-skills/address-github-comments/SKILL.md +12 -6
- package/bundled-skills/adhx/SKILL.md +12 -9
- package/bundled-skills/admin-access-register/SKILL.md +20 -26
- package/bundled-skills/advanced-analytics-dashboard/SKILL.md +12 -13
- package/bundled-skills/aegisops-ai/SKILL.md +19 -19
- package/bundled-skills/agent-creator/SKILL.md +13 -14
- package/bundled-skills/agent-evals/SKILL.md +27 -22
- package/bundled-skills/agent-framework-azure-ai-py/SKILL.md +3 -0
- package/bundled-skills/agent-framework-azure-ai-py/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/agent-framework-azure-ai-py/UPSTREAM-NOTICE.md +14 -0
- package/bundled-skills/agent-framework-azure-ai-py/references/advanced.md +512 -0
- package/bundled-skills/agent-framework-azure-ai-py/references/mcp.md +301 -0
- package/bundled-skills/agent-framework-azure-ai-py/references/threads.md +300 -0
- package/bundled-skills/agent-framework-azure-ai-py/references/tools.md +278 -0
- package/bundled-skills/agent-manager-skill/SKILL.md +10 -4
- package/bundled-skills/agent-memory/SKILL.md +39 -8
- package/bundled-skills/agent-memory-mcp/SKILL.md +11 -2
- package/bundled-skills/agent-memory-systems/SKILL.md +13 -28
- package/bundled-skills/agent-memory-systems/references/detailed-guide.md +59 -257
- package/bundled-skills/agent-orchestration-improve-agent/SKILL.md +12 -7
- package/bundled-skills/agent-orchestration-multi-agent-optimize/SKILL.md +14 -24
- package/bundled-skills/agent-orchestrator/SKILL.md +30 -20
- package/bundled-skills/agent-orchestrator/references/capability-taxonomy.md +9 -9
- package/bundled-skills/agent-orchestrator/references/orchestration-patterns.md +2 -2
- package/bundled-skills/agent-orchestrator/scripts/match_skills.py +49 -51
- package/bundled-skills/agent-orchestrator/scripts/orchestrate.py +71 -32
- package/bundled-skills/agent-orchestrator/scripts/scan_registry.py +92 -68
- package/bundled-skills/agent-self-scheduling/SKILL.md +11 -8
- package/bundled-skills/agent-squad/alex/SKILL.md +6 -1
- package/bundled-skills/agent-squad/aria/SKILL.md +7 -2
- package/bundled-skills/agent-squad/dep/SKILL.md +11 -4
- package/bundled-skills/agent-squad/luna/SKILL.md +10 -5
- package/bundled-skills/agent-squad/mason/SKILL.md +10 -5
- package/bundled-skills/agent-squad/max/SKILL.md +10 -3
- package/bundled-skills/agent-squad/quinn/SKILL.md +12 -5
- package/bundled-skills/agent-squad/rex/SKILL.md +7 -2
- package/bundled-skills/agentflow/SKILL.md +22 -15
- package/bundled-skills/agentfolio/SKILL.md +3 -2
- package/bundled-skills/agentic-actions-auditor/SKILL.md +35 -27
- package/bundled-skills/agentmail/SKILL.md +33 -58
- package/bundled-skills/agents-md/SKILL.md +1 -3
- package/bundled-skills/agents-v2-py/SKILL.md +57 -58
- package/bundled-skills/agenttrace-session-audit/SKILL.md +3 -2
- package/bundled-skills/agy-auto/SKILL.md +11 -10
- package/bundled-skills/ai-agent-development/SKILL.md +6 -0
- package/bundled-skills/ai-agent-evaluation-benchmarking/SKILL.md +15 -10
- package/bundled-skills/ai-agent-tool-routing/SKILL.md +98 -116
- package/bundled-skills/ai-agents-architect/SKILL.md +2 -2
- package/bundled-skills/ai-analyzer/SKILL.md +25 -10
- package/bundled-skills/ai-code-generation-guardrails/SKILL.md +99 -126
- package/bundled-skills/ai-dev-jobs-mcp/SKILL.md +8 -4
- package/bundled-skills/ai-engineer/SKILL.md +13 -7
- package/bundled-skills/ai-engineering-toolkit/SKILL.md +11 -7
- package/bundled-skills/ai-headshot-studio/SKILL.md +9 -7
- package/bundled-skills/ai-image-generation-studio/SKILL.md +9 -7
- package/bundled-skills/ai-inference-service-mesh/SKILL.md +18 -43
- package/bundled-skills/ai-logo-maker/SKILL.md +8 -4
- package/bundled-skills/ai-loop/SKILL.md +4 -4
- package/bundled-skills/ai-ml/SKILL.md +4 -0
- package/bundled-skills/ai-multilingual-dubbing/SKILL.md +9 -3
- package/bundled-skills/ai-native-cli/SKILL.md +10 -7
- package/bundled-skills/ai-photo-restyler/SKILL.md +8 -4
- package/bundled-skills/ai-pipeline-orchestration/SKILL.md +36 -18
- package/bundled-skills/ai-podcast-voiceover/SKILL.md +9 -3
- package/bundled-skills/ai-prompt-regression-testing/SKILL.md +100 -112
- package/bundled-skills/ai-red-teaming/SKILL.md +55 -35
- package/bundled-skills/ai-security-hardening/SKILL.md +17 -25
- package/bundled-skills/ai-sre-incident-response/SKILL.md +8 -8
- package/bundled-skills/ai-studio-image/SKILL.md +8 -0
- package/bundled-skills/akf-trust-metadata/SKILL.md +8 -2
- package/bundled-skills/alerting-oncall/SKILL.md +1 -0
- package/bundled-skills/alerting-oncall/references/details.md +1 -5
- package/bundled-skills/alpha-vantage/SKILL.md +0 -4
- package/bundled-skills/angular-migration/SKILL.md +14 -0
- package/bundled-skills/animejs-animation/SKILL.md +8 -3
- package/bundled-skills/anti-deception/SKILL.md +5 -3
- package/bundled-skills/anti-reversing-techniques/SKILL.md +1 -1
- package/bundled-skills/anti-sleep/SKILL.md +4 -2
- package/bundled-skills/antigravity-design-expert/SKILL.md +3 -3
- package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +6 -0
- package/bundled-skills/api-analyzer/SKILL.md +7 -29
- package/bundled-skills/api-designer/SKILL.md +9 -0
- package/bundled-skills/api-documentation/SKILL.md +7 -1
- package/bundled-skills/api-sdk-generator/SKILL.md +0 -21
- package/bundled-skills/api-testing-observability-api-mock/resources/implementation-playbook.md +31 -11
- package/bundled-skills/apk-reverse/SKILL.md +14 -0
- package/bundled-skills/apk-reverse/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/apk-reverse/UPSTREAM-NOTICE.md +11 -0
- package/bundled-skills/apk-reverse/scripts/manifest-summary.ps1 +80 -0
- package/bundled-skills/architecture-review/SKILL.md +4 -4
- package/bundled-skills/arm-cortex-expert/SKILL.md +0 -1
- package/bundled-skills/arrowspace/SKILL.md +23 -21
- package/bundled-skills/ask-questions-if-underspecified/SKILL.md +4 -4
- package/bundled-skills/audit-logging/SKILL.md +10 -77
- package/bundled-skills/automated-triage/SKILL.md +3 -0
- package/bundled-skills/automated-triage/UPSTREAM-LICENSE.txt +201 -0
- package/bundled-skills/automated-triage/UPSTREAM-NOTICE.md +12 -0
- package/bundled-skills/automated-triage/references/triage-example.md +115 -0
- package/bundled-skills/automated-triage/references/triage-stages.md +141 -0
- package/bundled-skills/avoid-ai-writing/SKILL.md +4 -2
- package/bundled-skills/awareness-stage-mapper/SKILL.md +16 -8
- package/bundled-skills/aws-cdk-development/SKILL.md +7 -0
- package/bundled-skills/aws-cdk-development/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/aws-cdk-development/UPSTREAM-NOTICE.md +14 -0
- package/bundled-skills/aws-cdk-development/references/cdk-patterns.md +431 -0
- package/bundled-skills/aws-cdk-development/scripts/validate-stack.sh +247 -0
- package/bundled-skills/aws-skills/SKILL.md +16 -21
- package/bundled-skills/aws-sst-development/SKILL.md +3 -0
- package/bundled-skills/aws-sst-development/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/aws-sst-development/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/aws-sst-development/references/authoring.md +506 -0
- package/bundled-skills/aws-sst-development/references/deploy-and-troubleshoot.md +182 -0
- package/bundled-skills/aws-sst-development/references/testing.md +126 -0
- package/bundled-skills/awt-e2e-testing/SKILL.md +7 -1
- package/bundled-skills/azd-deployment/SKILL.md +45 -51
- package/bundled-skills/azure-ai-agents-persistent-java/SKILL.md +35 -19
- package/bundled-skills/azure-ai-projects-py/SKILL.md +7 -0
- package/bundled-skills/azure-ai-projects-py/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-ai-projects-py/UPSTREAM-NOTICE.md +23 -0
- package/bundled-skills/azure-ai-projects-py/references/agents.md +295 -0
- package/bundled-skills/azure-ai-projects-py/references/api-reference.md +1150 -0
- package/bundled-skills/azure-ai-projects-py/references/async-patterns.md +258 -0
- package/bundled-skills/azure-ai-projects-py/references/built-in-evaluators.md +427 -0
- package/bundled-skills/azure-ai-projects-py/references/connections.md +203 -0
- package/bundled-skills/azure-ai-projects-py/references/custom-evaluators.md +450 -0
- package/bundled-skills/azure-ai-projects-py/references/datasets-indexes.md +177 -0
- package/bundled-skills/azure-ai-projects-py/references/deployments.md +134 -0
- package/bundled-skills/azure-ai-projects-py/references/evaluation.md +349 -0
- package/bundled-skills/azure-ai-projects-py/references/tools.md +464 -0
- package/bundled-skills/azure-ai-projects-py/scripts/run_batch_evaluation.py +409 -0
- package/bundled-skills/azure-ai-transcription-py/SKILL.md +30 -50
- package/bundled-skills/azure-ai-voicelive-py/SKILL.md +3 -0
- package/bundled-skills/azure-ai-voicelive-py/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-ai-voicelive-py/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/azure-ai-voicelive-py/references/api-reference.md +344 -0
- package/bundled-skills/azure-ai-voicelive-py/references/examples.md +558 -0
- package/bundled-skills/azure-ai-voicelive-py/references/models.md +737 -0
- package/bundled-skills/azure-communication-callingserver-java/SKILL.md +10 -9
- package/bundled-skills/azure-cosmos-db-py/SKILL.md +7 -0
- package/bundled-skills/azure-cosmos-db-py/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-cosmos-db-py/UPSTREAM-NOTICE.md +20 -0
- package/bundled-skills/azure-cosmos-db-py/assets/conftest_template.py +332 -0
- package/bundled-skills/azure-cosmos-db-py/assets/cosmos_client_template.py +225 -0
- package/bundled-skills/azure-cosmos-db-py/assets/service_template.py +314 -0
- package/bundled-skills/azure-cosmos-db-py/references/client-setup.md +214 -0
- package/bundled-skills/azure-cosmos-db-py/references/error-handling.md +382 -0
- package/bundled-skills/azure-cosmos-db-py/references/partitioning.md +270 -0
- package/bundled-skills/azure-cosmos-db-py/references/service-layer.md +305 -0
- package/bundled-skills/azure-cosmos-db-py/references/testing.md +495 -0
- package/bundled-skills/azure-cosmos-py/SKILL.md +11 -0
- package/bundled-skills/azure-cosmos-py/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-cosmos-py/UPSTREAM-NOTICE.md +14 -0
- package/bundled-skills/azure-cosmos-py/references/partitioning.md +346 -0
- package/bundled-skills/azure-cosmos-py/references/query-patterns.md +395 -0
- package/bundled-skills/azure-cosmos-rust/SKILL.md +30 -22
- package/bundled-skills/azure-eventhub-py/SKILL.md +7 -0
- package/bundled-skills/azure-eventhub-py/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-eventhub-py/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/azure-eventhub-py/references/checkpointing.md +312 -0
- package/bundled-skills/azure-eventhub-py/references/partitions.md +346 -0
- package/bundled-skills/azure-eventhub-py/scripts/setup_consumer.py +422 -0
- package/bundled-skills/azure-eventhub-rust/SKILL.md +28 -13
- package/bundled-skills/azure-identity-rust/SKILL.md +16 -10
- package/bundled-skills/azure-keyvault-keys-rust/SKILL.md +13 -8
- package/bundled-skills/azure-keyvault-secrets-rust/SKILL.md +12 -6
- package/bundled-skills/azure-mgmt-apimanagement-dotnet/SKILL.md +11 -0
- package/bundled-skills/azure-mgmt-apimanagement-dotnet/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-mgmt-apimanagement-dotnet/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/azure-mgmt-apimanagement-dotnet/references/apis-operations.md +168 -0
- package/bundled-skills/azure-mgmt-apimanagement-dotnet/references/products-subscriptions.md +173 -0
- package/bundled-skills/azure-mgmt-apimanagement-dotnet/references/service-management.md +154 -0
- package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/SKILL.md +3 -0
- package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/references/account-management.md +279 -0
- package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/references/sql-resources.md +373 -0
- package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/references/throughput.md +308 -0
- package/bundled-skills/azure-resource-manager-sql-dotnet/SKILL.md +3 -0
- package/bundled-skills/azure-resource-manager-sql-dotnet/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-resource-manager-sql-dotnet/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/azure-resource-manager-sql-dotnet/references/database-operations.md +268 -0
- package/bundled-skills/azure-resource-manager-sql-dotnet/references/elastic-pools.md +234 -0
- package/bundled-skills/azure-resource-manager-sql-dotnet/references/server-management.md +192 -0
- package/bundled-skills/azure-search-documents-dotnet/SKILL.md +3 -0
- package/bundled-skills/azure-search-documents-dotnet/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-search-documents-dotnet/UPSTREAM-NOTICE.md +14 -0
- package/bundled-skills/azure-search-documents-dotnet/references/semantic-search.md +241 -0
- package/bundled-skills/azure-search-documents-dotnet/references/vector-search.md +236 -0
- package/bundled-skills/azure-servicebus-py/SKILL.md +7 -0
- package/bundled-skills/azure-servicebus-py/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-servicebus-py/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/azure-servicebus-py/references/dead-letter.md +418 -0
- package/bundled-skills/azure-servicebus-py/references/patterns.md +405 -0
- package/bundled-skills/azure-servicebus-py/scripts/setup_servicebus.py +384 -0
- package/bundled-skills/azure-speech-to-text-rest-py/SKILL.md +3 -0
- package/bundled-skills/azure-speech-to-text-rest-py/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-speech-to-text-rest-py/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/azure-speech-to-text-rest-py/references/pronunciation-assessment.md +276 -0
- package/bundled-skills/azure-storage-blob-rust/SKILL.md +29 -21
- package/bundled-skills/baseline-ui/SKILL.md +2 -2
- package/bundled-skills/bash-scripting/SKILL.md +10 -2
- package/bundled-skills/bazel-build-optimization/SKILL.md +0 -1
- package/bundled-skills/bdistill-behavioral-xray/SKILL.md +5 -5
- package/bundled-skills/bdistill-knowledge-extraction/SKILL.md +9 -6
- package/bundled-skills/beautiful-prose/SKILL.md +1 -2
- package/bundled-skills/bevy-ecs-expert/SKILL.md +9 -7
- package/bundled-skills/billing-automation/resources/implementation-playbook.md +56 -513
- package/bundled-skills/binary-analysis-patterns/SKILL.md +0 -1
- package/bundled-skills/biopython/SKILL.md +3 -0
- package/bundled-skills/biopython/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/biopython/UPSTREAM-NOTICE.md +17 -0
- package/bundled-skills/biopython/references/advanced.md +577 -0
- package/bundled-skills/biopython/references/alignment.md +368 -0
- package/bundled-skills/biopython/references/blast.md +455 -0
- package/bundled-skills/biopython/references/databases.md +487 -0
- package/bundled-skills/biopython/references/phylogenetics.md +566 -0
- package/bundled-skills/biopython/references/sequence_io.md +285 -0
- package/bundled-skills/biopython/references/structure.md +564 -0
- package/bundled-skills/blockchain-developer/SKILL.md +0 -1
- package/bundled-skills/blueprint/SKILL.md +6 -8
- package/bundled-skills/brain-to-docs/SKILL.md +4 -4
- package/bundled-skills/brand-growth-system-builder/SKILL.md +10 -0
- package/bundled-skills/brand-perception-psychologist/SKILL.md +15 -7
- package/bundled-skills/browser-bridge/SKILL.md +101 -0
- package/bundled-skills/build/SKILL.md +15 -10
- package/bundled-skills/build/references/detailed-guide.md +38 -14
- package/bundled-skills/burpsuite-project-parser/SKILL.md +7 -0
- package/bundled-skills/buywhere-product-catalog/SKILL.md +6 -5
- package/bundled-skills/c-pro/SKILL.md +8 -6
- package/bundled-skills/c4-architecture-c4-architecture/SKILL.md +0 -1
- package/bundled-skills/c4-code/SKILL.md +0 -1
- package/bundled-skills/c4-component/SKILL.md +0 -1
- package/bundled-skills/c4-container/SKILL.md +0 -1
- package/bundled-skills/c4-context/SKILL.md +0 -1
- package/bundled-skills/cdk-patterns/SKILL.md +7 -0
- package/bundled-skills/changelog-entry/SKILL.md +6 -4
- package/bundled-skills/check-identity-pack/SKILL.md +7 -8
- package/bundled-skills/chrome-extension-developer/SKILL.md +8 -4
- package/bundled-skills/ci-cd-and-automation/SKILL.md +15 -3
- package/bundled-skills/cirq/SKILL.md +3 -0
- package/bundled-skills/cirq/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/cirq/UPSTREAM-NOTICE.md +16 -0
- package/bundled-skills/cirq/references/building.md +307 -0
- package/bundled-skills/cirq/references/experiments.md +572 -0
- package/bundled-skills/cirq/references/hardware.md +527 -0
- package/bundled-skills/cirq/references/noise.md +514 -0
- package/bundled-skills/cirq/references/simulation.md +353 -0
- package/bundled-skills/cirq/references/transformation.md +416 -0
- package/bundled-skills/cis-benchmarks/SKILL.md +16 -9
- package/bundled-skills/clarvia-aeo-check/SKILL.md +9 -9
- package/bundled-skills/claude-ally-health/SKILL.md +17 -6
- package/bundled-skills/claude-code-guide/SKILL.md +9 -5
- package/bundled-skills/claude-scientific-skills/SKILL.md +15 -3
- package/bundled-skills/claude-speed-reader/SKILL.md +13 -3
- package/bundled-skills/claude-win11-speckit-update-skill/SKILL.md +13 -7
- package/bundled-skills/cline-pilot/SKILL.md +10 -0
- package/bundled-skills/closed-loop-delivery/SKILL.md +7 -7
- package/bundled-skills/cloud-architect/SKILL.md +0 -1
- package/bundled-skills/cloudflare-workers-expert/SKILL.md +6 -5
- package/bundled-skills/cloudformation-best-practices/SKILL.md +4 -3
- package/bundled-skills/cmux/SKILL.md +8 -0
- package/bundled-skills/code-refactoring-context-restore/SKILL.md +1 -1
- package/bundled-skills/code-review-ai-ai-review/SKILL.md +8 -1
- package/bundled-skills/code-review-and-quality/SKILL.md +9 -0
- package/bundled-skills/code-reviewer/SKILL.md +0 -1
- package/bundled-skills/codex-review/SKILL.md +3 -2
- package/bundled-skills/commit/SKILL.md +12 -11
- package/bundled-skills/comprehensive-review-full-review/SKILL.md +0 -1
- package/bundled-skills/computer-vision-expert/SKILL.md +9 -8
- package/bundled-skills/concise-planning/SKILL.md +7 -7
- package/bundled-skills/conductor-implement/SKILL.md +0 -1
- package/bundled-skills/conductor-new-track/SKILL.md +0 -1
- package/bundled-skills/conductor-revert/SKILL.md +0 -1
- package/bundled-skills/conductor-setup/SKILL.md +42 -25
- package/bundled-skills/conductor-status/SKILL.md +0 -1
- package/bundled-skills/conductor-validator/SKILL.md +15 -19
- package/bundled-skills/constant-time-analysis/SKILL.md +3 -0
- package/bundled-skills/constant-time-analysis/UPSTREAM-LICENSE.txt +427 -0
- package/bundled-skills/constant-time-analysis/UPSTREAM-NOTICE.md +18 -0
- package/bundled-skills/constant-time-analysis/references/compiled.md +129 -0
- package/bundled-skills/constant-time-analysis/references/javascript.md +136 -0
- package/bundled-skills/constant-time-analysis/references/kotlin.md +252 -0
- package/bundled-skills/constant-time-analysis/references/php.md +172 -0
- package/bundled-skills/constant-time-analysis/references/python.md +179 -0
- package/bundled-skills/constant-time-analysis/references/ruby.md +198 -0
- package/bundled-skills/constant-time-analysis/references/swift.md +288 -0
- package/bundled-skills/constant-time-analysis/references/vm-compiled.md +354 -0
- package/bundled-skills/container-hardening/SKILL.md +23 -24
- package/bundled-skills/content-marketer/SKILL.md +0 -1
- package/bundled-skills/context-kit/SKILL.md +8 -0
- package/bundled-skills/context-management-context-restore/SKILL.md +1 -1
- package/bundled-skills/context-management-context-save/SKILL.md +0 -1
- package/bundled-skills/context-manager/SKILL.md +0 -1
- package/bundled-skills/context7-auto-research/SKILL.md +3 -3
- package/bundled-skills/copy-editing/SKILL.md +4 -0
- package/bundled-skills/copywriting-psychologist/SKILL.md +16 -8
- package/bundled-skills/cost-optimization/SKILL.md +11 -1
- package/bundled-skills/cost-optimization/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/cost-optimization/UPSTREAM-NOTICE.md +11 -0
- package/bundled-skills/cost-optimization/references/tagging-standards.md +23 -0
- package/bundled-skills/cowork-to-code-bridge/SKILL.md +9 -0
- package/bundled-skills/create-issue-gate/SKILL.md +5 -5
- package/bundled-skills/create-pr/SKILL.md +2 -0
- package/bundled-skills/crossframe-suite/SKILL.md +8 -0
- package/bundled-skills/crypto-bd-agent/SKILL.md +1 -2
- package/bundled-skills/csharp-pro/SKILL.md +5 -7
- package/bundled-skills/csv-manual-export/SKILL.md +1 -2
- package/bundled-skills/customer-psychographic-profiler/SKILL.md +15 -7
- package/bundled-skills/customer-support/SKILL.md +0 -1
- package/bundled-skills/data-engineering-data-driven-feature/SKILL.md +0 -1
- package/bundled-skills/data-privacy-controls/SKILL.md +7 -8
- package/bundled-skills/database-admin/SKILL.md +0 -1
- package/bundled-skills/database-design/SKILL.md +5 -1
- package/bundled-skills/database-design/database-selection.md +1 -1
- package/bundled-skills/database-design/orm-selection.md +1 -1
- package/bundled-skills/database-design/scripts/schema_validator.py +17 -8
- package/bundled-skills/database-migration/SKILL.md +14 -1
- package/bundled-skills/database-migrations-sql-migrations/resources/implementation-playbook.md +31 -283
- package/bundled-skills/database-optimizer/SKILL.md +0 -1
- package/bundled-skills/debug-buttercup/SKILL.md +8 -0
- package/bundled-skills/debugger/SKILL.md +4 -3
- package/bundled-skills/debugging-toolkit/SKILL.md +2 -2
- package/bundled-skills/debugging-toolkit-smart-debug/SKILL.md +14 -10
- package/bundled-skills/deep-research/SKILL.md +24 -13
- package/bundled-skills/deep-research/UPSTREAM-LICENSE.txt +190 -0
- package/bundled-skills/deep-research/UPSTREAM-NOTICE.md +11 -0
- package/bundled-skills/deep-research/requirements.txt +2 -0
- package/bundled-skills/deep-research/scripts/research.py +802 -0
- package/bundled-skills/defi-protocol-templates/SKILL.md +16 -1
- package/bundled-skills/defuddle/SKILL.md +9 -6
- package/bundled-skills/delegating-to-agents/SKILL.md +12 -13
- package/bundled-skills/dependency-management-deps-audit/resources/implementation-playbook.md +32 -289
- package/bundled-skills/dependency-upgrade/SKILL.md +14 -1
- package/bundled-skills/deployment-pipeline-design/SKILL.md +11 -111
- package/bundled-skills/deployment-validation-config-validate/SKILL.md +1 -1
- package/bundled-skills/deprecation-and-migration/SKILL.md +2 -2
- package/bundled-skills/design-orchestration/SKILL.md +4 -4
- package/bundled-skills/design-spells/SKILL.md +4 -4
- package/bundled-skills/detect-ai-text/SKILL.md +4 -4
- package/bundled-skills/deterministic-design/SKILL.md +5 -4
- package/bundled-skills/devcontainer-setup/SKILL.md +3 -0
- package/bundled-skills/devcontainer-setup/UPSTREAM-LICENSE.txt +427 -0
- package/bundled-skills/devcontainer-setup/UPSTREAM-NOTICE.md +12 -0
- package/bundled-skills/devcontainer-setup/references/dockerfile-best-practices.md +102 -0
- package/bundled-skills/devcontainer-setup/references/features-vs-dockerfile.md +22 -0
- package/bundled-skills/diagram-generator/SKILL.md +6 -0
- package/bundled-skills/diagram-generator/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/diagram-generator/UPSTREAM-NOTICE.md +11 -0
- package/bundled-skills/diagram-generator/scripts/render_diagram.py +169 -0
- package/bundled-skills/django-access-review/SKILL.md +20 -12
- package/bundled-skills/django-perf-review/SKILL.md +1 -1
- package/bundled-skills/doc-coauthoring/SKILL.md +1 -1
- package/bundled-skills/doc2math/SKILL.md +10 -9
- package/bundled-skills/docker-compose/SKILL.md +17 -11
- package/bundled-skills/docker-expert/SKILL.md +57 -53
- package/bundled-skills/docker-management/SKILL.md +17 -13
- package/bundled-skills/docs-architect/SKILL.md +0 -1
- package/bundled-skills/docs-generator/SKILL.md +7 -1
- package/bundled-skills/docs-generator/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/docs-generator/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/docs-generator/scripts/case-init.ps1 +379 -0
- package/bundled-skills/docs-generator/scripts/lib/HostRuntime.ps1 +58 -0
- package/bundled-skills/docs-generator/scripts/lib/WorkRoot.ps1 +33 -0
- package/bundled-skills/documentation/SKILL.md +5 -1
- package/bundled-skills/documentation-and-adrs/SKILL.md +7 -5
- package/bundled-skills/documentation-templates/SKILL.md +8 -6
- package/bundled-skills/dotnet-architect/SKILL.md +0 -1
- package/bundled-skills/doubt-driven-development/SKILL.md +8 -0
- package/bundled-skills/dx-optimizer/SKILL.md +8 -8
- package/bundled-skills/e2e-testing/SKILL.md +4 -0
- package/bundled-skills/eas-workflows/SKILL.md +60 -27
- package/bundled-skills/eas-workflows/agents/openai.yaml +1 -1
- package/bundled-skills/eas-workflows/scripts/fetch.js +131 -82
- package/bundled-skills/eas-workflows/scripts/package.json +4 -0
- package/bundled-skills/elixir-pro/SKILL.md +5 -7
- package/bundled-skills/emblemai-crypto-wallet/SKILL.md +7 -6
- package/bundled-skills/emotional-arc-designer/SKILL.md +16 -8
- package/bundled-skills/error-debugging-multi-agent-review/SKILL.md +1 -1
- package/bundled-skills/error-detective/SKILL.md +7 -3
- package/bundled-skills/error-diagnostics-smart-debug/SKILL.md +14 -10
- package/bundled-skills/error-handling-patterns/resources/implementation-playbook.md +21 -72
- package/bundled-skills/event-sourcing-architect/SKILL.md +4 -3
- package/bundled-skills/exa-search/SKILL.md +4 -2
- package/bundled-skills/executing-plans/SKILL.md +8 -8
- package/bundled-skills/expo-ui-jetpack-compose/SKILL.md +4 -7
- package/bundled-skills/expo-ui-swift-ui/SKILL.md +5 -8
- package/bundled-skills/fact-check-x-unified/SKILL.md +25 -15
- package/bundled-skills/fact-check-x-unified/UPSTREAM-NOTICE.md +9 -0
- package/bundled-skills/fact-check-x-unified/scripts/fact_check_x.py +10 -5
- package/bundled-skills/fact-check-x-unified/scripts/trusted_search_config.py +49 -8
- package/bundled-skills/fact-check-x-unified/tests/smoke_test.py +1 -1
- package/bundled-skills/fact-check-x-unified/tests/trusted_search_config_test.py +8 -2
- package/bundled-skills/fal-audio/SKILL.md +16 -6
- package/bundled-skills/fal-generate/SKILL.md +16 -6
- package/bundled-skills/fal-image-edit/SKILL.md +16 -6
- package/bundled-skills/fal-platform/SKILL.md +12 -4
- package/bundled-skills/fal-upscale/SKILL.md +12 -4
- package/bundled-skills/fal-workflow/SKILL.md +24 -6
- package/bundled-skills/family-health-analyzer/SKILL.md +17 -16
- package/bundled-skills/fastapi-router-py/SKILL.md +3 -0
- package/bundled-skills/fastapi-router-py/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/fastapi-router-py/UPSTREAM-NOTICE.md +11 -0
- package/bundled-skills/fastapi-router-py/assets/template.py +147 -0
- package/bundled-skills/fda-food-safety-auditor/SKILL.md +9 -8
- package/bundled-skills/fda-medtech-compliance-auditor/SKILL.md +8 -8
- package/bundled-skills/ffuf-claude-skill/SKILL.md +18 -3
- package/bundled-skills/file-organizer/SKILL.md +1 -1
- package/bundled-skills/find-bugs/SKILL.md +4 -4
- package/bundled-skills/find-matching-tenders/SKILL.md +12 -11
- package/bundled-skills/firecrawl-scraper/SKILL.md +4 -2
- package/bundled-skills/firmware-analyst/SKILL.md +10 -1
- package/bundled-skills/fix-review/SKILL.md +5 -1
- package/bundled-skills/fp-either-ref/SKILL.md +10 -4
- package/bundled-skills/fp-option-ref/SKILL.md +12 -6
- package/bundled-skills/fp-pipe-ref/SKILL.md +7 -1
- package/bundled-skills/fp-taskeither-ref/SKILL.md +28 -10
- package/bundled-skills/fp-types-ref/SKILL.md +8 -2
- package/bundled-skills/framework-migration-legacy-modernize/SKILL.md +0 -1
- package/bundled-skills/free-design-resources/SKILL.md +8 -0
- package/bundled-skills/frontend-api-integration-patterns/SKILL.md +11 -8
- package/bundled-skills/frontend-data-contracts/SKILL.md +5 -1
- package/bundled-skills/frontend-mobile-development-component-scaffold/SKILL.md +1 -1
- package/bundled-skills/frontend-mobile-security-xss-scan/SKILL.md +1 -1
- package/bundled-skills/frontend-slides/SKILL.md +1 -0
- package/bundled-skills/frontend-slides-frontend-slides/SKILL.md +15 -0
- package/bundled-skills/frontend-slides-frontend-slides/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/frontend-slides-frontend-slides/UPSTREAM-NOTICE.md +14 -0
- package/bundled-skills/frontend-slides-frontend-slides/scripts/export-pdf.sh +390 -0
- package/bundled-skills/frontend-slides-frontend-slides/scripts/extract-pptx.py +96 -0
- package/bundled-skills/frontend-slides-frontend-slides/scripts/lib/confined-server.mjs +113 -0
- package/bundled-skills/frontend-ui-engineering/SKILL.md +8 -0
- package/bundled-skills/full-output-enforcement/SKILL.md +20 -9
- package/bundled-skills/full-stack-orchestration-full-stack-feature/SKILL.md +0 -1
- package/bundled-skills/game-development/2d-games/SKILL.md +3 -3
- package/bundled-skills/game-development/3d-games/SKILL.md +8 -4
- package/bundled-skills/game-development/game-design/SKILL.md +8 -4
- package/bundled-skills/game-development/mobile-games/SKILL.md +10 -6
- package/bundled-skills/game-development/multiplayer/SKILL.md +9 -5
- package/bundled-skills/game-development/pc-games/SKILL.md +6 -2
- package/bundled-skills/game-development/vr-ar/SKILL.md +12 -6
- package/bundled-skills/gh-review-requests/SKILL.md +14 -42
- package/bundled-skills/gha-security-review/SKILL.md +3 -0
- package/bundled-skills/gha-security-review/UPSTREAM-LICENSE.txt +190 -0
- package/bundled-skills/gha-security-review/UPSTREAM-NOTICE.md +19 -0
- package/bundled-skills/gha-security-review/references/ai-prompt-injection-via-ci.md +181 -0
- package/bundled-skills/gha-security-review/references/comment-triggered-commands.md +195 -0
- package/bundled-skills/gha-security-review/references/credential-escalation.md +225 -0
- package/bundled-skills/gha-security-review/references/expression-injection.md +287 -0
- package/bundled-skills/gha-security-review/references/permissions-and-secrets.md +265 -0
- package/bundled-skills/gha-security-review/references/pwn-request.md +212 -0
- package/bundled-skills/gha-security-review/references/real-world-attacks.md +298 -0
- package/bundled-skills/gha-security-review/references/runner-infrastructure.md +268 -0
- package/bundled-skills/gha-security-review/references/supply-chain.md +225 -0
- package/bundled-skills/git-advanced-workflows/SKILL.md +19 -12
- package/bundled-skills/git-commit-message/SKILL.md +2 -2
- package/bundled-skills/git-pr-review/SKILL.md +6 -9
- package/bundled-skills/git-pr-workflows-onboard/SKILL.md +0 -1
- package/bundled-skills/git-pr-workflows-pr-enhance/SKILL.md +1 -1
- package/bundled-skills/github-actions/SKILL.md +20 -24
- package/bundled-skills/github-actions-debugger/SKILL.md +7 -3
- package/bundled-skills/github-issue-creator/SKILL.md +12 -12
- package/bundled-skills/gitlab-ci-patterns/SKILL.md +5 -7
- package/bundled-skills/global-chat-agent-discovery/SKILL.md +12 -7
- package/bundled-skills/gmail-automation/SKILL.md +9 -0
- package/bundled-skills/godot-4-migration/SKILL.md +12 -4
- package/bundled-skills/google-calendar-automation/SKILL.md +23 -145
- package/bundled-skills/google-docs-automation/SKILL.md +1 -1
- package/bundled-skills/google-drive-automation/SKILL.md +9 -0
- package/bundled-skills/google-sheets-automation/SKILL.md +1 -1
- package/bundled-skills/google-slides-automation/SKILL.md +1 -1
- package/bundled-skills/graphql-architect/SKILL.md +0 -1
- package/bundled-skills/grill-me/SKILL.md +3 -1
- package/bundled-skills/grill-with-docs/SKILL.md +3 -1
- package/bundled-skills/grilling/SKILL.md +1 -1
- package/bundled-skills/handoff/SKILL.md +5 -1
- package/bundled-skills/haskell-pro/SKILL.md +3 -4
- package/bundled-skills/headline-psychologist/SKILL.md +15 -7
- package/bundled-skills/hf-mem/SKILL.md +9 -1
- package/bundled-skills/hosted-agents-v2-py/SKILL.md +56 -57
- package/bundled-skills/hr-pro/SKILL.md +0 -1
- package/bundled-skills/hugging-face-jobs/SKILL.md +0 -1
- package/bundled-skills/hugging-face-tool-builder/SKILL.md +16 -2
- package/bundled-skills/hybrid-cloud-architect/SKILL.md +0 -1
- package/bundled-skills/hybrid-cloud-networking/SKILL.md +11 -1
- package/bundled-skills/hybrid-cloud-networking/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/hybrid-cloud-networking/UPSTREAM-NOTICE.md +11 -0
- package/bundled-skills/hybrid-cloud-networking/references/direct-connect.md +17 -0
- package/bundled-skills/hyperexecute-skill/SKILL.md +7 -0
- package/bundled-skills/hyperexecute-skill/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/hyperexecute-skill/UPSTREAM-NOTICE.md +16 -0
- package/bundled-skills/hyperexecute-skill/scripts/build-command.js +57 -0
- package/bundled-skills/hyperexecute-skill/scripts/doctor.js +81 -0
- package/bundled-skills/hyperexecute-skill/scripts/summarize-artifacts.js +63 -0
- package/bundled-skills/hyperexecute-skill/scripts/validate-config.js +72 -0
- package/bundled-skills/iconsax-library/SKILL.md +6 -4
- package/bundled-skills/ida-reverse/SKILL.md +13 -0
- package/bundled-skills/ida-reverse/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/ida-reverse/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/ida-reverse/scripts/IdaOpenHelpers.ps1 +115 -0
- package/bundled-skills/ida-reverse/scripts/open.ps1 +378 -0
- package/bundled-skills/ida-reverse/scripts/start-gui.ps1 +105 -0
- package/bundled-skills/idea-evaluator/idea-evaluator-con/SKILL.md +4 -2
- package/bundled-skills/idea-evaluator/idea-evaluator-pro/SKILL.md +5 -3
- package/bundled-skills/identity-mirror/SKILL.md +15 -7
- package/bundled-skills/imagen/SKILL.md +15 -5
- package/bundled-skills/imagen/UPSTREAM-LICENSE.txt +190 -0
- package/bundled-skills/imagen/UPSTREAM-NOTICE.md +5 -0
- package/bundled-skills/imagen/scripts/generate_image.py +241 -0
- package/bundled-skills/implement/SKILL.md +4 -4
- package/bundled-skills/incident-response-incident-response/SKILL.md +0 -1
- package/bundled-skills/incident-response-smart-fix/SKILL.md +1 -1
- package/bundled-skills/incident-runbook-templates/SKILL.md +22 -16
- package/bundled-skills/incremental-implementation/SKILL.md +8 -0
- package/bundled-skills/infinite-gratitude/SKILL.md +6 -2
- package/bundled-skills/internal-comms/SKILL.md +1 -1
- package/bundled-skills/interview-coach/SKILL.md +7 -4
- package/bundled-skills/istio-traffic-management/SKILL.md +0 -1
- package/bundled-skills/iterate-pr/SKILL.md +9 -0
- package/bundled-skills/java-pro/SKILL.md +0 -1
- package/bundled-skills/javascript-pro/SKILL.md +1 -1
- package/bundled-skills/javascript-typescript-typescript-scaffold/SKILL.md +1 -1
- package/bundled-skills/julia-pro/SKILL.md +0 -1
- package/bundled-skills/k8s-security-policies/SKILL.md +8 -1
- package/bundled-skills/kotler-macro-analyzer/SKILL.md +4 -0
- package/bundled-skills/kotlin-coroutines-expert/SKILL.md +8 -5
- package/bundled-skills/kubernetes-deployment/SKILL.md +5 -1
- package/bundled-skills/kubernetes-hardening/SKILL.md +9 -1
- package/bundled-skills/langchain-architecture/SKILL.md +15 -1
- package/bundled-skills/legacy-modernizer/SKILL.md +4 -5
- package/bundled-skills/legal-advisor/SKILL.md +9 -6
- package/bundled-skills/lightning-architecture-review/SKILL.md +6 -6
- package/bundled-skills/lightning-channel-factories/SKILL.md +6 -6
- package/bundled-skills/lightning-factory-explainer/SKILL.md +5 -5
- package/bundled-skills/linkerd-patterns/SKILL.md +0 -1
- package/bundled-skills/linux-hardening/SKILL.md +24 -23
- package/bundled-skills/llm-application-dev-ai-assistant/SKILL.md +1 -1
- package/bundled-skills/llm-application-dev-langchain-agent/SKILL.md +0 -1
- package/bundled-skills/llm-application-dev-prompt-optimize/SKILL.md +1 -1
- package/bundled-skills/llm-evaluation/SKILL.md +50 -62
- package/bundled-skills/llm-evaluation/references/benchmarking.md +35 -0
- package/bundled-skills/logic-review/SKILL.md +8 -0
- package/bundled-skills/longbridge/SKILL.md +8 -4
- package/bundled-skills/longbridge-content/SKILL.md +3 -0
- package/bundled-skills/longbridge-content/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/longbridge-content/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/longbridge-content/references/filing.md +48 -0
- package/bundled-skills/longbridge-content/references/news.md +118 -0
- package/bundled-skills/longbridge-content/references/regulatory-kb.md +128 -0
- package/bundled-skills/longbridge-content/references/sec-filings.md +113 -0
- package/bundled-skills/longbridge-content/references/topic.md +53 -0
- package/bundled-skills/longbridge-fundamentals/SKILL.md +3 -0
- package/bundled-skills/longbridge-fundamentals/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/longbridge-fundamentals/UPSTREAM-NOTICE.md +31 -0
- package/bundled-skills/longbridge-fundamentals/references/behavioral-finance.md +108 -0
- package/bundled-skills/longbridge-fundamentals/references/business-segments.md +50 -0
- package/bundled-skills/longbridge-fundamentals/references/company.md +39 -0
- package/bundled-skills/longbridge-fundamentals/references/compare.md +49 -0
- package/bundled-skills/longbridge-fundamentals/references/corp-action.md +42 -0
- package/bundled-skills/longbridge-fundamentals/references/corporate-events.md +89 -0
- package/bundled-skills/longbridge-fundamentals/references/corporate.md +64 -0
- package/bundled-skills/longbridge-fundamentals/references/dcf.md +103 -0
- package/bundled-skills/longbridge-fundamentals/references/dividend.md +51 -0
- package/bundled-skills/longbridge-fundamentals/references/executive.md +39 -0
- package/bundled-skills/longbridge-fundamentals/references/financial-report.md +88 -0
- package/bundled-skills/longbridge-fundamentals/references/financial-statement.md +49 -0
- package/bundled-skills/longbridge-fundamentals/references/industry-valuation.md +86 -0
- package/bundled-skills/longbridge-fundamentals/references/invest-relation.md +39 -0
- package/bundled-skills/longbridge-fundamentals/references/main-business-analysis.md +654 -0
- package/bundled-skills/longbridge-fundamentals/references/operating.md +42 -0
- package/bundled-skills/longbridge-fundamentals/references/smallcap-growth.md +72 -0
- package/bundled-skills/longbridge-fundamentals/references/valuation-methodology.md +86 -0
- package/bundled-skills/longbridge-fundamentals/references/valuation-rank.md +57 -0
- package/bundled-skills/longbridge-fundamentals/references/valuation.md +86 -0
- package/bundled-skills/longbridge-fundamentals/references/value-screen.md +71 -0
- package/bundled-skills/longbridge-market-data/SKILL.md +3 -0
- package/bundled-skills/longbridge-market-data/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/longbridge-market-data/UPSTREAM-NOTICE.md +28 -0
- package/bundled-skills/longbridge-market-data/references/adr-premium.md +63 -0
- package/bundled-skills/longbridge-market-data/references/ah-premium.md +67 -0
- package/bundled-skills/longbridge-market-data/references/capital.md +48 -0
- package/bundled-skills/longbridge-market-data/references/depth.md +40 -0
- package/bundled-skills/longbridge-market-data/references/exchange-rate.md +35 -0
- package/bundled-skills/longbridge-market-data/references/fx-carry.md +59 -0
- package/bundled-skills/longbridge-market-data/references/intraday.md +47 -0
- package/bundled-skills/longbridge-market-data/references/ipo.md +48 -0
- package/bundled-skills/longbridge-market-data/references/kline.md +62 -0
- package/bundled-skills/longbridge-market-data/references/market-status.md +35 -0
- package/bundled-skills/longbridge-market-data/references/market-temp.md +53 -0
- package/bundled-skills/longbridge-market-data/references/participants.md +35 -0
- package/bundled-skills/longbridge-market-data/references/quote.md +78 -0
- package/bundled-skills/longbridge-market-data/references/security-list.md +36 -0
- package/bundled-skills/longbridge-market-data/references/subscriptions.md +23 -0
- package/bundled-skills/longbridge-market-data/references/trade-stats.md +39 -0
- package/bundled-skills/longbridge-market-data/references/trades.md +44 -0
- package/bundled-skills/longbridge-market-data/references/trading.md +40 -0
- package/bundled-skills/loss-aversion-designer/SKILL.md +15 -7
- package/bundled-skills/m365-agents-dotnet/SKILL.md +8 -0
- package/bundled-skills/m365-agents-py/SKILL.md +8 -0
- package/bundled-skills/m365-agents-ts/SKILL.md +8 -0
- package/bundled-skills/machine-learning-ops-ml-pipeline/SKILL.md +0 -1
- package/bundled-skills/macos-screen-recorder/SKILL.md +5 -1
- package/bundled-skills/magic-animator/SKILL.md +4 -2
- package/bundled-skills/magic-ui-generator/SKILL.md +7 -5
- package/bundled-skills/makepad-animation/SKILL.md +8 -0
- package/bundled-skills/makepad-basics/SKILL.md +9 -0
- package/bundled-skills/makepad-deployment/SKILL.md +18 -0
- package/bundled-skills/makepad-dsl/SKILL.md +9 -0
- package/bundled-skills/makepad-event-action/SKILL.md +9 -0
- package/bundled-skills/makepad-font/SKILL.md +8 -0
- package/bundled-skills/makepad-layout/SKILL.md +9 -0
- package/bundled-skills/makepad-platform/SKILL.md +8 -0
- package/bundled-skills/makepad-reference/SKILL.md +5 -3
- package/bundled-skills/makepad-shaders/SKILL.md +9 -0
- package/bundled-skills/makepad-skills/SKILL.md +11 -5
- package/bundled-skills/makepad-splash/SKILL.md +8 -0
- package/bundled-skills/makepad-widgets/SKILL.md +10 -0
- package/bundled-skills/manifest/SKILL.md +20 -113
- package/bundled-skills/markdown-rendering/SKILL.md +3 -3
- package/bundled-skills/market-sizing-analysis/SKILL.md +13 -24
- package/bundled-skills/market-sizing-analysis/examples/saas-market-sizing.md +20 -337
- package/bundled-skills/market-sizing-analysis/references/data-sources.md +10 -22
- package/bundled-skills/markstream-angular/SKILL.md +3 -1
- package/bundled-skills/markstream-nuxt/SKILL.md +3 -1
- package/bundled-skills/markstream-react/SKILL.md +5 -1
- package/bundled-skills/markstream-svelte/SKILL.md +3 -1
- package/bundled-skills/markstream-vue/SKILL.md +3 -1
- package/bundled-skills/markstream-vue2/SKILL.md +5 -1
- package/bundled-skills/markstream-vue2-cli/SKILL.md +5 -1
- package/bundled-skills/markstream-vue2-vite/SKILL.md +5 -1
- package/bundled-skills/matplotlib/SKILL.md +5 -0
- package/bundled-skills/matplotlib/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/matplotlib/UPSTREAM-NOTICE.md +16 -0
- package/bundled-skills/matplotlib/references/api_reference.md +412 -0
- package/bundled-skills/matplotlib/references/common_issues.md +563 -0
- package/bundled-skills/matplotlib/references/plot_types.md +476 -0
- package/bundled-skills/matplotlib/references/styling_guide.md +589 -0
- package/bundled-skills/matplotlib/scripts/plot_template.py +401 -0
- package/bundled-skills/matplotlib/scripts/style_configurator.py +412 -0
- package/bundled-skills/mcp-server-security/SKILL.md +17 -11
- package/bundled-skills/mcp-server-security/references/details.md +51 -90
- package/bundled-skills/memory-forensics/SKILL.md +0 -1
- package/bundled-skills/mermaid-expert/SKILL.md +5 -4
- package/bundled-skills/minecraft-bukkit-pro/SKILL.md +0 -1
- package/bundled-skills/mirrord/SKILL.md +5 -3
- package/bundled-skills/ml-engineer/SKILL.md +0 -1
- package/bundled-skills/ml-pipeline-workflow/SKILL.md +10 -1
- package/bundled-skills/mlops-engineer/SKILL.md +0 -1
- package/bundled-skills/mobile-security-coder/SKILL.md +0 -1
- package/bundled-skills/monopoly/SKILL.md +12 -0
- package/bundled-skills/monopoly/security-checklist/SKILL.md +9 -7
- package/bundled-skills/monorepo-architect/SKILL.md +5 -4
- package/bundled-skills/monte-carlo-analyze-root-cause/SKILL.md +4 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/UPSTREAM-LICENSE.txt +201 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/UPSTREAM-NOTICE.md +19 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/references/common-root-causes.md +79 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/references/data-exploration.md +149 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/references/etl-failure-investigation.md +67 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/references/field-anomaly-investigation.md +107 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/references/freshness-investigation.md +67 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/references/intake-no-incident.md +67 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/references/query-change-investigation.md +55 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/references/schema-investigation.md +48 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/references/volume-investigation.md +53 -0
- package/bundled-skills/monte-carlo-asset-health/SKILL.md +4 -0
- package/bundled-skills/monte-carlo-asset-health/UPSTREAM-LICENSE.txt +201 -0
- package/bundled-skills/monte-carlo-asset-health/UPSTREAM-NOTICE.md +12 -0
- package/bundled-skills/monte-carlo-asset-health/references/parameters.md +111 -0
- package/bundled-skills/monte-carlo-asset-health/references/workflows.md +132 -0
- package/bundled-skills/monte-carlo-monitoring-advisor/SKILL.md +3 -0
- package/bundled-skills/monte-carlo-monitoring-advisor/UPSTREAM-LICENSE.txt +201 -0
- package/bundled-skills/monte-carlo-monitoring-advisor/UPSTREAM-NOTICE.md +12 -0
- package/bundled-skills/monte-carlo-monitoring-advisor/references/agent-monitor-creation.md +471 -0
- package/bundled-skills/monte-carlo-monitoring-advisor/references/data-monitor-creation.md +272 -0
- package/bundled-skills/monte-carlo-performance-diagnosis/SKILL.md +3 -0
- package/bundled-skills/monte-carlo-performance-diagnosis/UPSTREAM-LICENSE.txt +201 -0
- package/bundled-skills/monte-carlo-performance-diagnosis/UPSTREAM-NOTICE.md +12 -0
- package/bundled-skills/monte-carlo-performance-diagnosis/references/investigation-tiers.md +110 -0
- package/bundled-skills/monte-carlo-performance-diagnosis/references/query-analysis.md +50 -0
- package/bundled-skills/monte-carlo-remediation/SKILL.md +3 -0
- package/bundled-skills/monte-carlo-remediation/UPSTREAM-LICENSE.txt +201 -0
- package/bundled-skills/monte-carlo-remediation/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/monte-carlo-remediation/references/patterns.md +295 -0
- package/bundled-skills/monte-carlo-remediation/references/safety.md +160 -0
- package/bundled-skills/monte-carlo-remediation/references/tool-discovery.md +172 -0
- package/bundled-skills/monte-carlo-storage-cost-analysis/SKILL.md +3 -0
- package/bundled-skills/monte-carlo-storage-cost-analysis/UPSTREAM-LICENSE.txt +201 -0
- package/bundled-skills/monte-carlo-storage-cost-analysis/UPSTREAM-NOTICE.md +11 -0
- package/bundled-skills/monte-carlo-storage-cost-analysis/references/output-structure.md +93 -0
- package/bundled-skills/mtls-configuration/SKILL.md +0 -1
- package/bundled-skills/multi-cloud-architecture/SKILL.md +3 -1
- package/bundled-skills/multi-cloud-architecture/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/multi-cloud-architecture/UPSTREAM-NOTICE.md +12 -0
- package/bundled-skills/multi-cloud-architecture/references/multi-cloud-patterns.md +26 -0
- package/bundled-skills/multi-cloud-architecture/references/service-comparison.md +35 -0
- package/bundled-skills/nanobanana-ppt-skills/SKILL.md +13 -4
- package/bundled-skills/native-data-fetching/references/detailed-guide.md +42 -23
- package/bundled-skills/native-data-fetching/references/expo-router-loaders.md +36 -29
- package/bundled-skills/nerdzao-elite/SKILL.md +9 -5
- package/bundled-skills/nerdzao-elite-gemini-high/SKILL.md +7 -3
- package/bundled-skills/network-engineer/SKILL.md +0 -1
- package/bundled-skills/networkx/SKILL.md +3 -0
- package/bundled-skills/networkx/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/networkx/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/networkx/references/algorithms.md +383 -0
- package/bundled-skills/networkx/references/generators.md +378 -0
- package/bundled-skills/networkx/references/graph-basics.md +283 -0
- package/bundled-skills/networkx/references/io.md +441 -0
- package/bundled-skills/networkx/references/visualization.md +529 -0
- package/bundled-skills/new-rails-project/SKILL.md +4 -2
- package/bundled-skills/news-sentiment-engine/SKILL.md +13 -28
- package/bundled-skills/nft-standards/SKILL.md +15 -1
- package/bundled-skills/nsfw-ai-spicyapi/SKILL.md +8 -0
- package/bundled-skills/nx-workspace-patterns/SKILL.md +0 -1
- package/bundled-skills/objection-preemptor/SKILL.md +15 -7
- package/bundled-skills/observability-monitoring-monitor-setup/SKILL.md +1 -1
- package/bundled-skills/obsidian-cli/SKILL.md +4 -2
- package/bundled-skills/odoo-module-developer/SKILL.md +4 -1
- package/bundled-skills/odoo-orm-expert/SKILL.md +4 -2
- package/bundled-skills/odw/SKILL.md +8 -0
- package/bundled-skills/offensive-osint/SKILL.md +76 -70
- package/bundled-skills/offensive-osint/UPSTREAM-LICENSE.txt +395 -0
- package/bundled-skills/offensive-osint/UPSTREAM-NOTICE.md +26 -0
- package/bundled-skills/offensive-osint/references/breach-and-credentials.md +130 -0
- package/bundled-skills/offensive-osint/references/dork-corpus.md +182 -0
- package/bundled-skills/offensive-osint/references/helpers-and-automation.md +266 -0
- package/bundled-skills/offensive-osint/references/identity-fabric.md +309 -0
- package/bundled-skills/offensive-osint/references/people-osint.md +107 -0
- package/bundled-skills/offensive-osint/references/probes-and-wordlists.md +1269 -0
- package/bundled-skills/offensive-osint/references/recon-stack.md +284 -0
- package/bundled-skills/offensive-osint/references/recon-techniques.md +343 -0
- package/bundled-skills/offensive-osint/references/saas-public-surfaces.md +140 -0
- package/bundled-skills/offensive-osint/references/secret-patterns.md +71 -0
- package/bundled-skills/offensive-osint/references/secret-validators.md +334 -0
- package/bundled-skills/offensive-osint/references/sector-notes.md +74 -0
- package/bundled-skills/offensive-osint/references/severity-matrix.md +112 -0
- package/bundled-skills/offensive-osint/references/specialized-osint.md +204 -0
- package/bundled-skills/offensive-osint/references/tooling-install.md +190 -0
- package/bundled-skills/offers/SKILL.md +1 -1
- package/bundled-skills/omp-delegate/SKILL.md +5 -1
- package/bundled-skills/omp-delegate/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/omp-delegate/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/omp-delegate/scripts/relay.mjs +823 -0
- package/bundled-skills/on-call-handoff-patterns/SKILL.md +2 -2
- package/bundled-skills/onboarding/SKILL.md +1 -1
- package/bundled-skills/onboarding-cro/SKILL.md +1 -1
- package/bundled-skills/open-source-marketing/SKILL.md +1 -1
- package/bundled-skills/opencode-delegate/SKILL.md +5 -1
- package/bundled-skills/opencode-delegate/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/opencode-delegate/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/opencode-delegate/scripts/relay.mjs +781 -0
- package/bundled-skills/page-cro/SKILL.md +14 -110
- package/bundled-skills/payment-integration/SKILL.md +0 -1
- package/bundled-skills/paypal-integration/SKILL.md +3 -1
- package/bundled-skills/pentest-tools/src-hunter/SKILL.md +8 -0
- package/bundled-skills/performance-engineer/SKILL.md +1 -1
- package/bundled-skills/performance-optimization/SKILL.md +8 -0
- package/bundled-skills/performance-testing-review-ai-review/SKILL.md +8 -1
- package/bundled-skills/performance-testing-review-multi-agent-review/SKILL.md +1 -1
- package/bundled-skills/php-pro/SKILL.md +0 -1
- package/bundled-skills/pi-delegate/SKILL.md +5 -1
- package/bundled-skills/pi-delegate/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/pi-delegate/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/pi-delegate/scripts/relay.mjs +822 -0
- package/bundled-skills/pitch-psychologist/SKILL.md +18 -10
- package/bundled-skills/planning-and-task-breakdown/SKILL.md +8 -0
- package/bundled-skills/playwright-java/SKILL.md +14 -0
- package/bundled-skills/podcast-generation/SKILL.md +3 -0
- package/bundled-skills/podcast-generation/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/podcast-generation/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/podcast-generation/references/architecture.md +87 -0
- package/bundled-skills/podcast-generation/references/code-examples.md +189 -0
- package/bundled-skills/podcast-generation/scripts/pcm_to_wav.py +73 -0
- package/bundled-skills/polars/SKILL.md +3 -0
- package/bundled-skills/polars/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/polars/UPSTREAM-NOTICE.md +16 -0
- package/bundled-skills/polars/references/best_practices.md +649 -0
- package/bundled-skills/polars/references/core_concepts.md +378 -0
- package/bundled-skills/polars/references/io_guide.md +557 -0
- package/bundled-skills/polars/references/operations.md +602 -0
- package/bundled-skills/polars/references/pandas_migration.md +417 -0
- package/bundled-skills/polars/references/transformations.md +549 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/SKILL.md +3 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/UPSTREAM-NOTICE.md +18 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/amendments.md +146 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/protocol-spec.md +506 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/routing.md +227 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/templates.md +438 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/troubleshooting.md +216 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/scripts/init_polis.py +559 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/scripts/route_contract.py +19 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/templates/POLIS_CONSTITUTION.md +293 -0
- package/bundled-skills/posix-shell-pro/SKILL.md +0 -1
- package/bundled-skills/power-user-cultivation/SKILL.md +1 -1
- package/bundled-skills/presentation-deck/SKILL.md +4 -4
- package/bundled-skills/presentation-deck/references/related-skills.md +1 -1
- package/bundled-skills/price-psychology-strategist/SKILL.md +16 -8
- package/bundled-skills/pricing/SKILL.md +1 -1
- package/bundled-skills/product-marketing/SKILL.md +1 -1
- package/bundled-skills/prometheus-configuration/SKILL.md +11 -1
- package/bundled-skills/prompt-engineering-patterns/SKILL.md +0 -1
- package/bundled-skills/public-relations/SKILL.md +1 -1
- package/bundled-skills/pubmed-database/SKILL.md +10 -0
- package/bundled-skills/pypict-skill/SKILL.md +18 -5
- package/bundled-skills/python-testing-patterns/resources/implementation-playbook.md +7 -2
- package/bundled-skills/qiskit/SKILL.md +3 -0
- package/bundled-skills/qiskit/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/qiskit/UPSTREAM-NOTICE.md +18 -0
- package/bundled-skills/qiskit/references/algorithms.md +607 -0
- package/bundled-skills/qiskit/references/backends.md +433 -0
- package/bundled-skills/qiskit/references/circuits.md +197 -0
- package/bundled-skills/qiskit/references/patterns.md +533 -0
- package/bundled-skills/qiskit/references/primitives.md +277 -0
- package/bundled-skills/qiskit/references/setup.md +99 -0
- package/bundled-skills/qiskit/references/transpilation.md +286 -0
- package/bundled-skills/qiskit/references/visualization.md +415 -0
- package/bundled-skills/qoder-delegate/SKILL.md +5 -1
- package/bundled-skills/qoder-delegate/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/qoder-delegate/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/qoder-delegate/scripts/relay.mjs +698 -0
- package/bundled-skills/quant-analyst/SKILL.md +0 -1
- package/bundled-skills/radare2/SKILL.md +9 -0
- package/bundled-skills/react-flow-node-ts/SKILL.md +3 -0
- package/bundled-skills/react-flow-node-ts/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/react-flow-node-ts/UPSTREAM-NOTICE.md +12 -0
- package/bundled-skills/react-flow-node-ts/assets/template.tsx +108 -0
- package/bundled-skills/react-flow-node-ts/assets/types.template.ts +34 -0
- package/bundled-skills/react-state-management/SKILL.md +0 -1
- package/bundled-skills/read-all-adrs/SKILL.md +3 -4
- package/bundled-skills/recsys-pipeline-architect/SKILL.md +8 -0
- package/bundled-skills/reference-builder/SKILL.md +0 -1
- package/bundled-skills/risk-manager/SKILL.md +0 -1
- package/bundled-skills/robius-app-architecture/SKILL.md +10 -0
- package/bundled-skills/robius-event-action/SKILL.md +10 -0
- package/bundled-skills/robius-matrix-integration/SKILL.md +10 -0
- package/bundled-skills/robius-state-management/SKILL.md +10 -0
- package/bundled-skills/robius-widget-patterns/SKILL.md +10 -0
- package/bundled-skills/ruby-pro/SKILL.md +0 -1
- package/bundled-skills/scala-pro/SKILL.md +0 -1
- package/bundled-skills/scanpy/SKILL.md +3 -0
- package/bundled-skills/scanpy/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/scanpy/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/scanpy/assets/analysis_template.py +295 -0
- package/bundled-skills/scanpy/references/api_reference.md +251 -0
- package/bundled-skills/scanpy/references/plotting_guide.md +352 -0
- package/bundled-skills/scanpy/references/standard_workflow.md +206 -0
- package/bundled-skills/scanpy/scripts/qc_analysis.py +200 -0
- package/bundled-skills/scarcity-urgency-psychologist/SKILL.md +15 -7
- package/bundled-skills/score-eval/SKILL.md +29 -18
- package/bundled-skills/search-specialist/SKILL.md +0 -1
- package/bundled-skills/security-bluebook-builder/SKILL.md +9 -1
- package/bundled-skills/security-compliance-compliance-check/resources/implementation-playbook.md +46 -177
- package/bundled-skills/security-requirement-extraction/resources/implementation-playbook.md +8 -6
- package/bundled-skills/senior-fullstack/SKILL.md +24 -200
- package/bundled-skills/senior-fullstack/references/architecture_patterns.md +4 -100
- package/bundled-skills/senior-fullstack/references/development_workflows.md +4 -100
- package/bundled-skills/senior-fullstack/references/tech_stack_guide.md +4 -100
- package/bundled-skills/senior-fullstack/scripts/code_quality_analyzer.py +5 -13
- package/bundled-skills/senior-fullstack/scripts/fullstack_scaffolder.py +5 -13
- package/bundled-skills/senior-fullstack/scripts/project_scaffolder.py +5 -13
- package/bundled-skills/seo-authority-builder/SKILL.md +0 -1
- package/bundled-skills/seo-cannibalization-detector/SKILL.md +6 -2
- package/bundled-skills/seo-content/SKILL.md +8 -0
- package/bundled-skills/seo-content-auditor/SKILL.md +3 -1
- package/bundled-skills/seo-directory-backlinks/SKILL.md +8 -0
- package/bundled-skills/seo-image-gen/SKILL.md +14 -0
- package/bundled-skills/seo-keyword-strategist/SKILL.md +0 -1
- package/bundled-skills/seo-meta-optimizer/SKILL.md +0 -1
- package/bundled-skills/seo-schema/SKILL.md +8 -0
- package/bundled-skills/seo-snippet-hunter/SKILL.md +0 -1
- package/bundled-skills/seo-structure-architect/SKILL.md +6 -2
- package/bundled-skills/sequence-psychologist/SKILL.md +15 -7
- package/bundled-skills/service-mesh-expert/SKILL.md +0 -1
- package/bundled-skills/service-mesh-observability/SKILL.md +0 -1
- package/bundled-skills/sharp-edges/SKILL.md +3 -0
- package/bundled-skills/sharp-edges/UPSTREAM-LICENSE.txt +427 -0
- package/bundled-skills/sharp-edges/UPSTREAM-NOTICE.md +26 -0
- package/bundled-skills/sharp-edges/references/auth-patterns.md +252 -0
- package/bundled-skills/sharp-edges/references/case-studies.md +274 -0
- package/bundled-skills/sharp-edges/references/config-patterns.md +333 -0
- package/bundled-skills/sharp-edges/references/crypto-apis.md +190 -0
- package/bundled-skills/sharp-edges/references/lang-c.md +205 -0
- package/bundled-skills/sharp-edges/references/lang-csharp.md +285 -0
- package/bundled-skills/sharp-edges/references/lang-go.md +270 -0
- package/bundled-skills/sharp-edges/references/lang-java.md +263 -0
- package/bundled-skills/sharp-edges/references/lang-javascript.md +269 -0
- package/bundled-skills/sharp-edges/references/lang-kotlin.md +265 -0
- package/bundled-skills/sharp-edges/references/lang-php.md +245 -0
- package/bundled-skills/sharp-edges/references/lang-python.md +274 -0
- package/bundled-skills/sharp-edges/references/lang-ruby.md +273 -0
- package/bundled-skills/sharp-edges/references/lang-rust.md +272 -0
- package/bundled-skills/sharp-edges/references/lang-swift.md +287 -0
- package/bundled-skills/sharp-edges/references/language-specific.md +588 -0
- package/bundled-skills/shellcheck-configuration/SKILL.md +0 -1
- package/bundled-skills/shipping-and-launch/SKILL.md +11 -0
- package/bundled-skills/skill-scanner/SKILL.md +23 -14
- package/bundled-skills/skill-scanner/UPSTREAM-LICENSE.txt +190 -0
- package/bundled-skills/skill-scanner/UPSTREAM-NOTICE.md +14 -0
- package/bundled-skills/skill-scanner/references/dangerous-code-patterns.md +194 -0
- package/bundled-skills/skill-scanner/references/permission-analysis.md +93 -0
- package/bundled-skills/skill-scanner/references/prompt-injection-patterns.md +157 -0
- package/bundled-skills/skill-scanner/scripts/scan_skill.py +800 -0
- package/bundled-skills/skill-seekers/SKILL.md +16 -20
- package/bundled-skills/slideops/SKILL.md +3 -0
- package/bundled-skills/slideops/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/slideops/UPSTREAM-NOTICE.md +16 -0
- package/bundled-skills/slideops/assets/template.html +536 -0
- package/bundled-skills/slideops/references/automation.md +185 -0
- package/bundled-skills/slideops/references/diagrams.md +92 -0
- package/bundled-skills/slideops/references/verification.md +124 -0
- package/bundled-skills/slideops/scripts/check.py +501 -0
- package/bundled-skills/slideops/scripts/cite.py +143 -0
- package/bundled-skills/social-proof-architect/SKILL.md +16 -8
- package/bundled-skills/spark-optimization/SKILL.md +0 -1
- package/bundled-skills/speckit-updater/SKILL.md +7 -0
- package/bundled-skills/speed/SKILL.md +16 -14
- package/bundled-skills/sred-project-organizer/SKILL.md +7 -0
- package/bundled-skills/startup-analyst/SKILL.md +0 -1
- package/bundled-skills/startup-business-analyst-business-case/SKILL.md +0 -1
- package/bundled-skills/startup-business-analyst-financial-projections/SKILL.md +0 -1
- package/bundled-skills/startup-business-analyst-market-opportunity/SKILL.md +0 -1
- package/bundled-skills/startup-financial-modeling/SKILL.md +16 -25
- package/bundled-skills/subject-line-psychologist/SKILL.md +15 -7
- package/bundled-skills/superpowers-lab/SKILL.md +15 -20
- package/bundled-skills/supply-chain-security/SKILL.md +6 -14
- package/bundled-skills/supply-chain-security/references/cicd-pipeline-security.md +3 -39
- package/bundled-skills/swiftui-ui-patterns/SKILL.md +4 -0
- package/bundled-skills/swiftui-ui-patterns/references/async-state.md +14 -8
- package/bundled-skills/swiftui-ui-patterns/references/controls.md +1 -1
- package/bundled-skills/swiftui-ui-patterns/references/form.md +22 -4
- package/bundled-skills/swiftui-ui-patterns/references/lightweight-clients.md +3 -3
- package/bundled-skills/swiftui-ui-patterns/references/list.md +2 -2
- package/bundled-skills/swiftui-ui-patterns/references/matched-transitions.md +3 -1
- package/bundled-skills/swiftui-ui-patterns/references/media.md +3 -0
- package/bundled-skills/swiftui-ui-patterns/references/overlay.md +8 -3
- package/bundled-skills/swiftui-ui-patterns/references/performance.md +2 -5
- package/bundled-skills/swiftui-ui-patterns/references/scroll-reveal.md +3 -1
- package/bundled-skills/swiftui-ui-patterns/references/searchable.md +23 -7
- package/bundled-skills/swiftui-ui-patterns/references/sheets.md +16 -10
- package/bundled-skills/swiftui-ui-patterns/references/split-views.md +4 -1
- package/bundled-skills/systematic-debugging/condition-based-waiting-example.ts +30 -144
- package/bundled-skills/systematic-debugging/condition-based-waiting.md +1 -1
- package/bundled-skills/tdd-orchestrator/SKILL.md +0 -1
- package/bundled-skills/team-composition-analysis/SKILL.md +9 -1
- package/bundled-skills/technical-tutorials/SKILL.md +1 -1
- package/bundled-skills/temporal-python-pro/SKILL.md +0 -1
- package/bundled-skills/temporal-python-testing/SKILL.md +0 -1
- package/bundled-skills/terraform-module-library/SKILL.md +11 -1
- package/bundled-skills/test-automator/SKILL.md +0 -1
- package/bundled-skills/testing-patterns/SKILL.md +6 -6
- package/bundled-skills/trust-calibrator/SKILL.md +15 -7
- package/bundled-skills/tune-monitor/SKILL.md +3 -0
- package/bundled-skills/tune-monitor/UPSTREAM-LICENSE.txt +201 -0
- package/bundled-skills/tune-monitor/UPSTREAM-NOTICE.md +14 -0
- package/bundled-skills/tune-monitor/references/custom-sql-monitor.md +112 -0
- package/bundled-skills/tune-monitor/references/metric-monitor.md +118 -0
- package/bundled-skills/tune-monitor/references/table-monitor.md +138 -0
- package/bundled-skills/tune-monitor/references/validation-monitor.md +132 -0
- package/bundled-skills/turborepo-caching/SKILL.md +0 -1
- package/bundled-skills/tutorial-engineer/SKILL.md +0 -1
- package/bundled-skills/typescript-expert/SKILL.md +10 -8
- package/bundled-skills/typescript-expert/scripts/ts_diagnostic.py +48 -15
- package/bundled-skills/ui-ux-designer/SKILL.md +0 -1
- package/bundled-skills/ui-visual-validator/SKILL.md +0 -1
- package/bundled-skills/uniprot-database/SKILL.md +8 -0
- package/bundled-skills/unity-developer/SKILL.md +0 -1
- package/bundled-skills/usage-based-pricing/SKILL.md +1 -1
- package/bundled-skills/using-agent-skills/SKILL.md +4 -1
- package/bundled-skills/using-agent-skills/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/using-agent-skills/UPSTREAM-NOTICE.md +11 -0
- package/bundled-skills/using-agent-skills/references/definition-of-done.md +67 -0
- package/bundled-skills/using-neon/SKILL.md +21 -0
- package/bundled-skills/ux-persuasion-engineer/SKILL.md +15 -7
- package/bundled-skills/variant-analysis/SKILL.md +10 -0
- package/bundled-skills/vexor-cli/SKILL.md +8 -0
- package/bundled-skills/vibe-delegate/SKILL.md +5 -1
- package/bundled-skills/vibe-delegate/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/vibe-delegate/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/vibe-delegate/scripts/relay.mjs +773 -0
- package/bundled-skills/video-content-extractor/SKILL.md +8 -0
- package/bundled-skills/visual-emotion-engineer/SKILL.md +16 -8
- package/bundled-skills/warp-delegate/SKILL.md +5 -1
- package/bundled-skills/warp-delegate/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/warp-delegate/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/warp-delegate/scripts/relay.mjs +837 -0
- package/bundled-skills/wcag-audit-patterns/resources/implementation-playbook.md +14 -33
- package/bundled-skills/web-performance-optimization/SKILL.md +15 -15
- package/bundled-skills/web-performance-optimization/references/detailed-guide.md +12 -7
- package/bundled-skills/web3-testing/SKILL.md +16 -1
- package/bundled-skills/workflow-orchestration-patterns/SKILL.md +1 -2
- package/bundled-skills/zcode-delegate/SKILL.md +11 -3
- package/bundled-skills/zcode-delegate/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/zcode-delegate/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/zcode-delegate/references/dispatch-and-poll.md +4 -4
- package/bundled-skills/zcode-delegate/scripts/relay.mjs +1043 -0
- package/package.json +1 -1
- package/skills_index.json +168 -154
- package/bundled-skills/api-security-testing/SKILL.md +0 -176
|
@@ -0,0 +1,1269 @@
|
|
|
1
|
+
# Probes & Wordlists
|
|
2
|
+
|
|
3
|
+
> **AAS adaptation:** Read the authorization gate in [the skill](../SKILL.md) before any target request, credential use, or data collection. These are reference examples, not an instruction to run a sweep. Select only explicitly approved targets and techniques; set request, time, byte and concurrency limits and stop on errors or scope changes. Preserve TLS verification. Treat discoveries, pattern matches and historical provider claims as leads, not verified ownership, permission or severity. Minimize personal data and redact credentials before reports; do not send private evidence to public services. Prices, quotas, API shapes and tool availability require current official documentation. Changes and original source hashes are recorded in [the notice](../UPSTREAM-NOTICE.md).
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
> Reference content for the `offensive-osint` skill. Originally §16 of the monolithic SKILL.md (refactored 2026-05-02 for size/load efficiency).
|
|
7
|
+
|
|
8
|
+
## 16. Pre-built Wordlists & Probe Paths
|
|
9
|
+
|
|
10
|
+
Select individual reference entries after scope confirmation. Listed severity labels are historical review priorities, not automatic findings; intended public behavior and actual impact must be verified.
|
|
11
|
+
|
|
12
|
+
### 16.1 Swagger / OpenAPI discovery — 28 paths
|
|
13
|
+
|
|
14
|
+
Probe only approved host/path combinations within a finite request budget; HEAD is not a way around provider limits. Public API specifications may be intentional.
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
swagger.json
|
|
18
|
+
swagger.yaml
|
|
19
|
+
swagger/v1/swagger.json
|
|
20
|
+
swagger/v2/swagger.json
|
|
21
|
+
swagger-ui.html
|
|
22
|
+
swagger-ui/
|
|
23
|
+
swagger-resources
|
|
24
|
+
api-docs
|
|
25
|
+
api-docs.json
|
|
26
|
+
api/swagger
|
|
27
|
+
api/swagger.json
|
|
28
|
+
api/swagger-ui.html
|
|
29
|
+
api/v1/swagger.json
|
|
30
|
+
api/v2/swagger.json
|
|
31
|
+
api/v3/api-docs
|
|
32
|
+
v2/api-docs
|
|
33
|
+
v3/api-docs
|
|
34
|
+
openapi.json
|
|
35
|
+
openapi.yaml
|
|
36
|
+
openapi/v1
|
|
37
|
+
openapi/v3
|
|
38
|
+
docs
|
|
39
|
+
redoc
|
|
40
|
+
rapidoc
|
|
41
|
+
api/docs
|
|
42
|
+
api/documentation
|
|
43
|
+
.well-known/openapi
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Severity:**
|
|
47
|
+
- Reachable Swagger/OpenAPI spec without auth → **HIGH** `LEAKY_API_SPEC` (full endpoint enumeration leaks; often reveals undocumented internal APIs).
|
|
48
|
+
- Behind auth but accessible to any authenticated user → MEDIUM (still discloses internal API surface).
|
|
49
|
+
|
|
50
|
+
### 16.2 GraphQL discovery — 13 paths
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
graphql
|
|
54
|
+
graphiql
|
|
55
|
+
api/graphql
|
|
56
|
+
v1/graphql
|
|
57
|
+
v2/graphql
|
|
58
|
+
query
|
|
59
|
+
api/query
|
|
60
|
+
gql
|
|
61
|
+
altair
|
|
62
|
+
playground
|
|
63
|
+
subscriptions
|
|
64
|
+
graphql/console
|
|
65
|
+
api/v1/graphql
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**Standard introspection POST body:**
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"operationName": "IntrospectionQuery",
|
|
72
|
+
"query": "query IntrospectionQuery { __schema { types { name kind fields { name type { name kind } } } queryType { name } mutationType { name } subscriptionType { name } } }"
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**Severity:**
|
|
77
|
+
- Introspection returns schema without auth → **HIGH** `OPEN_GRAPHQL_API`.
|
|
78
|
+
- Field-suggestion enumeration possible (server returns "did you mean" for typo'd field names) → **MEDIUM** (re-derive partial schema even when introspection is disabled).
|
|
79
|
+
- `/graphql` accepts batched queries (`[...]` request body) → MEDIUM (rate-limit bypass surface; auth bypass via mixed batches).
|
|
80
|
+
|
|
81
|
+
UI markers (lower severity but still discoverable):
|
|
82
|
+
- HTML response contains `graphiql`, `playground`, `apollo studio`, `altair` → GraphiQL UI exposed (often shipped accidentally on prod).
|
|
83
|
+
|
|
84
|
+
### 16.3 High-risk ports — 35 services
|
|
85
|
+
|
|
86
|
+
Record open ports as asset observations. The service and historical severity columns are hypotheses; confirm the actual protocol, authentication, configuration and affected version before creating a finding. Source for the open-port observation: Shodan InternetDB (free, 1 req/sec) is the recommended starting point.
|
|
87
|
+
|
|
88
|
+
| Port | Service | Severity | Why it matters |
|
|
89
|
+
|---|---|---|---|
|
|
90
|
+
| 21 | FTP | HIGH | Anonymous read often enabled; cleartext creds. |
|
|
91
|
+
| 22 | SSH | LOW | Banner discloses version; brute-force surface. |
|
|
92
|
+
| 23 | Telnet | HIGH | Cleartext protocol; should never be exposed. |
|
|
93
|
+
| 25 | SMTP | LOW | Open relay risk; version banner. |
|
|
94
|
+
| 53 | DNS | LOW | Recursion = DDoS amplifier; AXFR opportunism. |
|
|
95
|
+
| 80 | HTTP | INFO | Standard. |
|
|
96
|
+
| 110 | POP3 | LOW | Cleartext if no STARTTLS. |
|
|
97
|
+
| 111 | rpcbind | MEDIUM | NFS exports enumeration. |
|
|
98
|
+
| 135 | MS RPC | HIGH | Enum via Impacket. |
|
|
99
|
+
| 139 | NetBIOS-SSN | HIGH | File/printer enum. |
|
|
100
|
+
| 143 | IMAP | LOW | Cleartext if no STARTTLS. |
|
|
101
|
+
| 161 | SNMP | HIGH | Community strings often `public`/`private`; full device enum. |
|
|
102
|
+
| 389 | LDAP | HIGH | Anonymous bind = full directory dump. |
|
|
103
|
+
| 443 | HTTPS | INFO | Standard. |
|
|
104
|
+
| 445 | SMB | **CRITICAL** | EternalBlue, SMB relay, anonymous shares. |
|
|
105
|
+
| 465 | SMTPS | LOW | Banner. |
|
|
106
|
+
| 514 | rsyslog | MEDIUM | Log injection / DoS. |
|
|
107
|
+
| 587 | SMTP-MSA | LOW | Banner. |
|
|
108
|
+
| 631 | IPP/CUPS | MEDIUM | Print server enum / RCE in old CUPS. |
|
|
109
|
+
| 873 | rsync | HIGH | Modules often listable; backup data exposure. |
|
|
110
|
+
| 1433 | MSSQL | HIGH | Brute-force; xp_cmdshell. |
|
|
111
|
+
| 1521 | Oracle TNS | HIGH | Brute-force; SID enum. |
|
|
112
|
+
| 2049 | NFS | HIGH | World-readable exports. |
|
|
113
|
+
| 2375 | Docker API (unencrypted) | **CRITICAL** | Unauthenticated container/host takeover. |
|
|
114
|
+
| 2376 | Docker API (TLS) | HIGH | Cert validation bypass risk. |
|
|
115
|
+
| 3000 | Common dev / Grafana | MEDIUM | Often Grafana / Express dev with default creds. |
|
|
116
|
+
| 3306 | MySQL | HIGH | Brute-force; default `root:""`. |
|
|
117
|
+
| 3389 | RDP | **CRITICAL** | BlueKeep / DejaBlue / NLA bypass. |
|
|
118
|
+
| 5432 | PostgreSQL | HIGH | Brute-force; default `postgres:postgres`. |
|
|
119
|
+
| 5601 | Kibana | HIGH | Often unauthenticated; Elasticsearch pivot. |
|
|
120
|
+
| 5900 | VNC | HIGH | Often unauthenticated or weak password. |
|
|
121
|
+
| 5984 | CouchDB | HIGH | Default no auth; admin party. |
|
|
122
|
+
| 6379 | Redis | **CRITICAL** | No auth default; write `authorized_keys` for SSH. |
|
|
123
|
+
| 7001 | WebLogic | HIGH | Frequent CVEs (CVE-2020-14882, etc.). |
|
|
124
|
+
| 8000 | Common dev | MEDIUM | Django, common dev servers. |
|
|
125
|
+
| 8080 | HTTP-alt | MEDIUM | Tomcat, Jenkins, common proxy. |
|
|
126
|
+
| 8443 | HTTPS-alt | MEDIUM | Same as 8080. |
|
|
127
|
+
| 8888 | Common dev / Jupyter | HIGH | Jupyter often exposes interactive shell. |
|
|
128
|
+
| 9090 | Cockpit / Prometheus | HIGH | Server admin UI / metrics scraping. |
|
|
129
|
+
| 9200 | Elasticsearch | **CRITICAL** | Typically no auth. |
|
|
130
|
+
| 9300 | Elasticsearch transport | HIGH | Cluster join + RCE. |
|
|
131
|
+
| 11211 | memcached | MEDIUM | UDP DDoS amp; data dump. |
|
|
132
|
+
| 27017 | MongoDB | **CRITICAL** | No auth by default. |
|
|
133
|
+
| 50070 | Hadoop NameNode | HIGH | HDFS browse. |
|
|
134
|
+
|
|
135
|
+
When Shodan InternetDB returns `vulns[]` for a port, record a dated external CVE lead and verify affected versions and prerequisites; never escalate severity from a provider tag alone.
|
|
136
|
+
|
|
137
|
+
### 16.4 Missing security headers — 6 findings
|
|
138
|
+
|
|
139
|
+
For every alive webapp, audit response headers. Evaluate applicability and effective replacements first (for example CSP frame-ancestors); a missing header alone is a hardening observation, not an automatic finding.
|
|
140
|
+
|
|
141
|
+
| Header | Severity (default) | Severity (sensitive path) | Notes |
|
|
142
|
+
|---|---|---|---|
|
|
143
|
+
| `Strict-Transport-Security` | MEDIUM | **HIGH** | Sensitive paths: `/login`, `/signin`, `/sso`, `/admin`, `/auth`. |
|
|
144
|
+
| `Content-Security-Policy` | MEDIUM | MEDIUM | XSS impact mitigation gone. |
|
|
145
|
+
| `X-Frame-Options` | LOW | LOW | Clickjacking. (CSP `frame-ancestors` is the modern replacement.) |
|
|
146
|
+
| `X-Content-Type-Options` | LOW | LOW | MIME-sniff XSS. |
|
|
147
|
+
| `Referrer-Policy` | INFO | INFO | Outbound link leakage. |
|
|
148
|
+
| `Permissions-Policy` | INFO | INFO | Feature-policy hardening. |
|
|
149
|
+
|
|
150
|
+
### 16.5 Always-on HTTP checks — 15 paths
|
|
151
|
+
|
|
152
|
+
Use only selected approved paths with a request/response budget. Do not fetch heap dumps, private environments or sensitive content to manufacture evidence.
|
|
153
|
+
|
|
154
|
+
| Path | Finding | Severity | Match logic |
|
|
155
|
+
|---|---|---|---|
|
|
156
|
+
| `/.git/config` | Exposed `.git` repo | **CRITICAL** | Body contains `[core]`, `[remote`, `repositoryformatversion` |
|
|
157
|
+
| `/.git/HEAD` | Exposed `.git/HEAD` | HIGH | Body matches `^ref:\s` |
|
|
158
|
+
| `/.env` | Exposed `.env` | **CRITICAL** | Multiline regex `^\s*[A-Z_][A-Z0-9_]*\s*=` |
|
|
159
|
+
| `/server-status` | Apache server-status | MEDIUM | Body contains `Apache Server Status` or matching title |
|
|
160
|
+
| `/server-info` | Apache mod_info | MEDIUM | Body contains `Apache Server Information` |
|
|
161
|
+
| `/.DS_Store` | Exposed `.DS_Store` | LOW | Byte signature `\x00\x00\x00\x01Bud1` |
|
|
162
|
+
| `/phpinfo.php` | phpinfo() leak | HIGH | Body contains `phpinfo()`, `PHP Version`, or matching title |
|
|
163
|
+
| `/info.php` | phpinfo() (alt path) | HIGH | Same as above |
|
|
164
|
+
| `/actuator/env` | Spring Boot `/actuator/env` | **CRITICAL** | Body contains `"propertySources"`, `systemProperties`, `systemEnvironment` |
|
|
165
|
+
| `/actuator/heapdump` | Spring Boot heapdump | **CRITICAL** | HPROF magic bytes / large binary download |
|
|
166
|
+
| `/_cat/indices` | Elasticsearch open | HIGH | Returns index list |
|
|
167
|
+
| `/console` | Jenkins script console | HIGH | Body contains `Jenkins`/`Script Console` |
|
|
168
|
+
| `/manager/html` | Tomcat Manager | HIGH | Body contains `Tomcat Web Application Manager` |
|
|
169
|
+
| `/wp-admin/install.php` | Orphaned WP install | LOW | Body contains `WordPress Installation` |
|
|
170
|
+
| `/.well-known/security.txt` | Disclosure policy info | INFO | Parse contact + policy fields |
|
|
171
|
+
|
|
172
|
+
Plus parse `/robots.txt` for `Disallow:` paths — those become the next-tier wordlist for that target.
|
|
173
|
+
|
|
174
|
+
### 16.6 SAML metadata — 5 paths
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
/saml/metadata
|
|
178
|
+
/FederationMetadata/2007-06/FederationMetadata.xml
|
|
179
|
+
/federationmetadata/2007-06/federationmetadata.xml
|
|
180
|
+
/simplesaml/saml2/idp/metadata.php
|
|
181
|
+
/auth/saml2/metadata
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
Reachable SAML metadata XML reveals: `EntityID`, signing certs (often pinned → cert-reuse pivot), `SingleSignOnService` URL, `NameIDFormat`. Mark as `MISCONFIG` (LOW severity unless metadata leaks internal hostnames or non-public certs, then MEDIUM).
|
|
185
|
+
|
|
186
|
+
### 16.7 SSO subdomain prefixes — 8 prefixes
|
|
187
|
+
|
|
188
|
+
Probe each against root domain + every sibling brand domain:
|
|
189
|
+
```
|
|
190
|
+
auth.{domain}
|
|
191
|
+
login.{domain}
|
|
192
|
+
sso.{domain}
|
|
193
|
+
idp.{domain}
|
|
194
|
+
iam.{domain}
|
|
195
|
+
identity.{domain}
|
|
196
|
+
accounts.{domain}
|
|
197
|
+
oauth.{domain}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Plus probe `/.well-known/openid-configuration` on every alive subdomain (regardless of prefix).
|
|
201
|
+
|
|
202
|
+
### 16.8 Cloud bucket permutation arsenal
|
|
203
|
+
|
|
204
|
+
**6 prefixes:**
|
|
205
|
+
```
|
|
206
|
+
"" # bare candidate
|
|
207
|
+
backup-
|
|
208
|
+
assets-
|
|
209
|
+
static-
|
|
210
|
+
dev-
|
|
211
|
+
prod-
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
**15 suffixes:**
|
|
215
|
+
```
|
|
216
|
+
"" # bare candidate
|
|
217
|
+
-backup
|
|
218
|
+
-assets
|
|
219
|
+
-static
|
|
220
|
+
-media
|
|
221
|
+
-data
|
|
222
|
+
-uploads
|
|
223
|
+
-dev
|
|
224
|
+
-prod
|
|
225
|
+
-staging
|
|
226
|
+
-logs
|
|
227
|
+
-private
|
|
228
|
+
-public
|
|
229
|
+
-dump
|
|
230
|
+
-archive
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
**47 generic stems** (filter unless combined with target-identifying token):
|
|
234
|
+
```
|
|
235
|
+
www, mail, email, app, apps, web, webmail, ftp, cdn, static, assets, media, img, images,
|
|
236
|
+
videos, download, downloads, upload, uploads, data, files, docs, support, help, kb,
|
|
237
|
+
blog, news, dev, test, staging, stg, qa, uat, sandbox, preprod, preview, vpn,
|
|
238
|
+
mx, smtp, imap, pop, dns, ns, ns1, ns2, mx1, mx2
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
**Provider URL templates:**
|
|
242
|
+
|
|
243
|
+
S3:
|
|
244
|
+
```
|
|
245
|
+
https://{candidate}.s3.amazonaws.com/
|
|
246
|
+
https://{candidate}.s3-{region}.amazonaws.com/ # try us-east-1, us-west-2, eu-west-1, ap-southeast-1 first
|
|
247
|
+
https://s3.{region}.amazonaws.com/{candidate}/
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
GCS:
|
|
251
|
+
```
|
|
252
|
+
https://{candidate}.storage.googleapis.com/
|
|
253
|
+
https://storage.googleapis.com/{candidate}/
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
Azure Blob:
|
|
257
|
+
```
|
|
258
|
+
https://{candidate}.blob.core.windows.net/
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
**Probe technique:** HEAD first → status codes depend on provider, redirects and policy and do not alone prove existence, ownership or private/public access. An approved minimal listing/read is an observation; intended-public content is not a vulnerability. Assign severity only from unintended sensitive exposure, without bulk downloads.
|
|
262
|
+
|
|
263
|
+
### 16.9 JS guess-paths for endpoint discovery
|
|
264
|
+
|
|
265
|
+
Probe these paths on every alive webapp (in addition to scraped `<script src=...>`):
|
|
266
|
+
|
|
267
|
+
```
|
|
268
|
+
/main.js
|
|
269
|
+
/app.js
|
|
270
|
+
/bundle.js
|
|
271
|
+
/runtime.js
|
|
272
|
+
/index.js
|
|
273
|
+
/vendor.js
|
|
274
|
+
/_next/static/_buildManifest.js
|
|
275
|
+
/_next/static/_ssgManifest.js
|
|
276
|
+
/static/js/main.js
|
|
277
|
+
/static/js/bundle.js
|
|
278
|
+
/assets/index.js
|
|
279
|
+
/static/js/main.<hash>.js # try hash discovery via 404 patterns
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
For approved JS resources, a map URL is a candidate. A public source map is not inherently a high-severity leak; inspect minimum content for unintended sensitive material.
|
|
283
|
+
|
|
284
|
+
### 16.10 Endpoint extraction regex tiers
|
|
285
|
+
|
|
286
|
+
Three tiers, run in order on every JS body + every sourcesContent[] blob:
|
|
287
|
+
|
|
288
|
+
**Tier 1 — generic quoted paths:**
|
|
289
|
+
```regex
|
|
290
|
+
['"`](/[A-Za-z0-9_\-./{}\[\]?=&%:]+)['"`]
|
|
291
|
+
```
|
|
292
|
+
Match group: the path. High recall, lots of false positives — apply allowlist downstream.
|
|
293
|
+
|
|
294
|
+
**Tier 2 — API-ish paths (biased filter on tier 1):**
|
|
295
|
+
```regex
|
|
296
|
+
['"`](/(?:api|graphql|gql|v\d+|swagger|openapi|rest|services|internal|admin|auth|oauth|user|users|account|accounts|search|export|upload|file|files|download|webhook|hooks|callback|admin)/[A-Za-z0-9_\-./{}\[\]?=&%:]+)['"`]
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
**Tier 3 — fully-qualified URLs:**
|
|
300
|
+
```regex
|
|
301
|
+
\bhttps?://[A-Za-z0-9.\-]+\.[A-Za-z]{2,}(?::\d+)?[/A-Za-z0-9_\-./{}\[\]?=&%:#]*
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
Dedup on `(method, normalized-path-template)` where the template replaces `/123/` with `/{id}/` etc.
|
|
305
|
+
|
|
306
|
+
### 16.11 Internal-host leakage regexes
|
|
307
|
+
|
|
308
|
+
Run on every JS body + sourcesContent + APK strings + manifest:
|
|
309
|
+
|
|
310
|
+
**Private/loopback IPv4 candidates (127/8 is loopback, not RFC1918; validate octets with an IP parser):**
|
|
311
|
+
```regex
|
|
312
|
+
\b(?:10\.(?:\d{1,3}\.){2}\d{1,3}|172\.(?:1[6-9]|2\d|3[01])\.(?:\d{1,3})\.(?:\d{1,3})|192\.168\.(?:\d{1,3})\.(?:\d{1,3})|127\.(?:\d{1,3}\.){2}\d{1,3})\b
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
**Internal DNS suffixes:**
|
|
316
|
+
```regex
|
|
317
|
+
\b[A-Za-z0-9][A-Za-z0-9\-]{0,62}\.(?:internal|corp|lan|intranet|local|prod|staging|dev|qa|test)\b
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
**Kubernetes service DNS:**
|
|
321
|
+
```regex
|
|
322
|
+
\b[A-Za-z0-9\-]+\.[A-Za-z0-9\-]+\.svc(?:\.cluster\.local)?\b
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
Each match → MEDIUM `INFO_DISCLOSURE`. Aggregate per host: if many matches share the same internal subdomain, that's a recon seed for any future internal phase.
|
|
326
|
+
|
|
327
|
+
### 16.12 Subdomain-takeover provider fingerprints (summary, 27 providers)
|
|
328
|
+
|
|
329
|
+
Watch for these CNAME targets + the corresponding "available for claim" response signature:
|
|
330
|
+
|
|
331
|
+
| Provider | CNAME pattern | Takeover signature |
|
|
332
|
+
|---|---|---|
|
|
333
|
+
| GitHub Pages | `*.github.io` | `There isn't a GitHub Pages site here.` |
|
|
334
|
+
| Heroku | `*.herokuapp.com` | `No such app` |
|
|
335
|
+
| AWS S3 | `*.s3*.amazonaws.com` | `NoSuchBucket` |
|
|
336
|
+
| AWS CloudFront | `*.cloudfront.net` | `Bad request` w/ specific X-Amz error |
|
|
337
|
+
| Azure (multiple) | `*.azurewebsites.net`, `*.blob.core.windows.net`, `*.cloudapp.net`, `*.trafficmanager.net` | Various per-product 404 patterns |
|
|
338
|
+
| Shopify | `shops.myshopify.com` | `Sorry, this shop is currently unavailable.` |
|
|
339
|
+
| Squarespace | `*.squarespace.com` | `No Such Account` |
|
|
340
|
+
| Tumblr | `*.tumblr.com` | `Whatever you were looking for doesn't currently exist.` |
|
|
341
|
+
| WordPress | `*.wordpress.com` | `Do you want to register *.wordpress.com?` |
|
|
342
|
+
| Fastly | various | Fastly-specific 404 |
|
|
343
|
+
| Pantheon | `*.pantheonsite.io` | `The gods are wise, but do not know of the site...` |
|
|
344
|
+
| Surge.sh | `*.surge.sh` | `project not found` |
|
|
345
|
+
| Bitbucket Pages | `*.bitbucket.io` | Repository not found |
|
|
346
|
+
| Tilda | `*.tilda.ws` | `Please renew your subscription` |
|
|
347
|
+
| Strikingly | `*.s.strikinglydns.com` | `PAGE NOT FOUND` |
|
|
348
|
+
| Smartling | `*.smartling.com` | Domain is not configured |
|
|
349
|
+
| Ngrok | `*.ngrok.io` | Tunnel not found |
|
|
350
|
+
| Webflow | `*.webflow.io` | Site not found |
|
|
351
|
+
| Zendesk | `*.zendesk.com` | `Help Center Closed` |
|
|
352
|
+
| Cargo | `*.cargocollective.com` | `404 Not Found` (with cargo branding) |
|
|
353
|
+
| Statuspage | `*.statuspage.io` | Not found |
|
|
354
|
+
| Intercom | `*.intercom.help` | Not found |
|
|
355
|
+
| Helpjuice | `*.helpjuice.com` | Not found |
|
|
356
|
+
| Helpscout | `*.helpscoutdocs.com` | Not found |
|
|
357
|
+
| Tictail | `*.tictail.com` | Not found |
|
|
358
|
+
| Brightcove | `*.brightcovegallery.com` | Not found |
|
|
359
|
+
| Smugmug | various | Not found |
|
|
360
|
+
|
|
361
|
+
For full per-provider detection signatures + edge cases, use SubdomainX or Subzy/Subjack against a freshly-fetched fingerprint database.
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
### 16.13 Copy-Paste Probes (curl one-liners)
|
|
366
|
+
|
|
367
|
+
Selected §16.1–16.12 examples; placeholders must be replaced with approved values and individually confirmed before execution. Examples use `-sS` (show errors, preserve TLS verification) and `-m 10` (10s max). Before any approved capture, set `umask 077`, create a fresh private case directory and use exclusive output paths there; fixed `/tmp` names below are historical placeholders, not safe destinations, `-w '%{http_code}\n'` (print status code), `-A "Mozilla/5.0"` (UA — change per persona).
|
|
368
|
+
|
|
369
|
+
**Always-on HTTP checks (§16.5):**
|
|
370
|
+
|
|
371
|
+
```bash
|
|
372
|
+
T="https://target.example"
|
|
373
|
+
|
|
374
|
+
# .git/config (CRITICAL)
|
|
375
|
+
curl -sS -m 10 "$T/.git/config" | grep -E '\[core\]|\[remote|repositoryformatversion'
|
|
376
|
+
|
|
377
|
+
# .git/HEAD (HIGH)
|
|
378
|
+
curl -sS -m 10 "$T/.git/HEAD" | grep -E '^ref:'
|
|
379
|
+
|
|
380
|
+
# .env (CRITICAL)
|
|
381
|
+
curl -sS -m 10 "$T/.env" | grep -E '^[[:space:]]*[A-Z_][A-Z0-9_]*[[:space:]]*='
|
|
382
|
+
|
|
383
|
+
# Apache /server-status (MEDIUM)
|
|
384
|
+
curl -sS -m 10 "$T/server-status" | grep -i 'Apache Server Status'
|
|
385
|
+
|
|
386
|
+
# Apache /server-info (MEDIUM)
|
|
387
|
+
curl -sS -m 10 "$T/server-info" | grep -i 'Apache Server Information'
|
|
388
|
+
|
|
389
|
+
# .DS_Store (LOW)
|
|
390
|
+
curl -sS -m 10 "$T/.DS_Store" -o "${PRIVATE_CASE_DIR}/dsstore" && file "${PRIVATE_CASE_DIR}/dsstore" | grep -i 'data'
|
|
391
|
+
|
|
392
|
+
# phpinfo.php (HIGH)
|
|
393
|
+
curl -sS -m 10 "$T/phpinfo.php" | grep -E 'phpinfo\(\)|PHP Version'
|
|
394
|
+
|
|
395
|
+
# info.php (HIGH)
|
|
396
|
+
curl -sS -m 10 "$T/info.php" | grep -E 'phpinfo\(\)|PHP Version'
|
|
397
|
+
|
|
398
|
+
# Spring Boot /actuator/env (CRITICAL)
|
|
399
|
+
curl -sS -m 10 "$T/actuator/env" | grep -E '"propertySources"|systemProperties|systemEnvironment'
|
|
400
|
+
|
|
401
|
+
# Spring Boot /actuator/heapdump (CRITICAL — saves binary; check size)
|
|
402
|
+
# No heap download by default: require explicit sensitive-data and byte-budget approval.
|
|
403
|
+
# Confirm the endpoint from approved metadata or an owner-provided fixture.
|
|
404
|
+
|
|
405
|
+
# Elasticsearch open (HIGH)
|
|
406
|
+
curl -sS -m 10 "$T/_cat/indices?v"
|
|
407
|
+
|
|
408
|
+
# Jenkins script console (HIGH)
|
|
409
|
+
curl -sS -m 10 "$T/script" | grep -iE 'Jenkins|Script Console'
|
|
410
|
+
|
|
411
|
+
# Tomcat manager (HIGH)
|
|
412
|
+
curl -sS -m 10 "$T/manager/html" -w '%{http_code}\n' | tail -1 # HTTP status alone does not establish access to protected manager operations
|
|
413
|
+
|
|
414
|
+
# WordPress orphan installer (LOW)
|
|
415
|
+
curl -sS -m 10 "$T/wp-admin/install.php" | grep -i 'WordPress Installation'
|
|
416
|
+
|
|
417
|
+
# security.txt (INFO)
|
|
418
|
+
curl -sS -m 10 "$T/.well-known/security.txt"
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
**SSO subdomain prefixes (§16.7):**
|
|
422
|
+
|
|
423
|
+
```bash
|
|
424
|
+
D="target.example"
|
|
425
|
+
for prefix in auth login sso idp iam identity accounts oauth; do
|
|
426
|
+
echo "=== ${prefix}.${D} ==="
|
|
427
|
+
curl -sS -m 10 "https://${prefix}.${D}/.well-known/openid-configuration" -o /dev/null -w '%{http_code}\n'
|
|
428
|
+
done
|
|
429
|
+
|
|
430
|
+
# Generic OIDC discovery on any host:
|
|
431
|
+
curl -sS -m 10 "https://${HOST}/.well-known/openid-configuration" | jq .
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
**SAML metadata paths (§16.6):**
|
|
435
|
+
|
|
436
|
+
```bash
|
|
437
|
+
H="target.example.com"
|
|
438
|
+
for p in /saml/metadata \
|
|
439
|
+
/FederationMetadata/2007-06/FederationMetadata.xml \
|
|
440
|
+
/federationmetadata/2007-06/federationmetadata.xml \
|
|
441
|
+
/simplesaml/saml2/idp/metadata.php \
|
|
442
|
+
/auth/saml2/metadata; do
|
|
443
|
+
echo "=== $p ==="
|
|
444
|
+
curl -sS -m 10 "https://${H}${p}" -o /dev/null -w '%{http_code} %{size_download}\n'
|
|
445
|
+
done
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
**Cloud bucket probes (§16.8):**
|
|
449
|
+
|
|
450
|
+
```bash
|
|
451
|
+
B="candidate-bucket-name"
|
|
452
|
+
|
|
453
|
+
# S3 (us-east-1 first)
|
|
454
|
+
curl -sS -m 10 -I "https://${B}.s3.amazonaws.com/" -w 'STATUS:%{http_code}\n' | head -20
|
|
455
|
+
# If 200/301: list objects
|
|
456
|
+
curl -sS -m 10 "https://${B}.s3.amazonaws.com/?list-type=2" | head -50
|
|
457
|
+
|
|
458
|
+
# S3 region-specific
|
|
459
|
+
for r in us-east-1 us-west-2 eu-west-1 ap-southeast-1; do
|
|
460
|
+
curl -sS -m 10 -I "https://${B}.s3-${r}.amazonaws.com/" -w "${r}: %{http_code}\n"
|
|
461
|
+
done
|
|
462
|
+
|
|
463
|
+
# GCS
|
|
464
|
+
curl -sS -m 10 -I "https://${B}.storage.googleapis.com/"
|
|
465
|
+
curl -sS -m 10 "https://storage.googleapis.com/${B}/"
|
|
466
|
+
|
|
467
|
+
# Azure Blob
|
|
468
|
+
curl -sS -m 10 -I "https://${B}.blob.core.windows.net/"
|
|
469
|
+
curl -sS -m 10 "https://${B}.blob.core.windows.net/?comp=list"
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
**GraphQL introspection POST (§16.2):**
|
|
473
|
+
|
|
474
|
+
```bash
|
|
475
|
+
H="https://target.example/graphql"
|
|
476
|
+
|
|
477
|
+
curl -sS -m 15 -X POST "$H" \
|
|
478
|
+
-H 'Content-Type: application/json' \
|
|
479
|
+
-d '{
|
|
480
|
+
"operationName":"IntrospectionQuery",
|
|
481
|
+
"query":"query IntrospectionQuery { __schema { types { name kind fields { name type { name kind } } } queryType { name } mutationType { name } subscriptionType { name } } }"
|
|
482
|
+
}' | jq '.data.__schema.types | length'
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
**Read-only secret validators (§23):**
|
|
486
|
+
|
|
487
|
+
```bash
|
|
488
|
+
# Postman PMAK
|
|
489
|
+
curl -sS -m 10 -H "X-Api-Key: PMAK-..." https://api.getpostman.com/me | jq .
|
|
490
|
+
|
|
491
|
+
# AWS (use boto3 instead of curl — pre-signing complexity)
|
|
492
|
+
python3 -c "import boto3; print(boto3.client('sts', aws_access_key_id='AKIA...', aws_secret_access_key='...').get_caller_identity())"
|
|
493
|
+
|
|
494
|
+
# GitHub PAT (note scope header)
|
|
495
|
+
curl -sS -m 10 -H "Authorization: token ghp_..." https://api.github.com/user -D "${PRIVATE_CASE_DIR}/h" | jq -r '.login,.email'
|
|
496
|
+
grep -i 'X-OAuth-Scopes' "${PRIVATE_CASE_DIR}/h"
|
|
497
|
+
|
|
498
|
+
# Slack
|
|
499
|
+
curl -sS -m 10 -H "Authorization: Bearer xoxb-..." -X POST https://slack.com/api/auth.test | jq .
|
|
500
|
+
|
|
501
|
+
# Anthropic (read-only validation)
|
|
502
|
+
curl -sS -m 10 -H "x-api-key: sk-ant-..." -H "anthropic-version: 2023-06-01" https://api.anthropic.com/v1/models | jq '.data | length'
|
|
503
|
+
|
|
504
|
+
# OpenAI
|
|
505
|
+
curl -sS -m 10 -H "Authorization: Bearer sk-..." https://api.openai.com/v1/models | jq '.data | length'
|
|
506
|
+
|
|
507
|
+
# npm
|
|
508
|
+
curl -sS -m 10 -H "Authorization: Bearer npm_..." https://registry.npmjs.org/-/whoami | jq .
|
|
509
|
+
|
|
510
|
+
# Atlassian (account)
|
|
511
|
+
curl -sS -m 10 -u "email:ATATT3xFfGF0_..." https://your-domain.atlassian.net/rest/api/3/myself | jq .
|
|
512
|
+
|
|
513
|
+
# DataDog (API + APP key both required)
|
|
514
|
+
curl -sS -m 10 -H "DD-API-KEY: ..." -H "DD-APPLICATION-KEY: ..." https://api.datadoghq.com/api/v1/validate | jq .
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
**Bulk webapp triage (httpx, faster than curl loop):**
|
|
518
|
+
|
|
519
|
+
```bash
|
|
520
|
+
# Install: go install github.com/projectdiscovery/httpx/cmd/httpx@<reviewed-version>
|
|
521
|
+
echo "target.example" | httpx -sc -title -tech-detect -web-server -ip -cdn # Do not follow redirects until each destination is separately approved
|
|
522
|
+
|
|
523
|
+
# With probe list
|
|
524
|
+
cat approved-subdomains.txt | httpx -sc -title -tech-detect -path /actuator/env,/.git/config,/.env -mc 200,301,403
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
**Save responses for evidence:**
|
|
528
|
+
|
|
529
|
+
```bash
|
|
530
|
+
mkdir -p evidence/$(date -u +%Y%m%d)
|
|
531
|
+
T="https://target.example"
|
|
532
|
+
P="/actuator/env"
|
|
533
|
+
TS=$(date -u +%Y%m%dT%H%M%SZ)
|
|
534
|
+
SAFE_NAME=$(echo "${T}${P}" | tr '/:' '_')
|
|
535
|
+
curl -sS -m 10 "$T$P" -o "evidence/$(date -u +%Y%m%d)/${TS}_${SAFE_NAME}.body" \
|
|
536
|
+
-D "evidence/$(date -u +%Y%m%d)/${TS}_${SAFE_NAME}.headers"
|
|
537
|
+
sha256sum "evidence/$(date -u +%Y%m%d)/${TS}_${SAFE_NAME}".* > "evidence/$(date -u +%Y%m%d)/${TS}_${SAFE_NAME}.sha256"
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
---
|
|
541
|
+
|
|
542
|
+
### 16.14 Email Security Analysis (SPF/DMARC/DKIM/BIMI/MTA-STS/DNSSEC)
|
|
543
|
+
|
|
544
|
+
Spoof feasibility + SaaS tenant inference from a target's email DNS.
|
|
545
|
+
|
|
546
|
+
**SPF lookup + parsing:**
|
|
547
|
+
|
|
548
|
+
```bash
|
|
549
|
+
D="target.example"
|
|
550
|
+
dig +short TXT "$D" | grep -i 'v=spf1'
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
**Common SPF parsing checklist:**
|
|
554
|
+
- Ends in `-all` (hardfail) → strict; major providers reject spoofs.
|
|
555
|
+
- Ends in `~all` (softfail) → spam folder for spoofs.
|
|
556
|
+
- Ends in `?all` or no `all` → permissive; spoofs likely deliver.
|
|
557
|
+
- Includes (`include:`) reveal SaaS tenants:
|
|
558
|
+
- `include:_spf.google.com` → Google Workspace.
|
|
559
|
+
- `include:spf.protection.outlook.com` → Microsoft 365.
|
|
560
|
+
- `include:_spf.salesforce.com` → Salesforce.
|
|
561
|
+
- `include:mail.zendesk.com` → Zendesk customer.
|
|
562
|
+
- `include:sendgrid.net` → SendGrid customer.
|
|
563
|
+
- `include:mailgun.org` → Mailgun customer.
|
|
564
|
+
- `include:_spf.atlassian.net` → Atlassian Cloud.
|
|
565
|
+
- `include:amazonses.com` → AWS SES.
|
|
566
|
+
- `include:mktomail.com` → Marketo.
|
|
567
|
+
- `include:_spf.intuit.com` → Intuit (QuickBooks/Mailchimp).
|
|
568
|
+
- `include:spf.mandrillapp.com` → Mandrill.
|
|
569
|
+
- `include:_spf.workday.com` → Workday.
|
|
570
|
+
|
|
571
|
+
SPF permits at most ten DNS-lookup terms across recursive evaluation; exactly ten is allowed, and `all`/`ip4`/`ip6` do not consume that budget. Exceeding the limit yields permerror, not automatic accepted spoofing. See [RFC 7208 §4.6.4](https://www.rfc-editor.org/rfc/rfc7208#section-4.6.4). Tools: `spfquery`, `spftools` (online), `dig +trace`.
|
|
572
|
+
|
|
573
|
+
**DMARC policy + alignment:**
|
|
574
|
+
|
|
575
|
+
```bash
|
|
576
|
+
dig +short TXT "_dmarc.${D}"
|
|
577
|
+
```
|
|
578
|
+
|
|
579
|
+
Parse for:
|
|
580
|
+
- `p=` → primary policy (`none`, `quarantine`, `reject`).
|
|
581
|
+
- `sp=` → subdomain policy (defaults to `p=`).
|
|
582
|
+
- `aspf=` / `adkim=` → alignment mode (`r`=relaxed, `s`=strict).
|
|
583
|
+
- `pct=` → percentage of mail to which policy applies.
|
|
584
|
+
- `rua=` / `ruf=` → reporting addresses (often reveals SaaS DMARC vendors: dmarcian, valimail, Agari, easydmarc).
|
|
585
|
+
|
|
586
|
+
**Severity:**
|
|
587
|
+
- `p=none` → monitoring policy; evaluate authentication alignment, sender inventory and receiver behavior, without claiming successful impersonation.
|
|
588
|
+
- `p=quarantine pct<100` → partial enforcement → LOW.
|
|
589
|
+
- `p=reject` + `aspf=s` + `adkim=s` → well-postured → no finding.
|
|
590
|
+
|
|
591
|
+
**DKIM key discovery:**
|
|
592
|
+
|
|
593
|
+
DKIM selectors aren't well-known; common patterns:
|
|
594
|
+
```bash
|
|
595
|
+
for selector in default google selector1 selector2 mail email k1 dkim s1 s2 mta1 mta2 \
|
|
596
|
+
amazonses 20240101 20230101 mailchimp sendgrid mxvault; do
|
|
597
|
+
echo "=== ${selector} ==="
|
|
598
|
+
dig +short TXT "${selector}._domainkey.${D}"
|
|
599
|
+
done
|
|
600
|
+
```
|
|
601
|
+
|
|
602
|
+
If a key returns: extract `p=<base64>` and check key length. Evaluate the current applicable DKIM standard and key policy. Missing guesses do not prove absent DKIM; inspect selectors from an approved signed message. Rotation cannot be inferred from one DNS observation.
|
|
603
|
+
|
|
604
|
+
**BIMI (Brand Indicators for Message Identification):**
|
|
605
|
+
|
|
606
|
+
```bash
|
|
607
|
+
dig +short TXT "default._bimi.${D}"
|
|
608
|
+
```
|
|
609
|
+
|
|
610
|
+
If present + `p=reject` DMARC → brand-impersonation defense in inbox UI. Absence is not a vulnerability by itself.
|
|
611
|
+
|
|
612
|
+
**MTA-STS (Mail Transfer Agent Strict Transport Security):**
|
|
613
|
+
|
|
614
|
+
```bash
|
|
615
|
+
dig +short TXT "_mta-sts.${D}"
|
|
616
|
+
curl -sS -m 10 "https://mta-sts.${D}/.well-known/mta-sts.txt"
|
|
617
|
+
```
|
|
618
|
+
|
|
619
|
+
Absent MTA-STS records alone do not establish exploitable mail transport; consider DANE, sender policy and actual approved transport evidence. If `mode=enforce` present and policy file matches → well-postured.
|
|
620
|
+
|
|
621
|
+
**TLS-RPT (TLS Reporting):**
|
|
622
|
+
```bash
|
|
623
|
+
dig +short TXT "_smtp._tls.${D}"
|
|
624
|
+
```
|
|
625
|
+
|
|
626
|
+
**DNSSEC validation:**
|
|
627
|
+
|
|
628
|
+
```bash
|
|
629
|
+
dig +dnssec "${D}" SOA | grep -E 'flags|RRSIG'
|
|
630
|
+
delv "${D}" 2>&1 | grep -i 'fully validated\|insecur'
|
|
631
|
+
```
|
|
632
|
+
|
|
633
|
+
If `delv` returns "insecure" → DNSSEC not enabled (LOW finding; doesn't enable spoof but is hardening gap).
|
|
634
|
+
|
|
635
|
+
**MX → IdP / mail-host inference:**
|
|
636
|
+
|
|
637
|
+
```bash
|
|
638
|
+
dig +short MX "${D}"
|
|
639
|
+
```
|
|
640
|
+
|
|
641
|
+
| MX pattern | IdP / hosting |
|
|
642
|
+
|---|---|
|
|
643
|
+
| `aspmx.l.google.com`, `*.googlemail.com` | Google Workspace |
|
|
644
|
+
| `*.mail.protection.outlook.com` | Microsoft 365 |
|
|
645
|
+
| `*.mail.eo.outlook.com` | Microsoft 365 (older) |
|
|
646
|
+
| `*.zoho.com` | Zoho Mail |
|
|
647
|
+
| `*.yandex.net` | Yandex 360 |
|
|
648
|
+
| `*.fastmail.com` | Fastmail |
|
|
649
|
+
| `*.proofpoint.com`, `*.pphosted.com` | Proofpoint (M365 user with Proofpoint inbound) |
|
|
650
|
+
| `*.mimecast.com`, `*.mimecast-eu.com` | Mimecast |
|
|
651
|
+
| `*.barracudanetworks.com` | Barracuda |
|
|
652
|
+
| Self-hosted IPs in target ASN | On-prem mail server (often Exchange) |
|
|
653
|
+
|
|
654
|
+
**DMARC reporting-vendor inference (parse `rua=` / `ruf=`):**
|
|
655
|
+
|
|
656
|
+
| RUA/RUF host | Vendor | Implication |
|
|
657
|
+
|---|---|---|
|
|
658
|
+
| `*.dmarcian.com` | dmarcian | DMARC reporting customer |
|
|
659
|
+
| `*.valimail.com`, `*.dmarc-rua.com` | Valimail | DMARC reporting customer |
|
|
660
|
+
| `*.kdmarc.com` | Kratikal kDMARC | Indian DMARC vendor; common in IN orgs |
|
|
661
|
+
| `*.agari.com` | Agari (Fortra) | Email security vendor |
|
|
662
|
+
| `*.easydmarc.com` | EasyDMARC | DMARC reporting customer |
|
|
663
|
+
| `*.dmarcanalyzer.com` | DMARC Analyzer | Reporting customer |
|
|
664
|
+
| `*.postmarkapp.com` | Postmark | DMARC reporting addon |
|
|
665
|
+
| `<addr>@<target-domain>` | Self-hosted reporting | Internal mailbox; sometimes leaks team-name (`itg@`, `secops@`, `dmarc@`) |
|
|
666
|
+
|
|
667
|
+
Capture the vendor + the internal RUA mailbox. A reporting destination is an association, not evidence that compromising it bypasses DMARC. Treat contact details as personal/organizational data; do not contact them automatically.
|
|
668
|
+
|
|
669
|
+
**Windows / PowerShell parallel for the entire §16.14 audit:**
|
|
670
|
+
|
|
671
|
+
PS 5.1 `Resolve-DnsName` does **not** accept `-Type CAA` (use PowerShell 7+ or `nslookup -type=CAA <domain>`). Otherwise:
|
|
672
|
+
|
|
673
|
+
```powershell
|
|
674
|
+
$D = "target.example"
|
|
675
|
+
"=== SPF ==="; (Resolve-DnsName $D -Type TXT -EA SilentlyContinue | ? { $_.Strings -match 'v=spf1' }).Strings
|
|
676
|
+
"=== DMARC ==="; (Resolve-DnsName "_dmarc.$D" -Type TXT -EA SilentlyContinue).Strings
|
|
677
|
+
"=== MTA-STS ==="; (Resolve-DnsName "_mta-sts.$D" -Type TXT -EA SilentlyContinue).Strings
|
|
678
|
+
"=== TLS-RPT ==="; (Resolve-DnsName "_smtp._tls.$D" -Type TXT -EA SilentlyContinue).Strings
|
|
679
|
+
"=== BIMI ==="; (Resolve-DnsName "default._bimi.$D" -Type TXT -EA SilentlyContinue).Strings
|
|
680
|
+
"=== MX ==="; Resolve-DnsName $D -Type MX -EA SilentlyContinue | Select NameExchange,Preference
|
|
681
|
+
"=== DKIM common selectors ==="
|
|
682
|
+
foreach ($s in @("default","google","selector1","selector2","mail","email","k1","dkim","s1","s2","amazonses","mailchimp","sendgrid","mxvault","20240101","zoho","zmail","outlook","o365")) {
|
|
683
|
+
$r = Resolve-DnsName "$s._domainkey.$D" -Type TXT -EA SilentlyContinue
|
|
684
|
+
if ($r) { "${s}: FOUND" }
|
|
685
|
+
}
|
|
686
|
+
"=== CAA (PS 5.1 fallback) ==="; nslookup -type=CAA $D 2>$null
|
|
687
|
+
```
|
|
688
|
+
|
|
689
|
+
### 16.15 Origin Discovery / CDN Bypass
|
|
690
|
+
|
|
691
|
+
If the target is behind Cloudflare/Akamai/Fastly/CloudFront, their CDN IPs are well-defined. Find IPs **not** in those ranges that serve the same site = origin.
|
|
692
|
+
|
|
693
|
+
**Cloudflare IPv4 ranges:**
|
|
694
|
+
```
|
|
695
|
+
https://www.cloudflare.com/ips-v4
|
|
696
|
+
```
|
|
697
|
+
**Akamai ASNs:** AS16625, AS20940, AS21342, AS21357.
|
|
698
|
+
**Fastly:** AS54113.
|
|
699
|
+
**AWS CloudFront:** published in `https://ip-ranges.amazonaws.com/ip-ranges.json` filter `service:CLOUDFRONT`.
|
|
700
|
+
|
|
701
|
+
**Origin discovery via DNS history:**
|
|
702
|
+
|
|
703
|
+
```bash
|
|
704
|
+
# SecurityTrails (paid)
|
|
705
|
+
curl -sS -m 15 -H "APIKEY: ..." \
|
|
706
|
+
"https://api.securitytrails.com/v1/history/${D}/dns/a" | jq '.records[] | {ip:.values[].ip, first_seen, last_seen}'
|
|
707
|
+
```
|
|
708
|
+
|
|
709
|
+
Free alternatives:
|
|
710
|
+
```bash
|
|
711
|
+
# Validin
|
|
712
|
+
curl -sS -m 15 "https://app.validin.com/api/axon/${D}/dns" | jq .
|
|
713
|
+
|
|
714
|
+
# RiskIQ Community (free tier; auth required)
|
|
715
|
+
curl -sS -m 15 -u "user:apikey" "https://api.riskiq.net/pt/v2/dns/passive?query=${D}" | jq .
|
|
716
|
+
```
|
|
717
|
+
|
|
718
|
+
Filter the result: any historical A record IP **not** in current CDN ranges = origin candidate.
|
|
719
|
+
|
|
720
|
+
**Origin via certificate SAN pivot (Censys):**
|
|
721
|
+
|
|
722
|
+
```bash
|
|
723
|
+
# Censys (free 250 queries/month with key)
|
|
724
|
+
censys search "services.tls.certificates.leaf_data.subject.common_name:${D} AND NOT services.tls.certificates.leaf_data.issuer.common_name:'Cloudflare'"
|
|
725
|
+
```
|
|
726
|
+
|
|
727
|
+
Or via crt.sh + manual IP check:
|
|
728
|
+
```bash
|
|
729
|
+
curl -sS -m 15 "https://crt.sh/?q=%25.${D}&output=json" | jq -r '.[].name_value' | sort -u
|
|
730
|
+
```
|
|
731
|
+
|
|
732
|
+
**Origin via favicon hash (Shodan):**
|
|
733
|
+
|
|
734
|
+
```bash
|
|
735
|
+
# Compute favicon mmh3
|
|
736
|
+
python3 -c "
|
|
737
|
+
import urllib.request, codecs, mmh3
|
|
738
|
+
data = urllib.request.urlopen('https://target.example/favicon.ico').read()
|
|
739
|
+
b64 = codecs.encode(data, 'base64')
|
|
740
|
+
print(mmh3.hash(b64))"
|
|
741
|
+
|
|
742
|
+
# Search Shodan
|
|
743
|
+
shodan search "http.favicon.hash:<computed-hash>" --fields ip_str,port,org
|
|
744
|
+
```
|
|
745
|
+
|
|
746
|
+
Cross-reference with CDN ranges; non-CDN matches = origin candidates.
|
|
747
|
+
|
|
748
|
+
**Origin via JARM:**
|
|
749
|
+
|
|
750
|
+
```bash
|
|
751
|
+
# Compute JARM
|
|
752
|
+
python3 -c "
|
|
753
|
+
import jarm
|
|
754
|
+
print(jarm.scan('target.example'))
|
|
755
|
+
" 2>/dev/null || echo "Review an exact pyjarm release in an isolated environment first"
|
|
756
|
+
|
|
757
|
+
# Search Shodan for matching JARM
|
|
758
|
+
shodan search "ssl.jarm:<jarm-hash>" --fields ip_str,port
|
|
759
|
+
```
|
|
760
|
+
|
|
761
|
+
**Origin via Host-header probe (validate candidate):**
|
|
762
|
+
|
|
763
|
+
```bash
|
|
764
|
+
CANDIDATE_IP="203.0.113.42"
|
|
765
|
+
curl -sS -m 10 -H "Host: target.example.com" "https://${CANDIDATE_IP}/" -o "${PRIVATE_CASE_DIR}/candidate.html"
|
|
766
|
+
diff <(curl -sS -m 10 https://target.example.com/) "${PRIVATE_CASE_DIR}/candidate.html" | head -50
|
|
767
|
+
```
|
|
768
|
+
|
|
769
|
+
Matching content is only a candidate correlation (shared hosting, copies and caches exist). Independently confirm ownership and scope; origin reachability does not prove all CDN controls bypassed.
|
|
770
|
+
|
|
771
|
+
**Origin via auxiliary subdomains (often skip CDN):**
|
|
772
|
+
|
|
773
|
+
```bash
|
|
774
|
+
for sub in mail smtp ftp sftp cpanel webmail direct origin direct-connect noproxy \
|
|
775
|
+
dev staging stg uat preprod sandbox preview origin-www old-www legacy \
|
|
776
|
+
server srv host1 host2 vps server1; do
|
|
777
|
+
echo "=== ${sub}.${D} ==="
|
|
778
|
+
dig +short A "${sub}.${D}"
|
|
779
|
+
done | grep -vE '^(===|$)' | sort -u
|
|
780
|
+
```
|
|
781
|
+
|
|
782
|
+
Cross-reference any returned IP against CDN ranges.
|
|
783
|
+
|
|
784
|
+
**Historical email-header technique — separate communication approval required:**
|
|
785
|
+
|
|
786
|
+
Do not send unsolicited messages during reconnaissance. If the owner supplies an approved test message/bounce, its `Received:` headers showing the inbound mail server's actual IP — sometimes co-located with web origin.
|
|
787
|
+
|
|
788
|
+
**CDN error-page analysis — use existing captures or an approved lab:**
|
|
789
|
+
|
|
790
|
+
Some historical CDN error pages leaked upstream details. Error-triggering and oversized-header probes require separate load/disruption approval; do not run them as default origin discovery:
|
|
791
|
+
```bash
|
|
792
|
+
# Trigger CDN-side 5xx (oversized request, malformed Host)
|
|
793
|
+
curl -sS -m 10 -H "Host: " "https://target.example/" -o "${PRIVATE_CASE_DIR}/err.html"
|
|
794
|
+
curl -sS -m 10 -H "X-Forwarded-For: $(python3 -c 'print("a"*8000)')" "https://target.example/"
|
|
795
|
+
grep -iE 'origin|upstream|server|backend|cf-ray' "${PRIVATE_CASE_DIR}/err.html"
|
|
796
|
+
```
|
|
797
|
+
|
|
798
|
+
### 16.16 Vendor Product Fingerprints
|
|
799
|
+
|
|
800
|
+
Common edge appliances / products on the target's perimeter, with fingerprint paths and notes on common CVEs.
|
|
801
|
+
|
|
802
|
+
| Product | Fingerprint paths | Notes |
|
|
803
|
+
|---|---|---|
|
|
804
|
+
| **Citrix Netscaler / Gateway** | `/vpn/index.html`, `/logon/LogonPoint/tmindex.html`, `/citrix/` | Version in HTML; CVE-2023-3519 (RCE), CVE-2019-19781 (path traversal RCE) — both KEV-listed. |
|
|
805
|
+
| **F5 BIG-IP TMUI** | `/tmui/login.jsp`, `/mgmt/tm/sys/` | Banner reveals version; CVE-2022-1388 (auth bypass), CVE-2023-46747 — KEV-listed. |
|
|
806
|
+
| **Cisco ASA / AnyConnect** | `/+CSCOE+/`, `/CSCOE/index.html`, `/webvpn.html`, `/+CSCOE+/portal.html` | CVE-2020-3452 (file read), CVE-2018-0101 (RCE). |
|
|
807
|
+
| **Pulse Secure / Ivanti Connect** | `/dana-na/`, `/dana-na/auth/url_default/welcome.cgi`, `/api/v1/` | CVE-2024-21887 (KEV), CVE-2023-46805 (KEV) — chained command injection. |
|
|
808
|
+
| **FortiGate / FortiOS** | `/remote/login`, `/remote/info`, `/api/v2/` | CVE-2022-42475 (RCE, KEV), CVE-2024-21762 (RCE, KEV). |
|
|
809
|
+
| **PaloAlto GlobalProtect** | `/global-protect/`, `/global-protect/portal/css/login.css`, `/api/?type=keygen` | CVE-2024-3400 (RCE, KEV), CVE-2019-1579. |
|
|
810
|
+
| **VMware Horizon** | `/portal/info.jsp`, `/broker/xml`, `/login.jsp` | log4shell exposure (CVE-2021-44228, KEV). |
|
|
811
|
+
| **VMware vCenter** | `/sdk`, `/ui/`, `/vsphere-client/`, `/websso/SAML2/` | CVE-2021-21972 (RCE, KEV), CVE-2021-22005. |
|
|
812
|
+
| **VMware ESXi** | `/sdk`, `/ui/`, `/folder` | CVE-2021-21974 (heap overflow → ESXiArgs ransomware, KEV). |
|
|
813
|
+
| **Microsoft Exchange OWA** | `/owa/`, `/ews/exchange.asmx`, `/ecp/` | ProxyShell (CVE-2021-34473), ProxyLogon (CVE-2021-26855), ProxyNotShell (CVE-2022-41040) — all KEV. |
|
|
814
|
+
| **WatchGuard Firebox** | `/auth/`, `/wgcgi.cgi` | CVE-2022-26318 (CGI). |
|
|
815
|
+
| **SonicWall SMA** | `/cgi-bin/welcome`, `/__api__/v1/`, `/diagnostics/` | CVE-2021-20016, CVE-2024-40766 (KEV). |
|
|
816
|
+
| **Sophos UTM/XG/XGS** | `/userportal/`, `/webconsole/`, `/cgi-bin/` | CVE-2022-1040 (RCE, KEV). |
|
|
817
|
+
| **Check Point R80/R81** | `/sslvpn/portal/`, `/clients/` | CVE-2024-24919 (KEV). |
|
|
818
|
+
| **Zoho ManageEngine** | `/RestAPI/Login`, `/api/json/v2/` | Multiple RCE CVEs; check version. |
|
|
819
|
+
| **Atlassian Confluence** | `/confluence/`, `/login.action`, `/rest/api/space` | CVE-2022-26134 (OGNL RCE, KEV), CVE-2023-22515 (KEV). |
|
|
820
|
+
| **Atlassian Jira** | `/secure/Dashboard.jspa`, `/rest/api/2/serverInfo` | Multiple CVEs; check version. |
|
|
821
|
+
| **GitLab self-hosted** | `/users/sign_in`, `/-/oauth/applications`, `/help` | Version in HTML footer; CVE-2021-22205 (RCE, KEV). |
|
|
822
|
+
| **Telerik UI** | `/Telerik.Web.UI.WebResource.axd?type=rau` | CVE-2017-9248, CVE-2019-18935 — old but still found. |
|
|
823
|
+
| **ConnectWise ScreenConnect** | `/SetupWizard.aspx`, `/Bin/SetupWizard.aspx` | CVE-2024-1709 (auth bypass, KEV). |
|
|
824
|
+
| **SolarWinds Orion** | `/Orion/Login.aspx` | SUNBURST supply-chain (CVE-2020-10148). |
|
|
825
|
+
| **Kaseya VSA** | `/dl.asp`, `/userFilterTableRpt.asp` | CVE-2021-30116 (REvil supply-chain). |
|
|
826
|
+
| **Microsoft IIS / OWA misc** | `Server: Microsoft-IIS/<version>` | Old versions = old CVEs; check. |
|
|
827
|
+
| **Cisco Smart Install** | port 4786 open | CVE-2018-0171 (smart install client mode RCE). |
|
|
828
|
+
|
|
829
|
+
**Per-vendor probe pattern:**
|
|
830
|
+
|
|
831
|
+
```bash
|
|
832
|
+
T="https://target.example"
|
|
833
|
+
# Citrix
|
|
834
|
+
curl -sS -m 10 "$T/vpn/index.html" -o "${PRIVATE_CASE_DIR}/c1" -w '%{http_code}\n'
|
|
835
|
+
grep -iE 'NetScaler|Citrix|version' "${PRIVATE_CASE_DIR}/c1"
|
|
836
|
+
# F5
|
|
837
|
+
curl -sS -m 10 "$T/tmui/login.jsp" -o "${PRIVATE_CASE_DIR}/c2" -w '%{http_code}\n'
|
|
838
|
+
grep -iE 'BIG-IP|version' "${PRIVATE_CASE_DIR}/c2"
|
|
839
|
+
# (etc — repeat per product)
|
|
840
|
+
```
|
|
841
|
+
|
|
842
|
+
**Auto-fingerprint with Nuclei:**
|
|
843
|
+
|
|
844
|
+
```bash
|
|
845
|
+
nuclei -u "$T" -t http/technologies/ -severity info,low,medium,high,critical
|
|
846
|
+
nuclei -u "$T" -t http/cves/ -severity high,critical -etags fuzz
|
|
847
|
+
```
|
|
848
|
+
|
|
849
|
+
### 16.17 Cloud-Native Service Fingerprints
|
|
850
|
+
|
|
851
|
+
Modern apps deploy on serverless / managed services. Fingerprint the platform from the URL pattern.
|
|
852
|
+
|
|
853
|
+
| Provider | URL pattern | Notes |
|
|
854
|
+
|---|---|---|
|
|
855
|
+
| **AWS Lambda Function URL** | `*.lambda-url.<region>.on.aws` | Direct invocation; check IAM auth posture. |
|
|
856
|
+
| **AWS App Runner** | `*.<region>.awsapprunner.com` | Managed container; usually behind auth. |
|
|
857
|
+
| **AWS API Gateway** | `*.execute-api.<region>.amazonaws.com` | REST/HTTP/WebSocket; check authorizer config. |
|
|
858
|
+
| **AWS CloudFront** | `d{14}\.cloudfront\.net` | Distribution; origin behind it (see §16.15). |
|
|
859
|
+
| **AWS ALB / ELB** | `*.elb.<region>.amazonaws.com` | Behind = EC2 / ECS. |
|
|
860
|
+
| **AWS Amplify** | `*.amplifyapp.com` | Static + Lambda backend. |
|
|
861
|
+
| **Google Cloud Run** | `*.run.app` (and `*.<region>.run.app`) | Container; check public-vs-IAM auth. |
|
|
862
|
+
| **Google Cloud Functions** | `*.cloudfunctions.net`, `*.<region>-<project>.cloudfunctions.net` | Serverless. |
|
|
863
|
+
| **Google App Engine** | `*.appspot.com` | Older serverless. |
|
|
864
|
+
| **Azure Functions** | `*.azurewebsites.net` (also App Service) | Function App behind same domain pattern. |
|
|
865
|
+
| **Azure Container Apps** | `*.azurecontainerapps.io` | Containers. |
|
|
866
|
+
| **Azure Static Web Apps** | `*.azurestaticapps.net` | Static + Functions. |
|
|
867
|
+
| **Vercel** | `*.vercel.app`, `*.now.sh` (legacy) | Frontend + serverless. |
|
|
868
|
+
| **Netlify** | `*.netlify.app`, `*.netlify.com` | Frontend + functions. |
|
|
869
|
+
| **Cloudflare Workers** | `*.workers.dev` | Edge functions. |
|
|
870
|
+
| **Cloudflare Pages** | `*.pages.dev` | Static + functions. |
|
|
871
|
+
| **Heroku** | `*.herokuapp.com` | Dynos. |
|
|
872
|
+
| **Render** | `*.onrender.com` | Container/static. |
|
|
873
|
+
| **Fly.io** | `*.fly.dev` | Edge containers. |
|
|
874
|
+
| **Railway** | `*.railway.app` | App platform. |
|
|
875
|
+
| **DigitalOcean App Platform** | `*.ondigitalocean.app` | Static + container. |
|
|
876
|
+
|
|
877
|
+
**For each pattern:**
|
|
878
|
+
- Confirm public vs auth-required (HEAD / GET).
|
|
879
|
+
- Check CORS posture.
|
|
880
|
+
- For Lambda Function URLs / Cloud Run / Cloud Functions: check whether IAM auth is enforced (intentional public invocation is not a finding; unintended sensitive behavior determines severity).
|
|
881
|
+
- For static + functions hybrids (Vercel/Netlify/Cloudflare Pages): the function paths are usually `/api/*`; enumerate via JS extraction.
|
|
882
|
+
|
|
883
|
+
### 16.18 Container & Kubernetes Exposure
|
|
884
|
+
|
|
885
|
+
Increasingly common; often forgotten when behind a NAT.
|
|
886
|
+
|
|
887
|
+
| Target | Port | Probe | Severity if exposed |
|
|
888
|
+
|---|---|---|---|
|
|
889
|
+
| **Docker API (unencrypted)** | 2375 | `curl -sS -m 5 http://${IP}:2375/v1.40/info` | CRITICAL (container/host takeover) |
|
|
890
|
+
| **Docker API (TLS)** | 2376 | `curl -sS -m 5 https://${IP}:2376/v1.40/info` | HIGH (cert validation bypass possible) |
|
|
891
|
+
| **Kubernetes API server** | 6443 / 8443 | `curl -sS -m 5 https://${IP}:6443/api` | Review actual anonymous permissions; public API discovery can be intentional |
|
|
892
|
+
| **Kubernetes Dashboard** | 8001 / 9090 / 30000+ | `curl -sS -m 5 http://${IP}:8001/api/v1/namespaces/kube-system/services/kubernetes-dashboard` | Reachability is an asset observation, not authorization bypass |
|
|
893
|
+
| **kubelet** | 10250 (HTTPS), 10255 (HTTP, deprecated) | `curl -sS -m 5 https://${IP}:10250/pods` | CRITICAL (no auth = pod exec) |
|
|
894
|
+
| **etcd** | 2379 (client), 2380 (peer) | `curl -sS -m 5 https://${IP}:2379/v2/keys/` (v2) or `etcdctl --endpoints=${IP}:2379 get /` (v3) | CRITICAL (cluster state + secrets) |
|
|
895
|
+
| **kube-proxy** | 10256 | `curl -sS -m 10 http://${IP}:10256/healthz` | INFO |
|
|
896
|
+
| **kube-controller-manager** | 10257 | `curl -sS -m 10 https://${IP}:10257/metrics` | MEDIUM |
|
|
897
|
+
| **kube-scheduler** | 10259 | `curl -sS -m 10 https://${IP}:10259/metrics` | MEDIUM |
|
|
898
|
+
| **cAdvisor** | 4194 (deprecated) | `curl -sS -m 10 http://${IP}:4194/metrics` | LOW (resource metrics) |
|
|
899
|
+
| **Helm Tiller** (Helm 2 — deprecated but found) | 44134 | `helm --host ${IP}:44134 list` | HIGH (Tiller had cluster-admin) |
|
|
900
|
+
|
|
901
|
+
**Public container registries to check for leaks:**
|
|
902
|
+
|
|
903
|
+
| Registry | Search pattern |
|
|
904
|
+
|---|---|
|
|
905
|
+
| Docker Hub | `https://hub.docker.com/search?q=<target-keyword>&type=image` |
|
|
906
|
+
| Quay (Red Hat) | `https://quay.io/search?q=<target-keyword>` |
|
|
907
|
+
| GitHub Container Registry (GHCR) | enumerable via GitHub API: `https://api.github.com/orgs/<org>/packages?package_type=container` |
|
|
908
|
+
| Amazon ECR Public | `https://gallery.ecr.aws/?searchTerm=<keyword>` |
|
|
909
|
+
| Azure Container Registry (public) | varies; check for `*.azurecr.io` |
|
|
910
|
+
| Google Container Registry (public) | `https://console.cloud.google.com/gcr/images/<project>?project=<project>` |
|
|
911
|
+
|
|
912
|
+
**Per-image scan workflow:**
|
|
913
|
+
1. `docker pull <registry>/<image>:<tag>` (or `skopeo inspect`).
|
|
914
|
+
2. `docker save <image> -o "${PRIVATE_CASE_DIR}/img.tar"`.
|
|
915
|
+
3. Extract layers; scan with secret catalog (§17).
|
|
916
|
+
4. Inspect `Dockerfile` history (`docker history <image>`) — sometimes reveals build args or COPY of secrets.
|
|
917
|
+
|
|
918
|
+
### 16.19 CI/CD Platform Exposure
|
|
919
|
+
|
|
920
|
+
| Platform | Common exposure | Probe |
|
|
921
|
+
|---|---|---|
|
|
922
|
+
| **Jenkins** | `/script` (Groovy console = RCE if no auth), `/asynchPeople/`, `/jnlpJars/jenkins-cli.jar`, `/computer/`, `/job/<name>/api/json` | `curl -sS -m 10 "${T}/script"` and `curl -sS -m 10 "${T}/asynchPeople/api/json"` |
|
|
923
|
+
| **GitLab self-hosted** | `/users/sign_in` (version in HTML), `/-/oauth/applications` (auth-required), `/api/v4/version`, `/-/snippets/<id>/raw` | `curl -sS -m 10 "${T}/api/v4/version"` |
|
|
924
|
+
| **GitHub Actions workflow files** | `.github/workflows/*.yml` in any public repo | Search via GitHub code search: `path:.github/workflows extension:yml secrets` |
|
|
925
|
+
| **CircleCI config** | `.circleci/config.yml` in any repo | Search: `path:.circleci/config.yml` |
|
|
926
|
+
| **TeamCity** | `/login.html`, `/agent.html?agentId=*`, `/admin/admin.html` | `curl -sS -m 10 "${T}/login.html" \| grep -i 'TeamCity'` — version disclosure. CVE-2024-27198 (KEV). |
|
|
927
|
+
| **Bamboo (Atlassian)** | `/userlogin.action`, `/rest/api/latest/info` | `curl -sS -m 10 "${T}/rest/api/latest/info"` |
|
|
928
|
+
| **Drone CI** | `/api/info`, `/login` | `curl -sS -m 10 "${T}/api/info"` |
|
|
929
|
+
| **Travis CI (legacy)** | `.travis.yml` in repos; `https://api.travis-ci.com/repos/<owner>/<repo>` | API often exposes build env. |
|
|
930
|
+
| **Argo CD** | `/api/version`, `/applications` | `curl -sS -m 10 "${T}/api/version"`. Check anonymous-auth posture. |
|
|
931
|
+
| **Tekton** | `/apis/tekton.dev/v1beta1/pipelineruns` (K8s native) | Enumerate via K8s API. |
|
|
932
|
+
| **Spinnaker** | `/gate/info`, `/applications` | `curl -sS -m 10 "${T}/gate/info"` |
|
|
933
|
+
| **Buildkite** | per-org dashboards; usually behind auth. | Check public agents page. |
|
|
934
|
+
|
|
935
|
+
**GitHub Actions secret-leak patterns to look for in workflows:**
|
|
936
|
+
|
|
937
|
+
```yaml
|
|
938
|
+
# Anti-pattern: secret echoed to log
|
|
939
|
+
run: echo "${{ secrets.MY_API_KEY }}"
|
|
940
|
+
|
|
941
|
+
# Anti-pattern: secret in environment without mask
|
|
942
|
+
env:
|
|
943
|
+
KEY: ${{ secrets.MY_API_KEY }}
|
|
944
|
+
run: ./deploy.sh # script may echo $KEY
|
|
945
|
+
|
|
946
|
+
# Anti-pattern: pull_request_target with checkout of fork code (CVE class)
|
|
947
|
+
on: pull_request_target
|
|
948
|
+
jobs:
|
|
949
|
+
test:
|
|
950
|
+
steps:
|
|
951
|
+
- uses: actions/checkout@v3
|
|
952
|
+
with:
|
|
953
|
+
ref: ${{ github.event.pull_request.head.sha }} # checks out fork code with secrets in env
|
|
954
|
+
```
|
|
955
|
+
|
|
956
|
+
### 16.20 Documentation / Wiki Leak Paths
|
|
957
|
+
|
|
958
|
+
Public-share features on collaboration platforms regularly leak.
|
|
959
|
+
|
|
960
|
+
| Platform | URL pattern | What's exposed |
|
|
961
|
+
|---|---|---|
|
|
962
|
+
| **Notion (publish page)** | `*.notion.site/<slug>` or `notion.so/<workspace>/<page-id>` | Public page; sometimes whole workspaces published by accident. |
|
|
963
|
+
| **Confluence Cloud (anonymous)** | `<target>.atlassian.net/wiki/spaces/` | Public spaces; check `/wiki/display/<SPACE>/`. |
|
|
964
|
+
| **Atlassian Service Desk** | `<target>.atlassian.net/servicedesk/customer/portal/<N>` | Sometimes lists all internal request types. |
|
|
965
|
+
| **Trello board** | `https://trello.com/b/<id>/<slug>` | Public board with cards; check via Google `site:trello.com "${target}"`. |
|
|
966
|
+
| **Asana public project** | `https://app.asana.com/0/<id>/<id>` | Public project view. |
|
|
967
|
+
| **ReadTheDocs** | `<project>.readthedocs.io` | Hosted docs; "private builds" sometimes default to public. |
|
|
968
|
+
| **GitBook** | `<workspace>.gitbook.io/<book>/` | Published docs; sometimes contain internal SOPs. |
|
|
969
|
+
| **MkDocs / Docusaurus on subdomain** | `docs.<target>` | Often contains internal architecture diagrams + setup notes. |
|
|
970
|
+
| **Slab** | `<workspace>.slab.com/posts/<id>` | Published posts. |
|
|
971
|
+
| **Coda** | `coda.io/d/<doc-id>` | Public docs. |
|
|
972
|
+
| **Miro** | `https://miro.com/app/board/<id>/` | Public boards (often architecture diagrams). |
|
|
973
|
+
| **Lucidchart** | `https://lucid.app/lucidchart/<id>/view` | Public diagrams. |
|
|
974
|
+
| **Figma** | `https://www.figma.com/file/<key>/` | Public design files; sometimes leak product spec. |
|
|
975
|
+
| **GitHub Wiki** | `github.com/<org>/<repo>/wiki` | Public wikis; check stale ones. |
|
|
976
|
+
| **Linear** | `linear.app/<workspace>/issue/<id>` | Public issues (rare but happens). |
|
|
977
|
+
| **Confluence anonymous server** | `<target>/confluence/`, `<target>/wiki/` (self-hosted) | Anonymous read sometimes left on. |
|
|
978
|
+
| **Monday.com** | `view.monday.com/<id>` | Shared boards. |
|
|
979
|
+
| **Wrike** | `app.wrike.com/external/<id>` | External-shared spaces. |
|
|
980
|
+
|
|
981
|
+
**Dork-driven discovery:**
|
|
982
|
+
```
|
|
983
|
+
site:notion.site "{target}"
|
|
984
|
+
site:notion.so "{target}"
|
|
985
|
+
site:atlassian.net "{target}"
|
|
986
|
+
site:trello.com "{target}"
|
|
987
|
+
site:miro.com "{target}"
|
|
988
|
+
site:lucid.app "{target}"
|
|
989
|
+
site:figma.com "{target}"
|
|
990
|
+
site:asana.com "{target}"
|
|
991
|
+
site:gitbook.io "{target}"
|
|
992
|
+
site:readthedocs.io "{target}"
|
|
993
|
+
```
|
|
994
|
+
|
|
995
|
+
### 16.21 WHOIS / RDAP / Historical
|
|
996
|
+
|
|
997
|
+
WHOIS gives current registrant; RDAP is the structured replacement; historical WHOIS is the pivot gold.
|
|
998
|
+
|
|
999
|
+
**Current WHOIS:**
|
|
1000
|
+
|
|
1001
|
+
```bash
|
|
1002
|
+
whois target.example # standard CLI
|
|
1003
|
+
curl -sS -m 10 "https://www.whois.com/whois/${D}" # web fallback
|
|
1004
|
+
```
|
|
1005
|
+
|
|
1006
|
+
**RDAP (RFC 7480, structured JSON):**
|
|
1007
|
+
|
|
1008
|
+
```bash
|
|
1009
|
+
# IANA bootstrap → returns the registry RDAP server
|
|
1010
|
+
curl -sS -m 15 "https://rdap.org/domain/${D}" | jq .
|
|
1011
|
+
curl -sS -m 10 "https://data.iana.org/rdap/dns.json" | jq . # DNS bootstrap JSON
|
|
1012
|
+
```
|
|
1013
|
+
|
|
1014
|
+
What to extract from WHOIS / RDAP:
|
|
1015
|
+
- Registrant: name, org, email, phone, address (often redacted post-GDPR but not always for non-EU registrants).
|
|
1016
|
+
- Registrar: enables registrar-account pivot for related domains.
|
|
1017
|
+
- Created / updated / expiry dates: pattern of bulk registrations = same registrant.
|
|
1018
|
+
- Nameservers: NS reuse pivot.
|
|
1019
|
+
- Status flags (`clientHold`, `clientTransferProhibited`, etc.) = posture indicators.
|
|
1020
|
+
- Abuse contact: useful for responsible disclosure (§30).
|
|
1021
|
+
|
|
1022
|
+
**Historical WHOIS:**
|
|
1023
|
+
|
|
1024
|
+
Pre-GDPR records often have unredacted contact info. Sources:
|
|
1025
|
+
|
|
1026
|
+
| Source | Notes |
|
|
1027
|
+
|---|---|
|
|
1028
|
+
| **DomainTools** | Paid; gold-standard; full WHOIS history. |
|
|
1029
|
+
| **WhoisXML API** | Paid; bulk + history. |
|
|
1030
|
+
| **SecurityTrails** | Paid; WHOIS + DNS history. |
|
|
1031
|
+
| **viewdns.info** | Free WHOIS history (limited). |
|
|
1032
|
+
| **whoisology.com** | Paid; reverse WHOIS by registrant email. |
|
|
1033
|
+
|
|
1034
|
+
**Reverse-WHOIS pivots:**
|
|
1035
|
+
|
|
1036
|
+
If you have a registrant email, search "every domain registered by this email":
|
|
1037
|
+
```bash
|
|
1038
|
+
# DomainTools (paid)
|
|
1039
|
+
curl -sS -m 15 -H "X-API-Username: ..." -H "X-API-Key: ..." \
|
|
1040
|
+
"https://api.domaintools.com/v1/reverse-whois/?terms=admin@target.example"
|
|
1041
|
+
```
|
|
1042
|
+
|
|
1043
|
+
This finds adjacent corporate assets (subsidiary domains, brand variations, employee personal projects on corp email).
|
|
1044
|
+
|
|
1045
|
+
### 16.22 DNS Record Catalog (TXT verification tokens, MX→IdP)
|
|
1046
|
+
|
|
1047
|
+
For every target domain, dump all common record types:
|
|
1048
|
+
|
|
1049
|
+
```bash
|
|
1050
|
+
D="target.example"
|
|
1051
|
+
for rtype in A AAAA MX TXT NS SOA CAA SRV CNAME PTR; do
|
|
1052
|
+
echo "=== ${rtype} ==="
|
|
1053
|
+
dig +short "${D}" "${rtype}"
|
|
1054
|
+
done
|
|
1055
|
+
```
|
|
1056
|
+
|
|
1057
|
+
**TXT record verification token catalog** (each token reveals a SaaS tenancy):
|
|
1058
|
+
|
|
1059
|
+
| TXT pattern | SaaS / service | Implication |
|
|
1060
|
+
|---|---|---|
|
|
1061
|
+
| `google-site-verification=<token>` | Google Workspace / Search Console / Analytics | Google tenancy. |
|
|
1062
|
+
| `MS=ms<digits>` | Microsoft 365 (older) | M365 tenancy. |
|
|
1063
|
+
| `apple-domain-verification=<token>` | Apple Business Manager / iCloud Calendar | Apple ecosystem. |
|
|
1064
|
+
| `atlassian-domain-verification=<token>` | Atlassian Cloud (Jira/Confluence/etc.) | Atlassian customer. |
|
|
1065
|
+
| `facebook-domain-verification=<token>` | Facebook Business / Pixel | FB Business. |
|
|
1066
|
+
| `adobe-idp-site-verification=<token>` | Adobe Sign / Creative Cloud | Adobe customer. |
|
|
1067
|
+
| `docusign=<token>` | DocuSign | DocuSign customer. |
|
|
1068
|
+
| `dropbox-domain-verification=<token>` | Dropbox Business | Dropbox customer. |
|
|
1069
|
+
| `box-verification=<token>` | Box | Box customer. |
|
|
1070
|
+
| `webexdomainverification.<id>` | Webex | Cisco Webex. |
|
|
1071
|
+
| `zoom_verify_<id>` | Zoom | Zoom customer (admin domain). |
|
|
1072
|
+
| `notion=<token>` (rare) | Notion workspace | Notion enterprise. |
|
|
1073
|
+
| `slack-domain-verification=<token>` | Slack Enterprise Grid | Slack EG. |
|
|
1074
|
+
| `asana-domain-verification=<token>` | Asana Enterprise | Asana customer. |
|
|
1075
|
+
| `mongodb-site-verification=<token>` | MongoDB Atlas | DB tenant. |
|
|
1076
|
+
| `_dnsauth.<token>` | Many ACME / Let's Encrypt CAs | DNS-01 challenge in progress. |
|
|
1077
|
+
| `pinterest-site-verification=<token>` | Pinterest Business | Marketing surface. |
|
|
1078
|
+
| `cisco-ci-domain-verification=<token>` | Cisco Spark / Webex | Cisco. |
|
|
1079
|
+
| `_globalsign-domain-verification=<token>` | GlobalSign cert authority | Cert provider. |
|
|
1080
|
+
| `mailru-verification:<token>` | Mail.ru | RU presence. |
|
|
1081
|
+
| `yandex-verification:<token>` | Yandex services | RU presence. |
|
|
1082
|
+
| `zscaler-verification-<id>-<date>-<random>` | Zscaler (ZIA / ZPA / ZDX) | **Web SSE / SASE customer**; the date suffix is the verification-issued date. |
|
|
1083
|
+
| `cloudflare-verify=<token>` | Cloudflare (Zero Trust / Access / WARP) | Cloudflare org-tier customer. |
|
|
1084
|
+
| `autosect-site-verification=<token>` | AutoSect (security tooling) | Security vendor on tenant. |
|
|
1085
|
+
| `cisco-site-verification=<token>` | Cisco (various products) | Cisco vendor. |
|
|
1086
|
+
| `mscid=<token>` | Microsoft (newer M365 verification) | M365 tenancy (newer format). |
|
|
1087
|
+
| `_amazonses=<token>` | AWS SES sender verification | SES sender. |
|
|
1088
|
+
| `salesforce-domain-verification=<token>` | Salesforce | SF customer. |
|
|
1089
|
+
| `workday-domain-verification=<token>` | Workday | Workday customer (HR + Finance). |
|
|
1090
|
+
| `shopify-domain-verification=<token>` | Shopify | E-commerce customer. |
|
|
1091
|
+
| `klaviyo-domain-verification=<token>` | Klaviyo | Marketing automation. |
|
|
1092
|
+
| `mailchimp-domain-verification=<token>` | Mailchimp | Marketing email. |
|
|
1093
|
+
| `hubspot-domain-verification=<token>` | HubSpot | CRM / marketing. |
|
|
1094
|
+
| `zendesk-verification=<token>` | Zendesk | Support tenancy (also see §43). |
|
|
1095
|
+
| `freshworks-verification=<token>` | Freshworks | Support / CRM customer. |
|
|
1096
|
+
| `intercom-verification=<token>` | Intercom | Messaging tenancy. |
|
|
1097
|
+
| `loom-site-verification=<token>` | Loom | Video. |
|
|
1098
|
+
| `miro-site-verification=<token>` | Miro | Whiteboard tenancy. |
|
|
1099
|
+
| `gitlab-domain-verification=<token>` | GitLab | Self-hosted or cloud verification. |
|
|
1100
|
+
|
|
1101
|
+
Each discovered tenancy is a separate attack surface (own credentials, own MFA posture, own data).
|
|
1102
|
+
|
|
1103
|
+
**Autodiscover-as-confirmation pattern:**
|
|
1104
|
+
|
|
1105
|
+
`autodiscover.<domain>` resolving to Microsoft IP space (`40.96.0.0/13`, `52.96.0.0/14`, `13.107.0.0/16`) is a hosting lead, not proof of M365 Exchange Online tenancy — even when MX records are obscured by Mimecast/Proofpoint/Barracuda inbound filtering. Probe:
|
|
1106
|
+
|
|
1107
|
+
```powershell
|
|
1108
|
+
Resolve-DnsName "autodiscover.$D" -Type A | Select Name,IPAddress
|
|
1109
|
+
```
|
|
1110
|
+
|
|
1111
|
+
If IPs are in Microsoft ranges, corroborate with current tenant metadata and organization-controlled records; do not emit `M365_CONFIRMED` from IP space alone. Cross-reference with `getuserrealm.srf` (§22.1) for tenant GUID extraction.
|
|
1112
|
+
|
|
1113
|
+
**CAA records:**
|
|
1114
|
+
```bash
|
|
1115
|
+
dig +short CAA "${D}"
|
|
1116
|
+
```
|
|
1117
|
+
Lists which CAs are allowed to issue certs. Absence is not a vulnerability verdict; CAA restricts issuance policy but does not itself prove or prevent every CA compromise. Presence + restrictive list = good posture.
|
|
1118
|
+
|
|
1119
|
+
**SOA serial pattern analysis:**
|
|
1120
|
+
```bash
|
|
1121
|
+
dig +short SOA "${D}"
|
|
1122
|
+
```
|
|
1123
|
+
Serial format `YYYYMMDDNN` reveals last-edit date. Pattern across multiple zones can correlate ownership.
|
|
1124
|
+
|
|
1125
|
+
### 16.23 Wayback CDX Deep Usage
|
|
1126
|
+
|
|
1127
|
+
The Wayback Machine has a structured query API.
|
|
1128
|
+
|
|
1129
|
+
**Basic CDX query:**
|
|
1130
|
+
```bash
|
|
1131
|
+
D="target.example"
|
|
1132
|
+
curl -sS -m 15 "https://web.archive.org/cdx/search/cdx?url=${D}/*&output=json&fl=timestamp,original&limit=10000"
|
|
1133
|
+
```
|
|
1134
|
+
|
|
1135
|
+
Returns JSON array of `[timestamp, original_url]` tuples.
|
|
1136
|
+
|
|
1137
|
+
**Useful filters:**
|
|
1138
|
+
- `&from=20200101&to=20231231` — date range.
|
|
1139
|
+
- `&filter=mimetype:application/json` — only JSON responses (often APIs).
|
|
1140
|
+
- `&filter=mimetype:application/javascript` — JS bundles.
|
|
1141
|
+
- `&filter=statuscode:200` — only successful captures.
|
|
1142
|
+
- `&filter=urlkey:.*api.*` — only URLs containing "api".
|
|
1143
|
+
- `&collapse=urlkey` — dedup by URL.
|
|
1144
|
+
- `&collapse=digest` — dedup by content (catches identical pages re-archived).
|
|
1145
|
+
|
|
1146
|
+
**Get specific snapshot:**
|
|
1147
|
+
```bash
|
|
1148
|
+
TS="20231215120000"
|
|
1149
|
+
URL="https://target.example/admin/dashboard"
|
|
1150
|
+
curl -sS -m 15 "https://web.archive.org/web/${TS}/${URL}"
|
|
1151
|
+
```
|
|
1152
|
+
|
|
1153
|
+
**Diff snapshot vs live:**
|
|
1154
|
+
```bash
|
|
1155
|
+
LIVE=$(curl -sS -m 10 "${URL}")
|
|
1156
|
+
ARCHIVED=$(curl -sS -m 10 "https://web.archive.org/web/${TS}/${URL}")
|
|
1157
|
+
diff <(echo "$LIVE") <(echo "$ARCHIVED") | head -100
|
|
1158
|
+
```
|
|
1159
|
+
|
|
1160
|
+
**Save current page:**
|
|
1161
|
+
```bash
|
|
1162
|
+
curl -sS -m 15 -X POST "https://pragma.archivelab.org/" \
|
|
1163
|
+
-H 'Content-Type: application/json' \
|
|
1164
|
+
-d '{"url":"https://target.example/admin"}'
|
|
1165
|
+
```
|
|
1166
|
+
|
|
1167
|
+
**Find every archived JS:**
|
|
1168
|
+
```bash
|
|
1169
|
+
curl -sS -m 15 "https://web.archive.org/cdx/search/cdx?url=${D}/*.js&output=json&fl=timestamp,original&filter=statuscode:200" | \
|
|
1170
|
+
jq -r '.[1:][] | "\(.[0]) \(.[1])"'
|
|
1171
|
+
```
|
|
1172
|
+
|
|
1173
|
+
For each, fetch the archived JS and run the secret catalog (§17). Old JS often had hard-coded keys later removed.
|
|
1174
|
+
|
|
1175
|
+
**Legacy-app pivot (when `*.js` returns empty):**
|
|
1176
|
+
|
|
1177
|
+
Static brochure-ware sites (older corporate sites, especially pre-2015) often have **zero archived JS** because the frontend was server-rendered. Pivot to legacy file extensions:
|
|
1178
|
+
|
|
1179
|
+
```bash
|
|
1180
|
+
# ASP / ASP.NET classic
|
|
1181
|
+
curl -sS -m 15 "https://web.archive.org/cdx/search/cdx?url=${D}/*.asp&output=json&fl=timestamp,original&filter=statuscode:200&collapse=urlkey&limit=500"
|
|
1182
|
+
|
|
1183
|
+
# PHP
|
|
1184
|
+
curl -sS -m 15 "https://web.archive.org/cdx/search/cdx?url=${D}/*.php&output=json&fl=timestamp,original&filter=statuscode:200&collapse=urlkey&limit=500"
|
|
1185
|
+
|
|
1186
|
+
# JSP / .NET aspx / CGI / Coldfusion
|
|
1187
|
+
for ext in aspx jsp cgi cfm; do
|
|
1188
|
+
echo "=== .$ext ==="
|
|
1189
|
+
curl -sS -m 15 "https://web.archive.org/cdx/search/cdx?url=${D}/*.${ext}&output=json&fl=timestamp,original&filter=statuscode:200&collapse=urlkey&limit=200"
|
|
1190
|
+
done
|
|
1191
|
+
|
|
1192
|
+
# JSON / XML config (sometimes leaks endpoints + creds)
|
|
1193
|
+
for ext in json xml yml yaml ini conf; do
|
|
1194
|
+
echo "=== .$ext ==="
|
|
1195
|
+
curl -sS -m 15 "https://web.archive.org/cdx/search/cdx?url=${D}/*.${ext}&output=json&fl=timestamp,original&filter=statuscode:200&collapse=urlkey&limit=100"
|
|
1196
|
+
done
|
|
1197
|
+
|
|
1198
|
+
# Anything indexed (broad sweep — useful for legacy enumeration)
|
|
1199
|
+
curl -sS -m 15 "https://web.archive.org/cdx/search/cdx?url=${D}/*&output=json&fl=timestamp,original&filter=statuscode:200&collapse=urlkey&limit=10000"
|
|
1200
|
+
```
|
|
1201
|
+
|
|
1202
|
+
Legacy `.asp` / `.cfm` / `.jsp` URLs often reveal: forgotten admin panels, old user-enum endpoints, legacy auth flows, SQL-injection-prone parameters. Cross-reference with current DNS — many legacy hosts now NXDOMAIN but the URL paths sometimes survive on a renamed host.
|
|
1203
|
+
|
|
1204
|
+
### 16.24 Common-Prefix Subdomain Sweep (active, low-detectability)
|
|
1205
|
+
|
|
1206
|
+
Empirically: **passive cert-transparency enumeration (crt.sh / VirusTotal / Subfinder) can miss hosts; the upstream 20–40% claim is unverified and must not be used as a coverage guarantee** because (a) many internal hosts use wildcard certs that don't expose the FQDN, (b) some hosts have never been issued public certs (HTTP-only or self-signed), (c) very-recently-provisioned hosts haven't propagated to CT log mirrors yet.
|
|
1207
|
+
|
|
1208
|
+
**Active prefix probing is optional and requires separate scope confirmation and a finite DNS request budget.** Detectability: low (single A-record query per host; no port scan, no HTTP).
|
|
1209
|
+
|
|
1210
|
+
**The high-yield prefix list (ordered by hit-rate from real engagements):**
|
|
1211
|
+
|
|
1212
|
+
```
|
|
1213
|
+
www, mail, webmail, smtp, imap, pop, owa, autodiscover, ftp, sftp,
|
|
1214
|
+
vpn, sslvpn, gateway, gp, globalprotect, citrix, fortinet, anyconnect,
|
|
1215
|
+
api, app, apps, mobile, m,
|
|
1216
|
+
portal, login, sso, idp, iam, identity, accounts, oauth, auth, adfs,
|
|
1217
|
+
admin, manage, console, dashboard, cp, cpanel,
|
|
1218
|
+
intranet, internal, hr, payroll, finance, sap, erp, crm, helpdesk, servicedesk,
|
|
1219
|
+
support, help, kb, status, monitoring, grafana, kibana, prometheus,
|
|
1220
|
+
docs, wiki, confluence, jira, bitbucket, gitlab, jenkins, sonar, nexus,
|
|
1221
|
+
git, svn, repo, code,
|
|
1222
|
+
dev, test, staging, stg, qa, uat, sandbox, preprod, preview, demo,
|
|
1223
|
+
careers, jobs, vacancies, recruit, eapps,
|
|
1224
|
+
shop, store, ecommerce, checkout, payments, pay, billing,
|
|
1225
|
+
old, legacy, archive, backup, beta, v1, v2, classic,
|
|
1226
|
+
cdn, static, assets, media, img, files, downloads, public,
|
|
1227
|
+
ns, ns1, ns2, dns, mx, mx1, mx2,
|
|
1228
|
+
zoom, teams, slack, lync, sip, voice, meet,
|
|
1229
|
+
eproc, tender, tenders, suppliers, vendor, vendors, procurement, purchase
|
|
1230
|
+
```
|
|
1231
|
+
|
|
1232
|
+
**One-liner (PowerShell):**
|
|
1233
|
+
```powershell
|
|
1234
|
+
$D = "target.example"
|
|
1235
|
+
$prefixes = @("www","mail","webmail","owa","autodiscover","ftp","vpn","sslvpn","gateway","api","app","portal","login","sso","idp","iam","identity","accounts","oauth","auth","adfs","admin","intranet","hr","sap","erp","crm","support","help","status","grafana","kibana","docs","wiki","jira","jenkins","gitlab","dev","test","staging","stg","qa","uat","sandbox","preprod","preview","careers","jobs","eapps","old","legacy","beta","tender","suppliers","procurement")
|
|
1236
|
+
foreach ($p in $prefixes) {
|
|
1237
|
+
$r = Resolve-DnsName "$p.$D" -Type A -ErrorAction SilentlyContinue
|
|
1238
|
+
if ($r) {
|
|
1239
|
+
$ips = ($r | ? {$_.IPAddress}).IPAddress -join ","
|
|
1240
|
+
"$p.$D -> $ips"
|
|
1241
|
+
}
|
|
1242
|
+
}
|
|
1243
|
+
```
|
|
1244
|
+
|
|
1245
|
+
**One-liner (bash + dig):**
|
|
1246
|
+
```bash
|
|
1247
|
+
D="target.example"
|
|
1248
|
+
for p in www mail webmail owa autodiscover ftp vpn sslvpn gateway api app portal login sso idp iam identity accounts oauth auth adfs admin intranet hr sap erp crm support help status grafana kibana docs wiki jira jenkins gitlab dev test staging stg qa uat sandbox preprod preview careers jobs eapps old legacy beta tender suppliers procurement; do
|
|
1249
|
+
IP=$(dig +short A "$p.$D" | head -1)
|
|
1250
|
+
[ -n "$IP" ] && echo "$p.$D -> $IP"
|
|
1251
|
+
done
|
|
1252
|
+
```
|
|
1253
|
+
|
|
1254
|
+
**Mass DNS approach (faster for large prefix lists):**
|
|
1255
|
+
```bash
|
|
1256
|
+
# Generate candidate FQDNs from a wordlist; resolve in parallel via puredns
|
|
1257
|
+
puredns resolve <(awk -v d="$D" '{print $1"."d}' assetnote-best-dns-wordlist.txt) -r resolvers.txt
|
|
1258
|
+
```
|
|
1259
|
+
|
|
1260
|
+
**What to extract from each hit:**
|
|
1261
|
+
- IP / IP block → ASN lookup (§28.1) → association lead; ASN membership does not prove target ownership or testing permission.
|
|
1262
|
+
- For `vpn.*` / `gateway.*` / `gp.*` / `globalprotect.*` / `citrix.*` → flag for active vendor fingerprint (§16.16) under separate engagement scope.
|
|
1263
|
+
- For `api.*` / `app.*` → seed for §16.1–16.10 webapp probes.
|
|
1264
|
+
- For `staging.*` / `dev.*` / `uat.*` → seed for §16.5 always-on HTTP checks (often weaker auth + debug endpoints).
|
|
1265
|
+
- For `intranet.*` / `eapps.*` / `eproc.*` / similar internal-app shortnames → public-intranet finding (often MEDIUM; per §40).
|
|
1266
|
+
|
|
1267
|
+
**Real-engagement validation:** in an internal smoke test, prefix-sweep found `vpn.`, `api.`, `intranet.`, `staging.`, `support.`, `eapps.`, `eproc.`, `autodiscover.` — all of which crt.sh missed (or returned 502 for). Treat passive + active as **complementary, not alternatives**.
|
|
1268
|
+
|
|
1269
|
+
---
|