vaspera 2.9.2 → 2.10.1
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/CHANGELOG.md +68 -0
- package/README.md +58 -1
- package/dist/__tests__/autofix/branch-manager.test.d.ts +2 -0
- package/dist/__tests__/autofix/branch-manager.test.d.ts.map +1 -0
- package/dist/__tests__/autofix/branch-manager.test.js +60 -0
- package/dist/__tests__/autofix/branch-manager.test.js.map +1 -0
- package/dist/__tests__/autofix/commit-generator.test.d.ts +2 -0
- package/dist/__tests__/autofix/commit-generator.test.d.ts.map +1 -0
- package/dist/__tests__/autofix/commit-generator.test.js +147 -0
- package/dist/__tests__/autofix/commit-generator.test.js.map +1 -0
- package/dist/__tests__/autofix/constitution.test.d.ts +9 -0
- package/dist/__tests__/autofix/constitution.test.d.ts.map +1 -0
- package/dist/__tests__/autofix/constitution.test.js +421 -0
- package/dist/__tests__/autofix/constitution.test.js.map +1 -0
- package/dist/__tests__/autofix/pr-generator.test.d.ts +2 -0
- package/dist/__tests__/autofix/pr-generator.test.d.ts.map +1 -0
- package/dist/__tests__/autofix/pr-generator.test.js +152 -0
- package/dist/__tests__/autofix/pr-generator.test.js.map +1 -0
- package/dist/__tests__/property-test-helpers.d.ts +87 -0
- package/dist/__tests__/property-test-helpers.d.ts.map +1 -0
- package/dist/__tests__/property-test-helpers.js +136 -0
- package/dist/__tests__/property-test-helpers.js.map +1 -0
- package/dist/__tests__/scanners/ai-code/ai-detector.test.d.ts +2 -0
- package/dist/__tests__/scanners/ai-code/ai-detector.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/ai-code/ai-detector.test.js +188 -0
- package/dist/__tests__/scanners/ai-code/ai-detector.test.js.map +1 -0
- package/dist/__tests__/scanners/ai-code/confidence-scorer.test.d.ts +2 -0
- package/dist/__tests__/scanners/ai-code/confidence-scorer.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/ai-code/confidence-scorer.test.js +363 -0
- package/dist/__tests__/scanners/ai-code/confidence-scorer.test.js.map +1 -0
- package/dist/__tests__/scanners/ai-code/hallucination-checker.test.d.ts +2 -0
- package/dist/__tests__/scanners/ai-code/hallucination-checker.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/ai-code/hallucination-checker.test.js +226 -0
- package/dist/__tests__/scanners/ai-code/hallucination-checker.test.js.map +1 -0
- package/dist/__tests__/scanners/ai-code/index.test.d.ts +2 -0
- package/dist/__tests__/scanners/ai-code/index.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/ai-code/index.test.js +214 -0
- package/dist/__tests__/scanners/ai-code/index.test.js.map +1 -0
- package/dist/__tests__/scanners/dast/index.test.d.ts +2 -0
- package/dist/__tests__/scanners/dast/index.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/dast/index.test.js +183 -0
- package/dist/__tests__/scanners/dast/index.test.js.map +1 -0
- package/dist/__tests__/scanners/dast/nuclei.test.d.ts +2 -0
- package/dist/__tests__/scanners/dast/nuclei.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/dast/nuclei.test.js +166 -0
- package/dist/__tests__/scanners/dast/nuclei.test.js.map +1 -0
- package/dist/__tests__/scanners/dast/zap.test.d.ts +2 -0
- package/dist/__tests__/scanners/dast/zap.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/dast/zap.test.js +158 -0
- package/dist/__tests__/scanners/dast/zap.test.js.map +1 -0
- package/dist/__tests__/scanners/deploy/health-checker.test.d.ts +2 -0
- package/dist/__tests__/scanners/deploy/health-checker.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/deploy/health-checker.test.js +67 -0
- package/dist/__tests__/scanners/deploy/health-checker.test.js.map +1 -0
- package/dist/__tests__/scanners/deploy/index.test.d.ts +2 -0
- package/dist/__tests__/scanners/deploy/index.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/deploy/index.test.js +84 -0
- package/dist/__tests__/scanners/deploy/index.test.js.map +1 -0
- package/dist/__tests__/scanners/deploy/provider-detector.test.d.ts +2 -0
- package/dist/__tests__/scanners/deploy/provider-detector.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/deploy/provider-detector.test.js +88 -0
- package/dist/__tests__/scanners/deploy/provider-detector.test.js.map +1 -0
- package/dist/__tests__/scanners/deploy/types.test.d.ts +2 -0
- package/dist/__tests__/scanners/deploy/types.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/deploy/types.test.js +126 -0
- package/dist/__tests__/scanners/deploy/types.test.js.map +1 -0
- package/dist/__tests__/scanners/fp-feedback.test.d.ts +2 -0
- package/dist/__tests__/scanners/fp-feedback.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/fp-feedback.test.js +202 -0
- package/dist/__tests__/scanners/fp-feedback.test.js.map +1 -0
- package/dist/__tests__/scanners/fp-filter.property.test.d.ts +9 -0
- package/dist/__tests__/scanners/fp-filter.property.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/fp-filter.property.test.js +253 -0
- package/dist/__tests__/scanners/fp-filter.property.test.js.map +1 -0
- package/dist/__tests__/scanners/fp-filter.test.d.ts +2 -0
- package/dist/__tests__/scanners/fp-filter.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/fp-filter.test.js +234 -0
- package/dist/__tests__/scanners/fp-filter.test.js.map +1 -0
- package/dist/__tests__/scanners/fp-tracker.test.d.ts +2 -0
- package/dist/__tests__/scanners/fp-tracker.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/fp-tracker.test.js +262 -0
- package/dist/__tests__/scanners/fp-tracker.test.js.map +1 -0
- package/dist/__tests__/scanners/logic/endpoint-analyzer.property.test.d.ts +10 -0
- package/dist/__tests__/scanners/logic/endpoint-analyzer.property.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/logic/endpoint-analyzer.property.test.js +238 -0
- package/dist/__tests__/scanners/logic/endpoint-analyzer.property.test.js.map +1 -0
- package/dist/__tests__/scanners/logic/endpoint-analyzer.test.d.ts +2 -0
- package/dist/__tests__/scanners/logic/endpoint-analyzer.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/logic/endpoint-analyzer.test.js +55 -0
- package/dist/__tests__/scanners/logic/endpoint-analyzer.test.js.map +1 -0
- package/dist/__tests__/scanners/logic/index.test.d.ts +2 -0
- package/dist/__tests__/scanners/logic/index.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/logic/index.test.js +165 -0
- package/dist/__tests__/scanners/logic/index.test.js.map +1 -0
- package/dist/__tests__/scanners/logic/types.test.d.ts +2 -0
- package/dist/__tests__/scanners/logic/types.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/logic/types.test.js +85 -0
- package/dist/__tests__/scanners/logic/types.test.js.map +1 -0
- package/dist/__tests__/scanners/runtime/app-launcher.test.d.ts +2 -0
- package/dist/__tests__/scanners/runtime/app-launcher.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/runtime/app-launcher.test.js +94 -0
- package/dist/__tests__/scanners/runtime/app-launcher.test.js.map +1 -0
- package/dist/__tests__/scanners/runtime/golden-path-runner.test.d.ts +2 -0
- package/dist/__tests__/scanners/runtime/golden-path-runner.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/runtime/golden-path-runner.test.js +195 -0
- package/dist/__tests__/scanners/runtime/golden-path-runner.test.js.map +1 -0
- package/dist/__tests__/scanners/runtime/index.test.d.ts +2 -0
- package/dist/__tests__/scanners/runtime/index.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/runtime/index.test.js +120 -0
- package/dist/__tests__/scanners/runtime/index.test.js.map +1 -0
- package/dist/__tests__/scanners/runtime/types.test.d.ts +2 -0
- package/dist/__tests__/scanners/runtime/types.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/runtime/types.test.js +126 -0
- package/dist/__tests__/scanners/runtime/types.test.js.map +1 -0
- package/dist/__tests__/scanners/scale/bottleneck-detector.test.d.ts +2 -0
- package/dist/__tests__/scanners/scale/bottleneck-detector.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/scale/bottleneck-detector.test.js +187 -0
- package/dist/__tests__/scanners/scale/bottleneck-detector.test.js.map +1 -0
- package/dist/__tests__/scanners/scale/index.test.d.ts +2 -0
- package/dist/__tests__/scanners/scale/index.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/scale/index.test.js +87 -0
- package/dist/__tests__/scanners/scale/index.test.js.map +1 -0
- package/dist/__tests__/scanners/scale/load-profiler.test.d.ts +2 -0
- package/dist/__tests__/scanners/scale/load-profiler.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/scale/load-profiler.test.js +122 -0
- package/dist/__tests__/scanners/scale/load-profiler.test.js.map +1 -0
- package/dist/__tests__/scanners/scale/types.test.d.ts +2 -0
- package/dist/__tests__/scanners/scale/types.test.d.ts.map +1 -0
- package/dist/__tests__/scanners/scale/types.test.js +129 -0
- package/dist/__tests__/scanners/scale/types.test.js.map +1 -0
- package/dist/action/pr-comment.test.js +4 -0
- package/dist/action/pr-comment.test.js.map +1 -1
- package/dist/action/sarif-upload.test.js +4 -0
- package/dist/action/sarif-upload.test.js.map +1 -1
- package/dist/autofix/branch-manager.d.ts +115 -0
- package/dist/autofix/branch-manager.d.ts.map +1 -0
- package/dist/autofix/branch-manager.js +308 -0
- package/dist/autofix/branch-manager.js.map +1 -0
- package/dist/autofix/commit-generator.d.ts +55 -0
- package/dist/autofix/commit-generator.d.ts.map +1 -0
- package/dist/autofix/commit-generator.js +277 -0
- package/dist/autofix/commit-generator.js.map +1 -0
- package/dist/autofix/constitution.d.ts +77 -0
- package/dist/autofix/constitution.d.ts.map +1 -0
- package/dist/autofix/constitution.js +261 -0
- package/dist/autofix/constitution.js.map +1 -0
- package/dist/autofix/constitution.schema.d.ts +441 -0
- package/dist/autofix/constitution.schema.d.ts.map +1 -0
- package/dist/autofix/constitution.schema.js +144 -0
- package/dist/autofix/constitution.schema.js.map +1 -0
- package/dist/autofix/index.d.ts +13 -0
- package/dist/autofix/index.d.ts.map +1 -0
- package/dist/autofix/index.js +15 -0
- package/dist/autofix/index.js.map +1 -0
- package/dist/autofix/pr-generator.d.ts +57 -0
- package/dist/autofix/pr-generator.d.ts.map +1 -0
- package/dist/autofix/pr-generator.js +597 -0
- package/dist/autofix/pr-generator.js.map +1 -0
- package/dist/autofix/types.d.ts +151 -0
- package/dist/autofix/types.d.ts.map +1 -0
- package/dist/autofix/types.js +22 -0
- package/dist/autofix/types.js.map +1 -0
- package/dist/eval/fixtures.d.ts +20 -0
- package/dist/eval/fixtures.d.ts.map +1 -1
- package/dist/eval/fixtures.js +430 -0
- package/dist/eval/fixtures.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +874 -0
- package/dist/index.js.map +1 -1
- package/dist/install-skills.d.ts +11 -0
- package/dist/install-skills.d.ts.map +1 -0
- package/dist/install-skills.js +81 -0
- package/dist/install-skills.js.map +1 -0
- package/dist/scanners/ai-code/ai-detector.d.ts +25 -0
- package/dist/scanners/ai-code/ai-detector.d.ts.map +1 -0
- package/dist/scanners/ai-code/ai-detector.js +192 -0
- package/dist/scanners/ai-code/ai-detector.js.map +1 -0
- package/dist/scanners/ai-code/confidence-scorer.d.ts +40 -0
- package/dist/scanners/ai-code/confidence-scorer.d.ts.map +1 -0
- package/dist/scanners/ai-code/confidence-scorer.js +148 -0
- package/dist/scanners/ai-code/confidence-scorer.js.map +1 -0
- package/dist/scanners/ai-code/hallucination-checker.d.ts +36 -0
- package/dist/scanners/ai-code/hallucination-checker.d.ts.map +1 -0
- package/dist/scanners/ai-code/hallucination-checker.js +298 -0
- package/dist/scanners/ai-code/hallucination-checker.js.map +1 -0
- package/dist/scanners/ai-code/index.d.ts +30 -0
- package/dist/scanners/ai-code/index.d.ts.map +1 -0
- package/dist/scanners/ai-code/index.js +224 -0
- package/dist/scanners/ai-code/index.js.map +1 -0
- package/dist/scanners/ai-code/types.d.ts +192 -0
- package/dist/scanners/ai-code/types.d.ts.map +1 -0
- package/dist/scanners/ai-code/types.js +37 -0
- package/dist/scanners/ai-code/types.js.map +1 -0
- package/dist/scanners/cache.d.ts.map +1 -1
- package/dist/scanners/cache.js +4 -0
- package/dist/scanners/cache.js.map +1 -1
- package/dist/scanners/dast/index.d.ts +39 -0
- package/dist/scanners/dast/index.d.ts.map +1 -0
- package/dist/scanners/dast/index.js +259 -0
- package/dist/scanners/dast/index.js.map +1 -0
- package/dist/scanners/dast/nuclei.d.ts +26 -0
- package/dist/scanners/dast/nuclei.d.ts.map +1 -0
- package/dist/scanners/dast/nuclei.js +354 -0
- package/dist/scanners/dast/nuclei.js.map +1 -0
- package/dist/scanners/dast/types.d.ts +306 -0
- package/dist/scanners/dast/types.d.ts.map +1 -0
- package/dist/scanners/dast/types.js +52 -0
- package/dist/scanners/dast/types.js.map +1 -0
- package/dist/scanners/dast/zap.d.ts +26 -0
- package/dist/scanners/dast/zap.d.ts.map +1 -0
- package/dist/scanners/dast/zap.js +453 -0
- package/dist/scanners/dast/zap.js.map +1 -0
- package/dist/scanners/deploy/health-checker.d.ts +38 -0
- package/dist/scanners/deploy/health-checker.d.ts.map +1 -0
- package/dist/scanners/deploy/health-checker.js +272 -0
- package/dist/scanners/deploy/health-checker.js.map +1 -0
- package/dist/scanners/deploy/index.d.ts +44 -0
- package/dist/scanners/deploy/index.d.ts.map +1 -0
- package/dist/scanners/deploy/index.js +208 -0
- package/dist/scanners/deploy/index.js.map +1 -0
- package/dist/scanners/deploy/provider-detector.d.ts +25 -0
- package/dist/scanners/deploy/provider-detector.d.ts.map +1 -0
- package/dist/scanners/deploy/provider-detector.js +177 -0
- package/dist/scanners/deploy/provider-detector.js.map +1 -0
- package/dist/scanners/deploy/types.d.ts +406 -0
- package/dist/scanners/deploy/types.d.ts.map +1 -0
- package/dist/scanners/deploy/types.js +58 -0
- package/dist/scanners/deploy/types.js.map +1 -0
- package/dist/scanners/deploy/vercel-integration.d.ts +52 -0
- package/dist/scanners/deploy/vercel-integration.d.ts.map +1 -0
- package/dist/scanners/deploy/vercel-integration.js +280 -0
- package/dist/scanners/deploy/vercel-integration.js.map +1 -0
- package/dist/scanners/fp-feedback.d.ts +140 -0
- package/dist/scanners/fp-feedback.d.ts.map +1 -0
- package/dist/scanners/fp-feedback.js +292 -0
- package/dist/scanners/fp-feedback.js.map +1 -0
- package/dist/scanners/fp-filter.d.ts +94 -0
- package/dist/scanners/fp-filter.d.ts.map +1 -0
- package/dist/scanners/fp-filter.js +397 -0
- package/dist/scanners/fp-filter.js.map +1 -0
- package/dist/scanners/fp-tracker.d.ts +125 -0
- package/dist/scanners/fp-tracker.d.ts.map +1 -0
- package/dist/scanners/fp-tracker.js +330 -0
- package/dist/scanners/fp-tracker.js.map +1 -0
- package/dist/scanners/index.d.ts.map +1 -1
- package/dist/scanners/index.js +56 -0
- package/dist/scanners/index.js.map +1 -1
- package/dist/scanners/index.test.js +6 -6
- package/dist/scanners/index.test.js.map +1 -1
- package/dist/scanners/logic/auth-flow-analyzer.d.ts +18 -0
- package/dist/scanners/logic/auth-flow-analyzer.d.ts.map +1 -0
- package/dist/scanners/logic/auth-flow-analyzer.js +384 -0
- package/dist/scanners/logic/auth-flow-analyzer.js.map +1 -0
- package/dist/scanners/logic/endpoint-analyzer.d.ts +29 -0
- package/dist/scanners/logic/endpoint-analyzer.d.ts.map +1 -0
- package/dist/scanners/logic/endpoint-analyzer.js +528 -0
- package/dist/scanners/logic/endpoint-analyzer.js.map +1 -0
- package/dist/scanners/logic/index.d.ts +41 -0
- package/dist/scanners/logic/index.d.ts.map +1 -0
- package/dist/scanners/logic/index.js +268 -0
- package/dist/scanners/logic/index.js.map +1 -0
- package/dist/scanners/logic/types.d.ts +254 -0
- package/dist/scanners/logic/types.d.ts.map +1 -0
- package/dist/scanners/logic/types.js +142 -0
- package/dist/scanners/logic/types.js.map +1 -0
- package/dist/scanners/runtime/app-launcher.d.ts +33 -0
- package/dist/scanners/runtime/app-launcher.d.ts.map +1 -0
- package/dist/scanners/runtime/app-launcher.js +419 -0
- package/dist/scanners/runtime/app-launcher.js.map +1 -0
- package/dist/scanners/runtime/golden-path-runner.d.ts +48 -0
- package/dist/scanners/runtime/golden-path-runner.d.ts.map +1 -0
- package/dist/scanners/runtime/golden-path-runner.js +373 -0
- package/dist/scanners/runtime/golden-path-runner.js.map +1 -0
- package/dist/scanners/runtime/index.d.ts +41 -0
- package/dist/scanners/runtime/index.d.ts.map +1 -0
- package/dist/scanners/runtime/index.js +164 -0
- package/dist/scanners/runtime/index.js.map +1 -0
- package/dist/scanners/runtime/playwright-executor.d.ts +50 -0
- package/dist/scanners/runtime/playwright-executor.d.ts.map +1 -0
- package/dist/scanners/runtime/playwright-executor.js +387 -0
- package/dist/scanners/runtime/playwright-executor.js.map +1 -0
- package/dist/scanners/runtime/types.d.ts +215 -0
- package/dist/scanners/runtime/types.d.ts.map +1 -0
- package/dist/scanners/runtime/types.js +40 -0
- package/dist/scanners/runtime/types.js.map +1 -0
- package/dist/scanners/scale/bottleneck-detector.d.ts +17 -0
- package/dist/scanners/scale/bottleneck-detector.d.ts.map +1 -0
- package/dist/scanners/scale/bottleneck-detector.js +250 -0
- package/dist/scanners/scale/bottleneck-detector.js.map +1 -0
- package/dist/scanners/scale/capacity-estimator.d.ts +17 -0
- package/dist/scanners/scale/capacity-estimator.d.ts.map +1 -0
- package/dist/scanners/scale/capacity-estimator.js +197 -0
- package/dist/scanners/scale/capacity-estimator.js.map +1 -0
- package/dist/scanners/scale/index.d.ts +37 -0
- package/dist/scanners/scale/index.d.ts.map +1 -0
- package/dist/scanners/scale/index.js +101 -0
- package/dist/scanners/scale/index.js.map +1 -0
- package/dist/scanners/scale/load-profiler.d.ts +48 -0
- package/dist/scanners/scale/load-profiler.d.ts.map +1 -0
- package/dist/scanners/scale/load-profiler.js +377 -0
- package/dist/scanners/scale/load-profiler.js.map +1 -0
- package/dist/scanners/scale/types.d.ts +529 -0
- package/dist/scanners/scale/types.d.ts.map +1 -0
- package/dist/scanners/scale/types.js +57 -0
- package/dist/scanners/scale/types.js.map +1 -0
- package/dist/scanners/secrets.d.ts.map +1 -1
- package/dist/scanners/secrets.js +13 -2
- package/dist/scanners/secrets.js.map +1 -1
- package/dist/scanners/types.d.ts +1 -1
- package/dist/scanners/types.d.ts.map +1 -1
- package/dist/scanners/types.js +4 -0
- package/dist/scanners/types.js.map +1 -1
- package/package.json +8 -4
- package/skills/vaspera-add-tests/SKILL.md +102 -0
- package/skills/vaspera-ai-verify/SKILL.md +166 -0
- package/skills/vaspera-audit/SKILL.md +67 -0
- package/skills/vaspera-certify/SKILL.md +130 -0
- package/skills/vaspera-deploy/SKILL.md +152 -0
- package/skills/vaspera-fix-critical/SKILL.md +52 -0
- package/skills/vaspera-fix-high/SKILL.md +81 -0
- package/skills/vaspera-fix-medium/SKILL.md +56 -0
- package/skills/vaspera-fix-rls/SKILL.md +85 -0
- package/skills/vaspera-harden/SKILL.md +102 -0
- package/skills/vaspera-help/SKILL.md +61 -0
- package/skills/vaspera-load-test/SKILL.md +167 -0
- package/skills/vaspera-verify/SKILL.md +70 -0
- package/skills/vaspera-verify-e2e/SKILL.md +117 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/scanners/secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/scanners/secrets.ts"],"names":[],"mappings":"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"}
|
package/dist/scanners/types.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export type { Severity };
|
|
|
13
13
|
/**
|
|
14
14
|
* Supported scanner types
|
|
15
15
|
*/
|
|
16
|
-
export type ScannerType = "semgrep" | "npm-audit" | "gitleaks" | "tsc" | "eslint" | "bandit" | "gosec" | "brakeman" | "trivy" | "binary-analysis" | "memory-safety" | "race-condition" | "healthcare" | "plugin";
|
|
16
|
+
export type ScannerType = "semgrep" | "npm-audit" | "gitleaks" | "tsc" | "eslint" | "bandit" | "gosec" | "brakeman" | "trivy" | "binary-analysis" | "memory-safety" | "race-condition" | "healthcare" | "logic" | "dast" | "zap" | "nuclei" | "plugin";
|
|
17
17
|
/**
|
|
18
18
|
* A finding from a deterministic scanner.
|
|
19
19
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/scanners/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/scanners/types.ts"],"names":[],"mappings":"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"}
|
package/dist/scanners/types.js
CHANGED
|
@@ -100,6 +100,10 @@ export function toFindingId(scanner, ruleId, index) {
|
|
|
100
100
|
"memory-safety": "mem",
|
|
101
101
|
"race-condition": "rac",
|
|
102
102
|
healthcare: "hc",
|
|
103
|
+
logic: "log",
|
|
104
|
+
dast: "dst",
|
|
105
|
+
zap: "zap",
|
|
106
|
+
nuclei: "nuc",
|
|
103
107
|
plugin: "plg",
|
|
104
108
|
};
|
|
105
109
|
return `${prefix[scanner]}-${String(index + 1).padStart(3, "0")}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/scanners/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/scanners/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAiNH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA8E;IAChH,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,KAAK,EAAU,mCAAmC;IAC1D,MAAM,EAAE,KAAK,EAAU,kCAAkC;IACzD,KAAK,EAAE,KAAK,EAAW,8BAA8B;IACrD,QAAQ,EAAE,KAAK,EAAQ,gCAAgC;IACvD,KAAK,EAAE,KAAK,EAAW,kCAAkC;IACzD,cAAc,EAAE,IAAI,EAAG,6CAA6C;IACpE,YAAY,EAAE,KAAK,EAAI,sCAAsC;IAC7D,aAAa,EAAE,IAAI,EAAI,qBAAqB;IAC5C,OAAO,EAAE,MAAM,EAAQ,wBAAwB;CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,0BAA0B;IAC1B,GAAG,EAAE;QACH,QAAQ,EAAE,UAAsB;QAChC,IAAI,EAAE,MAAkB;QACxB,QAAQ,EAAE,QAAoB;QAC9B,GAAG,EAAE,KAAiB;QACtB,IAAI,EAAE,MAAkB;KACzB;IAED,UAAU;IACV,OAAO,EAAE;QACP,KAAK,EAAE,MAAkB;QACzB,OAAO,EAAE,QAAoB;QAC7B,IAAI,EAAE,KAAiB;KACxB;IAED,sCAAsC;IACtC,QAAQ,EAAE;QACR,OAAO,EAAE,UAAsB;KAChC;IAED,sBAAsB;IACtB,UAAU,EAAE;QACV,KAAK,EAAE,MAAkB;QACzB,OAAO,EAAE,QAAoB;QAC7B,UAAU,EAAE,KAAiB;QAC7B,OAAO,EAAE,MAAkB;KAC5B;IAED,kBAAkB;IAClB,MAAM,EAAE;QACN,IAAI,EAAE,MAAkB;QACxB,MAAM,EAAE,QAAoB;QAC5B,GAAG,EAAE,KAAiB;KACvB;IAED,aAAa;IACb,KAAK,EAAE;QACL,IAAI,EAAE,MAAkB;QACxB,MAAM,EAAE,QAAoB;QAC5B,GAAG,EAAE,KAAiB;KACvB;IAED,kBAAkB;IAClB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAkB;QACxB,MAAM,EAAE,QAAoB;QAC5B,IAAI,EAAE,KAAiB;KACxB;IAED,QAAQ;IACR,KAAK,EAAE;QACL,QAAQ,EAAE,UAAsB;QAChC,IAAI,EAAE,MAAkB;QACxB,MAAM,EAAE,QAAoB;QAC5B,GAAG,EAAE,KAAiB;QACtB,OAAO,EAAE,MAAkB;KAC5B;CACF,CAAC;AAaF;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAoB,EAAE,MAAc,EAAE,KAAa;IAC7E,MAAM,MAAM,GAAgC;QAC1C,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,KAAK;QACf,GAAG,EAAE,IAAI;QACT,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,KAAK;QACZ,iBAAiB,EAAE,KAAK;QACxB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;KACd,CAAC;IAEF,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACpE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vaspera",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.10.1",
|
|
4
4
|
"packageManager": "npm@10.2.4",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
7
|
+
"skills",
|
|
7
8
|
"README.md",
|
|
8
9
|
"CHANGELOG.md",
|
|
9
10
|
"LICENSE"
|
|
@@ -12,7 +13,8 @@
|
|
|
12
13
|
"description": "Enterprise security certification with deterministic scanners, cost tracking, and compliance mapping",
|
|
13
14
|
"main": "dist/index.js",
|
|
14
15
|
"bin": {
|
|
15
|
-
"vaspera-hardening": "./dist/index.js"
|
|
16
|
+
"vaspera-hardening": "./dist/index.js",
|
|
17
|
+
"vaspera-install-skills": "./dist/install-skills.js"
|
|
16
18
|
},
|
|
17
19
|
"type": "module",
|
|
18
20
|
"license": "MIT",
|
|
@@ -58,8 +60,8 @@
|
|
|
58
60
|
"release": "npm run build && npm test && changeset publish"
|
|
59
61
|
},
|
|
60
62
|
"dependencies": {
|
|
61
|
-
"@actions/core": "
|
|
62
|
-
"@actions/github": "
|
|
63
|
+
"@actions/core": "~3.0.1",
|
|
64
|
+
"@actions/github": "~9.1.1",
|
|
63
65
|
"@anthropic-ai/sdk": "~0.91.1",
|
|
64
66
|
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
65
67
|
"@sigstore/bundle": "~4.0.0",
|
|
@@ -68,6 +70,7 @@
|
|
|
68
70
|
"glob": "^11.0.0",
|
|
69
71
|
"proper-lockfile": "~4.1.2",
|
|
70
72
|
"typescript": "^5.7.0",
|
|
73
|
+
"yaml": "~2.9.0",
|
|
71
74
|
"zod": "^3.24.0"
|
|
72
75
|
},
|
|
73
76
|
"devDependencies": {
|
|
@@ -78,6 +81,7 @@
|
|
|
78
81
|
"@types/proper-lockfile": "~4.1.4",
|
|
79
82
|
"@vitest/coverage-v8": "~4.1.4",
|
|
80
83
|
"concurrently": "^9.1.2",
|
|
84
|
+
"fast-check": "~4.8.0",
|
|
81
85
|
"turbo": "~2.9.6",
|
|
82
86
|
"vitest": "~4.1.4"
|
|
83
87
|
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate security tests with priority ordering
|
|
3
|
+
argument-hint: "[project-path: defaults to .]"
|
|
4
|
+
allowed-tools: Read, Write, Bash, Grep, Glob
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Generate tests for security-critical paths, prioritized by risk.
|
|
8
|
+
|
|
9
|
+
## Steps
|
|
10
|
+
|
|
11
|
+
1. **Load findings**
|
|
12
|
+
- Read latest from `.vaspera/audit/*.json`
|
|
13
|
+
- Identify files with security findings but no tests
|
|
14
|
+
- Check existing test coverage in `src/__tests__/` or `*.test.ts`
|
|
15
|
+
|
|
16
|
+
2. **Priority 1: API Routes** (highest risk)
|
|
17
|
+
For each API route without tests:
|
|
18
|
+
```typescript
|
|
19
|
+
describe('POST /api/resource', () => {
|
|
20
|
+
it('returns 200 for valid authenticated request', async () => {
|
|
21
|
+
// Happy path
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
it('returns 401 for unauthenticated request', async () => {
|
|
25
|
+
// Auth failure
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it('returns 400 for invalid input', async () => {
|
|
29
|
+
// Validation failure
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
it('returns 500 with safe error for database failure', async () => {
|
|
33
|
+
// Error doesn't leak internal details
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
3. **Priority 2: Data Access Layer**
|
|
39
|
+
For database functions without tests:
|
|
40
|
+
```typescript
|
|
41
|
+
describe('getUserById', () => {
|
|
42
|
+
it('returns user for valid id', async () => {
|
|
43
|
+
// Correct data shape
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
it('throws NotFoundError for invalid id', async () => {
|
|
47
|
+
// Proper error type
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it('does not leak database errors', async () => {
|
|
51
|
+
// Error wrapping
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
4. **Priority 3: Critical UI Components**
|
|
57
|
+
For forms and auth-gated views:
|
|
58
|
+
```typescript
|
|
59
|
+
describe('LoginForm', () => {
|
|
60
|
+
it('validates email format', () => {});
|
|
61
|
+
it('shows error for invalid credentials', () => {});
|
|
62
|
+
it('redirects on success', () => {});
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
describe('ProtectedPage', () => {
|
|
66
|
+
it('redirects unauthenticated users', () => {});
|
|
67
|
+
it('renders for authenticated users', () => {});
|
|
68
|
+
});
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
5. **Priority 4: Utility Functions**
|
|
72
|
+
For security-related utilities:
|
|
73
|
+
```typescript
|
|
74
|
+
describe('sanitizeInput', () => {
|
|
75
|
+
it('handles null', () => {});
|
|
76
|
+
it('handles undefined', () => {});
|
|
77
|
+
it('handles empty string', () => {});
|
|
78
|
+
it('strips XSS payloads', () => {});
|
|
79
|
+
});
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
6. **Write test files**
|
|
83
|
+
- Follow naming: `[filename].test.ts`
|
|
84
|
+
- Place in `src/__tests__/` mirroring module path
|
|
85
|
+
- Use clear descriptions
|
|
86
|
+
- Mock external dependencies
|
|
87
|
+
- NO snapshot tests
|
|
88
|
+
|
|
89
|
+
7. **Run tests**
|
|
90
|
+
- `npm test` to verify all pass
|
|
91
|
+
- Report: N tests added, X files now covered
|
|
92
|
+
|
|
93
|
+
8. **Coverage report**
|
|
94
|
+
- If coverage tool available, show delta
|
|
95
|
+
- Identify remaining gaps
|
|
96
|
+
|
|
97
|
+
## Important
|
|
98
|
+
|
|
99
|
+
- Focus on SECURITY paths, not general coverage
|
|
100
|
+
- Tests should verify auth, validation, and error handling
|
|
101
|
+
- Mock external services (database, APIs)
|
|
102
|
+
- No flaky tests — deterministic assertions only
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Verify AI-generated code for hallucinations and patterns (M10)
|
|
3
|
+
argument-hint: "[project-path]"
|
|
4
|
+
allowed-tools: Bash, Read, Write, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Run AI code verification on a project to detect AI-generated code patterns and hallucinations.
|
|
8
|
+
|
|
9
|
+
## Steps
|
|
10
|
+
|
|
11
|
+
1. **Validate project path**
|
|
12
|
+
- Default to `.` if no argument provided
|
|
13
|
+
- Confirm the path exists
|
|
14
|
+
|
|
15
|
+
2. **Load AI verify config**
|
|
16
|
+
- Look for `.vaspera/ai-verify.yaml`
|
|
17
|
+
- If not found, use default configuration
|
|
18
|
+
|
|
19
|
+
3. **Run AI code verification**
|
|
20
|
+
- Use `ai_code_verify` MCP tool
|
|
21
|
+
- Scan for AI generation patterns
|
|
22
|
+
- Check for hallucinated imports and APIs
|
|
23
|
+
- Score files for AI likelihood
|
|
24
|
+
|
|
25
|
+
4. **Present pattern analysis**
|
|
26
|
+
```
|
|
27
|
+
AI Pattern Analysis
|
|
28
|
+
===================
|
|
29
|
+
Files scanned: 42
|
|
30
|
+
|
|
31
|
+
Patterns by Confidence:
|
|
32
|
+
┌────────────┬───────┐
|
|
33
|
+
│ Confidence │ Count │
|
|
34
|
+
├────────────┼───────┤
|
|
35
|
+
│ High │ 3 │
|
|
36
|
+
│ Medium │ 8 │
|
|
37
|
+
│ Low │ 15 │
|
|
38
|
+
└────────────┴───────┘
|
|
39
|
+
|
|
40
|
+
Top Files by AI Likelihood:
|
|
41
|
+
- src/components/ChatBot.tsx (85%)
|
|
42
|
+
- src/utils/helpers.ts (62%)
|
|
43
|
+
- src/api/generate.ts (45%)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
5. **Present hallucination findings**
|
|
47
|
+
```
|
|
48
|
+
Hallucination Check
|
|
49
|
+
===================
|
|
50
|
+
|
|
51
|
+
Critical Issues:
|
|
52
|
+
- [CRITICAL] src/api/client.ts:12
|
|
53
|
+
Package "react-native-awesome-button" does not exist
|
|
54
|
+
→ This is a known hallucinated package name
|
|
55
|
+
|
|
56
|
+
High Severity:
|
|
57
|
+
- [HIGH] src/utils/format.ts:5
|
|
58
|
+
Import "./nonexistent-helper" does not resolve
|
|
59
|
+
→ Create the file or fix the import path
|
|
60
|
+
|
|
61
|
+
Medium Severity:
|
|
62
|
+
- [MEDIUM] src/components/Legacy.tsx:23
|
|
63
|
+
"componentWillMount" deprecated since React 16.3
|
|
64
|
+
→ Replace with componentDidMount or useEffect
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
6. **Present scores**
|
|
68
|
+
```
|
|
69
|
+
AI Code Verification Scores
|
|
70
|
+
===========================
|
|
71
|
+
|
|
72
|
+
┌────────────────────┬────────┬─────────────────────────────┐
|
|
73
|
+
│ Metric │ Score │ Description │
|
|
74
|
+
├────────────────────┼────────┼─────────────────────────────┤
|
|
75
|
+
│ Detection Score │ 85/100 │ Lower AI likelihood = better│
|
|
76
|
+
│ Hallucination Score│ 92/100 │ Fewer hallucinations = better│
|
|
77
|
+
│ Review Score │ 78/100 │ Fewer reviews needed = better│
|
|
78
|
+
├────────────────────┼────────┼─────────────────────────────┤
|
|
79
|
+
│ Overall Score │ 86/100 │ Weighted average │
|
|
80
|
+
└────────────────────┴────────┴─────────────────────────────┘
|
|
81
|
+
|
|
82
|
+
Certification Level: 🟢 APPROVED
|
|
83
|
+
→ Code verified, minimal AI hallucinations detected
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
7. **List changes requiring review**
|
|
87
|
+
```
|
|
88
|
+
Changes Requiring Human Review
|
|
89
|
+
==============================
|
|
90
|
+
|
|
91
|
+
CRITICAL (must review):
|
|
92
|
+
1. src/api/client.ts
|
|
93
|
+
- Fabricated package import
|
|
94
|
+
- AI likelihood: 95%
|
|
95
|
+
|
|
96
|
+
HIGH (should review):
|
|
97
|
+
2. src/components/ChatBot.tsx
|
|
98
|
+
- Multiple AI generation markers
|
|
99
|
+
- AI likelihood: 85%
|
|
100
|
+
|
|
101
|
+
MEDIUM (optional review):
|
|
102
|
+
3. src/utils/helpers.ts
|
|
103
|
+
- TODO placeholder patterns
|
|
104
|
+
- AI likelihood: 62%
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Config Format
|
|
108
|
+
|
|
109
|
+
Config is defined in `.vaspera/ai-verify.yaml`:
|
|
110
|
+
|
|
111
|
+
```yaml
|
|
112
|
+
detection:
|
|
113
|
+
checkPatterns: true # Look for AI code patterns
|
|
114
|
+
checkComments: true # Check for AI-indicating comments
|
|
115
|
+
checkImports: true # Verify imports exist
|
|
116
|
+
checkMetadata: true # Check for AI tool metadata
|
|
117
|
+
|
|
118
|
+
hallucination:
|
|
119
|
+
checkImports: true # Verify import paths resolve
|
|
120
|
+
checkApis: true # Check for deprecated/non-existent APIs
|
|
121
|
+
checkVersions: true # Verify API versions
|
|
122
|
+
packageRegistry: npm # npm, pypi, or crates
|
|
123
|
+
|
|
124
|
+
review:
|
|
125
|
+
requireForConfidence: medium # high, medium, or low
|
|
126
|
+
requireForHallucinations: true
|
|
127
|
+
autoApproveBelow: 30 # Auto-approve files below this AI likelihood %
|
|
128
|
+
|
|
129
|
+
exclude:
|
|
130
|
+
- node_modules
|
|
131
|
+
- dist
|
|
132
|
+
- "*.test.*"
|
|
133
|
+
- "*.spec.*"
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## MCP Tools Used
|
|
137
|
+
|
|
138
|
+
- `ai_code_verify` — Full AI code verification
|
|
139
|
+
- `ai_code_quick` — Quick check for single file
|
|
140
|
+
- `ai_code_patterns` — Scan for AI patterns only
|
|
141
|
+
- `ai_code_hallucinations` — Check for hallucinations only
|
|
142
|
+
- `ai_code_config_generate` — Create sample config
|
|
143
|
+
|
|
144
|
+
## Scoring Breakdown
|
|
145
|
+
|
|
146
|
+
| Dimension | Weight | Description |
|
|
147
|
+
|-----------|--------|-------------|
|
|
148
|
+
| Detection | 30% | How likely code is AI-generated |
|
|
149
|
+
| Hallucination | 50% | Presence of non-existent imports/APIs |
|
|
150
|
+
| Review | 20% | Percentage requiring human review |
|
|
151
|
+
|
|
152
|
+
## Certification Levels
|
|
153
|
+
|
|
154
|
+
| Score | Level | Meaning |
|
|
155
|
+
|-------|-------|---------|
|
|
156
|
+
| 90-100 | CERTIFIED | Ship confidently |
|
|
157
|
+
| 70-89 | APPROVED | Ship with monitoring |
|
|
158
|
+
| 40-69 | REVIEW_REQUIRED | Fix hallucinations first |
|
|
159
|
+
| 0-39 | BLOCKED | Critical issues present |
|
|
160
|
+
|
|
161
|
+
## Important
|
|
162
|
+
|
|
163
|
+
- High AI likelihood doesn't mean the code is bad
|
|
164
|
+
- Focus on hallucinations (non-existent imports/APIs)
|
|
165
|
+
- Review critical and high priority changes manually
|
|
166
|
+
- Use `--files` to check specific changed files only
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Run a security audit and write findings to .vaspera/audit/
|
|
3
|
+
argument-hint: "[project-path: defaults to .]"
|
|
4
|
+
allowed-tools: Bash, Read, Grep, Glob
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Run a security audit against the specified project (or current directory).
|
|
8
|
+
|
|
9
|
+
## Steps
|
|
10
|
+
|
|
11
|
+
1. **Validate project path**
|
|
12
|
+
- Default to `.` if no argument provided
|
|
13
|
+
- Confirm the path exists and contains code (`package.json`, `go.mod`, `requirements.txt`, etc.)
|
|
14
|
+
|
|
15
|
+
2. **Run certification scan**
|
|
16
|
+
- Use the `certification_scan` MCP tool if available in session
|
|
17
|
+
- Otherwise: `npx vaspera-hardening-mcp-server scan <path>`
|
|
18
|
+
- Auto-detect languages and run appropriate scanners:
|
|
19
|
+
- JavaScript/TypeScript: semgrep, npm-audit, tsc, eslint
|
|
20
|
+
- Python: semgrep, bandit
|
|
21
|
+
- Go: semgrep, gosec
|
|
22
|
+
- Ruby: semgrep, brakeman
|
|
23
|
+
- All: gitleaks (secrets), trivy (containers)
|
|
24
|
+
|
|
25
|
+
3. **Write findings to stable location**
|
|
26
|
+
- Create `.vaspera/audit/` directory if it doesn't exist
|
|
27
|
+
- Write findings to `.vaspera/audit/{ISO-timestamp}.json`
|
|
28
|
+
- Schema:
|
|
29
|
+
```json
|
|
30
|
+
{
|
|
31
|
+
"timestamp": "2026-05-29T10:30:00.000Z",
|
|
32
|
+
"project_path": ".",
|
|
33
|
+
"scanners_run": ["semgrep", "npm-audit", "gitleaks"],
|
|
34
|
+
"findings": [...],
|
|
35
|
+
"summary": {
|
|
36
|
+
"total": 42,
|
|
37
|
+
"by_severity": {"critical": 2, "high": 5, "medium": 15, "low": 20},
|
|
38
|
+
"by_scanner": {"semgrep": 30, "npm-audit": 10, "gitleaks": 2}
|
|
39
|
+
},
|
|
40
|
+
"duration_ms": 12345
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
4. **Summarize results**
|
|
45
|
+
Present findings as a table:
|
|
46
|
+
|
|
47
|
+
| Severity | Count | Top Scanners |
|
|
48
|
+
|----------|-------|--------------|
|
|
49
|
+
| critical | N | semgrep, gitleaks |
|
|
50
|
+
| high | N | npm-audit |
|
|
51
|
+
| medium | N | semgrep |
|
|
52
|
+
| low | N | eslint |
|
|
53
|
+
|
|
54
|
+
Then list **top 5 findings** with clickable file references:
|
|
55
|
+
- `[src/auth/login.ts:42](src/auth/login.ts#L42)` — SQL injection (CWE-89)
|
|
56
|
+
- etc.
|
|
57
|
+
|
|
58
|
+
5. **Provide recommendations**
|
|
59
|
+
- Identify the 3 highest-impact fixes (severity × fixability)
|
|
60
|
+
- Do NOT modify code or open PRs
|
|
61
|
+
- Suggest running `/vaspera-fix-critical` for remediation (future skill)
|
|
62
|
+
|
|
63
|
+
## Important
|
|
64
|
+
|
|
65
|
+
- This skill is READ-ONLY — it audits but does not fix
|
|
66
|
+
- Findings are written to `.vaspera/audit/` (separate from MCP cache)
|
|
67
|
+
- Use this skill for A/B comparison against the `certification_scan` MCP tool
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Full production readiness certification (code + security + runtime)
|
|
3
|
+
argument-hint: "[project-path: defaults to .]"
|
|
4
|
+
allowed-tools: Bash, Read, Write, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Run complete production readiness certification across all dimensions.
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
This is the master certification skill that combines:
|
|
12
|
+
- **Code Quality** (20%) — Type safety, patterns, test coverage
|
|
13
|
+
- **Security** (25%) — Vulnerabilities, secrets, RLS policies
|
|
14
|
+
- **Runtime Verified** (25%) — E2E tests, visual regression, API tests
|
|
15
|
+
- **Scale Ready** (15%) — Load tested, capacity estimation (M8)
|
|
16
|
+
- **Deploy Ready** (15%) — Canary success, health checks (M9)
|
|
17
|
+
|
|
18
|
+
## Steps
|
|
19
|
+
|
|
20
|
+
1. **Validate project path**
|
|
21
|
+
- Default to `.` if no argument provided
|
|
22
|
+
- Detect project type (web app, API, CLI, library)
|
|
23
|
+
|
|
24
|
+
2. **Run security audit** (`/vaspera-audit` equivalent)
|
|
25
|
+
- Use `certification_scan` MCP tool
|
|
26
|
+
- Collect findings by severity
|
|
27
|
+
|
|
28
|
+
3. **Run runtime verification** (`/vaspera-verify-e2e` equivalent)
|
|
29
|
+
- Detect framework
|
|
30
|
+
- Launch app (if web/API project)
|
|
31
|
+
- Execute golden path flows
|
|
32
|
+
- Calculate runtime score
|
|
33
|
+
|
|
34
|
+
4. **Run scale assessment** (M8 - if available)
|
|
35
|
+
- Check for `.vaspera/load/*.yaml` profiles
|
|
36
|
+
- Run load tests if profiles exist
|
|
37
|
+
- Calculate scale score
|
|
38
|
+
|
|
39
|
+
5. **Check deployment readiness** (M9 - if available)
|
|
40
|
+
- Verify health endpoints exist
|
|
41
|
+
- Check for deployment configuration
|
|
42
|
+
- Calculate deploy score
|
|
43
|
+
|
|
44
|
+
6. **Calculate Production Readiness Score**
|
|
45
|
+
```
|
|
46
|
+
Score = (
|
|
47
|
+
code_quality * 0.20 +
|
|
48
|
+
security * 0.25 +
|
|
49
|
+
runtime * 0.25 +
|
|
50
|
+
scale * 0.15 +
|
|
51
|
+
deploy * 0.15
|
|
52
|
+
)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
7. **Determine certification level**
|
|
56
|
+
| Score | Level | Badge | Recommendation |
|
|
57
|
+
|-------|-------|-------|----------------|
|
|
58
|
+
| 90-100 | CERTIFIED | 🟢 | Ship to production |
|
|
59
|
+
| 70-89 | APPROVED | 🟡 | Ship with monitoring |
|
|
60
|
+
| 40-69 | REVIEW_REQUIRED | 🟠 | Fix before shipping |
|
|
61
|
+
| 0-39 | BLOCKED | 🔴 | Critical issues |
|
|
62
|
+
|
|
63
|
+
8. **Generate certification report**
|
|
64
|
+
```
|
|
65
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
66
|
+
║ PRODUCTION READINESS CERTIFICATION ║
|
|
67
|
+
╠══════════════════════════════════════════════════════════════╣
|
|
68
|
+
║ ║
|
|
69
|
+
║ Project: my-app ║
|
|
70
|
+
║ Framework: Next.js 14.2.3 ║
|
|
71
|
+
║ Certified: 2026-05-29T21:30:00Z ║
|
|
72
|
+
║ ║
|
|
73
|
+
╠══════════════════════════════════════════════════════════════╣
|
|
74
|
+
║ ║
|
|
75
|
+
║ Code Quality: 92/100 ████████████████████░░░░ (20%) ║
|
|
76
|
+
║ Security: 88/100 ██████████████████░░░░░░ (25%) ║
|
|
77
|
+
║ Runtime Verified: 95/100 █████████████████████░░░ (25%) ║
|
|
78
|
+
║ Scale Ready: --/100 (not tested) (15%) ║
|
|
79
|
+
║ Deploy Ready: --/100 (not tested) (15%) ║
|
|
80
|
+
║ ────────────────────────────────────────────────────────── ║
|
|
81
|
+
║ OVERALL: 88/100 ║
|
|
82
|
+
║ ║
|
|
83
|
+
╠══════════════════════════════════════════════════════════════╣
|
|
84
|
+
║ ║
|
|
85
|
+
║ Level: 🟡 APPROVED ║
|
|
86
|
+
║ → Ship with monitoring ║
|
|
87
|
+
║ ║
|
|
88
|
+
╠══════════════════════════════════════════════════════════════╣
|
|
89
|
+
║ ║
|
|
90
|
+
║ Top Issues: ║
|
|
91
|
+
║ 1. [CRITICAL] SQL injection in auth/login.ts:42 ║
|
|
92
|
+
║ 2. [HIGH] Missing RLS on users table ║
|
|
93
|
+
║ 3. [HIGH] No rate limiting on /api/checkout ║
|
|
94
|
+
║ ║
|
|
95
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
9. **Write certification to stable location**
|
|
99
|
+
- Create `.vaspera/certifications/` directory
|
|
100
|
+
- Write to `.vaspera/certifications/{ISO-timestamp}.json`
|
|
101
|
+
- Include full breakdown and remediation recommendations
|
|
102
|
+
|
|
103
|
+
## Fallback Scoring
|
|
104
|
+
|
|
105
|
+
When a dimension isn't testable:
|
|
106
|
+
- **No web app** → Runtime defaults to 50 (neutral)
|
|
107
|
+
- **No load profiles** → Scale defaults to 50 (neutral)
|
|
108
|
+
- **No deploy config** → Deploy defaults to 50 (neutral)
|
|
109
|
+
|
|
110
|
+
## MCP Tools Used
|
|
111
|
+
|
|
112
|
+
- `certification_scan` — Security findings
|
|
113
|
+
- `runtime_detect` — Framework detection
|
|
114
|
+
- `runtime_verify` — Runtime verification (if applicable)
|
|
115
|
+
- `certification_summary` — Final summary
|
|
116
|
+
|
|
117
|
+
## Certification Badge
|
|
118
|
+
|
|
119
|
+
Projects passing certification can display:
|
|
120
|
+
|
|
121
|
+
```markdown
|
|
122
|
+
[](CERTIFICATION.md)
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Important
|
|
126
|
+
|
|
127
|
+
- This is a comprehensive audit — may take several minutes
|
|
128
|
+
- Requires MCP server connection for full functionality
|
|
129
|
+
- Falls back to CLI tools when MCP unavailable
|
|
130
|
+
- Does NOT auto-fix issues — use `/vaspera-harden` for that
|