{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-5+qual-2+sec-2","generated_at":"2026-11-14T14:52:06.385113Z","repo":{"ref":{"host":"github.com","owner":"mkumar5","name":"jira-roadmap-tracker"},"default_branch":"main","clone_url":"https://github.com/mkumar5/jira-roadmap-tracker.git","html_url":"https://github.com/mkumar5/jira-roadmap-tracker","description":null,"stars":0,"forks":0,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":308,"primary_language":"TypeScript","license_spdx":null,"created_at":"2026-03-18T21:14:29Z","pushed_at":"2026-03-19T14:59:25Z","security_policy_url":null,"distribution":{"owner_created_at":"2016-01-06T04:04:51Z","owner_type":"User","release_assets":[]}},"commit_sha":"b9247a2385f674510c2901d0e58aeb9ce7c11138","profile":{"lines_by_language":{"TypeScript":7180,"Java":1708,"JavaScript":46},"files_by_category":{"source":62,"docs":35,"test":18,"config":9,"other":7,"generated":1},"source_lines":7074,"test_lines":1860},"pillars":{"ai_provenance":{"score":0.0,"confidence":0.45,"coverage":1.0,"label":"possible","breakdown":{"attributed_share":0.0,"suspected_share":0.9157,"estimated_share":0.0,"ai_artifacts":11.0,"flagged_work_units":3.0,"flagged_releases":null,"style_index":2.262},"summary":"Weak signals consistent with AI-assisted development. Comments and strings use phrasing typical of LLM-written code (see the coding style evidence)."},"quality":{"score":76.2,"confidence":0.9,"coverage":1.0,"label":"adequate","breakdown":{"complexity":64.9,"duplication":80.3,"lint":83.8,"testing":88.1,"docs":40.0,"type_safety":100.0,"process":null},"summary":"Code quality is adequate: test-to-source ratio 0.26, CI runs tests; 14% of function code in complex or long functions; 4% duplicated lines. Weakest area: docs."},"security":{"score":57.8,"confidence":0.85,"coverage":1.0,"label":"weak","breakdown":{"secrets":100.0,"sast":99.7,"dependencies":3.9,"ci_actions":42.3,"posture":0.0,"scorecard":null},"summary":"Security posture is weak: 116 known vulnerabilities in 31 dependencies; 4 high-severity workflow issues. Weakest area: posture."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no published OpenSSF Scorecard result for this repo"},{"analyzer":"sec-registry","pillar":"security","status":"ok","tool_version":null,"metrics":{"declared":38.0,"checked":38.0,"missing":0.0,"recent":0.0,"lookup_errors":0.0},"findings":[],"evidence":[],"data":{"phantom":false},"error":null},{"analyzer":"ai-attribution","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"commits":21.0,"attributed_commits":0.0,"attributed_commit_share":0.0,"effective_loc":9955.0,"attributed_loc":0.0,"attributed_loc_share":0.0,"tools_detected":0.0},"findings":[],"evidence":[],"data":{"attributed_loc_by_commit":{},"tools":{},"monthly":{"2026-03":{"loc":9955,"attributed_loc":0}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":11.0,"workflow_agents":0.0,"tools_configured":1.0,"earliest_adoption":1773869505.0},"findings":[],"evidence":[{"kind":"ai-artifact","description":".claude/agents/architect.md (claude-code configuration)","ref":".claude/agents/architect.md","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/.claude/agents/architect.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/jira-integrator.md (claude-code configuration)","ref":".claude/agents/jira-integrator.md","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/.claude/agents/jira-integrator.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/reporter.md (claude-code configuration)","ref":".claude/agents/reporter.md","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/.claude/agents/reporter.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/tester.md (claude-code configuration)","ref":".claude/agents/tester.md","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/.claude/agents/tester.md","weight":0.5},{"kind":"ai-artifact","description":".claude/agents/ui-developer.md (claude-code configuration)","ref":".claude/agents/ui-developer.md","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/.claude/agents/ui-developer.md","weight":0.5},{"kind":"ai-artifact","description":".claude/commands/build-all.md (claude-code configuration)","ref":".claude/commands/build-all.md","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/.claude/commands/build-all.md","weight":0.5},{"kind":"ai-artifact","description":".claude/commands/slippage-check.md (claude-code configuration)","ref":".claude/commands/slippage-check.md","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/.claude/commands/slippage-check.md","weight":0.5},{"kind":"ai-artifact","description":".claude/commands/sprint-report.md (claude-code configuration)","ref":".claude/commands/sprint-report.md","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/.claude/commands/sprint-report.md","weight":0.5},{"kind":"ai-artifact","description":".claude/commands/sync-jira.md (claude-code configuration)","ref":".claude/commands/sync-jira.md","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/.claude/commands/sync-jira.md","weight":0.5},{"kind":"ai-artifact","description":".claude/settings.local.json.example (claude-code configuration)","ref":".claude/settings.local.json.example","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/.claude/settings.local.json.example","weight":0.5},{"kind":"ai-artifact","description":"CLAUDE.md (claude-code configuration)","ref":"CLAUDE.md","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/CLAUDE.md","weight":0.5}],"data":{"artifacts":[{"tool":"claude-code","path":".claude/agents/architect.md","added_at":1773869505},{"tool":"claude-code","path":".claude/agents/jira-integrator.md","added_at":1773869505},{"tool":"claude-code","path":".claude/agents/reporter.md","added_at":1773869505},{"tool":"claude-code","path":".claude/agents/tester.md","added_at":1773869505},{"tool":"claude-code","path":".claude/agents/ui-developer.md","added_at":1773869505},{"tool":"claude-code","path":".claude/commands/build-all.md","added_at":1773869505},{"tool":"claude-code","path":".claude/commands/slippage-check.md","added_at":1773869505},{"tool":"claude-code","path":".claude/commands/sprint-report.md","added_at":1773869505},{"tool":"claude-code","path":".claude/commands/sync-jira.md","added_at":1773869505},{"tool":"claude-code","path":".claude/settings.local.json.example","added_at":1773925849},{"tool":"claude-code","path":"CLAUDE.md","added_at":1773869505}],"workflows":[],"tools":["claude-code"]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":4.0,"flagged_units":3.0,"pre_ai_era_bursts":0.0,"pre_ai_era_measured_loc":0.0,"pre_ai_era_burst_loc":0.0,"measured_loc":9955.0,"flagged_loc":9116.0,"flagged_loc_share":0.9157207433450527,"max_loc_per_hour":1189.5531050493325,"median_loc_per_hour":807.8978894254245,"pr_timed_units":0.0,"excluded_import_loc":0.0},"findings":[],"evidence":[{"kind":"velocity-burst","description":"1,708 lines of first-party code in ~1.4h (1,190 lines/hour, 1 commit session)","ref":"b9247a2385f674510c2901d0e58aeb9ce7c11138","url":"https://github.com/mkumar5/jira-roadmap-tracker/commit/b9247a2385f674510c2901d0e58aeb9ce7c11138","weight":0.3568659315147998},{"kind":"velocity-burst","description":"4,320 lines of first-party code in ~5.1h (844 lines/hour, 8 commit session)","ref":"f9f7bb9dd450a9c01a448e21c42f44a04b59c172","url":"https://github.com/mkumar5/jira-roadmap-tracker/commit/f9f7bb9dd450a9c01a448e21c42f44a04b59c172","weight":0.2531387336552547},{"kind":"velocity-burst","description":"3,088 lines of first-party code in ~4.0h (772 lines/hour, 1 commit session)","ref":"922efccbbd0a048f9d9f09b717a1f35cddedaa6a","url":"https://github.com/mkumar5/jira-roadmap-tracker/commit/922efccbbd0a048f9d9f09b717a1f35cddedaa6a","weight":0.2316}],"data":{"flagged_loc_by_commit":{"03913170e801f80ab10c25ee88be4662f81a5071":47,"01459d41311e1d81fa33d5be7fe53b87bebbd3ef":1725,"9f83b40b48854153fbbe95e88e6aabe6b7b9f5c6":90,"41ca10cb30710a40740d69cff42ff0f72c7a4a0a":384,"68c066c457cd6d9ad6153fe673b4d01d5341307b":201,"f44b1098bdaf5822f05aef3512e65a8a3d7c6747":531,"1fa17a74375ad4bee455e1c8cf93b5c42ebe15e0":571,"f9f7bb9dd450a9c01a448e21c42f44a04b59c172":771,"922efccbbd0a048f9d9f09b717a1f35cddedaa6a":3088,"b9247a2385f674510c2901d0e58aeb9ce7c11138":1708},"excluded_import_commits":[]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":7074.0,"index":2.262,"count:narrated_steps":4.0,"per_kloc:narrated_steps":0.565,"files:narrated_steps":1.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":24.0,"per_kloc:emoji_in_code":3.393,"files:emoji_in_code":6.0,"count:assistant_voice":0.0,"per_kloc:assistant_voice":0.0,"files:assistant_voice":0.0},"findings":[],"evidence":[{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 1: Validate quantity (throws on invalid; routes to DLQ by caller)","ref":"docs/spec-driven/brownfield/04-implementation/CatEnrichmentPipeline.java:60","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/docs/spec-driven/brownfield/04-implementation/CatEnrichmentPipeline.java#L60","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 2: Compute fees","ref":"docs/spec-driven/brownfield/04-implementation/CatEnrichmentPipeline.java:63","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/docs/spec-driven/brownfield/04-implementation/CatEnrichmentPipeline.java#L63","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 3: Update position book","ref":"docs/spec-driven/brownfield/04-implementation/CatEnrichmentPipeline.java:66","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/docs/spec-driven/brownfield/04-implementation/CatEnrichmentPipeline.java#L66","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 4: Format for FINRA CAT submission","ref":"docs/spec-driven/brownfield/04-implementation/CatEnrichmentPipeline.java:69","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/docs/spec-driven/brownfield/04-implementation/CatEnrichmentPipeline.java#L69","weight":0.0}],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":0.0,"secrets_history":0.0,"secrets_nonprod":0.0,"secrets_low_confidence":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":1.0,"findings_high":0.0,"findings_medium":0.0,"findings_low":1.0,"weighted_findings":0.062,"scanned_lines":7074.0,"parse_errors":0.0},"findings":[{"rule_id":"opengrep/javascript.lang.security.audit.unsafe-formatstring","severity":"low","message":"Detected string concatenation with a non-literal variable in a util.format / console.log function. If an attacker injects a format specifier in the string, it will forge the log message. Try to use constant values for the format string. [confidence low]","path":"src/services/jira.client.ts","line":73,"fingerprint":"javascript.lang.security.audit.unsafe-formatstring:src/services/jira.client.ts:73"}],"evidence":[],"data":{"rulesets":["typescript","javascript","java"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"ok","tool_version":"osv-scanner version: 2.7.1","metrics":{"vulnerable_packages":31.0,"vulnerabilities":116.0,"vulns_critical":3.0,"vulns_high":47.0,"vulns_medium":62.0,"vulns_low":4.0,"vulns_unknown":0.0,"penalty":195.0},"findings":[{"rule_id":"osv/GHSA-5gmw-xhrv-c9v3","severity":"critical","message":"tinypool@1.1.1 (npm) is affected by GHSA-5gmw-xhrv-c9v3","path":"package-lock.json","line":null,"fingerprint":"tinypool@1.1.1 (npm):GHSA-5gmw-xhrv-c9v3"},{"rule_id":"osv/GHSA-85c8-ppgw-ccpr","severity":"critical","message":"tinypool@1.1.1 (npm) is affected by GHSA-85c8-ppgw-ccpr","path":"package-lock.json","line":null,"fingerprint":"tinypool@1.1.1 (npm):GHSA-85c8-ppgw-ccpr"},{"rule_id":"osv/GHSA-5xrq-8626-4rwp","severity":"critical","message":"vitest@2.1.9 (npm) is affected by GHSA-5xrq-8626-4rwp","path":"package-lock.json","line":null,"fingerprint":"vitest@2.1.9 (npm):GHSA-5xrq-8626-4rwp"},{"rule_id":"osv/GHSA-35jp-ww65-95wh","severity":"high","message":"axios@1.13.6 (npm) is affected by GHSA-35jp-ww65-95wh","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-35jp-ww65-95wh"},{"rule_id":"osv/GHSA-3g43-6gmg-66jw","severity":"high","message":"axios@1.13.6 (npm) is affected by GHSA-3g43-6gmg-66jw","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-3g43-6gmg-66jw"},{"rule_id":"osv/GHSA-3pq3-5fj3-cg6v","severity":"high","message":"axios@1.13.6 (npm) is affected by GHSA-3pq3-5fj3-cg6v","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-3pq3-5fj3-cg6v"},{"rule_id":"osv/GHSA-542g-h47m-68v8","severity":"high","message":"axios@1.13.6 (npm) is affected by GHSA-542g-h47m-68v8","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-542g-h47m-68v8"},{"rule_id":"osv/GHSA-62hf-57xw-28j9","severity":"high","message":"axios@1.13.6 (npm) is affected by GHSA-62hf-57xw-28j9","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-62hf-57xw-28j9"},{"rule_id":"osv/GHSA-6chq-wfr3-2hj9","severity":"high","message":"axios@1.13.6 (npm) is affected by GHSA-6chq-wfr3-2hj9","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-6chq-wfr3-2hj9"},{"rule_id":"osv/GHSA-777c-7fjr-54vf","severity":"high","message":"axios@1.13.6 (npm) is affected by GHSA-777c-7fjr-54vf","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-777c-7fjr-54vf"},{"rule_id":"osv/GHSA-hfxv-24rg-xrqf","severity":"high","message":"axios@1.13.6 (npm) is affected by GHSA-hfxv-24rg-xrqf","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-hfxv-24rg-xrqf"},{"rule_id":"osv/GHSA-j5f8-grm9-p9fc","severity":"high","message":"axios@1.13.6 (npm) is affected by GHSA-j5f8-grm9-p9fc","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-j5f8-grm9-p9fc"},{"rule_id":"osv/GHSA-p92q-9vqr-4j8v","severity":"high","message":"axios@1.13.6 (npm) is affected by GHSA-p92q-9vqr-4j8v","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-p92q-9vqr-4j8v"},{"rule_id":"osv/GHSA-pf86-5x62-jrwf","severity":"high","message":"axios@1.13.6 (npm) is affected by GHSA-pf86-5x62-jrwf","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-pf86-5x62-jrwf"},{"rule_id":"osv/GHSA-pmwg-cvhr-8vh7","severity":"high","message":"axios@1.13.6 (npm) is affected by GHSA-pmwg-cvhr-8vh7","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-pmwg-cvhr-8vh7"},{"rule_id":"osv/GHSA-q8qp-cvcw-x6jj","severity":"high","message":"axios@1.13.6 (npm) is affected by GHSA-q8qp-cvcw-x6jj","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-q8qp-cvcw-x6jj"},{"rule_id":"osv/GHSA-3jxr-9vmj-r5cp","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-3jxr-9vmj-r5cp","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-3jxr-9vmj-r5cp"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-6j4f-fj2g-mc7p","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-mh99-v99m-4gvg","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-mh99-v99m-4gvg","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-mh99-v99m-4gvg"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-qhr7-859c-m2p7","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-rgw5-rvv9-x895","severity":"high","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-rgw5-rvv9-x895","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-rgw5-rvv9-x895"},{"rule_id":"osv/GHSA-3jxr-9vmj-r5cp","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-3jxr-9vmj-r5cp","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-3jxr-9vmj-r5cp"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-6j4f-fj2g-mc7p","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-mh99-v99m-4gvg","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-mh99-v99m-4gvg","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-mh99-v99m-4gvg"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-qhr7-859c-m2p7","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-rgw5-rvv9-x895","severity":"high","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-rgw5-rvv9-x895","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-rgw5-rvv9-x895"},{"rule_id":"osv/GHSA-3jxr-9vmj-r5cp","severity":"high","message":"brace-expansion@5.0.4 (npm) is affected by GHSA-3jxr-9vmj-r5cp","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.4 (npm):GHSA-3jxr-9vmj-r5cp"},{"rule_id":"osv/GHSA-6j4f-fj2g-mc7p","severity":"high","message":"brace-expansion@5.0.4 (npm) is affected by GHSA-6j4f-fj2g-mc7p","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.4 (npm):GHSA-6j4f-fj2g-mc7p"},{"rule_id":"osv/GHSA-mh99-v99m-4gvg","severity":"high","message":"brace-expansion@5.0.4 (npm) is affected by GHSA-mh99-v99m-4gvg","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.4 (npm):GHSA-mh99-v99m-4gvg"},{"rule_id":"osv/GHSA-qhr7-859c-m2p7","severity":"high","message":"brace-expansion@5.0.4 (npm) is affected by GHSA-qhr7-859c-m2p7","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.4 (npm):GHSA-qhr7-859c-m2p7"},{"rule_id":"osv/GHSA-rgw5-rvv9-x895","severity":"high","message":"brace-expansion@5.0.4 (npm) is affected by GHSA-rgw5-rvv9-x895","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.4 (npm):GHSA-rgw5-rvv9-x895"},{"rule_id":"osv/GHSA-73wf-gq98-2v4g","severity":"high","message":"browserslist@4.28.1 (npm) is affected by GHSA-73wf-gq98-2v4g","path":"package-lock.json","line":null,"fingerprint":"browserslist@4.28.1 (npm):GHSA-73wf-gq98-2v4g"},{"rule_id":"osv/GHSA-c83g-rgw3-j3cx","severity":"high","message":"browserslist@4.28.1 (npm) is affected by GHSA-c83g-rgw3-j3cx","path":"package-lock.json","line":null,"fingerprint":"browserslist@4.28.1 (npm):GHSA-c83g-rgw3-j3cx"},{"rule_id":"osv/GHSA-hmw2-7cc7-3qxx","severity":"high","message":"form-data@4.0.5 (npm) is affected by GHSA-hmw2-7cc7-3qxx","path":"package-lock.json","line":null,"fingerprint":"form-data@4.0.5 (npm):GHSA-hmw2-7cc7-3qxx"},{"rule_id":"osv/GHSA-2883-xcg3-v3hh","severity":"high","message":"js-yaml@4.1.1 (npm) is affected by GHSA-2883-xcg3-v3hh","path":"package-lock.json","line":null,"fingerprint":"js-yaml@4.1.1 (npm):GHSA-2883-xcg3-v3hh"},{"rule_id":"osv/GHSA-52cp-r559-cp3m","severity":"high","message":"js-yaml@4.1.1 (npm) is affected by GHSA-52cp-r559-cp3m","path":"package-lock.json","line":null,"fingerprint":"js-yaml@4.1.1 (npm):GHSA-52cp-r559-cp3m"},{"rule_id":"osv/GHSA-5p4m-2wfm-xmqj","severity":"high","message":"js-yaml@4.1.1 (npm) is affected by GHSA-5p4m-2wfm-xmqj","path":"package-lock.json","line":null,"fingerprint":"js-yaml@4.1.1 (npm):GHSA-5p4m-2wfm-xmqj"},{"rule_id":"osv/GHSA-r5fr-rjxr-66jc","severity":"high","message":"lodash@4.17.23 (npm) is affected by GHSA-r5fr-rjxr-66jc","path":"package-lock.json","line":null,"fingerprint":"lodash@4.17.23 (npm):GHSA-r5fr-rjxr-66jc"},{"rule_id":"osv/GHSA-r5fr-rjxr-66jc","severity":"high","message":"lodash-es@4.17.23 (npm) is affected by GHSA-r5fr-rjxr-66jc","path":"package-lock.json","line":null,"fingerprint":"lodash-es@4.17.23 (npm):GHSA-r5fr-rjxr-66jc"},{"rule_id":"osv/GHSA-28wg-ghj8-5hjv","severity":"high","message":"nanoid@3.3.11 (npm) is affected by GHSA-28wg-ghj8-5hjv","path":"package-lock.json","line":null,"fingerprint":"nanoid@3.3.11 (npm):GHSA-28wg-ghj8-5hjv"},{"rule_id":"osv/GHSA-2v37-7h3g-55p8","severity":"high","message":"nanoid@3.3.11 (npm) is affected by GHSA-2v37-7h3g-55p8","path":"package-lock.json","line":null,"fingerprint":"nanoid@3.3.11 (npm):GHSA-2v37-7h3g-55p8"},{"rule_id":"osv/GHSA-xwg4-73v4-xw9w","severity":"high","message":"nanoid@3.3.11 (npm) is affected by GHSA-xwg4-73v4-xw9w","path":"package-lock.json","line":null,"fingerprint":"nanoid@3.3.11 (npm):GHSA-xwg4-73v4-xw9w"},{"rule_id":"osv/GHSA-c2c7-rcm5-vvqj","severity":"high","message":"picomatch@4.0.3 (npm) is affected by GHSA-c2c7-rcm5-vvqj","path":"package-lock.json","line":null,"fingerprint":"picomatch@4.0.3 (npm):GHSA-c2c7-rcm5-vvqj"},{"rule_id":"osv/GHSA-6g55-p6wh-862q","severity":"high","message":"postcss@8.5.8 (npm) is affected by GHSA-6g55-p6wh-862q","path":"package-lock.json","line":null,"fingerprint":"postcss@8.5.8 (npm):GHSA-6g55-p6wh-862q"},{"rule_id":"osv/GHSA-r28c-9q8g-f849","severity":"high","message":"postcss@8.5.8 (npm) is affected by GHSA-r28c-9q8g-f849","path":"package-lock.json","line":null,"fingerprint":"postcss@8.5.8 (npm):GHSA-r28c-9q8g-f849"},{"rule_id":"osv/GHSA-68fv-2mgg-jv7q","severity":"high","message":"source-map-js@1.2.1 (npm) is affected by GHSA-68fv-2mgg-jv7q","path":"package-lock.json","line":null,"fingerprint":"source-map-js@1.2.1 (npm):GHSA-68fv-2mgg-jv7q"},{"rule_id":"osv/GHSA-587h-7wmj-h5pm","severity":"high","message":"vite@5.4.21 (npm) is affected by GHSA-587h-7wmj-h5pm","path":"package-lock.json","line":null,"fingerprint":"vite@5.4.21 (npm):GHSA-587h-7wmj-h5pm"},{"rule_id":"osv/GHSA-587h-7wmj-h5pm","severity":"high","message":"vite@6.4.1 (npm) is affected by GHSA-587h-7wmj-h5pm","path":"package-lock.json","line":null,"fingerprint":"vite@6.4.1 (npm):GHSA-587h-7wmj-h5pm"},{"rule_id":"osv/GHSA-p9ff-h696-f583","severity":"high","message":"vite@6.4.1 (npm) is affected by GHSA-p9ff-h696-f583","path":"package-lock.json","line":null,"fingerprint":"vite@6.4.1 (npm):GHSA-p9ff-h696-f583"},{"rule_id":"osv/GHSA-96hv-2xvq-fx4p","severity":"high","message":"ws@8.19.0 (npm) is affected by GHSA-96hv-2xvq-fx4p","path":"package-lock.json","line":null,"fingerprint":"ws@8.19.0 (npm):GHSA-96hv-2xvq-fx4p"},{"rule_id":"osv/GHSA-p498-v437-472g","severity":"medium","message":"@humanfs/node@0.16.7 (npm) is affected by GHSA-p498-v437-472g","path":"package-lock.json","line":null,"fingerprint":"@humanfs/node@0.16.7 (npm):GHSA-p498-v437-472g"},{"rule_id":"osv/GHSA-2j2x-hqr9-3h42","severity":"medium","message":"@remix-run/router@1.23.2 (npm) is affected by GHSA-2j2x-hqr9-3h42","path":"package-lock.json","line":null,"fingerprint":"@remix-run/router@1.23.2 (npm):GHSA-2j2x-hqr9-3h42"},{"rule_id":"osv/GHSA-82fw-gwwq-j7x9","severity":"medium","message":"@vitest/mocker@2.1.9 (npm) is affected by GHSA-82fw-gwwq-j7x9","path":"package-lock.json","line":null,"fingerprint":"@vitest/mocker@2.1.9 (npm):GHSA-82fw-gwwq-j7x9"},{"rule_id":"osv/GHSA-qxg6-89mg-rqv8","severity":"medium","message":"@vitest/mocker@2.1.9 (npm) is affected by GHSA-qxg6-89mg-rqv8","path":"package-lock.json","line":null,"fingerprint":"@vitest/mocker@2.1.9 (npm):GHSA-qxg6-89mg-rqv8"},{"rule_id":"osv/GHSA-3p68-rc4w-qgx5","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-3p68-rc4w-qgx5","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-3p68-rc4w-qgx5"},{"rule_id":"osv/GHSA-3w6x-2g7m-8v23","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-3w6x-2g7m-8v23","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-3w6x-2g7m-8v23"},{"rule_id":"osv/GHSA-42h9-826w-cgv3","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-42h9-826w-cgv3","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-42h9-826w-cgv3"},{"rule_id":"osv/GHSA-445q-vr5w-6q77","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-445q-vr5w-6q77","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-445q-vr5w-6q77"},{"rule_id":"osv/GHSA-4hqw-qxg8-jxx2","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-4hqw-qxg8-jxx2","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-4hqw-qxg8-jxx2"},{"rule_id":"osv/GHSA-5c9x-8gcm-mpgx","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-5c9x-8gcm-mpgx","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-5c9x-8gcm-mpgx"},{"rule_id":"osv/GHSA-7q8q-rj6j-mhjq","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-7q8q-rj6j-mhjq","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-7q8q-rj6j-mhjq"},{"rule_id":"osv/GHSA-898c-q2cr-xwhg","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-898c-q2cr-xwhg","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-898c-q2cr-xwhg"},{"rule_id":"osv/GHSA-9fr6-4gfg-395g","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-9fr6-4gfg-395g","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-9fr6-4gfg-395g"},{"rule_id":"osv/GHSA-fvcv-3m26-pcqx","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-fvcv-3m26-pcqx","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-fvcv-3m26-pcqx"},{"rule_id":"osv/GHSA-j8rh-479h-cp32","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-j8rh-479h-cp32","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-j8rh-479h-cp32"},{"rule_id":"osv/GHSA-jqh4-m9w3-8hp9","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-jqh4-m9w3-8hp9","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-jqh4-m9w3-8hp9"},{"rule_id":"osv/GHSA-m7pr-hjqh-92cm","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-m7pr-hjqh-92cm","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-m7pr-hjqh-92cm"},{"rule_id":"osv/GHSA-mmx7-hfxf-jppx","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-mmx7-hfxf-jppx","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-mmx7-hfxf-jppx"},{"rule_id":"osv/GHSA-mwf2-3pr3-8698","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-mwf2-3pr3-8698","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-mwf2-3pr3-8698"},{"rule_id":"osv/GHSA-pmv8-rq9r-6j72","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-pmv8-rq9r-6j72","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-pmv8-rq9r-6j72"},{"rule_id":"osv/GHSA-vf2m-468p-8v99","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-vf2m-468p-8v99","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-vf2m-468p-8v99"},{"rule_id":"osv/GHSA-vh66-26gq-q6x8","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-vh66-26gq-q6x8","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-vh66-26gq-q6x8"},{"rule_id":"osv/GHSA-w9j2-pvgh-6h63","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-w9j2-pvgh-6h63","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-w9j2-pvgh-6h63"},{"rule_id":"osv/GHSA-xx6v-rp6x-q39c","severity":"medium","message":"axios@1.13.6 (npm) is affected by GHSA-xx6v-rp6x-q39c","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-xx6v-rp6x-q39c"},{"rule_id":"osv/GHSA-w5vr-8v7q-w6rv","severity":"medium","message":"baseline-browser-mapping@2.10.8 (npm) is affected by GHSA-w5vr-8v7q-w6rv","path":"package-lock.json","line":null,"fingerprint":"baseline-browser-mapping@2.10.8 (npm):GHSA-w5vr-8v7q-w6rv"},{"rule_id":"osv/GHSA-f886-m6hf-6m8v","severity":"medium","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-f886-m6hf-6m8v","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-f886-m6hf-6m8v"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@1.1.12 (npm) is affected by GHSA-q2hr-2g5m-vwhr","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@1.1.12 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-f886-m6hf-6m8v","severity":"medium","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-f886-m6hf-6m8v","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-f886-m6hf-6m8v"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@2.0.2 (npm) is affected by GHSA-q2hr-2g5m-vwhr","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@2.0.2 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-f886-m6hf-6m8v","severity":"medium","message":"brace-expansion@5.0.4 (npm) is affected by GHSA-f886-m6hf-6m8v","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.4 (npm):GHSA-f886-m6hf-6m8v"},{"rule_id":"osv/GHSA-jxxr-4gwj-5jf2","severity":"medium","message":"brace-expansion@5.0.4 (npm) is affected by GHSA-jxxr-4gwj-5jf2","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.4 (npm):GHSA-jxxr-4gwj-5jf2"},{"rule_id":"osv/GHSA-q2hr-2g5m-vwhr","severity":"medium","message":"brace-expansion@5.0.4 (npm) is affected by GHSA-q2hr-2g5m-vwhr","path":"package-lock.json","line":null,"fingerprint":"brace-expansion@5.0.4 (npm):GHSA-q2hr-2g5m-vwhr"},{"rule_id":"osv/GHSA-gcqx-w48m-w2h4","severity":"medium","message":"deepmerge@4.3.1 (npm) is affected by GHSA-gcqx-w48m-w2h4","path":"package-lock.json","line":null,"fingerprint":"deepmerge@4.3.1 (npm):GHSA-gcqx-w48m-w2h4"},{"rule_id":"osv/GHSA-67mh-4wv8-2f99","severity":"medium","message":"esbuild@0.21.5 (npm) is affected by GHSA-67mh-4wv8-2f99","path":"package-lock.json","line":null,"fingerprint":"esbuild@0.21.5 (npm):GHSA-67mh-4wv8-2f99"},{"rule_id":"osv/GHSA-r4q5-vmmm-2653","severity":"medium","message":"follow-redirects@1.15.11 (npm) is affected by GHSA-r4q5-vmmm-2653","path":"package-lock.json","line":null,"fingerprint":"follow-redirects@1.15.11 (npm):GHSA-r4q5-vmmm-2653"},{"rule_id":"osv/GHSA-3g3m-2fjr-6pw4","severity":"medium","message":"glob@10.5.0 (npm) is affected by GHSA-3g3m-2fjr-6pw4","path":"package-lock.json","line":null,"fingerprint":"glob@10.5.0 (npm):GHSA-3g3m-2fjr-6pw4"},{"rule_id":"osv/GHSA-h67p-54hq-rp68","severity":"medium","message":"js-yaml@4.1.1 (npm) is affected by GHSA-h67p-54hq-rp68","path":"package-lock.json","line":null,"fingerprint":"js-yaml@4.1.1 (npm):GHSA-h67p-54hq-rp68"},{"rule_id":"osv/GHSA-f23m-r3pf-42rh","severity":"medium","message":"lodash@4.17.23 (npm) is affected by GHSA-f23m-r3pf-42rh","path":"package-lock.json","line":null,"fingerprint":"lodash@4.17.23 (npm):GHSA-f23m-r3pf-42rh"},{"rule_id":"osv/GHSA-f23m-r3pf-42rh","severity":"medium","message":"lodash-es@4.17.23 (npm) is affected by GHSA-f23m-r3pf-42rh","path":"package-lock.json","line":null,"fingerprint":"lodash-es@4.17.23 (npm):GHSA-f23m-r3pf-42rh"},{"rule_id":"osv/GHSA-g3hv-75wg-m249","severity":"medium","message":"minimatch@10.2.4 (npm) is affected by GHSA-g3hv-75wg-m249","path":"package-lock.json","line":null,"fingerprint":"minimatch@10.2.4 (npm):GHSA-g3hv-75wg-m249"},{"rule_id":"osv/GHSA-g3hv-75wg-m249","severity":"medium","message":"minimatch@9.0.9 (npm) is affected by GHSA-g3hv-75wg-m249","path":"package-lock.json","line":null,"fingerprint":"minimatch@9.0.9 (npm):GHSA-g3hv-75wg-m249"},{"rule_id":"osv/GHSA-3v7f-55p6-f55p","severity":"medium","message":"picomatch@4.0.3 (npm) is affected by GHSA-3v7f-55p6-f55p","path":"package-lock.json","line":null,"fingerprint":"picomatch@4.0.3 (npm):GHSA-3v7f-55p6-f55p"},{"rule_id":"osv/GHSA-fxqj-rqcc-2cmp","severity":"medium","message":"postcss@8.5.8 (npm) is affected by GHSA-fxqj-rqcc-2cmp","path":"package-lock.json","line":null,"fingerprint":"postcss@8.5.8 (npm):GHSA-fxqj-rqcc-2cmp"},{"rule_id":"osv/GHSA-qx2v-qp2m-jg93","severity":"medium","message":"postcss@8.5.8 (npm) is affected by GHSA-qx2v-qp2m-jg93","path":"package-lock.json","line":null,"fingerprint":"postcss@8.5.8 (npm):GHSA-qx2v-qp2m-jg93"},{"rule_id":"osv/GHSA-2j2x-hqr9-3h42","severity":"medium","message":"react-router@6.30.3 (npm) is affected by GHSA-2j2x-hqr9-3h42","path":"package-lock.json","line":null,"fingerprint":"react-router@6.30.3 (npm):GHSA-2j2x-hqr9-3h42"},{"rule_id":"osv/GHSA-337j-9hxr-rhxg","severity":"medium","message":"react-router@6.30.3 (npm) is affected by GHSA-337j-9hxr-rhxg","path":"package-lock.json","line":null,"fingerprint":"react-router@6.30.3 (npm):GHSA-337j-9hxr-rhxg"},{"rule_id":"osv/GHSA-wrjc-x8rr-h8h6","severity":"medium","message":"react-router@6.30.3 (npm) is affected by GHSA-wrjc-x8rr-h8h6","path":"package-lock.json","line":null,"fingerprint":"react-router@6.30.3 (npm):GHSA-wrjc-x8rr-h8h6"},{"rule_id":"osv/GHSA-jjmj-jmhj-qwj2","severity":"medium","message":"react-router-dom@6.30.3 (npm) is affected by GHSA-jjmj-jmhj-qwj2","path":"package-lock.json","line":null,"fingerprint":"react-router-dom@6.30.3 (npm):GHSA-jjmj-jmhj-qwj2"},{"rule_id":"osv/GHSA-4w7w-66w2-5vf9","severity":"medium","message":"vite@5.4.21 (npm) is affected by GHSA-4w7w-66w2-5vf9","path":"package-lock.json","line":null,"fingerprint":"vite@5.4.21 (npm):GHSA-4w7w-66w2-5vf9"},{"rule_id":"osv/GHSA-698v-4r3x-3vcv","severity":"medium","message":"vite@5.4.21 (npm) is affected by GHSA-698v-4r3x-3vcv","path":"package-lock.json","line":null,"fingerprint":"vite@5.4.21 (npm):GHSA-698v-4r3x-3vcv"},{"rule_id":"osv/GHSA-fx2h-pf6j-xcff","severity":"medium","message":"vite@5.4.21 (npm) is affected by GHSA-fx2h-pf6j-xcff","path":"package-lock.json","line":null,"fingerprint":"vite@5.4.21 (npm):GHSA-fx2h-pf6j-xcff"},{"rule_id":"osv/GHSA-r825-w8mm-5pxw","severity":"medium","message":"vite@5.4.21 (npm) is affected by GHSA-r825-w8mm-5pxw","path":"package-lock.json","line":null,"fingerprint":"vite@5.4.21 (npm):GHSA-r825-w8mm-5pxw"},{"rule_id":"osv/GHSA-rq7h-c2jc-7f22","severity":"medium","message":"vite@5.4.21 (npm) is affected by GHSA-rq7h-c2jc-7f22","path":"package-lock.json","line":null,"fingerprint":"vite@5.4.21 (npm):GHSA-rq7h-c2jc-7f22"},{"rule_id":"osv/GHSA-v6wh-96g9-6wx3","severity":"medium","message":"vite@5.4.21 (npm) is affected by GHSA-v6wh-96g9-6wx3","path":"package-lock.json","line":null,"fingerprint":"vite@5.4.21 (npm):GHSA-v6wh-96g9-6wx3"},{"rule_id":"osv/GHSA-4w7w-66w2-5vf9","severity":"medium","message":"vite@6.4.1 (npm) is affected by GHSA-4w7w-66w2-5vf9","path":"package-lock.json","line":null,"fingerprint":"vite@6.4.1 (npm):GHSA-4w7w-66w2-5vf9"},{"rule_id":"osv/GHSA-698v-4r3x-3vcv","severity":"medium","message":"vite@6.4.1 (npm) is affected by GHSA-698v-4r3x-3vcv","path":"package-lock.json","line":null,"fingerprint":"vite@6.4.1 (npm):GHSA-698v-4r3x-3vcv"},{"rule_id":"osv/GHSA-fx2h-pf6j-xcff","severity":"medium","message":"vite@6.4.1 (npm) is affected by GHSA-fx2h-pf6j-xcff","path":"package-lock.json","line":null,"fingerprint":"vite@6.4.1 (npm):GHSA-fx2h-pf6j-xcff"},{"rule_id":"osv/GHSA-r825-w8mm-5pxw","severity":"medium","message":"vite@6.4.1 (npm) is affected by GHSA-r825-w8mm-5pxw","path":"package-lock.json","line":null,"fingerprint":"vite@6.4.1 (npm):GHSA-r825-w8mm-5pxw"},{"rule_id":"osv/GHSA-rq7h-c2jc-7f22","severity":"medium","message":"vite@6.4.1 (npm) is affected by GHSA-rq7h-c2jc-7f22","path":"package-lock.json","line":null,"fingerprint":"vite@6.4.1 (npm):GHSA-rq7h-c2jc-7f22"},{"rule_id":"osv/GHSA-v6wh-96g9-6wx3","severity":"medium","message":"vite@6.4.1 (npm) is affected by GHSA-v6wh-96g9-6wx3","path":"package-lock.json","line":null,"fingerprint":"vite@6.4.1 (npm):GHSA-v6wh-96g9-6wx3"},{"rule_id":"osv/GHSA-82fw-gwwq-j7x9","severity":"medium","message":"vitest@2.1.9 (npm) is affected by GHSA-82fw-gwwq-j7x9","path":"package-lock.json","line":null,"fingerprint":"vitest@2.1.9 (npm):GHSA-82fw-gwwq-j7x9"},{"rule_id":"osv/GHSA-58qx-3vcg-4xpx","severity":"medium","message":"ws@8.19.0 (npm) is affected by GHSA-58qx-3vcg-4xpx","path":"package-lock.json","line":null,"fingerprint":"ws@8.19.0 (npm):GHSA-58qx-3vcg-4xpx"},{"rule_id":"osv/GHSA-4x5r-pxfx-6jf8","severity":"low","message":"@babel/core@7.29.0 (npm) is affected by GHSA-4x5r-pxfx-6jf8","path":"package-lock.json","line":null,"fingerprint":"@babel/core@7.29.0 (npm):GHSA-4x5r-pxfx-6jf8"},{"rule_id":"osv/GHSA-xhjh-pmcv-23jw","severity":"low","message":"axios@1.13.6 (npm) is affected by GHSA-xhjh-pmcv-23jw","path":"package-lock.json","line":null,"fingerprint":"axios@1.13.6 (npm):GHSA-xhjh-pmcv-23jw"},{"rule_id":"osv/GHSA-9jrq-w75r-8gcw","severity":"low","message":"vite@5.4.21 (npm) is affected by GHSA-9jrq-w75r-8gcw","path":"package-lock.json","line":null,"fingerprint":"vite@5.4.21 (npm):GHSA-9jrq-w75r-8gcw"},{"rule_id":"osv/GHSA-9jrq-w75r-8gcw","severity":"low","message":"vite@6.4.1 (npm) is affected by GHSA-9jrq-w75r-8gcw","path":"package-lock.json","line":null,"fingerprint":"vite@6.4.1 (npm):GHSA-9jrq-w75r-8gcw"}],"evidence":[],"data":{"ecosystems":["npm"]},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"ok","tool_version":"zizmor 1.32.0","metrics":{"workflows":1.0,"findings":6.0,"findings_high":4.0,"findings_medium":2.0,"findings_low":0.0,"penalty":51.6},"findings":[{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":18,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:18"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":20,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:20"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":41,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:41"},{"rule_id":"zizmor/unpinned-uses","severity":"high","message":"unpinned action reference [confidence high]","path":".github/workflows/ci.yml","line":60,"fingerprint":"unpinned-uses:.github/workflows/ci.yml:60"},{"rule_id":"zizmor/artipacked","severity":"medium","message":"credential persistence through GitHub Actions artifacts [confidence low]","path":".github/workflows/ci.yml","line":18,"fingerprint":"artipacked:.github/workflows/ci.yml:18"},{"rule_id":"zizmor/excessive-permissions","severity":"medium","message":"overly broad permissions [confidence medium]","path":".github/workflows/ci.yml","line":13,"fingerprint":"excessive-permissions:.github/workflows/ci.yml:13"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":0.0,"check:dependency_updates":0.0,"check:signed_commits":0.0,"check:lockfiles":1.0,"signed_commit_share":0.0,"unpinned_manifests":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":0.0,"binary_assets":0.0,"suspicious":0.0},"findings":[],"evidence":[],"data":{"signals":[],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":519.0,"function_nloc":4588.0,"mean_ccn":2.12,"p90_ccn":4.0,"complex_functions":4.0,"long_functions":5.0,"many_param_functions":0.0,"risky_nloc_share":0.1443},"findings":[],"evidence":[{"kind":"complex-function","description":"SprintTrackingPage in src/pages/SprintTrackingPage.tsx: complexity 28, 132 lines","ref":"src/pages/SprintTrackingPage.tsx","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/src/pages/SprintTrackingPage.tsx#L97","weight":0.4666666666666667},{"kind":"complex-function","description":"AiEfficiencyPage in src/pages/AiEfficiencyPage.tsx: complexity 21, 127 lines","ref":"src/pages/AiEfficiencyPage.tsx","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/src/pages/AiEfficiencyPage.tsx#L117","weight":0.35},{"kind":"complex-function","description":"ExecutiveDashboardPage in src/pages/ExecutiveDashboardPage.tsx: complexity 21, 132 lines","ref":"src/pages/ExecutiveDashboardPage.tsx","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/src/pages/ExecutiveDashboardPage.tsx#L25","weight":0.35},{"kind":"complex-function","description":"SettingsPage in src/pages/SettingsPage.tsx: complexity 16, 138 lines","ref":"src/pages/SettingsPage.tsx","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/src/pages/SettingsPage.tsx#L43","weight":0.26666666666666666},{"kind":"complex-function","description":"SlippagePage in src/pages/SlippagePage.tsx: complexity 11, 133 lines","ref":"src/pages/SlippagePage.tsx","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/src/pages/SlippagePage.tsx#L15","weight":0.18333333333333332}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":5060.0,"duplicated_lines":185.0,"duplicated_share":0.0366,"files":62.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: src/components/roadmap/SlippageGrid.tsx:71 and src/components/roadmap/SlippageGrid.tsx:210","ref":"src/components/roadmap/SlippageGrid.tsx","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/src/components/roadmap/SlippageGrid.tsx#L71","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src/components/roadmap/SlippageSummaryBanner.tsx:40 and src/components/sprint/HealthScoreGauge.tsx:29","ref":"src/components/roadmap/SlippageSummaryBanner.tsx","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/src/components/roadmap/SlippageSummaryBanner.tsx#L40","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src/components/roadmap/TopSlippedList.tsx:21 and src/components/roadmap/UpcomingDeadlines.tsx:46","ref":"src/components/roadmap/TopSlippedList.tsx","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/src/components/roadmap/TopSlippedList.tsx#L21","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src/pages/AiEfficiencyPage.tsx:223 and src/pages/SlippagePage.tsx:111","ref":"src/pages/AiEfficiencyPage.tsx","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/src/pages/AiEfficiencyPage.tsx#L223","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src/pages/SlippagePage.tsx:41 and src/pages/SlippagePage.tsx:59","ref":"src/pages/SlippagePage.tsx","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/src/pages/SlippagePage.tsx#L41","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src/pages/SlippagePage.tsx:113 and src/pages/SprintReportPage.tsx:177","ref":"src/pages/SlippagePage.tsx","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/src/pages/SlippagePage.tsx#L113","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src/pages/SprintReportPage.tsx:20 and src/pages/SprintReportPage.tsx:34","ref":"src/pages/SprintReportPage.tsx","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/src/pages/SprintReportPage.tsx#L20","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src/services/jira.constants.ts:73 and src/services/jira.constants.ts:85","ref":"src/services/jira.constants.ts","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/src/services/jira.constants.ts#L73","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: src/store/configStore.ts:46 and src/store/configStore.ts:71","ref":"src/store/configStore.ts","url":"https://github.com/mkumar5/jira-roadmap-tracker/blob/b9247a2385f674510c2901d0e58aeb9ce7c11138/src/store/configStore.ts#L46","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":8.0,"weighted_findings":5.0,"scanned_lines":7074.0,"category:best-practice":4.0,"category:correctness":4.0},"findings":[{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"src/components/shared/BaseGrid.tsx","line":63,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/components/shared/BaseGrid.tsx:63"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"src/pages/SprintReportPage.tsx","line":110,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/pages/SprintReportPage.tsx:110"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"src/pages/SprintReportPage.tsx","line":121,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/pages/SprintReportPage.tsx:121"},{"rule_id":"opengrep/typescript.react.best-practice.react-props-spreading","severity":"medium","message":"It's best practice to explicitly pass props to an HTML component rather than use the spread operator. The spread operator risks passing invalid HTML props to an HTML element, which can cause console warnings or worse, give malicious actors a way to inject unexpected attributes.","path":"src/pages/SprintReportPage.tsx","line":127,"fingerprint":"typescript.react.best-practice.react-props-spreading:src/pages/SprintReportPage.tsx:127"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/services/sprint.service.ts","line":149,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/services/sprint.service.ts:149"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/services/sprint.service.ts","line":149,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/services/sprint.service.ts:149"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/services/sprint.service.ts","line":149,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/services/sprint.service.ts:149"},{"rule_id":"opengrep/javascript.lang.correctness.missing-template-string-indicator","severity":"low","message":"This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'?","path":"src/services/sprint.service.ts","line":149,"fingerprint":"javascript.lang.correctness.missing-template-string-indicator:src/services/sprint.service.ts:149"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":0.5259,"check:ci_present":1.0,"check:ci_runs_tests":1.0,"check:ci_runs_lint":1.0,"check:tests_cochange":1.0,"test_lines":1860.0,"source_lines":7074.0,"test_ratio":0.2629,"ci_files":1.0,"cochange_share":0.25,"cochange_commits":12.0},"findings":[],"evidence":[{"kind":"ci","description":"CI config: .github/workflows/ci.yml","ref":".github/workflows/ci.yml","url":null,"weight":0.0},{"kind":"ci","description":"CI runs tests (npm run test)","ref":null,"url":null,"weight":0.0},{"kind":"ci","description":"CI runs linters (eslint, prettier)","ref":null,"url":null,"weight":0.0}],"data":{"test_commands":["npm run test"],"lint_commands":["eslint","prettier"]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":0.0,"check:contributing":0.0,"check:changelog":0.0,"readme_lines":168.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:strict_config":1.0,"check:low_escape_density":1.0,"escapes":0.0,"escapes_per_kloc":0.0},"findings":[],"evidence":[{"kind":"typing","description":"TypeScript strict type checking: tsconfig.json","ref":"tsconfig.json","url":null,"weight":0.0}],"data":{},"error":null}],"flags":[]}