@accelerationguy/accel 1.0.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/CLAUDE.md +19 -0
- package/LICENSE +33 -0
- package/README.md +275 -0
- package/bin/install.js +661 -0
- package/docs/getting-started.md +164 -0
- package/docs/module-guide.md +139 -0
- package/modules/drive/LICENSE +21 -0
- package/modules/drive/PAUL-VS-GSD.md +171 -0
- package/modules/drive/README.md +555 -0
- package/modules/drive/assets/terminal.svg +67 -0
- package/modules/drive/bin/install.js +210 -0
- package/modules/drive/integration.js +76 -0
- package/modules/drive/package.json +38 -0
- package/modules/drive/src/commands/add-phase.md +36 -0
- package/modules/drive/src/commands/apply.md +83 -0
- package/modules/drive/src/commands/assumptions.md +37 -0
- package/modules/drive/src/commands/audit.md +57 -0
- package/modules/drive/src/commands/complete-milestone.md +36 -0
- package/modules/drive/src/commands/config.md +175 -0
- package/modules/drive/src/commands/consider-issues.md +41 -0
- package/modules/drive/src/commands/discover.md +48 -0
- package/modules/drive/src/commands/discuss-milestone.md +33 -0
- package/modules/drive/src/commands/discuss.md +34 -0
- package/modules/drive/src/commands/flows.md +73 -0
- package/modules/drive/src/commands/handoff.md +201 -0
- package/modules/drive/src/commands/help.md +525 -0
- package/modules/drive/src/commands/init.md +54 -0
- package/modules/drive/src/commands/map-codebase.md +34 -0
- package/modules/drive/src/commands/milestone.md +34 -0
- package/modules/drive/src/commands/pause.md +44 -0
- package/modules/drive/src/commands/plan-fix.md +216 -0
- package/modules/drive/src/commands/plan.md +36 -0
- package/modules/drive/src/commands/progress.md +138 -0
- package/modules/drive/src/commands/register.md +29 -0
- package/modules/drive/src/commands/remove-phase.md +37 -0
- package/modules/drive/src/commands/research-phase.md +209 -0
- package/modules/drive/src/commands/research.md +47 -0
- package/modules/drive/src/commands/resume.md +49 -0
- package/modules/drive/src/commands/status.md +78 -0
- package/modules/drive/src/commands/unify.md +87 -0
- package/modules/drive/src/commands/verify.md +60 -0
- package/modules/drive/src/references/checkpoints.md +234 -0
- package/modules/drive/src/references/context-management.md +219 -0
- package/modules/drive/src/references/git-strategy.md +206 -0
- package/modules/drive/src/references/loop-phases.md +254 -0
- package/modules/drive/src/references/plan-format.md +263 -0
- package/modules/drive/src/references/quality-principles.md +152 -0
- package/modules/drive/src/references/research-quality-control.md +247 -0
- package/modules/drive/src/references/sonarqube-integration.md +244 -0
- package/modules/drive/src/references/specialized-workflow-integration.md +186 -0
- package/modules/drive/src/references/subagent-criteria.md +179 -0
- package/modules/drive/src/references/tdd.md +219 -0
- package/modules/drive/src/references/work-units.md +161 -0
- package/modules/drive/src/rules/commands.md +108 -0
- package/modules/drive/src/rules/references.md +107 -0
- package/modules/drive/src/rules/style.md +123 -0
- package/modules/drive/src/rules/templates.md +51 -0
- package/modules/drive/src/rules/workflows.md +133 -0
- package/modules/drive/src/templates/CONTEXT.md +88 -0
- package/modules/drive/src/templates/DEBUG.md +164 -0
- package/modules/drive/src/templates/DISCOVERY.md +148 -0
- package/modules/drive/src/templates/HANDOFF.md +77 -0
- package/modules/drive/src/templates/ISSUES.md +93 -0
- package/modules/drive/src/templates/MILESTONES.md +167 -0
- package/modules/drive/src/templates/PLAN.md +328 -0
- package/modules/drive/src/templates/PROJECT.md +219 -0
- package/modules/drive/src/templates/RESEARCH.md +130 -0
- package/modules/drive/src/templates/ROADMAP.md +328 -0
- package/modules/drive/src/templates/SPECIAL-FLOWS.md +70 -0
- package/modules/drive/src/templates/STATE.md +210 -0
- package/modules/drive/src/templates/SUMMARY.md +221 -0
- package/modules/drive/src/templates/UAT-ISSUES.md +139 -0
- package/modules/drive/src/templates/codebase/architecture.md +259 -0
- package/modules/drive/src/templates/codebase/concerns.md +329 -0
- package/modules/drive/src/templates/codebase/conventions.md +311 -0
- package/modules/drive/src/templates/codebase/integrations.md +284 -0
- package/modules/drive/src/templates/codebase/stack.md +190 -0
- package/modules/drive/src/templates/codebase/structure.md +287 -0
- package/modules/drive/src/templates/codebase/testing.md +484 -0
- package/modules/drive/src/templates/config.md +181 -0
- package/modules/drive/src/templates/milestone-archive.md +236 -0
- package/modules/drive/src/templates/milestone-context.md +190 -0
- package/modules/drive/src/templates/paul-json.md +147 -0
- package/modules/drive/src/vector-config/PAUL +26 -0
- package/modules/drive/src/vector-config/PAUL.manifest +11 -0
- package/modules/drive/src/workflows/apply-phase.md +393 -0
- package/modules/drive/src/workflows/audit-plan.md +344 -0
- package/modules/drive/src/workflows/complete-milestone.md +479 -0
- package/modules/drive/src/workflows/configure-special-flows.md +283 -0
- package/modules/drive/src/workflows/consider-issues.md +172 -0
- package/modules/drive/src/workflows/create-milestone.md +268 -0
- package/modules/drive/src/workflows/debug.md +292 -0
- package/modules/drive/src/workflows/discovery.md +187 -0
- package/modules/drive/src/workflows/discuss-milestone.md +245 -0
- package/modules/drive/src/workflows/discuss-phase.md +231 -0
- package/modules/drive/src/workflows/init-project.md +698 -0
- package/modules/drive/src/workflows/map-codebase.md +459 -0
- package/modules/drive/src/workflows/pause-work.md +259 -0
- package/modules/drive/src/workflows/phase-assumptions.md +181 -0
- package/modules/drive/src/workflows/plan-phase.md +385 -0
- package/modules/drive/src/workflows/quality-gate.md +263 -0
- package/modules/drive/src/workflows/register-manifest.md +107 -0
- package/modules/drive/src/workflows/research.md +241 -0
- package/modules/drive/src/workflows/resume-project.md +200 -0
- package/modules/drive/src/workflows/roadmap-management.md +334 -0
- package/modules/drive/src/workflows/transition-phase.md +368 -0
- package/modules/drive/src/workflows/unify-phase.md +290 -0
- package/modules/drive/src/workflows/verify-work.md +241 -0
- package/modules/forge/README.md +281 -0
- package/modules/forge/bin/install.js +200 -0
- package/modules/forge/package.json +32 -0
- package/modules/forge/skillsmith/rules/checklists-rules.md +42 -0
- package/modules/forge/skillsmith/rules/context-rules.md +43 -0
- package/modules/forge/skillsmith/rules/entry-point-rules.md +44 -0
- package/modules/forge/skillsmith/rules/frameworks-rules.md +43 -0
- package/modules/forge/skillsmith/rules/tasks-rules.md +52 -0
- package/modules/forge/skillsmith/rules/templates-rules.md +43 -0
- package/modules/forge/skillsmith/skillsmith.md +82 -0
- package/modules/forge/skillsmith/tasks/audit.md +277 -0
- package/modules/forge/skillsmith/tasks/discover.md +145 -0
- package/modules/forge/skillsmith/tasks/distill.md +276 -0
- package/modules/forge/skillsmith/tasks/scaffold.md +349 -0
- package/modules/forge/specs/checklists.md +193 -0
- package/modules/forge/specs/context.md +223 -0
- package/modules/forge/specs/entry-point.md +320 -0
- package/modules/forge/specs/frameworks.md +228 -0
- package/modules/forge/specs/rules.md +245 -0
- package/modules/forge/specs/tasks.md +344 -0
- package/modules/forge/specs/templates.md +335 -0
- package/modules/forge/terminal.svg +70 -0
- package/modules/ignition/README.md +245 -0
- package/modules/ignition/bin/install.js +184 -0
- package/modules/ignition/checklists/planning-quality.md +55 -0
- package/modules/ignition/data/application/config.md +21 -0
- package/modules/ignition/data/application/guide.md +51 -0
- package/modules/ignition/data/application/skill-loadout.md +11 -0
- package/modules/ignition/data/campaign/config.md +18 -0
- package/modules/ignition/data/campaign/guide.md +36 -0
- package/modules/ignition/data/campaign/skill-loadout.md +10 -0
- package/modules/ignition/data/client/config.md +18 -0
- package/modules/ignition/data/client/guide.md +36 -0
- package/modules/ignition/data/client/skill-loadout.md +11 -0
- package/modules/ignition/data/utility/config.md +18 -0
- package/modules/ignition/data/utility/guide.md +31 -0
- package/modules/ignition/data/utility/skill-loadout.md +8 -0
- package/modules/ignition/data/workflow/config.md +19 -0
- package/modules/ignition/data/workflow/guide.md +41 -0
- package/modules/ignition/data/workflow/skill-loadout.md +10 -0
- package/modules/ignition/integration.js +54 -0
- package/modules/ignition/package.json +35 -0
- package/modules/ignition/seed.md +81 -0
- package/modules/ignition/tasks/add-type.md +164 -0
- package/modules/ignition/tasks/graduate.md +182 -0
- package/modules/ignition/tasks/ideate.md +221 -0
- package/modules/ignition/tasks/launch.md +137 -0
- package/modules/ignition/tasks/status.md +71 -0
- package/modules/ignition/templates/planning-application.md +193 -0
- package/modules/ignition/templates/planning-campaign.md +138 -0
- package/modules/ignition/templates/planning-client.md +149 -0
- package/modules/ignition/templates/planning-utility.md +112 -0
- package/modules/ignition/templates/planning-workflow.md +125 -0
- package/modules/ignition/terminal.svg +74 -0
- package/modules/mission-control/CONTEXT-CONTINUITY-SPEC.md +293 -0
- package/modules/mission-control/CONTEXT-ENGINEERING-GUIDE.md +282 -0
- package/modules/mission-control/README.md +91 -0
- package/modules/mission-control/assets/terminal.svg +80 -0
- package/modules/mission-control/examples/entities.example.json +133 -0
- package/modules/mission-control/examples/projects.example.json +318 -0
- package/modules/mission-control/examples/state.example.json +183 -0
- package/modules/mission-control/examples/vector.example.json +245 -0
- package/modules/mission-control/mission-control/checklists/install-verification.md +46 -0
- package/modules/mission-control/mission-control/frameworks/framework-registry.md +83 -0
- package/modules/mission-control/mission-control/mission-control.md +83 -0
- package/modules/mission-control/mission-control/tasks/insights.md +73 -0
- package/modules/mission-control/mission-control/tasks/install.md +194 -0
- package/modules/mission-control/mission-control/tasks/status.md +125 -0
- package/modules/mission-control/schemas/entities.schema.json +89 -0
- package/modules/mission-control/schemas/projects.schema.json +221 -0
- package/modules/mission-control/schemas/state.schema.json +108 -0
- package/modules/mission-control/schemas/vector.schema.json +200 -0
- package/modules/momentum/README.md +678 -0
- package/modules/momentum/bin/install.js +563 -0
- package/modules/momentum/integration.js +131 -0
- package/modules/momentum/package.json +42 -0
- package/modules/momentum/schemas/entities.schema.json +89 -0
- package/modules/momentum/schemas/projects.schema.json +221 -0
- package/modules/momentum/schemas/state.schema.json +108 -0
- package/modules/momentum/src/commands/audit-claude-md.md +31 -0
- package/modules/momentum/src/commands/audit.md +33 -0
- package/modules/momentum/src/commands/groom.md +35 -0
- package/modules/momentum/src/commands/history.md +27 -0
- package/modules/momentum/src/commands/pulse.md +33 -0
- package/modules/momentum/src/commands/scaffold.md +33 -0
- package/modules/momentum/src/commands/status.md +28 -0
- package/modules/momentum/src/commands/surface-convert.md +35 -0
- package/modules/momentum/src/commands/surface-create.md +34 -0
- package/modules/momentum/src/commands/surface-list.md +27 -0
- package/modules/momentum/src/commands/vector-hygiene.md +33 -0
- package/modules/momentum/src/framework/context/momentum-principles.md +71 -0
- package/modules/momentum/src/framework/frameworks/audit-strategies.md +53 -0
- package/modules/momentum/src/framework/frameworks/satellite-registration.md +44 -0
- package/modules/momentum/src/framework/tasks/audit-claude-md.md +68 -0
- package/modules/momentum/src/framework/tasks/audit.md +64 -0
- package/modules/momentum/src/framework/tasks/groom.md +164 -0
- package/modules/momentum/src/framework/tasks/history.md +34 -0
- package/modules/momentum/src/framework/tasks/pulse.md +83 -0
- package/modules/momentum/src/framework/tasks/scaffold.md +202 -0
- package/modules/momentum/src/framework/tasks/status.md +35 -0
- package/modules/momentum/src/framework/tasks/surface-convert.md +143 -0
- package/modules/momentum/src/framework/tasks/surface-create.md +184 -0
- package/modules/momentum/src/framework/tasks/surface-list.md +42 -0
- package/modules/momentum/src/framework/tasks/vector-hygiene.md +160 -0
- package/modules/momentum/src/framework/templates/workspace-json.md +96 -0
- package/modules/momentum/src/hooks/_template.py +129 -0
- package/modules/momentum/src/hooks/active-hook.py +178 -0
- package/modules/momentum/src/hooks/backlog-hook.py +115 -0
- package/modules/momentum/src/hooks/mission-control-insights.py +169 -0
- package/modules/momentum/src/hooks/momentum-pulse-check.py +351 -0
- package/modules/momentum/src/hooks/operator.py +53 -0
- package/modules/momentum/src/hooks/psmm-injector.py +67 -0
- package/modules/momentum/src/hooks/satellite-detection.py +248 -0
- package/modules/momentum/src/packages/momentum-mcp/index.js +119 -0
- package/modules/momentum/src/packages/momentum-mcp/package.json +10 -0
- package/modules/momentum/src/packages/momentum-mcp/tools/entities.js +226 -0
- package/modules/momentum/src/packages/momentum-mcp/tools/operator.js +106 -0
- package/modules/momentum/src/packages/momentum-mcp/tools/projects.js +322 -0
- package/modules/momentum/src/packages/momentum-mcp/tools/psmm.js +206 -0
- package/modules/momentum/src/packages/momentum-mcp/tools/state.js +199 -0
- package/modules/momentum/src/packages/momentum-mcp/tools/surfaces.js +404 -0
- package/modules/momentum/src/skill/momentum.md +111 -0
- package/modules/momentum/src/tasks/groom.md +164 -0
- package/modules/momentum/src/templates/operator.json +66 -0
- package/modules/momentum/src/templates/workspace.json +111 -0
- package/modules/momentum/terminal.svg +77 -0
- package/modules/radar/README.md +1552 -0
- package/modules/radar/commands/audit.md +233 -0
- package/modules/radar/commands/guardrails.md +194 -0
- package/modules/radar/commands/init.md +207 -0
- package/modules/radar/commands/playbook.md +176 -0
- package/modules/radar/commands/remediate.md +156 -0
- package/modules/radar/commands/report.md +172 -0
- package/modules/radar/commands/resume.md +176 -0
- package/modules/radar/commands/status.md +148 -0
- package/modules/radar/commands/transform.md +205 -0
- package/modules/radar/commands/validate.md +177 -0
- package/modules/radar/docs/ARCHITECTURE.md +336 -0
- package/modules/radar/docs/GETTING-STARTED.md +287 -0
- package/modules/radar/docs/standards/agents.md +197 -0
- package/modules/radar/docs/standards/commands.md +250 -0
- package/modules/radar/docs/standards/domains.md +191 -0
- package/modules/radar/docs/standards/personas.md +211 -0
- package/modules/radar/docs/standards/rules.md +218 -0
- package/modules/radar/docs/standards/runtime.md +445 -0
- package/modules/radar/docs/standards/schemas.md +269 -0
- package/modules/radar/docs/standards/tools.md +273 -0
- package/modules/radar/docs/standards/workflows.md +254 -0
- package/modules/radar/docs/terminal.svg +72 -0
- package/modules/radar/docs/validation/convention-compliance-report.md +183 -0
- package/modules/radar/docs/validation/cross-reference-report.md +195 -0
- package/modules/radar/docs/validation/validation-summary.md +118 -0
- package/modules/radar/docs/validation/version-manifest.yaml +363 -0
- package/modules/radar/install.sh +711 -0
- package/modules/radar/integration.js +53 -0
- package/modules/radar/src/core/agents/architect.md +25 -0
- package/modules/radar/src/core/agents/compliance-officer.md +25 -0
- package/modules/radar/src/core/agents/data-engineer.md +25 -0
- package/modules/radar/src/core/agents/devils-advocate.md +22 -0
- package/modules/radar/src/core/agents/performance-engineer.md +25 -0
- package/modules/radar/src/core/agents/principal-engineer.md +23 -0
- package/modules/radar/src/core/agents/reality-gap-analyst.md +22 -0
- package/modules/radar/src/core/agents/security-engineer.md +25 -0
- package/modules/radar/src/core/agents/senior-app-engineer.md +25 -0
- package/modules/radar/src/core/agents/sre.md +25 -0
- package/modules/radar/src/core/agents/staff-engineer.md +23 -0
- package/modules/radar/src/core/agents/test-engineer.md +25 -0
- package/modules/radar/src/core/personas/architect.md +111 -0
- package/modules/radar/src/core/personas/compliance-officer.md +104 -0
- package/modules/radar/src/core/personas/data-engineer.md +113 -0
- package/modules/radar/src/core/personas/devils-advocate.md +105 -0
- package/modules/radar/src/core/personas/performance-engineer.md +119 -0
- package/modules/radar/src/core/personas/principal-engineer.md +119 -0
- package/modules/radar/src/core/personas/reality-gap-analyst.md +111 -0
- package/modules/radar/src/core/personas/security-engineer.md +108 -0
- package/modules/radar/src/core/personas/senior-app-engineer.md +111 -0
- package/modules/radar/src/core/personas/sre.md +117 -0
- package/modules/radar/src/core/personas/staff-engineer.md +109 -0
- package/modules/radar/src/core/personas/test-engineer.md +109 -0
- package/modules/radar/src/core/workflows/disagreement-resolution.md +183 -0
- package/modules/radar/src/core/workflows/phase-0-context.md +148 -0
- package/modules/radar/src/core/workflows/phase-1-reconnaissance.md +169 -0
- package/modules/radar/src/core/workflows/phase-2-domain-audits.md +190 -0
- package/modules/radar/src/core/workflows/phase-3-cross-domain.md +177 -0
- package/modules/radar/src/core/workflows/phase-4-adversarial-review.md +165 -0
- package/modules/radar/src/core/workflows/phase-5-report.md +189 -0
- package/modules/radar/src/core/workflows/phase-checkpoint.md +222 -0
- package/modules/radar/src/core/workflows/session-handoff.md +152 -0
- package/modules/radar/src/domains/00-context.md +201 -0
- package/modules/radar/src/domains/01-architecture.md +248 -0
- package/modules/radar/src/domains/02-data.md +224 -0
- package/modules/radar/src/domains/03-correctness.md +230 -0
- package/modules/radar/src/domains/04-security.md +274 -0
- package/modules/radar/src/domains/05-compliance.md +228 -0
- package/modules/radar/src/domains/06-testing.md +228 -0
- package/modules/radar/src/domains/07-reliability.md +246 -0
- package/modules/radar/src/domains/08-performance.md +247 -0
- package/modules/radar/src/domains/09-maintainability.md +271 -0
- package/modules/radar/src/domains/10-operability.md +250 -0
- package/modules/radar/src/domains/11-change-risk.md +246 -0
- package/modules/radar/src/domains/12-team-risk.md +221 -0
- package/modules/radar/src/domains/13-risk-synthesis.md +202 -0
- package/modules/radar/src/rules/agent-boundaries.md +78 -0
- package/modules/radar/src/rules/disagreement-protocol.md +76 -0
- package/modules/radar/src/rules/epistemic-hygiene.md +78 -0
- package/modules/radar/src/schemas/confidence.md +185 -0
- package/modules/radar/src/schemas/disagreement.md +238 -0
- package/modules/radar/src/schemas/finding.md +287 -0
- package/modules/radar/src/schemas/report-section.md +150 -0
- package/modules/radar/src/schemas/signal.md +108 -0
- package/modules/radar/src/tools/checkov.md +463 -0
- package/modules/radar/src/tools/git-history.md +581 -0
- package/modules/radar/src/tools/gitleaks.md +447 -0
- package/modules/radar/src/tools/grype.md +611 -0
- package/modules/radar/src/tools/semgrep.md +378 -0
- package/modules/radar/src/tools/sonarqube.md +550 -0
- package/modules/radar/src/tools/syft.md +539 -0
- package/modules/radar/src/tools/trivy.md +439 -0
- package/modules/radar/src/transform/agents/change-risk-modeler.md +24 -0
- package/modules/radar/src/transform/agents/execution-validator.md +24 -0
- package/modules/radar/src/transform/agents/guardrail-generator.md +24 -0
- package/modules/radar/src/transform/agents/pedagogy-agent.md +24 -0
- package/modules/radar/src/transform/agents/remediation-architect.md +24 -0
- package/modules/radar/src/transform/personas/change-risk-modeler.md +95 -0
- package/modules/radar/src/transform/personas/execution-validator.md +95 -0
- package/modules/radar/src/transform/personas/guardrail-generator.md +103 -0
- package/modules/radar/src/transform/personas/pedagogy-agent.md +105 -0
- package/modules/radar/src/transform/personas/remediation-architect.md +95 -0
- package/modules/radar/src/transform/rules/change-risk-rules.md +87 -0
- package/modules/radar/src/transform/rules/safety-governance.md +87 -0
- package/modules/radar/src/transform/schemas/change-risk.md +139 -0
- package/modules/radar/src/transform/schemas/intervention-level.md +207 -0
- package/modules/radar/src/transform/schemas/playbook.md +205 -0
- package/modules/radar/src/transform/schemas/verification-plan.md +134 -0
- package/modules/radar/src/transform/workflows/phase-6-remediation.md +148 -0
- package/modules/radar/src/transform/workflows/phase-7-risk-validation.md +161 -0
- package/modules/radar/src/transform/workflows/phase-8-execution-planning.md +159 -0
- package/modules/radar/src/transform/workflows/transform-safety.md +158 -0
- package/modules/vector/.vector-template/sessions/.gitkeep +0 -0
- package/modules/vector/.vector-template/vector.json +72 -0
- package/modules/vector/AUDIT-CLAUDEMD.md +154 -0
- package/modules/vector/INSTALL.md +185 -0
- package/modules/vector/LICENSE +21 -0
- package/modules/vector/README.md +409 -0
- package/modules/vector/VECTOR-BLOCK.md +57 -0
- package/modules/vector/assets/terminal.svg +68 -0
- package/modules/vector/bin/install.js +455 -0
- package/modules/vector/bin/migrate-v1-to-v2.sh +492 -0
- package/modules/vector/commands/help.md +46 -0
- package/modules/vector/hooks/vector-hook.py +775 -0
- package/modules/vector/mcp/index.js +118 -0
- package/modules/vector/mcp/package.json +10 -0
- package/modules/vector/mcp/tools/decisions.js +269 -0
- package/modules/vector/mcp/tools/domains.js +361 -0
- package/modules/vector/mcp/tools/staging.js +252 -0
- package/modules/vector/mcp/tools/vector-json.js +647 -0
- package/modules/vector/package.json +38 -0
- package/modules/vector/schemas/vector.schema.json +237 -0
- package/package.json +39 -0
- package/shared/branding/branding.js +70 -0
- package/shared/config/defaults.json +59 -0
- package/shared/events/README.md +175 -0
- package/shared/events/event-bus.js +134 -0
- package/shared/events/event_bus.py +255 -0
- package/shared/events/integrations.js +161 -0
- package/shared/events/schemas/audit-complete.schema.json +21 -0
- package/shared/events/schemas/phase-progress.schema.json +23 -0
- package/shared/events/schemas/plan-created.schema.json +21 -0
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: trivy
|
|
3
|
+
name: Trivy
|
|
4
|
+
type: vulnerability_scan
|
|
5
|
+
domains_fed: ["04", "05"]
|
|
6
|
+
install_required: true
|
|
7
|
+
install_command: "See Installation section — apt, brew, script, or Docker"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
|
|
12
|
+
Comprehensive vulnerability scanner covering OS packages, language-specific dependencies, container images, IaC misconfigurations, and embedded secrets. Primary signal source for dependency CVEs and compliance-relevant vulnerabilities. Feeds Security (04) and Compliance (05) domains.
|
|
13
|
+
|
|
14
|
+
Trivy scans multiple targets: filesystem (lock files, manifests), container images, git repositories, and IaC configurations (Terraform, CloudFormation, Kubernetes). For Radar, filesystem scanning is the primary mode (analyzing the codebase's dependency tree).
|
|
15
|
+
|
|
16
|
+
Signals are NOT findings. Trivy produces evidence that agents interpret.
|
|
17
|
+
|
|
18
|
+
## Configuration
|
|
19
|
+
|
|
20
|
+
Trivy supports configuration via `trivy.yaml` file and command-line flags:
|
|
21
|
+
|
|
22
|
+
**Configuration File** (`trivy.yaml`):
|
|
23
|
+
```yaml
|
|
24
|
+
severity: CRITICAL,HIGH,MEDIUM
|
|
25
|
+
cache:
|
|
26
|
+
dir: ~/.cache/trivy
|
|
27
|
+
db:
|
|
28
|
+
repository: ghcr.io/aquasecurity/trivy-db
|
|
29
|
+
skip-update: false
|
|
30
|
+
timeout: 5m0s
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Key Configuration Options**:
|
|
34
|
+
- **Severity Filtering**: `--severity CRITICAL,HIGH,MEDIUM` excludes LOW/UNKNOWN for focused scanning
|
|
35
|
+
- **Cache Settings**: Database cache location and retention policy
|
|
36
|
+
- **DB Update Policy**: Automatic vulnerability database updates (default) or manual control
|
|
37
|
+
- **Scan Type Selection**: `fs` (filesystem/dependencies), `image` (containers), `config` (IaC)
|
|
38
|
+
- **Offline Mode**: `--skip-db-update` for air-gapped environments
|
|
39
|
+
|
|
40
|
+
**Ignore File** (`.trivyignore`):
|
|
41
|
+
```
|
|
42
|
+
# Accepted risks - include justification
|
|
43
|
+
CVE-2024-12345 # False positive - vendored with backported patch
|
|
44
|
+
CVE-2024-67890 # Risk accepted - no exploitable code path in our usage
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Environment Variables**:
|
|
48
|
+
- `TRIVY_CACHE_DIR`: Override default cache location
|
|
49
|
+
- `TRIVY_DB_REPOSITORY`: Custom vulnerability database mirror
|
|
50
|
+
- `TRIVY_TIMEOUT`: Scan timeout duration
|
|
51
|
+
|
|
52
|
+
## Execution
|
|
53
|
+
|
|
54
|
+
### Installation Options
|
|
55
|
+
|
|
56
|
+
**Platform-Agnostic Methods**:
|
|
57
|
+
|
|
58
|
+
1. **Docker** (recommended for CI/CD and consistency):
|
|
59
|
+
```bash
|
|
60
|
+
docker pull aquasec/trivy:latest
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
2. **Installation Script** (Linux/macOS):
|
|
64
|
+
```bash
|
|
65
|
+
curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
3. **apt-get** (Debian/Ubuntu):
|
|
69
|
+
```bash
|
|
70
|
+
sudo apt-get install wget gnupg
|
|
71
|
+
wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | gpg --dearmor | sudo tee /usr/share/keyrings/trivy.gpg > /dev/null
|
|
72
|
+
echo "deb [signed-by=/usr/share/keyrings/trivy.gpg] https://aquasecurity.github.io/trivy-repo/deb generic main" | sudo tee /etc/apt/sources.list.d/trivy.list
|
|
73
|
+
sudo apt-get update
|
|
74
|
+
sudo apt-get install trivy
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
4. **Homebrew** (macOS):
|
|
78
|
+
```bash
|
|
79
|
+
brew install trivy
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
5. **Binary Download** (all platforms):
|
|
83
|
+
Download from [GitHub Releases](https://github.com/aquasecurity/trivy/releases)
|
|
84
|
+
|
|
85
|
+
### Primary Execution Commands
|
|
86
|
+
|
|
87
|
+
**Filesystem Scanning** (Radar primary use case):
|
|
88
|
+
```bash
|
|
89
|
+
trivy fs --format json --output {output_dir}/trivy-results.json --severity CRITICAL,HIGH,MEDIUM {target_path}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Docker Variant**:
|
|
93
|
+
```bash
|
|
94
|
+
docker run --rm -v {target_path}:/target aquasec/trivy:latest fs --format json --output /target/.radar/signals/trivy-results.json --severity CRITICAL,HIGH,MEDIUM /target
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Container Image Scanning**:
|
|
98
|
+
```bash
|
|
99
|
+
trivy image --format json --output {output_dir}/trivy-image-results.json {image_name}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**IaC Configuration Scanning**:
|
|
103
|
+
```bash
|
|
104
|
+
trivy config --format json --output {output_dir}/trivy-iac-results.json {target_path}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Execution Parameters
|
|
108
|
+
|
|
109
|
+
| Parameter | Purpose | Values | Default |
|
|
110
|
+
|-----------|---------|--------|---------|
|
|
111
|
+
| `--format` | Output format | json, table, sarif, cyclonedx | table |
|
|
112
|
+
| `--output` | Output file path | file path | stdout |
|
|
113
|
+
| `--severity` | Filter by severity | CRITICAL, HIGH, MEDIUM, LOW, UNKNOWN | All |
|
|
114
|
+
| `--vuln-type` | Vulnerability types | os, library | os,library |
|
|
115
|
+
| `--skip-db-update` | Skip DB update | boolean | false |
|
|
116
|
+
| `--timeout` | Scan timeout | duration (e.g., 5m) | 5m0s |
|
|
117
|
+
| `--ignore-unfixed` | Skip unfixed vulns | boolean | false |
|
|
118
|
+
| `--exit-code` | Exit code on findings | integer | 0 |
|
|
119
|
+
| `--scanners` | Scanners to enable | vuln, misconfig, secret, license | vuln |
|
|
120
|
+
|
|
121
|
+
### Runtime Characteristics
|
|
122
|
+
|
|
123
|
+
- **First Run**: 2-5 minutes (includes ~500MB vulnerability database download)
|
|
124
|
+
- **Subsequent Runs**: 1-2 minutes (database cached)
|
|
125
|
+
- **Database Updates**: Daily automatic updates (configurable)
|
|
126
|
+
- **Resource Usage**: Low CPU, moderate disk I/O during initial scan
|
|
127
|
+
- **Network Requirements**: Initial DB download only (offline mode available)
|
|
128
|
+
|
|
129
|
+
## Output Format
|
|
130
|
+
|
|
131
|
+
Trivy produces structured JSON output with nested results by target:
|
|
132
|
+
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"SchemaVersion": 2,
|
|
136
|
+
"CreatedAt": "2026-02-15T10:30:45.123456789Z",
|
|
137
|
+
"ArtifactName": "/home/user/project",
|
|
138
|
+
"ArtifactType": "filesystem",
|
|
139
|
+
"Metadata": {
|
|
140
|
+
"ImageConfig": {}
|
|
141
|
+
},
|
|
142
|
+
"Results": [
|
|
143
|
+
{
|
|
144
|
+
"Target": "package-lock.json",
|
|
145
|
+
"Class": "lang-pkgs",
|
|
146
|
+
"Type": "npm",
|
|
147
|
+
"Vulnerabilities": [
|
|
148
|
+
{
|
|
149
|
+
"VulnerabilityID": "CVE-2024-45590",
|
|
150
|
+
"PkgName": "express",
|
|
151
|
+
"PkgPath": "node_modules/express/package.json",
|
|
152
|
+
"PkgIdentifier": {
|
|
153
|
+
"PURL": "pkg:npm/express@4.17.1"
|
|
154
|
+
},
|
|
155
|
+
"InstalledVersion": "4.17.1",
|
|
156
|
+
"FixedVersion": "4.19.2",
|
|
157
|
+
"Status": "fixed",
|
|
158
|
+
"Layer": {},
|
|
159
|
+
"SeveritySource": "nvd",
|
|
160
|
+
"PrimaryURL": "https://avd.aquasec.com/nvd/cve-2024-45590",
|
|
161
|
+
"DataSource": {
|
|
162
|
+
"ID": "npm-advisory-db",
|
|
163
|
+
"Name": "npm Advisory Database",
|
|
164
|
+
"URL": "https://github.com/advisories?query=type%3Areviewed+ecosystem%3Anpm"
|
|
165
|
+
},
|
|
166
|
+
"Title": "Express.js path traversal vulnerability in static file serving",
|
|
167
|
+
"Description": "Express.js static file serving middleware allows path traversal attacks via specially crafted requests with encoded path separators, enabling unauthorized access to files outside the intended directory.",
|
|
168
|
+
"Severity": "HIGH",
|
|
169
|
+
"CweIDs": [
|
|
170
|
+
"CWE-22"
|
|
171
|
+
],
|
|
172
|
+
"VendorSeverity": {
|
|
173
|
+
"nvd": 3,
|
|
174
|
+
"redhat": 2
|
|
175
|
+
},
|
|
176
|
+
"CVSS": {
|
|
177
|
+
"nvd": {
|
|
178
|
+
"V3Vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
|
|
179
|
+
"V3Score": 7.5
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
"References": [
|
|
183
|
+
"https://github.com/expressjs/express/security/advisories/GHSA-qw6h-vgh9-j6wx",
|
|
184
|
+
"https://nvd.nist.gov/vuln/detail/CVE-2024-45590"
|
|
185
|
+
],
|
|
186
|
+
"PublishedDate": "2024-09-10T15:15:00Z",
|
|
187
|
+
"LastModifiedDate": "2024-09-12T18:31:00Z"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"VulnerabilityID": "CVE-2024-43796",
|
|
191
|
+
"PkgName": "axios",
|
|
192
|
+
"PkgPath": "node_modules/axios/package.json",
|
|
193
|
+
"PkgIdentifier": {
|
|
194
|
+
"PURL": "pkg:npm/axios@0.21.1"
|
|
195
|
+
},
|
|
196
|
+
"InstalledVersion": "0.21.1",
|
|
197
|
+
"FixedVersion": "1.7.4",
|
|
198
|
+
"Status": "fixed",
|
|
199
|
+
"Layer": {},
|
|
200
|
+
"SeveritySource": "npm-advisory-db",
|
|
201
|
+
"PrimaryURL": "https://github.com/advisories/GHSA-8hc4-vh64-cxmj",
|
|
202
|
+
"DataSource": {
|
|
203
|
+
"ID": "npm-advisory-db",
|
|
204
|
+
"Name": "npm Advisory Database",
|
|
205
|
+
"URL": "https://github.com/advisories?query=type%3Areviewed+ecosystem%3Anpm"
|
|
206
|
+
},
|
|
207
|
+
"Title": "Server-Side Request Forgery in axios",
|
|
208
|
+
"Description": "Axios library allows Server-Side Request Forgery (SSRF) attacks via URL parsing inconsistencies when handling user-controlled URLs with CRLF injection, potentially enabling attackers to bypass allow-lists and access internal resources.",
|
|
209
|
+
"Severity": "CRITICAL",
|
|
210
|
+
"CweIDs": [
|
|
211
|
+
"CWE-918"
|
|
212
|
+
],
|
|
213
|
+
"VendorSeverity": {
|
|
214
|
+
"npm-advisory-db": 4,
|
|
215
|
+
"nvd": 4
|
|
216
|
+
},
|
|
217
|
+
"CVSS": {
|
|
218
|
+
"nvd": {
|
|
219
|
+
"V3Vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N",
|
|
220
|
+
"V3Score": 9.3
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
"References": [
|
|
224
|
+
"https://github.com/axios/axios/issues/6463",
|
|
225
|
+
"https://github.com/axios/axios/pull/6539",
|
|
226
|
+
"https://nvd.nist.gov/vuln/detail/CVE-2024-43796"
|
|
227
|
+
],
|
|
228
|
+
"PublishedDate": "2024-08-12T13:38:00Z",
|
|
229
|
+
"LastModifiedDate": "2024-08-16T17:43:00Z"
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"VulnerabilityID": "CVE-2023-26136",
|
|
233
|
+
"PkgName": "tough-cookie",
|
|
234
|
+
"PkgPath": "node_modules/tough-cookie/package.json",
|
|
235
|
+
"PkgIdentifier": {
|
|
236
|
+
"PURL": "pkg:npm/tough-cookie@2.5.0"
|
|
237
|
+
},
|
|
238
|
+
"InstalledVersion": "2.5.0",
|
|
239
|
+
"FixedVersion": "4.1.3",
|
|
240
|
+
"Status": "fixed",
|
|
241
|
+
"Layer": {},
|
|
242
|
+
"SeveritySource": "nvd",
|
|
243
|
+
"PrimaryURL": "https://avd.aquasec.com/nvd/cve-2023-26136",
|
|
244
|
+
"DataSource": {
|
|
245
|
+
"ID": "npm-advisory-db",
|
|
246
|
+
"Name": "npm Advisory Database",
|
|
247
|
+
"URL": "https://github.com/advisories?query=type%3Areviewed+ecosystem%3Anpm"
|
|
248
|
+
},
|
|
249
|
+
"Title": "Prototype pollution in tough-cookie",
|
|
250
|
+
"Description": "The tough-cookie package before 4.1.3 for Node.js allows prototype pollution via cookie values, which could enable arbitrary property injection and potential denial of service.",
|
|
251
|
+
"Severity": "MEDIUM",
|
|
252
|
+
"CweIDs": [
|
|
253
|
+
"CWE-1321"
|
|
254
|
+
],
|
|
255
|
+
"VendorSeverity": {
|
|
256
|
+
"nvd": 2,
|
|
257
|
+
"npm-advisory-db": 2
|
|
258
|
+
},
|
|
259
|
+
"CVSS": {
|
|
260
|
+
"nvd": {
|
|
261
|
+
"V3Vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L",
|
|
262
|
+
"V3Score": 4.8
|
|
263
|
+
}
|
|
264
|
+
},
|
|
265
|
+
"References": [
|
|
266
|
+
"https://github.com/salesforce/tough-cookie/issues/282",
|
|
267
|
+
"https://github.com/salesforce/tough-cookie/commit/12d474791bb856004e858fdb1c47b7608d09cf6e",
|
|
268
|
+
"https://nvd.nist.gov/vuln/detail/CVE-2023-26136"
|
|
269
|
+
],
|
|
270
|
+
"PublishedDate": "2023-07-01T06:15:00Z",
|
|
271
|
+
"LastModifiedDate": "2023-07-12T13:18:00Z"
|
|
272
|
+
}
|
|
273
|
+
]
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"Target": "requirements.txt",
|
|
277
|
+
"Class": "lang-pkgs",
|
|
278
|
+
"Type": "pip",
|
|
279
|
+
"Vulnerabilities": [
|
|
280
|
+
{
|
|
281
|
+
"VulnerabilityID": "CVE-2024-35195",
|
|
282
|
+
"PkgName": "requests",
|
|
283
|
+
"PkgPath": "",
|
|
284
|
+
"PkgIdentifier": {
|
|
285
|
+
"PURL": "pkg:pypi/requests@2.28.0"
|
|
286
|
+
},
|
|
287
|
+
"InstalledVersion": "2.28.0",
|
|
288
|
+
"FixedVersion": "2.32.0",
|
|
289
|
+
"Status": "fixed",
|
|
290
|
+
"Layer": {},
|
|
291
|
+
"SeveritySource": "nvd",
|
|
292
|
+
"PrimaryURL": "https://avd.aquasec.com/nvd/cve-2024-35195",
|
|
293
|
+
"DataSource": {
|
|
294
|
+
"ID": "pip-security-db",
|
|
295
|
+
"Name": "pip Security Database",
|
|
296
|
+
"URL": "https://github.com/pypa/advisory-database"
|
|
297
|
+
},
|
|
298
|
+
"Title": "Proxy-Authorization header disclosure in requests library",
|
|
299
|
+
"Description": "The requests library for Python does not strip the Proxy-Authorization header when handling cross-origin redirects, potentially leaking proxy credentials to third-party servers.",
|
|
300
|
+
"Severity": "MEDIUM",
|
|
301
|
+
"CweIDs": [
|
|
302
|
+
"CWE-200"
|
|
303
|
+
],
|
|
304
|
+
"VendorSeverity": {
|
|
305
|
+
"nvd": 2,
|
|
306
|
+
"redhat": 2
|
|
307
|
+
},
|
|
308
|
+
"CVSS": {
|
|
309
|
+
"nvd": {
|
|
310
|
+
"V3Vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N",
|
|
311
|
+
"V3Score": 5.9
|
|
312
|
+
}
|
|
313
|
+
},
|
|
314
|
+
"References": [
|
|
315
|
+
"https://github.com/psf/requests/security/advisories/GHSA-9wx4-h78v-vm56",
|
|
316
|
+
"https://github.com/psf/requests/pull/6655",
|
|
317
|
+
"https://nvd.nist.gov/vuln/detail/CVE-2024-35195"
|
|
318
|
+
],
|
|
319
|
+
"PublishedDate": "2024-05-20T21:15:00Z",
|
|
320
|
+
"LastModifiedDate": "2024-05-28T18:32:00Z"
|
|
321
|
+
}
|
|
322
|
+
]
|
|
323
|
+
}
|
|
324
|
+
]
|
|
325
|
+
}
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
**Key Output Fields**:
|
|
329
|
+
- `SchemaVersion`: Trivy output schema version
|
|
330
|
+
- `ArtifactName`: Scanned target path/name
|
|
331
|
+
- `ArtifactType`: Type of artifact (filesystem, container, repository)
|
|
332
|
+
- `Results[]`: Array of result objects per target file
|
|
333
|
+
- `Target`: Specific file scanned (e.g., package-lock.json, requirements.txt)
|
|
334
|
+
- `Class`: Classification (lang-pkgs, os-pkgs, config)
|
|
335
|
+
- `Type`: Package manager type (npm, pip, gem, maven, etc.)
|
|
336
|
+
- `Vulnerabilities[]`: Array of vulnerability objects
|
|
337
|
+
- `VulnerabilityID`: CVE identifier
|
|
338
|
+
- `PkgName`: Affected package name
|
|
339
|
+
- `InstalledVersion`: Currently installed version
|
|
340
|
+
- `FixedVersion`: Version containing fix (if available)
|
|
341
|
+
- `Severity`: CRITICAL, HIGH, MEDIUM, LOW, UNKNOWN
|
|
342
|
+
- `CVSS`: Common Vulnerability Scoring System scores
|
|
343
|
+
- `References[]`: Links to advisories and patches
|
|
344
|
+
|
|
345
|
+
## Normalization
|
|
346
|
+
|
|
347
|
+
Trivy raw output requires normalization to Radar signal format:
|
|
348
|
+
|
|
349
|
+
| Trivy Field | Radar Signal Field | Transformation Logic |
|
|
350
|
+
|-------------|-------------------|----------------------|
|
|
351
|
+
| `VulnerabilityID` | `source_rule` | Direct mapping (e.g., CVE-2024-45590) |
|
|
352
|
+
| Auto-generated | `signal_id` | Pattern: `S-TRV-{NNN}` (sequential numbering) |
|
|
353
|
+
| Fixed value | `source_tool` | Always "trivy" |
|
|
354
|
+
| `Target` + `PkgName` | `file_path` | Combine: `{Target}:{PkgName}` (e.g., "package-lock.json:express") |
|
|
355
|
+
| `Description` + `InstalledVersion` + `FixedVersion` | `context` | Enriched: "{Description} Found: {InstalledVersion}, Fixed: {FixedVersion}" |
|
|
356
|
+
| `Severity` | `severity` | Map: CRITICAL→critical, HIGH→high, MEDIUM→medium, LOW→low, UNKNOWN→informational |
|
|
357
|
+
| `CVSS.nvd.V3Score` | `confidence_estimate` | Score-based: ≥9.0→high, ≥7.0→medium, <7.0→low, missing→medium |
|
|
358
|
+
| Derived from package | `blast_radius` | Core dependency→widespread, dev dependency→localized, transitive→moderate |
|
|
359
|
+
| Derived from CVE type | `domain_relevance` | Most CVEs→["04"], data/crypto CVEs→["04","05"] |
|
|
360
|
+
| `FixedVersion` presence | Signal enrichment | Available→actionable, null→informational flag |
|
|
361
|
+
|
|
362
|
+
### Normalization Rules
|
|
363
|
+
|
|
364
|
+
**Severity Mapping**:
|
|
365
|
+
- CRITICAL → `severity: "critical"`
|
|
366
|
+
- HIGH → `severity: "high"`
|
|
367
|
+
- MEDIUM → `severity: "medium"`
|
|
368
|
+
- LOW → `severity: "low"`
|
|
369
|
+
- UNKNOWN → `severity: "informational"` (requires manual triage)
|
|
370
|
+
|
|
371
|
+
**Confidence Estimation**:
|
|
372
|
+
- CVSS ≥9.0 → `confidence_estimate: "high"`
|
|
373
|
+
- CVSS ≥7.0 → `confidence_estimate: "medium"`
|
|
374
|
+
- CVSS <7.0 → `confidence_estimate: "low"`
|
|
375
|
+
- CVSS missing → `confidence_estimate: "medium"` (default for known CVEs)
|
|
376
|
+
|
|
377
|
+
**Blast Radius Derivation**:
|
|
378
|
+
- Core/production dependency → `blast_radius: "widespread"`
|
|
379
|
+
- Dev/test dependency → `blast_radius: "localized"`
|
|
380
|
+
- Transitive dependency → `blast_radius: "moderate"`
|
|
381
|
+
- Determine via dependency tree analysis (production vs devDependencies)
|
|
382
|
+
|
|
383
|
+
**Domain Relevance Assignment**:
|
|
384
|
+
- Default → `domain_relevance: ["04"]` (Security domain)
|
|
385
|
+
- Data handling CVEs (CWE-200, CWE-502) → `domain_relevance: ["04", "05"]`
|
|
386
|
+
- Encryption/auth CVEs (CWE-295, CWE-327) → `domain_relevance: ["04", "05"]`
|
|
387
|
+
- Compliance-relevant CVEs → `domain_relevance: ["04", "05"]` (Compliance domain)
|
|
388
|
+
|
|
389
|
+
**Deduplication Strategy**:
|
|
390
|
+
- Same CVE in multiple lock files → Single signal with aggregated locations
|
|
391
|
+
- Key: `{VulnerabilityID}:{PkgName}:{InstalledVersion}`
|
|
392
|
+
- Merge `file_path` entries: `["package-lock.json:express", "npm-shrinkwrap.json:express"]`
|
|
393
|
+
|
|
394
|
+
**Special Cases**:
|
|
395
|
+
- UNKNOWN severity → Flag for manual triage, do NOT auto-dismiss
|
|
396
|
+
- Missing FixedVersion → Mark as "unfixed", lower priority but track for future remediation
|
|
397
|
+
- Zero CVSS score → Use vendor severity as fallback
|
|
398
|
+
|
|
399
|
+
## Limitations
|
|
400
|
+
|
|
401
|
+
### Cannot Detect
|
|
402
|
+
|
|
403
|
+
1. **Custom/Proprietary Vulnerabilities**: Only identifies vulnerabilities present in public databases (NVD, GitHub Advisory, vendor advisories). Organization-specific or proprietary vulnerabilities not disclosed publicly will not be detected.
|
|
404
|
+
|
|
405
|
+
2. **Business Logic Vulnerabilities**: Cannot identify application-specific logic flaws, authentication bypasses, or authorization issues that depend on code implementation rather than dependency versions.
|
|
406
|
+
|
|
407
|
+
3. **Zero-Day Exploits**: Undisclosed vulnerabilities without assigned CVE identifiers are invisible to Trivy until they are publicly reported and added to vulnerability databases.
|
|
408
|
+
|
|
409
|
+
4. **Vendored/Copied Code**: Dependencies copied directly into the codebase (not managed by package managers) are not scanned. Trivy relies on package manifests and lock files to identify components.
|
|
410
|
+
|
|
411
|
+
5. **Runtime Configuration Vulnerabilities**: Environment-dependent misconfigurations, insecure defaults, or vulnerabilities that only manifest with specific runtime parameters are outside Trivy's detection scope.
|
|
412
|
+
|
|
413
|
+
6. **Source Code Vulnerabilities**: Does not perform static code analysis to identify vulnerabilities in custom application code (SQL injection, XSS, etc.). Trivy focuses on known vulnerabilities in third-party components.
|
|
414
|
+
|
|
415
|
+
### False Positives
|
|
416
|
+
|
|
417
|
+
1. **Vendored Dependencies with Backported Patches**: OS packages and system libraries often backport security patches to older versions without changing version numbers. Trivy may flag these as vulnerable when they are actually patched.
|
|
418
|
+
|
|
419
|
+
2. **Unused Dependencies**: Dependencies listed in manifests but not actually imported or executed in the application are flagged at the same severity level as actively used components, leading to over-reporting.
|
|
420
|
+
|
|
421
|
+
3. **Platform-Specific CVEs**: Vulnerabilities that only affect specific operating systems, architectures, or runtime configurations may be reported even when the codebase runs on unaffected platforms.
|
|
422
|
+
|
|
423
|
+
4. **Test-Only Dependencies**: Development and test dependencies are flagged at production-level severity even though they never execute in production environments, inflating risk assessments.
|
|
424
|
+
|
|
425
|
+
5. **Configuration-Dependent Vulnerabilities**: CVEs that require specific configuration flags or usage patterns to be exploitable are reported regardless of whether the vulnerable code path is reachable.
|
|
426
|
+
|
|
427
|
+
### False Negatives
|
|
428
|
+
|
|
429
|
+
1. **Transitive Dependencies Not in Lock Files**: Indirect dependencies not captured in lock files (due to incomplete dependency resolution or manual installations) remain undetected.
|
|
430
|
+
|
|
431
|
+
2. **Script-Installed Dependencies**: Packages installed via shell scripts, manual downloads, or custom build processes bypass package manager tracking and are not scanned.
|
|
432
|
+
|
|
433
|
+
3. **Custom Forks of Open Source Packages**: Modified versions of open source libraries maintained internally may contain unpatched vulnerabilities that differ from the upstream vulnerability status.
|
|
434
|
+
|
|
435
|
+
4. **Recently Disclosed CVEs**: Vulnerability database updates occur daily, but there is a lag between public disclosure and database inclusion. Very recent CVEs may be missed until the next database sync.
|
|
436
|
+
|
|
437
|
+
5. **Compiled Binaries and Embedded Code**: Pre-compiled binaries, embedded third-party SDKs, and closed-source components cannot be analyzed for vulnerabilities without manifest metadata.
|
|
438
|
+
|
|
439
|
+
6. **Vulnerabilities in Build Tools**: Security issues in build-time dependencies (compilers, bundlers, CI/CD tools) that don't appear in production manifests are not detected during codebase scanning.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: change-risk-modeler
|
|
3
|
+
name: Change Risk Modeler
|
|
4
|
+
persona: change-risk-modeler
|
|
5
|
+
domains: ["11"]
|
|
6
|
+
tools: [git-history]
|
|
7
|
+
schemas:
|
|
8
|
+
output: [change-risk, intervention-level]
|
|
9
|
+
confidence: confidence
|
|
10
|
+
signal_input: finding
|
|
11
|
+
layer_a_input: [finding, disagreement]
|
|
12
|
+
rules: [safety-governance, change-risk-rules]
|
|
13
|
+
active_phases: [7]
|
|
14
|
+
parallel_eligible: false
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Assembly Notes
|
|
18
|
+
|
|
19
|
+
Scores every proposed change from Phase 6 playbooks across 4 risk dimensions: blast radius, coupling coefficient, regression probability, and architectural tension. Domain 11 (Change Risk) is the primary knowledge base; git-history signals provide change frequency and coupling data for evidence-based scoring. Flags any change where a risk dimension exceeds "high" threshold for intervention level downgrade via the transform-safety workflow. Sequential with Guardrail Generator in Phase 7: this agent scores risk, Guardrail Generator produces constraints.
|
|
20
|
+
|
|
21
|
+
## Session Context
|
|
22
|
+
|
|
23
|
+
- **Phase 7 input:** Phase 6 playbooks (remediation/playbooks/), .radar/signals/git-history.md, codebase structure map, test coverage signals, change-risk domain module
|
|
24
|
+
- **Phase 7 output:** execution/risk-scores.yaml (dimensional risk profiles per change), risk assessment report
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: execution-validator
|
|
3
|
+
name: Execution Validator
|
|
4
|
+
persona: execution-validator
|
|
5
|
+
domains: []
|
|
6
|
+
tools: []
|
|
7
|
+
schemas:
|
|
8
|
+
output: [verification-plan, intervention-level]
|
|
9
|
+
confidence: confidence
|
|
10
|
+
signal_input: finding
|
|
11
|
+
layer_a_input: [finding, disagreement]
|
|
12
|
+
rules: [safety-governance, change-risk-rules]
|
|
13
|
+
active_phases: [8]
|
|
14
|
+
parallel_eligible: false
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Assembly Notes
|
|
18
|
+
|
|
19
|
+
Defines verification steps for every proposed change in the risk-scored plan, builds a dependency graph for change sequencing, and generates Drive-compatible project artifacts (PROJECT.md, ROADMAP.md, phased plans). Embeds risk metadata and intervention levels directly in Drive task definitions so remediation execution inherits the safety constraints established by prior Transform phases. Transform NEVER executes changes — this agent produces a verified execution plan only.
|
|
20
|
+
|
|
21
|
+
## Session Context
|
|
22
|
+
|
|
23
|
+
- **Phase 8 input:** Risk-scored change plan (execution/risk-scores.yaml), Phase 6 playbooks with educational enrichment (remediation/playbooks/), guardrails (remediation/guardrails/), test infrastructure inventory, deployment configuration
|
|
24
|
+
- **Phase 8 output:** execution/change-graph.yaml, execution/verification-plan.md, execution/drive-project/ (PROJECT.md, ROADMAP.md, phased PLAN.md files)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: guardrail-generator
|
|
3
|
+
name: Guardrail Generator
|
|
4
|
+
persona: guardrail-generator
|
|
5
|
+
domains: []
|
|
6
|
+
tools: [semgrep]
|
|
7
|
+
schemas:
|
|
8
|
+
output: [playbook]
|
|
9
|
+
confidence: confidence
|
|
10
|
+
signal_input: finding
|
|
11
|
+
layer_a_input: [finding]
|
|
12
|
+
rules: [safety-governance, change-risk-rules]
|
|
13
|
+
active_phases: [7]
|
|
14
|
+
parallel_eligible: false
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Assembly Notes
|
|
18
|
+
|
|
19
|
+
Translates audit findings and remediation patterns into machine-enforceable constraints: CLAUDE.md rules, .cursorrules, custom linter configurations, pre-commit hooks, and custom Semgrep rules. Semgrep tool reference provides rule format awareness for generating syntactically valid custom rules. Guardrail output is a playbook subtype — each constraint includes the failure mode it prevents, enforcement mechanism, and invalidation conditions. Highest-leverage Transform output: structural prevention over repeated detection. Sequential after Change Risk Modeler in Phase 7.
|
|
20
|
+
|
|
21
|
+
## Session Context
|
|
22
|
+
|
|
23
|
+
- **Phase 7 input:** Phase 6 playbooks (remediation/playbooks/), Change Risk Modeler's risk scores (execution/risk-scores.yaml), audit findings (.radar/findings/), Semgrep tool adapter for rule format reference
|
|
24
|
+
- **Phase 7 output:** remediation/guardrails/ (constraint files organized by enforcement mechanism)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: pedagogy-agent
|
|
3
|
+
name: Pedagogy Agent
|
|
4
|
+
persona: pedagogy-agent
|
|
5
|
+
domains: []
|
|
6
|
+
tools: []
|
|
7
|
+
schemas:
|
|
8
|
+
output: [playbook]
|
|
9
|
+
confidence: confidence
|
|
10
|
+
signal_input: finding
|
|
11
|
+
layer_a_input: [finding]
|
|
12
|
+
rules: [safety-governance]
|
|
13
|
+
active_phases: [6]
|
|
14
|
+
parallel_eligible: false
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Assembly Notes
|
|
18
|
+
|
|
19
|
+
Enriches existing playbooks produced by the Remediation Architect — does not create new playbooks. Adds educational context at all 4 transformation layers: before/after examples, "why this matters" explanations, best-practice rationale, and pattern-level teaching that enables developers to recognize analogous situations independently. No domain modules or tools needed — operates entirely on playbook content and the findings they reference. Sequential after Remediation Architect in Phase 6.
|
|
20
|
+
|
|
21
|
+
## Session Context
|
|
22
|
+
|
|
23
|
+
- **Phase 6 input:** Remediation Architect's playbook output (remediation/playbooks/), original findings referenced by each playbook (.radar/findings/)
|
|
24
|
+
- **Phase 6 output:** Enriched playbooks in remediation/playbooks/ (same files, augmented with educational sections)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: remediation-architect
|
|
3
|
+
name: Remediation Architect
|
|
4
|
+
persona: remediation-architect
|
|
5
|
+
domains: ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13"]
|
|
6
|
+
tools: []
|
|
7
|
+
schemas:
|
|
8
|
+
output: [playbook, intervention-level]
|
|
9
|
+
confidence: confidence
|
|
10
|
+
signal_input: finding
|
|
11
|
+
layer_a_input: [finding, disagreement]
|
|
12
|
+
rules: [safety-governance, change-risk-rules]
|
|
13
|
+
active_phases: [6]
|
|
14
|
+
parallel_eligible: false
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Assembly Notes
|
|
18
|
+
|
|
19
|
+
Consumes the complete Layer A record — all findings, disagreements, and resolutions from the Core audit. Groups findings by root cause across domain boundaries, then produces remediation playbooks at all 4 transformation layers (abstract principle → framework pattern → language idiom → project-specific change). Each playbook is classified by intervention level. Operates on findings, not raw signals — no tool access needed. Sequential with Pedagogy Agent in Phase 6: this agent produces playbooks, Pedagogy Agent enriches them.
|
|
20
|
+
|
|
21
|
+
## Session Context
|
|
22
|
+
|
|
23
|
+
- **Phase 6 input:** Complete .radar/ Layer A record (all findings from .radar/findings/, all disagreements from .radar/disagreements/, resolution records, confidence scores), Phase 5 report (.radar/reports/), audit scope (.radar/scope.md)
|
|
24
|
+
- **Phase 6 output:** remediation/playbooks/ (one per root cause group), remediation/patterns/ (cross-cutting pattern analysis), remediation/REMEDIATION-SUMMARY.md
|