@nockdev/awf 6.2.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/.agent/build.yaml +178 -0
- package/.agent/config.yaml +235 -0
- package/.agent/core/ACTIVE_MEMORY.yaml +344 -0
- package/.agent/core/ARCH_REGISTRY.yaml +252 -0
- package/.agent/core/AUDIT_POLICY.md +68 -0
- package/.agent/core/BRANDING.yaml +185 -0
- package/.agent/core/CACHE.md +59 -0
- package/.agent/core/CHECKPOINT.yaml +153 -0
- package/.agent/core/CLEANUP_ENGINE.yaml +326 -0
- package/.agent/core/CODING_STYLES.yaml +346 -0
- package/.agent/core/COMMANDS.md +93 -0
- package/.agent/core/CONTEXT_INJECTOR.yaml +325 -0
- package/.agent/core/CONTEXT_LOADER.yaml +323 -0
- package/.agent/core/CONTEXT_OPTIMIZATION.yaml +286 -0
- package/.agent/core/CONTEXT_PRIORITY.yaml +357 -0
- package/.agent/core/CUSTOMIZE.md +138 -0
- package/.agent/core/DATA_SAFETY.md +92 -0
- package/.agent/core/FLOW_ENGINE.yaml +300 -0
- package/.agent/core/GRAPH_MEMORY.yaml +420 -0
- package/.agent/core/HSA.yaml +357 -0
- package/.agent/core/HYBRID_ROUTER.yaml +346 -0
- package/.agent/core/INTENT_DETECTION.yaml +384 -0
- package/.agent/core/LIBRARY_REGISTRY.yaml +401 -0
- package/.agent/core/MCP_TOOLS.yaml +414 -0
- package/.agent/core/MEMORY_CONSOLIDATION.yaml +352 -0
- package/.agent/core/MEMORY_ENGINE.yaml +353 -0
- package/.agent/core/MEMORY_PATHS.yaml +79 -0
- package/.agent/core/MEMORY_UTILS.yaml +212 -0
- package/.agent/core/PATTERNS.yaml +319 -0
- package/.agent/core/PERMISSIONS.md +100 -0
- package/.agent/core/README.md +91 -0
- package/.agent/core/REFLECTION_ENGINE.yaml +348 -0
- package/.agent/core/ROUTER.yaml +424 -0
- package/.agent/core/SCORING_FORMULA.yaml +103 -0
- package/.agent/core/SEMANTIC_ENGINE.yaml +162 -0
- package/.agent/core/SKILLS_FLOW.yaml +341 -0
- package/.agent/core/SKILL_SCHEMA.yaml +266 -0
- package/.agent/core/STATE_MACHINE.yaml +409 -0
- package/.agent/core/SUMMARIZATION_ENGINE.yaml +258 -0
- package/.agent/core/TEMPLATES.yaml +364 -0
- package/.agent/core/TOKEN_BUDGETS.yaml +157 -0
- package/.agent/core/TOKEN_LOADING.yaml +197 -0
- package/.agent/core/TOKEN_SUMMARY.yaml +121 -0
- package/.agent/core/VERSION.yaml +240 -0
- package/.agent/core/embeddings.json +2004 -0
- package/.agent/core/session_cache.json +50 -0
- package/.agent/i18n/README.md +30 -0
- package/.agent/i18n/en.yaml +302 -0
- package/.agent/i18n/vi.yaml +302 -0
- package/.agent/ide/README.md +47 -0
- package/.agent/ide/amazonq.json +35 -0
- package/.agent/ide/amp.json +35 -0
- package/.agent/ide/antigravity.json +47 -0
- package/.agent/ide/augment.json +35 -0
- package/.agent/ide/claude.json +42 -0
- package/.agent/ide/cline.json +34 -0
- package/.agent/ide/codex.json +37 -0
- package/.agent/ide/cody.json +35 -0
- package/.agent/ide/continue.json +35 -0
- package/.agent/ide/cursor.json +42 -0
- package/.agent/ide/gemini.json +46 -0
- package/.agent/ide/jetbrains.json +35 -0
- package/.agent/ide/kiro.json +35 -0
- package/.agent/ide/opencode.json +35 -0
- package/.agent/ide/roo.json +35 -0
- package/.agent/ide/tabnine.json +35 -0
- package/.agent/ide/trae.json +35 -0
- package/.agent/ide/vscode.json +34 -0
- package/.agent/ide/windsurf.json +56 -0
- package/.agent/ide/zed.json +36 -0
- package/.agent/manifest.yaml +416 -0
- package/.agent/memory/README.md +148 -0
- package/.agent/memory/active_memories.json +35 -0
- package/.agent/memory/archive/.gitkeep +0 -0
- package/.agent/memory/audit_summary.json +58 -0
- package/.agent/memory/cleanup_log.json +34 -0
- package/.agent/memory/consolidated.md +75 -0
- package/.agent/memory/core_memory/persona.json +30 -0
- package/.agent/memory/core_memory/project.json +25 -0
- package/.agent/memory/core_memory/rules.json +29 -0
- package/.agent/memory/core_memory/user.json +24 -0
- package/.agent/memory/decisions.md +40 -0
- package/.agent/memory/graph/knowledge_graph.json +12 -0
- package/.agent/memory/insights.md +52 -0
- package/.agent/memory/metrics.json +48 -0
- package/.agent/memory/patterns/errors.json +11 -0
- package/.agent/memory/patterns/successes.json +10 -0
- package/.agent/memory/session.md +64 -0
- package/.agent/memory/session_rules.json +19 -0
- package/.agent/memory/state.json +81 -0
- package/.agent/memory/vectors/README.md +129 -0
- package/.agent/personas/README.md +180 -0
- package/.agent/personas/architect.md +186 -0
- package/.agent/personas/auditor.md +222 -0
- package/.agent/personas/debugger.md +210 -0
- package/.agent/personas/developer.md +183 -0
- package/.agent/personas/devops.md +268 -0
- package/.agent/personas/documenter.md +262 -0
- package/.agent/personas/orchestrator.md +240 -0
- package/.agent/personas/persona.schema.yaml +209 -0
- package/.agent/personas/planner.md +171 -0
- package/.agent/personas/researcher.md +194 -0
- package/.agent/personas/security.md +212 -0
- package/.agent/personas/tester.md +247 -0
- package/.agent/rules/README.md +231 -0
- package/.agent/rules/SACRED_RULES.xml +142 -0
- package/.agent/rules/constitutional/tier-0-core.yaml +182 -0
- package/.agent/rules/constitutional/tier-1-safety.yaml +272 -0
- package/.agent/rules/constitutional/tier-2-execution.yaml +294 -0
- package/.agent/rules/data/build-systems.yaml +126 -0
- package/.agent/rules/data/quality-standards.json +59 -0
- package/.agent/rules/duplication-prevention.md +138 -0
- package/.agent/rules/incremental-changes.md +146 -0
- package/.agent/rules/modules/context-management.yaml +158 -0
- package/.agent/rules/modules/edit-verification.yaml +197 -0
- package/.agent/rules/modules/evidence.yaml +185 -0
- package/.agent/rules/modules/git-workflow.yaml +165 -0
- package/.agent/rules/modules/language.yaml +155 -0
- package/.agent/rules/modules/online-research.yaml +192 -0
- package/.agent/rules/modules/quality.yaml +185 -0
- package/.agent/rules/modules/reflection.yaml +209 -0
- package/.agent/rules/modules/stop-conditions.yaml +196 -0
- package/.agent/rules/modules/terminal-safety.yaml +229 -0
- package/.agent/rules/modules/versioning.yaml +97 -0
- package/.agent/rules/modules/yagni.yaml +167 -0
- package/.agent/rules/project-detection.md +317 -0
- package/.agent/rules/prompt-injection-guard.md +260 -0
- package/.agent/rules/shell-commands.md +210 -0
- package/.agent/rules/validation-framework.md +189 -0
- package/.agent/skills/DEVELOPMENT.yaml +226 -0
- package/.agent/skills/README.md +69 -0
- package/.agent/skills/_categories.yaml +145 -0
- package/.agent/skills/_router.yaml +232 -0
- package/.agent/skills/core/_index.yaml +12 -0
- package/.agent/skills/core/api-design/META.yaml +64 -0
- package/.agent/skills/core/api-design/SKILL.md +169 -0
- package/.agent/skills/core/api-design/data/api-versioning.yaml +217 -0
- package/.agent/skills/core/api-design/data/error-responses.yaml +135 -0
- package/.agent/skills/core/api-design/data/graphql-patterns.yaml +165 -0
- package/.agent/skills/core/api-design/data/grpc-patterns.yaml +165 -0
- package/.agent/skills/core/api-design/data/http-status-codes.yaml +176 -0
- package/.agent/skills/core/api-design/data/pagination.yaml +121 -0
- package/.agent/skills/core/api-design/data/rate-limiting.yaml +135 -0
- package/.agent/skills/core/api-design/data/rest-patterns.yaml +195 -0
- package/.agent/skills/core/api-design/data/test-apis.yaml +217 -0
- package/.agent/skills/core/authentication/META.yaml +73 -0
- package/.agent/skills/core/authentication/SKILL.md +166 -0
- package/.agent/skills/core/authentication/data/anti-patterns.yaml +135 -0
- package/.agent/skills/core/authentication/data/core-patterns.yaml +256 -0
- package/.agent/skills/core/authentication/data/jwt-patterns.yaml +255 -0
- package/.agent/skills/core/authentication/data/language-csharp.yaml +215 -0
- package/.agent/skills/core/authentication/data/language-go.yaml +215 -0
- package/.agent/skills/core/authentication/data/language-java.yaml +215 -0
- package/.agent/skills/core/authentication/data/language-mobile.yaml +215 -0
- package/.agent/skills/core/authentication/data/language-python.yaml +215 -0
- package/.agent/skills/core/authentication/data/language-rust.yaml +215 -0
- package/.agent/skills/core/authentication/data/language-typescript.yaml +215 -0
- package/.agent/skills/core/authentication/data/mfa-patterns.yaml +175 -0
- package/.agent/skills/core/authentication/data/oauth-patterns.yaml +255 -0
- package/.agent/skills/core/authentication/data/oauth.yaml +248 -0
- package/.agent/skills/core/authentication/data/passkeys-webauthn.yaml +215 -0
- package/.agent/skills/core/authentication/data/passkeys.yaml +208 -0
- package/.agent/skills/core/authentication/data/password-patterns.yaml +175 -0
- package/.agent/skills/core/authentication/data/password.yaml +168 -0
- package/.agent/skills/core/authentication/data/session-patterns.yaml +215 -0
- package/.agent/skills/core/error-handling/META.yaml +71 -0
- package/.agent/skills/core/error-handling/SKILL.md +156 -0
- package/.agent/skills/core/error-handling/data/anti-patterns.yaml +105 -0
- package/.agent/skills/core/error-handling/data/api-error-patterns.yaml +135 -0
- package/.agent/skills/core/error-handling/data/core-patterns.yaml +226 -0
- package/.agent/skills/core/error-handling/data/error-codes.yaml +165 -0
- package/.agent/skills/core/error-handling/data/error-messages.yaml +165 -0
- package/.agent/skills/core/error-handling/data/language-c-cpp.yaml +226 -0
- package/.agent/skills/core/error-handling/data/language-go-rust.yaml +226 -0
- package/.agent/skills/core/error-handling/data/language-python-java.yaml +226 -0
- package/.agent/skills/core/error-handling/data/language-swift-kotlin.yaml +226 -0
- package/.agent/skills/core/error-handling/data/language-typescript-php-ruby.yaml +226 -0
- package/.agent/skills/core/error-handling/data/resilience-patterns.yaml +191 -0
- package/.agent/skills/core/error-handling/data/ui-error-patterns.yaml +135 -0
- package/.agent/skills/core/logging/META.yaml +73 -0
- package/.agent/skills/core/logging/SKILL.md +184 -0
- package/.agent/skills/core/logging/data/aggregation-patterns.yaml +191 -0
- package/.agent/skills/core/logging/data/anti-patterns.yaml +121 -0
- package/.agent/skills/core/logging/data/core-patterns.yaml +226 -0
- package/.agent/skills/core/logging/data/language-csharp.yaml +191 -0
- package/.agent/skills/core/logging/data/language-go.yaml +191 -0
- package/.agent/skills/core/logging/data/language-java.yaml +191 -0
- package/.agent/skills/core/logging/data/language-kotlin.yaml +156 -0
- package/.agent/skills/core/logging/data/language-others.yaml +184 -0
- package/.agent/skills/core/logging/data/language-python.yaml +191 -0
- package/.agent/skills/core/logging/data/language-rust.yaml +191 -0
- package/.agent/skills/core/logging/data/language-swift.yaml +156 -0
- package/.agent/skills/core/logging/data/language-typescript.yaml +191 -0
- package/.agent/skills/core/logging/data/otel-logging.yaml +156 -0
- package/.agent/skills/core/observability/META.yaml +76 -0
- package/.agent/skills/core/observability/SKILL.md +153 -0
- package/.agent/skills/core/observability/data/alerting-patterns.yaml +165 -0
- package/.agent/skills/core/observability/data/anti-patterns.yaml +105 -0
- package/.agent/skills/core/observability/data/core-patterns.yaml +195 -0
- package/.agent/skills/core/observability/data/language-cpp.yaml +165 -0
- package/.agent/skills/core/observability/data/language-csharp.yaml +165 -0
- package/.agent/skills/core/observability/data/language-go.yaml +165 -0
- package/.agent/skills/core/observability/data/language-java.yaml +165 -0
- package/.agent/skills/core/observability/data/language-others.yaml +255 -0
- package/.agent/skills/core/observability/data/language-python.yaml +165 -0
- package/.agent/skills/core/observability/data/language-rust.yaml +165 -0
- package/.agent/skills/core/observability/data/language-typescript.yaml +165 -0
- package/.agent/skills/core/observability/data/metrics-patterns.yaml +135 -0
- package/.agent/skills/core/observability/data/metrics-prometheus.yaml +165 -0
- package/.agent/skills/core/observability/data/otel-core.yaml +195 -0
- package/.agent/skills/core/observability/data/profiling-patterns.yaml +135 -0
- package/.agent/skills/core/observability/data/tracing-patterns.yaml +165 -0
- package/.agent/skills/core/observability/data/tracing-tools.yaml +135 -0
- package/.agent/skills/core/security/ADVANCED.md +269 -0
- package/.agent/skills/core/security/META.yaml +97 -0
- package/.agent/skills/core/security/SKILL.md +234 -0
- package/.agent/skills/core/security/data/ai-ml-security.yaml +261 -0
- package/.agent/skills/core/security/data/api-security.yaml +230 -0
- package/.agent/skills/core/security/data/auth-patterns.yaml +195 -0
- package/.agent/skills/core/security/data/binary-exploitation.yaml +339 -0
- package/.agent/skills/core/security/data/cloud-security.yaml +269 -0
- package/.agent/skills/core/security/data/cwe-top25.yaml +415 -0
- package/.agent/skills/core/security/data/language-specific/c-security.yaml +295 -0
- package/.agent/skills/core/security/data/language-specific/cpp-security.yaml +295 -0
- package/.agent/skills/core/security/data/language-specific/csharp-security.yaml +219 -0
- package/.agent/skills/core/security/data/language-specific/go-security.yaml +219 -0
- package/.agent/skills/core/security/data/language-specific/java-security.yaml +295 -0
- package/.agent/skills/core/security/data/language-specific/kotlin-security.yaml +198 -0
- package/.agent/skills/core/security/data/language-specific/php-security.yaml +219 -0
- package/.agent/skills/core/security/data/language-specific/python-security.yaml +295 -0
- package/.agent/skills/core/security/data/language-specific/ruby-security.yaml +198 -0
- package/.agent/skills/core/security/data/language-specific/rust-security.yaml +240 -0
- package/.agent/skills/core/security/data/language-specific/solidity-security.yaml +369 -0
- package/.agent/skills/core/security/data/language-specific/swift-security.yaml +198 -0
- package/.agent/skills/core/security/data/language-specific/typescript-security.yaml +295 -0
- package/.agent/skills/core/security/data/mobile-security.yaml +369 -0
- package/.agent/skills/core/security/data/network-security.yaml +297 -0
- package/.agent/skills/core/security/data/owasp-top10.yaml +171 -0
- package/.agent/skills/core/security/data/reverse-engineering.yaml +497 -0
- package/.agent/skills/core/security/data/supply-chain.yaml +219 -0
- package/.agent/skills/cross-cutting/_index.yaml +15 -0
- package/.agent/skills/cross-cutting/audit-pro/META.yaml +43 -0
- package/.agent/skills/cross-cutting/audit-pro/data/checklists.yaml +644 -0
- package/.agent/skills/cross-cutting/audit-pro/data/scoring.yaml +101 -0
- package/.agent/skills/cross-cutting/aws/META.yaml +75 -0
- package/.agent/skills/cross-cutting/aws/data/ai_ml.yaml +194 -0
- package/.agent/skills/cross-cutting/aws/data/compute.yaml +191 -0
- package/.agent/skills/cross-cutting/aws/data/kubernetes.yaml +199 -0
- package/.agent/skills/cross-cutting/aws/data/storage.yaml +174 -0
- package/.agent/skills/cross-cutting/bun/META.yaml +58 -0
- package/.agent/skills/cross-cutting/bun/SKILL.md +357 -0
- package/.agent/skills/cross-cutting/bun/data/database.yaml +85 -0
- package/.agent/skills/cross-cutting/bun/data/runtime.yaml +170 -0
- package/.agent/skills/cross-cutting/bun/data/tooling.yaml +192 -0
- package/.agent/skills/cross-cutting/ci-cd/META.yaml +60 -0
- package/.agent/skills/cross-cutting/ci-cd/data/github_actions.yaml +248 -0
- package/.agent/skills/cross-cutting/ci-cd/data/security.yaml +211 -0
- package/.agent/skills/cross-cutting/coding-rules/META.yaml +61 -0
- package/.agent/skills/cross-cutting/coding-rules/SKILL.md +171 -0
- package/.agent/skills/cross-cutting/coding-rules/data/architecture-patterns.yaml +96 -0
- package/.agent/skills/cross-cutting/coding-rules/data/build-systems.yaml +346 -0
- package/.agent/skills/cross-cutting/coding-rules/data/coding-rules.yaml +647 -0
- package/.agent/skills/cross-cutting/coding-rules/data/concurrency-patterns.yaml +108 -0
- package/.agent/skills/cross-cutting/coding-rules/data/design-patterns.yaml +260 -0
- package/.agent/skills/cross-cutting/coding-rules/data/framework-signatures.yaml +344 -0
- package/.agent/skills/cross-cutting/coding-rules/data/memory-management.yaml +108 -0
- package/.agent/skills/cross-cutting/coding-rules/data/naming-conventions.yaml +320 -0
- package/.agent/skills/cross-cutting/coding-rules/data/performance-benchmarks.yaml +164 -0
- package/.agent/skills/cross-cutting/coding-rules/data/solid-principles.yaml +80 -0
- package/.agent/skills/cross-cutting/coding-rules/data/test-frameworks.yaml +183 -0
- package/.agent/skills/cross-cutting/database/ADVANCED.md +465 -0
- package/.agent/skills/cross-cutting/database/META.yaml +22 -0
- package/.agent/skills/cross-cutting/database/SKILL.md +816 -0
- package/.agent/skills/cross-cutting/database/data/anti_patterns.yaml +116 -0
- package/.agent/skills/cross-cutting/database/data/distributed.yaml +152 -0
- package/.agent/skills/cross-cutting/database/data/mongodb.yaml +132 -0
- package/.agent/skills/cross-cutting/database/data/mysql.yaml +130 -0
- package/.agent/skills/cross-cutting/database/data/orm.yaml +104 -0
- package/.agent/skills/cross-cutting/database/data/postgresql.yaml +170 -0
- package/.agent/skills/cross-cutting/database/data/redis.yaml +129 -0
- package/.agent/skills/cross-cutting/deno/META.yaml +68 -0
- package/.agent/skills/cross-cutting/deno/SKILL.md +343 -0
- package/.agent/skills/cross-cutting/deno/data/runtime.yaml +260 -0
- package/.agent/skills/cross-cutting/deno/data/security.yaml +168 -0
- package/.agent/skills/cross-cutting/deno/data/tooling.yaml +133 -0
- package/.agent/skills/cross-cutting/docker/META.yaml +65 -0
- package/.agent/skills/cross-cutting/docker/data/build.yaml +197 -0
- package/.agent/skills/cross-cutting/docker/data/compose.yaml +229 -0
- package/.agent/skills/cross-cutting/docker/data/security.yaml +164 -0
- package/.agent/skills/cross-cutting/electron/META.yaml +174 -0
- package/.agent/skills/cross-cutting/electron/SKILL.md +862 -0
- package/.agent/skills/cross-cutting/electron/data/build.yaml +105 -0
- package/.agent/skills/cross-cutting/electron/data/crash.yaml +103 -0
- package/.agent/skills/cross-cutting/electron/data/ipc.yaml +85 -0
- package/.agent/skills/cross-cutting/electron/data/native.yaml +157 -0
- package/.agent/skills/cross-cutting/electron/data/security.yaml +89 -0
- package/.agent/skills/cross-cutting/electron/data/storage.yaml +100 -0
- package/.agent/skills/cross-cutting/electron/data/testing.yaml +103 -0
- package/.agent/skills/cross-cutting/electron/data/updates.yaml +99 -0
- package/.agent/skills/cross-cutting/electron/data/window.yaml +83 -0
- package/.agent/skills/cross-cutting/kubernetes/META.yaml +70 -0
- package/.agent/skills/cross-cutting/kubernetes/data/networking.yaml +270 -0
- package/.agent/skills/cross-cutting/kubernetes/data/scheduling.yaml +267 -0
- package/.agent/skills/cross-cutting/kubernetes/data/security.yaml +253 -0
- package/.agent/skills/cross-cutting/kubernetes/data/workloads.yaml +251 -0
- package/.agent/skills/cross-cutting/sql/META.yaml +88 -0
- package/.agent/skills/cross-cutting/sql/SKILL.md +296 -0
- package/.agent/skills/cross-cutting/sql/data/indexing.yaml +147 -0
- package/.agent/skills/cross-cutting/sql/data/json.yaml +156 -0
- package/.agent/skills/cross-cutting/sql/data/performance.yaml +204 -0
- package/.agent/skills/cross-cutting/sql/data/queries.yaml +150 -0
- package/.agent/skills/cross-cutting/tailwind/META.yaml +72 -0
- package/.agent/skills/cross-cutting/tailwind/SKILL.md +344 -0
- package/.agent/skills/cross-cutting/tailwind/data/build.yaml +143 -0
- package/.agent/skills/cross-cutting/tailwind/data/config.yaml +109 -0
- package/.agent/skills/cross-cutting/tailwind/data/migration.yaml +149 -0
- package/.agent/skills/cross-cutting/tailwind/data/responsive.yaml +148 -0
- package/.agent/skills/cross-cutting/tailwind/data/states.yaml +152 -0
- package/.agent/skills/cross-cutting/tailwind/data/theme.yaml +126 -0
- package/.agent/skills/cross-cutting/tailwind/data/utilities.yaml +182 -0
- package/.agent/skills/cross-cutting/tailwind/data/variants.yaml +154 -0
- package/.agent/skills/cross-cutting/testing/ADVANCED.md +245 -0
- package/.agent/skills/cross-cutting/testing/META.yaml +49 -0
- package/.agent/skills/cross-cutting/testing/SKILL.md +263 -0
- package/.agent/skills/cross-cutting/testing/data/frameworks.yaml +300 -0
- package/.agent/skills/cross-cutting/testing/data/patterns.yaml +168 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/META.yaml +108 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/SKILL.md +565 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/charts.yaml +331 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/colors.yaml +1226 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/component-decision.yaml +287 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/component-mapping.yaml +318 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/design-tokens.yaml +525 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/desktop-animation.yaml +232 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/desktop-architecture.yaml +140 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/desktop-colors.yaml +467 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/directory-structure.yaml +75 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/icons.yaml +918 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/implementation-strategy.yaml +107 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/landing.yaml +372 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/platform-frameworks.yaml +195 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/platform-guidelines.yaml +177 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/products.yaml +1339 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/prompts.yaml +180 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/react-performance.yaml +504 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/desktop.yaml +228 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/flutter.yaml +508 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/html-tailwind.yaml +543 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/nextjs.yaml +515 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/nuxt-ui.yaml +519 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/nuxtjs.yaml +599 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/react-native.yaml +496 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/react.yaml +526 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/shadcn.yaml +616 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/svelte.yaml +520 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/swiftui.yaml +486 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/vue.yaml +485 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/styles.yaml +1473 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/typography.yaml +647 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/ui-reasoning.yaml +1019 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/ux-guidelines.yaml +1009 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/web-interface.yaml +347 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/core.py +393 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/core_legacy.py +303 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/design_system.py +496 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/search.py +76 -0
- package/.agent/skills/cross-cutting/web-perf/META.yaml +92 -0
- package/.agent/skills/cross-cutting/web-perf/SKILL.md +181 -0
- package/.agent/skills/cross-cutting/web-perf/data/cls_optimization.yaml +189 -0
- package/.agent/skills/cross-cutting/web-perf/data/core_web_vitals.yaml +282 -0
- package/.agent/skills/cross-cutting/web-perf/data/inp_optimization.yaml +240 -0
- package/.agent/skills/cross-cutting/web-perf/data/lcp_optimization.yaml +202 -0
- package/.agent/skills/cross-cutting/web-perf/data/measurement.yaml +170 -0
- package/.agent/skills/devops/_index.yaml +9 -0
- package/.agent/skills/devops/aws/ADVANCED.md +547 -0
- package/.agent/skills/devops/aws/META.yaml +84 -0
- package/.agent/skills/devops/aws/SKILL.md +711 -0
- package/.agent/skills/devops/ci-cd/ADVANCED.md +529 -0
- package/.agent/skills/devops/ci-cd/META.yaml +21 -0
- package/.agent/skills/devops/ci-cd/SKILL.md +821 -0
- package/.agent/skills/devops/docker/ADVANCED.md +495 -0
- package/.agent/skills/devops/docker/META.yaml +20 -0
- package/.agent/skills/devops/docker/SKILL.md +653 -0
- package/.agent/skills/devops/kubernetes/ADVANCED.md +252 -0
- package/.agent/skills/devops/kubernetes/META.yaml +15 -0
- package/.agent/skills/devops/kubernetes/SKILL.md +621 -0
- package/.agent/skills/frameworks/_index.yaml +13 -0
- package/.agent/skills/frameworks/angular/META.yaml +70 -0
- package/.agent/skills/frameworks/angular/SKILL.md +319 -0
- package/.agent/skills/frameworks/angular/data/core.yaml +209 -0
- package/.agent/skills/frameworks/angular/data/performance.yaml +210 -0
- package/.agent/skills/frameworks/angular/data/server.yaml +175 -0
- package/.agent/skills/frameworks/flutter/ADVANCED.md +491 -0
- package/.agent/skills/frameworks/flutter/META.yaml +64 -0
- package/.agent/skills/frameworks/flutter/SKILL.md +541 -0
- package/.agent/skills/frameworks/flutter/data/core.yaml +210 -0
- package/.agent/skills/frameworks/flutter/data/platform.yaml +246 -0
- package/.agent/skills/frameworks/flutter/data/state.yaml +250 -0
- package/.agent/skills/frameworks/nextjs/ADVANCED.md +225 -0
- package/.agent/skills/frameworks/nextjs/META.yaml +67 -0
- package/.agent/skills/frameworks/nextjs/SKILL.md +593 -0
- package/.agent/skills/frameworks/nextjs/data/caching.yaml +210 -0
- package/.agent/skills/frameworks/nextjs/data/core.yaml +255 -0
- package/.agent/skills/frameworks/nextjs/data/server.yaml +248 -0
- package/.agent/skills/frameworks/nuxt/META.yaml +57 -0
- package/.agent/skills/frameworks/nuxt/SKILL.md +283 -0
- package/.agent/skills/frameworks/nuxt/data/core.yaml +309 -0
- package/.agent/skills/frameworks/nuxt/data/server.yaml +271 -0
- package/.agent/skills/frameworks/react/ADVANCED.md +676 -0
- package/.agent/skills/frameworks/react/META.yaml +60 -0
- package/.agent/skills/frameworks/react/SKILL.md +263 -0
- package/.agent/skills/frameworks/react/data/core.yaml +278 -0
- package/.agent/skills/frameworks/react/data/server.yaml +283 -0
- package/.agent/skills/frameworks/react-native/META.yaml +59 -0
- package/.agent/skills/frameworks/react-native/SKILL.md +301 -0
- package/.agent/skills/frameworks/react-native/data/core.yaml +260 -0
- package/.agent/skills/frameworks/react-native/data/platform.yaml +287 -0
- package/.agent/skills/frameworks/svelte/META.yaml +62 -0
- package/.agent/skills/frameworks/svelte/SKILL.md +398 -0
- package/.agent/skills/frameworks/svelte/data/runes.yaml +239 -0
- package/.agent/skills/frameworks/svelte/data/sveltekit.yaml +244 -0
- package/.agent/skills/frameworks/vue/ADVANCED.md +214 -0
- package/.agent/skills/frameworks/vue/META.yaml +58 -0
- package/.agent/skills/frameworks/vue/SKILL.md +356 -0
- package/.agent/skills/frameworks/vue/data/advanced.yaml +253 -0
- package/.agent/skills/frameworks/vue/data/core.yaml +270 -0
- package/.agent/skills/index.json +143 -0
- package/.agent/skills/languages/_index.yaml +33 -0
- package/.agent/skills/languages/asm/ADVANCED.md +750 -0
- package/.agent/skills/languages/asm/META.yaml +84 -0
- package/.agent/skills/languages/asm/SKILL.md +753 -0
- package/.agent/skills/languages/asm/data/advanced.yaml +295 -0
- package/.agent/skills/languages/asm/data/core.yaml +280 -0
- package/.agent/skills/languages/c/ADVANCED.md +625 -0
- package/.agent/skills/languages/c/META.yaml +58 -0
- package/.agent/skills/languages/c/SKILL.md +748 -0
- package/.agent/skills/languages/c/data/core.yaml +179 -0
- package/.agent/skills/languages/c/data/embedded.yaml +251 -0
- package/.agent/skills/languages/c/data/memory.yaml +253 -0
- package/.agent/skills/languages/clojure/META.yaml +13 -0
- package/.agent/skills/languages/clojure/SKILL.md +130 -0
- package/.agent/skills/languages/clojure/data/core.yaml +326 -0
- package/.agent/skills/languages/cpp/ADVANCED.md +457 -0
- package/.agent/skills/languages/cpp/META.yaml +61 -0
- package/.agent/skills/languages/cpp/SKILL.md +936 -0
- package/.agent/skills/languages/cpp/data/core.yaml +304 -0
- package/.agent/skills/languages/cpp/data/memory.yaml +247 -0
- package/.agent/skills/languages/cpp/data/modern.yaml +334 -0
- package/.agent/skills/languages/crystal/META.yaml +30 -0
- package/.agent/skills/languages/crystal/SKILL.md +117 -0
- package/.agent/skills/languages/crystal/data/async.yaml +264 -0
- package/.agent/skills/languages/crystal/data/core.yaml +279 -0
- package/.agent/skills/languages/csharp/ADVANCED.md +592 -0
- package/.agent/skills/languages/csharp/META.yaml +23 -0
- package/.agent/skills/languages/csharp/SKILL.md +620 -0
- package/.agent/skills/languages/csharp/data/aspnet.yaml +448 -0
- package/.agent/skills/languages/csharp/data/core.yaml +362 -0
- package/.agent/skills/languages/elixir/META.yaml +18 -0
- package/.agent/skills/languages/elixir/SKILL.md +368 -0
- package/.agent/skills/languages/elixir/data/core.yaml +392 -0
- package/.agent/skills/languages/fsharp/META.yaml +14 -0
- package/.agent/skills/languages/fsharp/SKILL.md +113 -0
- package/.agent/skills/languages/fsharp/data/core.yaml +396 -0
- package/.agent/skills/languages/go/ADVANCED.md +260 -0
- package/.agent/skills/languages/go/META.yaml +64 -0
- package/.agent/skills/languages/go/SKILL.md +489 -0
- package/.agent/skills/languages/go/data/concurrency.yaml +424 -0
- package/.agent/skills/languages/go/data/core.yaml +399 -0
- package/.agent/skills/languages/go/data/http.yaml +507 -0
- package/.agent/skills/languages/haskell/META.yaml +18 -0
- package/.agent/skills/languages/haskell/SKILL.md +305 -0
- package/.agent/skills/languages/haskell/data/core.yaml +347 -0
- package/.agent/skills/languages/java/ADVANCED.md +450 -0
- package/.agent/skills/languages/java/META.yaml +89 -0
- package/.agent/skills/languages/java/SKILL.md +495 -0
- package/.agent/skills/languages/java/data/core.yaml +307 -0
- package/.agent/skills/languages/java/data/spring.yaml +437 -0
- package/.agent/skills/languages/javascript/ADVANCED.md +530 -0
- package/.agent/skills/languages/javascript/META.yaml +105 -0
- package/.agent/skills/languages/javascript/SKILL.md +455 -0
- package/.agent/skills/languages/javascript/data/async.yaml +290 -0
- package/.agent/skills/languages/javascript/data/core.yaml +380 -0
- package/.agent/skills/languages/javascript/data/modern.yaml +269 -0
- package/.agent/skills/languages/julia/META.yaml +13 -0
- package/.agent/skills/languages/julia/SKILL.md +174 -0
- package/.agent/skills/languages/julia/data/core.yaml +356 -0
- package/.agent/skills/languages/kotlin/ADVANCED.md +539 -0
- package/.agent/skills/languages/kotlin/META.yaml +24 -0
- package/.agent/skills/languages/kotlin/SKILL.md +525 -0
- package/.agent/skills/languages/kotlin/data/android.yaml +495 -0
- package/.agent/skills/languages/kotlin/data/core.yaml +366 -0
- package/.agent/skills/languages/lua/ADVANCED.md +257 -0
- package/.agent/skills/languages/lua/META.yaml +58 -0
- package/.agent/skills/languages/lua/SKILL.md +492 -0
- package/.agent/skills/languages/lua/data/core.yaml +264 -0
- package/.agent/skills/languages/lua/data/embedding.yaml +300 -0
- package/.agent/skills/languages/nim/META.yaml +30 -0
- package/.agent/skills/languages/nim/SKILL.md +116 -0
- package/.agent/skills/languages/nim/data/async.yaml +257 -0
- package/.agent/skills/languages/nim/data/core.yaml +241 -0
- package/.agent/skills/languages/ocaml/META.yaml +13 -0
- package/.agent/skills/languages/ocaml/SKILL.md +123 -0
- package/.agent/skills/languages/ocaml/data/core.yaml +357 -0
- package/.agent/skills/languages/perl/META.yaml +13 -0
- package/.agent/skills/languages/perl/SKILL.md +115 -0
- package/.agent/skills/languages/perl/data/core.yaml +360 -0
- package/.agent/skills/languages/php/ADVANCED.md +199 -0
- package/.agent/skills/languages/php/META.yaml +18 -0
- package/.agent/skills/languages/php/SKILL.md +488 -0
- package/.agent/skills/languages/php/data/core.yaml +392 -0
- package/.agent/skills/languages/php/data/laravel.yaml +525 -0
- package/.agent/skills/languages/python/ADVANCED.md +207 -0
- package/.agent/skills/languages/python/META.yaml +91 -0
- package/.agent/skills/languages/python/SKILL.md +495 -0
- package/.agent/skills/languages/python/data/async.yaml +265 -0
- package/.agent/skills/languages/python/data/core.yaml +259 -0
- package/.agent/skills/languages/python/data/fastapi.yaml +296 -0
- package/.agent/skills/languages/python/data/testing.yaml +226 -0
- package/.agent/skills/languages/r/META.yaml +16 -0
- package/.agent/skills/languages/r/SKILL.md +348 -0
- package/.agent/skills/languages/r/data/core.yaml +355 -0
- package/.agent/skills/languages/ruby/ADVANCED.md +381 -0
- package/.agent/skills/languages/ruby/META.yaml +19 -0
- package/.agent/skills/languages/ruby/SKILL.md +417 -0
- package/.agent/skills/languages/ruby/data/core.yaml +448 -0
- package/.agent/skills/languages/ruby/data/rails.yaml +415 -0
- package/.agent/skills/languages/rust/ADVANCED.md +212 -0
- package/.agent/skills/languages/rust/META.yaml +87 -0
- package/.agent/skills/languages/rust/SKILL.md +377 -0
- package/.agent/skills/languages/rust/data/async.yaml +404 -0
- package/.agent/skills/languages/rust/data/axum.yaml +450 -0
- package/.agent/skills/languages/rust/data/core.yaml +356 -0
- package/.agent/skills/languages/scala/META.yaml +17 -0
- package/.agent/skills/languages/scala/SKILL.md +202 -0
- package/.agent/skills/languages/scala/data/core.yaml +349 -0
- package/.agent/skills/languages/solidity/META.yaml +13 -0
- package/.agent/skills/languages/solidity/SKILL.md +188 -0
- package/.agent/skills/languages/solidity/data/core.yaml +528 -0
- package/.agent/skills/languages/swift/ADVANCED.md +231 -0
- package/.agent/skills/languages/swift/META.yaml +18 -0
- package/.agent/skills/languages/swift/SKILL.md +342 -0
- package/.agent/skills/languages/swift/data/core.yaml +489 -0
- package/.agent/skills/languages/typescript/ADVANCED.md +186 -0
- package/.agent/skills/languages/typescript/META.yaml +92 -0
- package/.agent/skills/languages/typescript/SKILL.md +306 -0
- package/.agent/skills/languages/typescript/data/async.yaml +397 -0
- package/.agent/skills/languages/typescript/data/core.yaml +283 -0
- package/.agent/skills/languages/typescript/data/validation.yaml +338 -0
- package/.agent/skills/languages/zig/META.yaml +52 -0
- package/.agent/skills/languages/zig/SKILL.md +354 -0
- package/.agent/skills/languages/zig/data/async.yaml +314 -0
- package/.agent/skills/languages/zig/data/core.yaml +302 -0
- package/.agent/templates/README.md +42 -0
- package/.agent/templates/audit-report.md +153 -0
- package/.agent/templates/chains/debug/step1-reproduce.md +83 -0
- package/.agent/templates/chains/debug/step2-isolate.md +73 -0
- package/.agent/templates/chains/debug/step3-analyze.md +86 -0
- package/.agent/templates/chains/debug/step4-fix.md +85 -0
- package/.agent/templates/chains/debug/step5-verify.md +122 -0
- package/.agent/templates/chains/implement/step1-plan.md +88 -0
- package/.agent/templates/chains/implement/step2-code.md +87 -0
- package/.agent/templates/chains/implement/step3-test.md +87 -0
- package/.agent/templates/chains/implement/step4-doc.md +118 -0
- package/.agent/templates/chains/review/step1-understand.md +74 -0
- package/.agent/templates/chains/review/step2-analyze.md +110 -0
- package/.agent/templates/chains/review/step3-fix.md +93 -0
- package/.agent/templates/chains/review/step4-summary.md +104 -0
- package/.agent/templates/debug-report.md +50 -0
- package/.agent/templates/deploy-plan.md +54 -0
- package/.agent/templates/doc-template.md +57 -0
- package/.agent/templates/findings.md +122 -0
- package/.agent/templates/index.yaml +239 -0
- package/.agent/templates/migrate-plan.md +50 -0
- package/.agent/templates/phase-template.md +72 -0
- package/.agent/templates/project-plan.md +87 -0
- package/.agent/templates/prompts/context_block.md +114 -0
- package/.agent/templates/prompts/guardrails_block.md +116 -0
- package/.agent/templates/prompts/persona_base.md +155 -0
- package/.agent/templates/prompts/tools_block.md +137 -0
- package/.agent/templates/reflection/critic.md +110 -0
- package/.agent/templates/reflection/error_analysis.md +149 -0
- package/.agent/templates/reflection/success_analysis.md +174 -0
- package/.agent/templates/task-list.md +144 -0
- package/.agent/templates/tasks/audit.yaml +146 -0
- package/.agent/templates/tasks/bug_fix.yaml +121 -0
- package/.agent/templates/tasks/code_implementation.yaml +110 -0
- package/.agent/templates/tasks/refactor.yaml +157 -0
- package/.agent/templates/test-report.md +52 -0
- package/.agent/workflows/ap.md +135 -0
- package/.agent/workflows/code.md +130 -0
- package/.agent/workflows/debug.md +230 -0
- package/.agent/workflows/deploy.md +192 -0
- package/.agent/workflows/dev.md +137 -0
- package/.agent/workflows/doc.md +124 -0
- package/.agent/workflows/env.md +98 -0
- package/.agent/workflows/fix.md +76 -0
- package/.agent/workflows/generate.md +28 -0
- package/.agent/workflows/git.md +97 -0
- package/.agent/workflows/help.md +75 -0
- package/.agent/workflows/init.md +148 -0
- package/.agent/workflows/migrate.md +135 -0
- package/.agent/workflows/monitor.md +133 -0
- package/.agent/workflows/onboard.md +144 -0
- package/.agent/workflows/orchestrate.md +117 -0
- package/.agent/workflows/perf.md +106 -0
- package/.agent/workflows/plan.md +106 -0
- package/.agent/workflows/recap.md +101 -0
- package/.agent/workflows/refactor.md +161 -0
- package/.agent/workflows/revert.md +99 -0
- package/.agent/workflows/review.md +106 -0
- package/.agent/workflows/scaffold.md +119 -0
- package/.agent/workflows/security.md +186 -0
- package/.agent/workflows/status.md +103 -0
- package/.agent/workflows/test.md +157 -0
- package/.agent/workflows/think.md +126 -0
- package/.agent/workflows/upgrade.md +109 -0
- package/.agent/workflows/visualize.md +295 -0
- package/.agent/workflows/workflow.md +196 -0
- package/README.md +64 -0
- package/dist/commands/add.d.ts +2 -0
- package/dist/commands/add.d.ts.map +1 -0
- package/dist/commands/add.js +70 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/config.d.ts +4 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +152 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/doctor.d.ts +4 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +98 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/hsa.d.ts +4 -0
- package/dist/commands/hsa.d.ts.map +1 -0
- package/dist/commands/hsa.js +194 -0
- package/dist/commands/hsa.js.map +1 -0
- package/dist/commands/info.d.ts +2 -0
- package/dist/commands/info.d.ts.map +1 -0
- package/dist/commands/info.js +149 -0
- package/dist/commands/info.js.map +1 -0
- package/dist/commands/init.d.ts +4 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +262 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/install-core.d.ts +4 -0
- package/dist/commands/install-core.d.ts.map +1 -0
- package/dist/commands/install-core.js +85 -0
- package/dist/commands/install-core.js.map +1 -0
- package/dist/commands/install-helpers.d.ts +27 -0
- package/dist/commands/install-helpers.d.ts.map +1 -0
- package/dist/commands/install-helpers.js +125 -0
- package/dist/commands/install-helpers.js.map +1 -0
- package/dist/commands/install-hsa.d.ts +18 -0
- package/dist/commands/install-hsa.d.ts.map +1 -0
- package/dist/commands/install-hsa.js +61 -0
- package/dist/commands/install-hsa.js.map +1 -0
- package/dist/commands/install.d.ts +4 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +310 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/list.d.ts +4 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +91 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/mcp-registry.d.ts +48 -0
- package/dist/commands/mcp-registry.d.ts.map +1 -0
- package/dist/commands/mcp-registry.js +246 -0
- package/dist/commands/mcp-registry.js.map +1 -0
- package/dist/commands/mcp-writers.d.ts +20 -0
- package/dist/commands/mcp-writers.d.ts.map +1 -0
- package/dist/commands/mcp-writers.js +144 -0
- package/dist/commands/mcp-writers.js.map +1 -0
- package/dist/commands/mcp.d.ts +10 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +319 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/update.d.ts +4 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +79 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/constants/cursor-globs.d.ts +17 -0
- package/dist/constants/cursor-globs.d.ts.map +1 -0
- package/dist/constants/cursor-globs.js +62 -0
- package/dist/constants/cursor-globs.js.map +1 -0
- package/dist/constants/ide-install-specs.d.ts +36 -0
- package/dist/constants/ide-install-specs.d.ts.map +1 -0
- package/dist/constants/ide-install-specs.js +870 -0
- package/dist/constants/ide-install-specs.js.map +1 -0
- package/dist/constants/ides.d.ts +105 -0
- package/dist/constants/ides.d.ts.map +1 -0
- package/dist/constants/ides.js +412 -0
- package/dist/constants/ides.js.map +1 -0
- package/dist/constants/skills.d.ts +40 -0
- package/dist/constants/skills.d.ts.map +1 -0
- package/dist/constants/skills.js +78 -0
- package/dist/constants/skills.js.map +1 -0
- package/dist/constants.d.ts +39 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +75 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +122 -0
- package/dist/index.js.map +1 -0
- package/dist/types/flags.d.ts +47 -0
- package/dist/types/flags.d.ts.map +1 -0
- package/dist/types/flags.js +4 -0
- package/dist/types/flags.js.map +1 -0
- package/dist/types/ide-install.d.ts +175 -0
- package/dist/types/ide-install.d.ts.map +1 -0
- package/dist/types/ide-install.js +29 -0
- package/dist/types/ide-install.js.map +1 -0
- package/dist/utils/copy-helpers.d.ts +60 -0
- package/dist/utils/copy-helpers.d.ts.map +1 -0
- package/dist/utils/copy-helpers.js +617 -0
- package/dist/utils/copy-helpers.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/validation.d.ts +29 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +211 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
metadata:
|
|
2
|
+
skill: security
|
|
3
|
+
domain: cpp_security
|
|
4
|
+
version: 6.2.0
|
|
5
|
+
updated: '2026-02-05'
|
|
6
|
+
migrated_from: cpp-security.csv
|
|
7
|
+
patterns_count: 25
|
|
8
|
+
columns:
|
|
9
|
+
- id
|
|
10
|
+
- name
|
|
11
|
+
- severity
|
|
12
|
+
- category
|
|
13
|
+
- description
|
|
14
|
+
- detection_pattern
|
|
15
|
+
- fix_pattern
|
|
16
|
+
- cwe
|
|
17
|
+
- cve_reference
|
|
18
|
+
- example_vuln
|
|
19
|
+
- example_fix
|
|
20
|
+
patterns:
|
|
21
|
+
- id: CPP-01
|
|
22
|
+
name: Vector Out of Bounds
|
|
23
|
+
severity: HIGH
|
|
24
|
+
category: Memory
|
|
25
|
+
description: std::vector accessed without bounds check
|
|
26
|
+
detection_pattern: \\[.*\\](?!.*at\\(|check|bound)
|
|
27
|
+
fix_pattern: Use .at() for bounds checking or validate index first
|
|
28
|
+
cwe: CWE-125
|
|
29
|
+
cve_reference: n/a
|
|
30
|
+
example_vuln: return vec[user_index];
|
|
31
|
+
example_fix: return vec.at(user_index); // throws if OOB
|
|
32
|
+
- id: CPP-02
|
|
33
|
+
name: Use After Move
|
|
34
|
+
severity: HIGH
|
|
35
|
+
category: Memory
|
|
36
|
+
description: Object used after std::move leaving it in unspecified state
|
|
37
|
+
detection_pattern: std::move\\(.*\\).*\\n.*\\1(?!.*=)
|
|
38
|
+
fix_pattern: Don't use object after move assign new value first
|
|
39
|
+
cwe: CWE-416
|
|
40
|
+
cve_reference: n/a
|
|
41
|
+
example_vuln: std::move(obj); obj.method();
|
|
42
|
+
example_fix: auto tmp = std::move(obj); // Don't use obj anymore
|
|
43
|
+
- id: CPP-03
|
|
44
|
+
name: Smart Pointer Misuse
|
|
45
|
+
severity: HIGH
|
|
46
|
+
category: Memory
|
|
47
|
+
description: unique_ptr released or raw pointer from shared_ptr mismanaged
|
|
48
|
+
detection_pattern: (release|get)\\(\\)(?!.*delete|\\.use_count)
|
|
49
|
+
fix_pattern: Avoid raw pointers from smart pointers maintain ownership
|
|
50
|
+
cwe: CWE-416
|
|
51
|
+
cve_reference: n/a
|
|
52
|
+
example_vuln: int *raw = unique.release(); // Must manually delete
|
|
53
|
+
example_fix: auto raw = unique.get(); // Still managed by unique_ptr
|
|
54
|
+
- id: CPP-04
|
|
55
|
+
name: Exception in Destructor
|
|
56
|
+
severity: CRITICAL
|
|
57
|
+
category: Error
|
|
58
|
+
description: Exception thrown in destructor can cause std::terminate
|
|
59
|
+
detection_pattern: ~\\w+.*throw(?!.*noexcept)
|
|
60
|
+
fix_pattern: Mark destructors noexcept or catch all exceptions
|
|
61
|
+
cwe: CWE-248
|
|
62
|
+
cve_reference: n/a
|
|
63
|
+
example_vuln: ~MyClass() { throw Error(); }
|
|
64
|
+
example_fix: ~MyClass() noexcept { try { cleanup(); } catch (...) {} }
|
|
65
|
+
- id: CPP-05
|
|
66
|
+
name: Virtual Destructor Missing
|
|
67
|
+
severity: HIGH
|
|
68
|
+
category: Memory
|
|
69
|
+
description: Base class without virtual destructor causes memory leak
|
|
70
|
+
detection_pattern: class.*public.*\\{(?!.*virtual.*~)
|
|
71
|
+
fix_pattern: Add virtual destructor to polymorphic base classes
|
|
72
|
+
cwe: CWE-401
|
|
73
|
+
cve_reference: n/a
|
|
74
|
+
example_vuln: 'class Base { public: ~Base() {} };'
|
|
75
|
+
example_fix: 'class Base { public: virtual ~Base() = default; };'
|
|
76
|
+
- id: CPP-06
|
|
77
|
+
name: Buffer Overflow memcpy
|
|
78
|
+
severity: CRITICAL
|
|
79
|
+
category: Memory
|
|
80
|
+
description: memcpy without size validation from destination
|
|
81
|
+
detection_pattern: memcpy\\(.*,.*,.*\\)(?!.*sizeof.*dest)
|
|
82
|
+
fix_pattern: Validate copy size against destination buffer size
|
|
83
|
+
cwe: CWE-120
|
|
84
|
+
cve_reference: CVE-2024-9400
|
|
85
|
+
example_vuln: memcpy(dest, src, src_len);
|
|
86
|
+
example_fix: if (src_len > sizeof(dest)) return; memcpy(dest, src, src_len);
|
|
87
|
+
- id: CPP-07
|
|
88
|
+
name: Integer Conversion
|
|
89
|
+
severity: HIGH
|
|
90
|
+
category: Math
|
|
91
|
+
description: Implicit narrowing conversion loses data
|
|
92
|
+
detection_pattern: (int|short).*=.*(size_t|long long)(?!.*check)
|
|
93
|
+
fix_pattern: Use explicit cast with range check or same-size types
|
|
94
|
+
cwe: CWE-681
|
|
95
|
+
cve_reference: n/a
|
|
96
|
+
example_vuln: int size = container.size();
|
|
97
|
+
example_fix: if (container.size() > INT_MAX) throw; int size = static_cast<int>(container.size());
|
|
98
|
+
- id: CPP-08
|
|
99
|
+
name: RTTI Exploitation
|
|
100
|
+
severity: HIGH
|
|
101
|
+
category: Memory
|
|
102
|
+
description: dynamic_cast or typeid on invalid object causes UB
|
|
103
|
+
detection_pattern: (dynamic_cast|typeid)\\(.*\\*(?!.*nullptr)
|
|
104
|
+
fix_pattern: Check pointer validity before RTTI operations
|
|
105
|
+
cwe: CWE-476
|
|
106
|
+
cve_reference: n/a
|
|
107
|
+
example_vuln: return typeid(*ptr).name();
|
|
108
|
+
example_fix: if (ptr == nullptr) throw; return typeid(*ptr).name();
|
|
109
|
+
- id: CPP-09
|
|
110
|
+
name: Thread Data Race
|
|
111
|
+
severity: CRITICAL
|
|
112
|
+
category: Concurrency
|
|
113
|
+
description: Shared data accessed from threads without synchronization
|
|
114
|
+
detection_pattern: std::thread.*\\[\\&\\].*shared(?!.*mutex|atomic)
|
|
115
|
+
fix_pattern: Use mutex lock_guard or atomic for shared data
|
|
116
|
+
cwe: CWE-362
|
|
117
|
+
cve_reference: n/a
|
|
118
|
+
example_vuln: int shared = 0; std::thread([&]{ shared++; });
|
|
119
|
+
example_fix: std::atomic<int> shared{0}; std::thread([&]{ shared++; });
|
|
120
|
+
- id: CPP-10
|
|
121
|
+
name: String View Dangling
|
|
122
|
+
severity: HIGH
|
|
123
|
+
category: Memory
|
|
124
|
+
description: string_view outlives source string causing dangling reference
|
|
125
|
+
detection_pattern: string_view.*=.*std::string\\((?!.*static|const)
|
|
126
|
+
fix_pattern: Ensure source string outlives string_view
|
|
127
|
+
cwe: CWE-416
|
|
128
|
+
cve_reference: n/a
|
|
129
|
+
example_vuln: string_view sv = std::string(\temp\");"
|
|
130
|
+
example_fix: std::string str = \persistent\"; string_view sv = str;"
|
|
131
|
+
- id: CPP-11
|
|
132
|
+
name: Lambda Capture Reference
|
|
133
|
+
severity: HIGH
|
|
134
|
+
category: Memory
|
|
135
|
+
description: Lambda captures reference to local that goes out of scope
|
|
136
|
+
detection_pattern: \\[\\&.*\\].*return.*lambda|async.*\\[\\&\\]
|
|
137
|
+
fix_pattern: Capture by value or ensure lifetime extends beyond lambda use
|
|
138
|
+
cwe: CWE-416
|
|
139
|
+
cve_reference: n/a
|
|
140
|
+
example_vuln: auto f = [&local]{ return local; }; return f;
|
|
141
|
+
example_fix: auto f = [local]{ return local; }; return f; // Copy
|
|
142
|
+
- id: CPP-12
|
|
143
|
+
name: Unordered Container Invalidation
|
|
144
|
+
severity: HIGH
|
|
145
|
+
category: Memory
|
|
146
|
+
description: Iterator used after container modification invalidates it
|
|
147
|
+
detection_pattern: (insert|erase).*\\n.*\\+\\+?it(?!.*=)
|
|
148
|
+
fix_pattern: Reassign iterator after modifying operation or use returned iterator
|
|
149
|
+
cwe: CWE-416
|
|
150
|
+
cve_reference: n/a
|
|
151
|
+
example_vuln: map.erase(it); ++it;
|
|
152
|
+
example_fix: it = map.erase(it); // erase returns next valid iterator
|
|
153
|
+
- id: CPP-13
|
|
154
|
+
name: Regex Catastrophic Backtracking
|
|
155
|
+
severity: HIGH
|
|
156
|
+
category: DoS
|
|
157
|
+
description: User regex causes exponential time complexity ReDoS
|
|
158
|
+
detection_pattern: std::regex\\(.*input(?!.*timeout)
|
|
159
|
+
fix_pattern: Validate regex complexity or use bounded RE2 library
|
|
160
|
+
cwe: CWE-1333
|
|
161
|
+
cve_reference: n/a
|
|
162
|
+
example_vuln: std::regex re(user_pattern);
|
|
163
|
+
example_fix: // Use RE2 with complexity limits\nRE2::Options opts; opts.set_max_mem(1024);
|
|
164
|
+
- id: CPP-14
|
|
165
|
+
name: Placement New Alignment
|
|
166
|
+
severity: CRITICAL
|
|
167
|
+
category: Memory
|
|
168
|
+
description: Placement new on misaligned memory causes UB
|
|
169
|
+
detection_pattern: new\\s*\\(.*\\)(?!.*alignas|alignof)
|
|
170
|
+
fix_pattern: Use alignas or std::aligned_storage for placement new
|
|
171
|
+
cwe: CWE-119
|
|
172
|
+
cve_reference: n/a
|
|
173
|
+
example_vuln: char buf[sizeof(T)]; new(buf) T();
|
|
174
|
+
example_fix: alignas(T) char buf[sizeof(T)]; new(buf) T();
|
|
175
|
+
- id: CPP-15
|
|
176
|
+
name: Optional Unchecked Access
|
|
177
|
+
severity: HIGH
|
|
178
|
+
category: Memory
|
|
179
|
+
description: std::optional value accessed without checking has_value
|
|
180
|
+
detection_pattern: optional.*\\.value\\(\\)(?!.*has_value|if)
|
|
181
|
+
fix_pattern: Check has_value() or use value_or() before accessing
|
|
182
|
+
cwe: CWE-476
|
|
183
|
+
cve_reference: n/a
|
|
184
|
+
example_vuln: return opt.value();
|
|
185
|
+
example_fix: return opt.value_or(default_val); // Or check has_value()
|
|
186
|
+
- id: CPP-16
|
|
187
|
+
name: Shared Ptr Race
|
|
188
|
+
severity: CRITICAL
|
|
189
|
+
category: Concurrency
|
|
190
|
+
description: Non-atomic shared_ptr operations across threads
|
|
191
|
+
detection_pattern: shared_ptr.*=.*(?!.*atomic|mutex).*thread
|
|
192
|
+
fix_pattern: Use atomic operations on shared_ptr across threads
|
|
193
|
+
cwe: CWE-362
|
|
194
|
+
cve_reference: n/a
|
|
195
|
+
example_vuln: std::thread([&]{ ptr = other_ptr; });
|
|
196
|
+
example_fix: std::atomic_store(&ptr, other_ptr);
|
|
197
|
+
- id: CPP-17
|
|
198
|
+
name: VTable Corruption
|
|
199
|
+
severity: CRITICAL
|
|
200
|
+
category: Memory
|
|
201
|
+
description: Object memory overwritten before virtual call corrupts vtable
|
|
202
|
+
detection_pattern: memset\\(.*this|memcpy.*obj(?!.*POD)
|
|
203
|
+
fix_pattern: Never use memset/memcpy on objects with virtual functions
|
|
204
|
+
cwe: CWE-843
|
|
205
|
+
cve_reference: n/a
|
|
206
|
+
example_vuln: memset(this, 0, sizeof(*this)); method();
|
|
207
|
+
example_fix: // Use constructor initialization instead of memset
|
|
208
|
+
- id: CPP-18
|
|
209
|
+
name: Throwing operator new
|
|
210
|
+
severity: HIGH
|
|
211
|
+
category: Error
|
|
212
|
+
description: Custom operator new throws but code expects nullptr
|
|
213
|
+
detection_pattern: new\\s*\\(std::nothrow\\)(?!.*nullptr_check)
|
|
214
|
+
fix_pattern: Use std::nothrow and check for nullptr or catch bad_alloc
|
|
215
|
+
cwe: CWE-252
|
|
216
|
+
cve_reference: n/a
|
|
217
|
+
example_vuln: int *p = new int[huge]; *p = 0;
|
|
218
|
+
example_fix: int *p = new(std::nothrow) int[huge]; if (!p) return;
|
|
219
|
+
- id: CPP-19
|
|
220
|
+
name: Static Initialization Fiasco
|
|
221
|
+
severity: HIGH
|
|
222
|
+
category: Concurrency
|
|
223
|
+
description: Static object depends on another static in different TU
|
|
224
|
+
detection_pattern: static.*=.*other_static(?!.*Meyers)
|
|
225
|
+
fix_pattern: Use Meyers singleton or function-local static
|
|
226
|
+
cwe: CWE-362
|
|
227
|
+
cve_reference: n/a
|
|
228
|
+
example_vuln: static Foo foo(bar); // bar may not exist yet
|
|
229
|
+
example_fix: static Foo& getFoo() { static Foo foo; return foo; }
|
|
230
|
+
- id: CPP-20
|
|
231
|
+
name: const_cast UB
|
|
232
|
+
severity: CRITICAL
|
|
233
|
+
category: Memory
|
|
234
|
+
description: const_cast used to modify const object causes UB
|
|
235
|
+
detection_pattern: const_cast.*=(?!.*mutable)
|
|
236
|
+
fix_pattern: Avoid modifying originally const data use mutable members
|
|
237
|
+
cwe: CWE-704
|
|
238
|
+
cve_reference: n/a
|
|
239
|
+
example_vuln: const_cast<int&>(const_val) = 42;
|
|
240
|
+
example_fix: // Use mutable member or redesign
|
|
241
|
+
- id: CPP-21
|
|
242
|
+
name: Nullptr Arithmetic
|
|
243
|
+
severity: HIGH
|
|
244
|
+
category: Memory
|
|
245
|
+
description: Pointer arithmetic on nullptr causes UB
|
|
246
|
+
detection_pattern: nullptr.*\\+|\\+.*nullptr
|
|
247
|
+
fix_pattern: Check for nullptr before any pointer arithmetic
|
|
248
|
+
cwe: CWE-476
|
|
249
|
+
cve_reference: n/a
|
|
250
|
+
example_vuln: int *p = nullptr; int *q = p + 5;
|
|
251
|
+
example_fix: if (p == nullptr) return; int *q = p + 5;
|
|
252
|
+
- id: CPP-22
|
|
253
|
+
name: Aliasing Violation Strict
|
|
254
|
+
severity: CRITICAL
|
|
255
|
+
category: Memory
|
|
256
|
+
description: Strict aliasing violated via pointer cast causing UB
|
|
257
|
+
detection_pattern: reinterpret_cast.*\\*(?!.*char|byte)
|
|
258
|
+
fix_pattern: Use memcpy for type punning or char* for aliasing
|
|
259
|
+
cwe: CWE-704
|
|
260
|
+
cve_reference: n/a
|
|
261
|
+
example_vuln: float f = *reinterpret_cast<float*>(&i);
|
|
262
|
+
example_fix: float f; memcpy(&f, &i, sizeof(f));
|
|
263
|
+
- id: CPP-23
|
|
264
|
+
name: ODR Violation Inline
|
|
265
|
+
severity: HIGH
|
|
266
|
+
category: Link
|
|
267
|
+
description: Different definitions of inline function across TUs
|
|
268
|
+
detection_pattern: inline.*\\{.*#ifdef(?!.*same_def)
|
|
269
|
+
fix_pattern: Ensure inline functions have identical definitions in all TUs
|
|
270
|
+
cwe: CWE-704
|
|
271
|
+
cve_reference: n/a
|
|
272
|
+
example_vuln: // header.h has different inline body per TU
|
|
273
|
+
example_fix: // Move inline definition to single header
|
|
274
|
+
- id: CPP-24
|
|
275
|
+
name: Dangling Span
|
|
276
|
+
severity: HIGH
|
|
277
|
+
category: Memory
|
|
278
|
+
description: std::span outlives underlying container
|
|
279
|
+
detection_pattern: span.*=.*vector\\{.*\\}|span.*temporary
|
|
280
|
+
fix_pattern: Ensure container outlives span make span const if temporary
|
|
281
|
+
cwe: CWE-416
|
|
282
|
+
cve_reference: n/a
|
|
283
|
+
example_vuln: std::span<int> s = std::vector<int>{1,2,3};
|
|
284
|
+
example_fix: std::vector<int> v{1,2,3}; std::span<int> s = v;
|
|
285
|
+
- id: CPP-25
|
|
286
|
+
name: Exception Safety Guarantee
|
|
287
|
+
severity: HIGH
|
|
288
|
+
category: Error
|
|
289
|
+
description: Code lacks basic or strong exception safety guarantee
|
|
290
|
+
detection_pattern: throw.*(?!.*RAII|unique_ptr|lock_guard)
|
|
291
|
+
fix_pattern: Use RAII wrappers for exception safety
|
|
292
|
+
cwe: CWE-460
|
|
293
|
+
cve_reference: n/a
|
|
294
|
+
example_vuln: void f() { p = new T; throw E; }
|
|
295
|
+
example_fix: void f() { auto p = std::make_unique<T>(); throw E; }
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
metadata:
|
|
2
|
+
skill: security
|
|
3
|
+
domain: csharp_security
|
|
4
|
+
version: 6.2.0
|
|
5
|
+
updated: '2026-02-05'
|
|
6
|
+
migrated_from: csharp-security.csv
|
|
7
|
+
patterns_count: 20
|
|
8
|
+
columns:
|
|
9
|
+
- id
|
|
10
|
+
- name
|
|
11
|
+
- severity
|
|
12
|
+
- category
|
|
13
|
+
- description
|
|
14
|
+
- detection_pattern
|
|
15
|
+
- fix_pattern
|
|
16
|
+
- cwe
|
|
17
|
+
- example_vuln
|
|
18
|
+
- example_fix
|
|
19
|
+
patterns:
|
|
20
|
+
- id: CS-01
|
|
21
|
+
name: SQL Injection
|
|
22
|
+
severity: CRITICAL
|
|
23
|
+
category: Injection
|
|
24
|
+
description: String concatenation in SQL queries
|
|
25
|
+
detection_pattern: (SqlCommand|ExecuteReader|ExecuteNonQuery).*\\+.*Request
|
|
26
|
+
fix_pattern: Use parameterized queries with SqlParameter
|
|
27
|
+
cwe: CWE-89
|
|
28
|
+
example_vuln: cmd.CommandText = 'SELECT * FROM Users WHERE id = ' + userId;
|
|
29
|
+
example_fix: cmd.CommandText = 'SELECT * FROM Users WHERE id = @id';\ncmd.Parameters.AddWithValue('@id', userId);
|
|
30
|
+
- id: CS-02
|
|
31
|
+
name: XSS Via Response Write
|
|
32
|
+
severity: HIGH
|
|
33
|
+
category: XSS
|
|
34
|
+
description: User input written to response without encoding
|
|
35
|
+
detection_pattern: Response\\.Write.*Request(?!.*Encode|HtmlEncode)
|
|
36
|
+
fix_pattern: Use HttpUtility.HtmlEncode for all user output
|
|
37
|
+
cwe: CWE-79
|
|
38
|
+
example_vuln: Response.Write(Request['name']);
|
|
39
|
+
example_fix: Response.Write(HttpUtility.HtmlEncode(Request['name']));
|
|
40
|
+
- id: CS-03
|
|
41
|
+
name: Insecure Deserialization
|
|
42
|
+
severity: CRITICAL
|
|
43
|
+
category: Deserialization
|
|
44
|
+
description: BinaryFormatter used for untrusted data
|
|
45
|
+
detection_pattern: BinaryFormatter|SoapFormatter|ObjectStateFormatter
|
|
46
|
+
fix_pattern: Use JSON or XML with type constraints avoid TypeNameHandling
|
|
47
|
+
cwe: CWE-502
|
|
48
|
+
example_vuln: var bf = new BinaryFormatter();\nbf.Deserialize(stream);
|
|
49
|
+
example_fix: var settings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.None };
|
|
50
|
+
- id: CS-04
|
|
51
|
+
name: Path Traversal
|
|
52
|
+
severity: HIGH
|
|
53
|
+
category: File
|
|
54
|
+
description: User input in file path without validation
|
|
55
|
+
detection_pattern: (File\\.Open|ReadAllText|WriteAllText).*Request
|
|
56
|
+
fix_pattern: Use Path.GetFullPath and validate against base directory
|
|
57
|
+
cwe: CWE-22
|
|
58
|
+
example_vuln: File.ReadAllText(basePath + Request['file']);
|
|
59
|
+
example_fix: var full = Path.GetFullPath(Path.Combine(basePath, file));\nif (!full.StartsWith(basePath)) throw new SecurityException();
|
|
60
|
+
- id: CS-05
|
|
61
|
+
name: Command Injection
|
|
62
|
+
severity: CRITICAL
|
|
63
|
+
category: Injection
|
|
64
|
+
description: User input in Process.Start without sanitization
|
|
65
|
+
detection_pattern: Process\\.Start.*Request.*(?!.*AllowedCommands)
|
|
66
|
+
fix_pattern: Use argument arrays validate against allowlist
|
|
67
|
+
cwe: CWE-78
|
|
68
|
+
example_vuln: Process.Start('cmd', '/c ' + userCommand);
|
|
69
|
+
example_fix: // Only allow specific commands\nif (!AllowedCommands.Contains(cmd)) throw new SecurityException();
|
|
70
|
+
- id: CS-06
|
|
71
|
+
name: Missing CSRF Token
|
|
72
|
+
severity: HIGH
|
|
73
|
+
category: CSRF
|
|
74
|
+
description: Form without AntiForgeryToken validation
|
|
75
|
+
detection_pattern: \\[HttpPost\\](?!.*ValidateAntiForgeryToken)
|
|
76
|
+
fix_pattern: Add [ValidateAntiForgeryToken] to all POST actions
|
|
77
|
+
cwe: CWE-352
|
|
78
|
+
example_vuln: '[HttpPost]\npublic IActionResult Transfer()'
|
|
79
|
+
example_fix: '[HttpPost]\n[ValidateAntiForgeryToken]\npublic IActionResult Transfer()'
|
|
80
|
+
- id: CS-07
|
|
81
|
+
name: Weak Password Hashing
|
|
82
|
+
severity: HIGH
|
|
83
|
+
category: Crypto
|
|
84
|
+
description: Using MD5 SHA1 or custom hashing for passwords
|
|
85
|
+
detection_pattern: (MD5|SHA1)\\.Create|GetHashCode.*password
|
|
86
|
+
fix_pattern: Use Argon2 or PBKDF2 with sufficient iterations
|
|
87
|
+
cwe: CWE-327
|
|
88
|
+
example_vuln: var hash = MD5.Create().ComputeHash(password);
|
|
89
|
+
example_fix: var hash = Rfc2898DeriveBytes.Pbkdf2(password, salt, 100000, HashAlgorithmName.SHA256, 32);
|
|
90
|
+
- id: CS-08
|
|
91
|
+
name: Hardcoded Connection String
|
|
92
|
+
severity: HIGH
|
|
93
|
+
category: Secrets
|
|
94
|
+
description: Database connection string in source code
|
|
95
|
+
detection_pattern: (Server=|Data Source=|Password=).*['\]"
|
|
96
|
+
fix_pattern: Use IConfiguration and secrets management
|
|
97
|
+
cwe: CWE-798
|
|
98
|
+
example_vuln: var conn = 'Server=db;Password=secret123';
|
|
99
|
+
example_fix: var conn = _configuration.GetConnectionString('Default');
|
|
100
|
+
- id: CS-09
|
|
101
|
+
name: Missing Authorization
|
|
102
|
+
severity: HIGH
|
|
103
|
+
category: AuthZ
|
|
104
|
+
description: Controller action without authorization check
|
|
105
|
+
detection_pattern: \\[HttpGet\\](?!.*\\[Authorize\\]).*public.*IActionResult
|
|
106
|
+
fix_pattern: Add [Authorize] or policy-based authorization
|
|
107
|
+
cwe: CWE-284
|
|
108
|
+
example_vuln: '[HttpGet]\npublic IActionResult AdminPanel()'
|
|
109
|
+
example_fix: '[Authorize(Roles = ''Admin'')]\n[HttpGet]\npublic IActionResult AdminPanel()'
|
|
110
|
+
- id: CS-10
|
|
111
|
+
name: Insecure Cookie
|
|
112
|
+
severity: HIGH
|
|
113
|
+
category: Session
|
|
114
|
+
description: Cookie without Secure HttpOnly SameSite flags
|
|
115
|
+
detection_pattern: new Cookie|Response\\.Cookies(?!.*Secure|HttpOnly)
|
|
116
|
+
fix_pattern: Set Secure HttpOnly SameSite=Strict on cookies
|
|
117
|
+
cwe: CWE-614
|
|
118
|
+
example_vuln: Response.Cookies.Append('session', token);
|
|
119
|
+
example_fix: Response.Cookies.Append('session', token, new CookieOptions { Secure = true, HttpOnly = true, SameSite = SameSiteMode.Strict });
|
|
120
|
+
- id: CS-11
|
|
121
|
+
name: Regex DoS
|
|
122
|
+
severity: HIGH
|
|
123
|
+
category: DoS
|
|
124
|
+
description: Vulnerable regex pattern causing catastrophic backtracking
|
|
125
|
+
detection_pattern: new Regex\\(.*\\*\\+|\\+\\+|\\*\\?
|
|
126
|
+
fix_pattern: Use timeout on regex or simplify patterns
|
|
127
|
+
cwe: CWE-400
|
|
128
|
+
example_vuln: var regex = new Regex('(a+)+$');
|
|
129
|
+
example_fix: var regex = new Regex('a+$', RegexOptions.None, TimeSpan.FromSeconds(1));
|
|
130
|
+
- id: CS-12
|
|
131
|
+
name: XML External Entity
|
|
132
|
+
severity: CRITICAL
|
|
133
|
+
category: Injection
|
|
134
|
+
description: XXE processing enabled in XML parser
|
|
135
|
+
detection_pattern: XmlReader\\.Create(?!.*DtdProcessing.*Prohibit)
|
|
136
|
+
fix_pattern: Disable DTD processing and external entities
|
|
137
|
+
cwe: CWE-611
|
|
138
|
+
example_vuln: var reader = XmlReader.Create(stream);
|
|
139
|
+
example_fix: var settings = new XmlReaderSettings { DtdProcessing = DtdProcessing.Prohibit, XmlResolver = null };
|
|
140
|
+
- id: CS-13
|
|
141
|
+
name: LDAP Injection
|
|
142
|
+
severity: HIGH
|
|
143
|
+
category: Injection
|
|
144
|
+
description: User input in LDAP query without escaping
|
|
145
|
+
detection_pattern: DirectorySearcher.*Filter.*\\+.*Request
|
|
146
|
+
fix_pattern: Escape special LDAP characters in user input
|
|
147
|
+
cwe: CWE-90
|
|
148
|
+
example_vuln: searcher.Filter = '(uid=' + username + ')';
|
|
149
|
+
example_fix: searcher.Filter = '(uid=' + EscapeLdap(username) + ')';
|
|
150
|
+
- id: CS-14
|
|
151
|
+
name: Open Redirect
|
|
152
|
+
severity: MEDIUM
|
|
153
|
+
category: Redirect
|
|
154
|
+
description: User input in redirect without validation
|
|
155
|
+
detection_pattern: Redirect(Request\\[|RedirectToAction.*Request
|
|
156
|
+
fix_pattern: Validate URLs against allowlist use LocalRedirect
|
|
157
|
+
cwe: CWE-601
|
|
158
|
+
example_vuln: return Redirect(Request['returnUrl']);
|
|
159
|
+
example_fix: if (!Url.IsLocalUrl(returnUrl)) returnUrl = '/';\nreturn LocalRedirect(returnUrl);
|
|
160
|
+
- id: CS-15
|
|
161
|
+
name: Mass Assignment
|
|
162
|
+
severity: HIGH
|
|
163
|
+
category: Binding
|
|
164
|
+
description: Model binding without property whitelist
|
|
165
|
+
detection_pattern: \\[Bind\\](?!.*Include).*public.*IActionResult
|
|
166
|
+
fix_pattern: Use [Bind(Include = 'prop1,prop2')] or DTOs
|
|
167
|
+
cwe: CWE-915
|
|
168
|
+
example_vuln: public IActionResult Update(User user)
|
|
169
|
+
example_fix: public IActionResult Update([Bind(Include = 'Name,Email')] UserDto dto)
|
|
170
|
+
- id: CS-16
|
|
171
|
+
name: Nullable Deref
|
|
172
|
+
severity: MEDIUM
|
|
173
|
+
category: NullRef
|
|
174
|
+
description: Nullable reference used without null check
|
|
175
|
+
detection_pattern: (\\?|null).*\\.(?!\\?)
|
|
176
|
+
fix_pattern: Use null-conditional operator or explicit checks
|
|
177
|
+
cwe: CWE-476
|
|
178
|
+
example_vuln: string name = user.Profile.Name;
|
|
179
|
+
example_fix: string? name = user?.Profile?.Name;
|
|
180
|
+
- id: CS-17
|
|
181
|
+
name: Weak Random
|
|
182
|
+
severity: HIGH
|
|
183
|
+
category: Crypto
|
|
184
|
+
description: Using System.Random for security tokens
|
|
185
|
+
detection_pattern: new\\s+Random\\(\\)(?!.*crypto)
|
|
186
|
+
fix_pattern: Use RandomNumberGenerator for security values
|
|
187
|
+
cwe: CWE-338
|
|
188
|
+
example_vuln: var token = new Random().Next().ToString();
|
|
189
|
+
example_fix: var token = RandomNumberGenerator.GetBytes(32);
|
|
190
|
+
- id: CS-18
|
|
191
|
+
name: Exposed Error Details
|
|
192
|
+
severity: MEDIUM
|
|
193
|
+
category: Info
|
|
194
|
+
description: Detailed errors exposed in production
|
|
195
|
+
detection_pattern: UseDeveloperExceptionPage(?!.*IsDevelopment)
|
|
196
|
+
fix_pattern: Only show detailed errors in development
|
|
197
|
+
cwe: CWE-209
|
|
198
|
+
example_vuln: app.UseDeveloperExceptionPage();
|
|
199
|
+
example_fix: if (env.IsDevelopment()) app.UseDeveloperExceptionPage();
|
|
200
|
+
- id: CS-19
|
|
201
|
+
name: Unvalidated File Upload
|
|
202
|
+
severity: HIGH
|
|
203
|
+
category: Upload
|
|
204
|
+
description: File upload without type and size validation
|
|
205
|
+
detection_pattern: IFormFile(?!.*ContentType|Length.*check)
|
|
206
|
+
fix_pattern: Validate file type size and scan for malware
|
|
207
|
+
cwe: CWE-434
|
|
208
|
+
example_vuln: await file.CopyToAsync(stream);
|
|
209
|
+
example_fix: if (file.Length > 10_000_000 || !AllowedTypes.Contains(file.ContentType)) throw new ValidationException();
|
|
210
|
+
- id: CS-20
|
|
211
|
+
name: Logging Sensitive Data
|
|
212
|
+
severity: MEDIUM
|
|
213
|
+
category: Privacy
|
|
214
|
+
description: Passwords or tokens in log output
|
|
215
|
+
detection_pattern: _logger\\.(Log|Information|Debug).*password|token|secret
|
|
216
|
+
fix_pattern: Never log sensitive data use structured logging
|
|
217
|
+
cwe: CWE-532
|
|
218
|
+
example_vuln: '_logger.LogInformation($''User {email} token: {token}'');'
|
|
219
|
+
example_fix: _logger.LogInformation('User {Email} logged in', email); // No token
|