| HIGH |
metrics.symbol.cyclomatic |
150 |
makeFindingProcessor cyclomatic=30 |
| HIGH |
metrics.symbol.cyclomatic |
318 |
runOsvScanner cyclomatic=20 |
| HIGH |
metrics.symbol.cyclomatic |
369 |
runTrivy cyclomatic=23 |
| HIGH |
metrics.symbol.cyclomatic |
432 |
runTrivyImage cyclomatic=29 |
| MED |
metrics.file.loc |
1 |
File has 587 lines |
| MED |
metrics.symbol.cyclomatic |
16 |
semgrepSeverity cyclomatic=11 |
| MED |
metrics.symbol.cyclomatic |
57 |
osvSeverity cyclomatic=13 |
| MED |
metrics.symbol.bodyLines |
150 |
makeFindingProcessor body spans 71 lines |
| MED |
metrics.symbol.cyclomatic |
238 |
runGitleaks cyclomatic=11 |
| MED |
metrics.symbol.cyclomatic |
276 |
runSemgrep cyclomatic=12 |
| MED |
metrics.symbol.nestingDepth |
318 |
runOsvScanner max nesting=4 |
| MED |
metrics.symbol.bodyLines |
369 |
runTrivy body spans 62 lines |
| MED |
metrics.symbol.paramCount |
432 |
runTrivyImage has 5 params |
| MED |
metrics.symbol.nestingDepth |
432 |
runTrivyImage max nesting=4 |
| MED |
metrics.symbol.bodyLines |
432 |
runTrivyImage body spans 86 lines |
| MED |
metrics.symbol.cyclomatic |
519 |
runNpmAudit cyclomatic=17 |
| MED |
metrics.symbol.bodyLines |
519 |
runNpmAudit body spans 68 lines |
| MED |
unreachable-module |
1 |
Module `lib/scanners.mjs` has zero fan-in from any detected entrypoint (Next/NestJS/main/etc.). Verify it's still wired before keeping. |
| LOW |
metrics.file.symbolCount |
1 |
File declares 16 complex symbols (20 total) |
| LOW |
metrics.file.fanOut |
1 |
File imports 4 modules |
| LOW |
metrics.symbol.paramCount |
16 |
semgrepSeverity has 1 params |
| LOW |
metrics.symbol.nestingDepth |
16 |
semgrepSeverity max nesting=0 |
| LOW |
metrics.symbol.bodyLines |
16 |
semgrepSeverity body spans 17 lines |
| LOW |
metrics.symbol.cyclomatic |
34 |
severityFromCvss cyclomatic=6 |
| LOW |
metrics.symbol.paramCount |
34 |
severityFromCvss has 1 params |
| LOW |
metrics.symbol.nestingDepth |
34 |
severityFromCvss max nesting=1 |
| LOW |
metrics.symbol.bodyLines |
34 |
severityFromCvss body spans 7 lines |
| LOW |
metrics.symbol.cyclomatic |
42 |
cvssBaseScore cyclomatic=3 |
| LOW |
metrics.symbol.paramCount |
42 |
cvssBaseScore has 1 params |
| LOW |
metrics.symbol.nestingDepth |
42 |
cvssBaseScore max nesting=0 |
| LOW |
metrics.symbol.bodyLines |
42 |
cvssBaseScore body spans 5 lines |
| LOW |
metrics.symbol.cyclomatic |
48 |
ratingFromText cyclomatic=6 |
| LOW |
metrics.symbol.paramCount |
48 |
ratingFromText has 1 params |
| LOW |
metrics.symbol.nestingDepth |
48 |
ratingFromText max nesting=1 |
| LOW |
metrics.symbol.bodyLines |
48 |
ratingFromText body spans 8 lines |
| LOW |
metrics.symbol.paramCount |
57 |
osvSeverity has 1 params |
| LOW |
metrics.symbol.nestingDepth |
57 |
osvSeverity max nesting=3 |
| LOW |
metrics.symbol.bodyLines |
57 |
osvSeverity body spans 27 lines |
| LOW |
metrics.symbol.cyclomatic |
89 |
extractBaseImages cyclomatic=8 |
| LOW |
metrics.symbol.paramCount |
89 |
extractBaseImages has 2 params |
| LOW |
metrics.symbol.nestingDepth |
89 |
extractBaseImages max nesting=3 |
| LOW |
metrics.symbol.bodyLines |
89 |
extractBaseImages body spans 17 lines |
| LOW |
metrics.symbol.cyclomatic |
107 |
timeoutResult cyclomatic=3 |
| LOW |
metrics.symbol.paramCount |
107 |
timeoutResult has 2 params |
| LOW |
metrics.symbol.nestingDepth |
107 |
timeoutResult max nesting=0 |
| LOW |
metrics.symbol.bodyLines |
107 |
timeoutResult body spans 8 lines |
| LOW |
metrics.symbol.cyclomatic |
119 |
hasInlineSuppression cyclomatic=8 |
| LOW |
metrics.symbol.paramCount |
119 |
hasInlineSuppression has 3 params |
| LOW |
metrics.symbol.nestingDepth |
119 |
hasInlineSuppression max nesting=3 |
| LOW |
metrics.symbol.bodyLines |
119 |
hasInlineSuppression body spans 26 lines |
| LOW |
metrics.symbol.paramCount |
150 |
makeFindingProcessor has 4 params |
| LOW |
metrics.symbol.nestingDepth |
150 |
makeFindingProcessor max nesting=3 |
| LOW |
metrics.symbol.cyclomatic |
222 |
applyOverrides cyclomatic=6 |
| LOW |
metrics.symbol.paramCount |
222 |
applyOverrides has 3 params |
| LOW |
metrics.symbol.nestingDepth |
222 |
applyOverrides max nesting=3 |
| LOW |
metrics.symbol.bodyLines |
222 |
applyOverrides body spans 10 lines |
| LOW |
metrics.symbol.paramCount |
238 |
runGitleaks has 4 params |
| LOW |
metrics.symbol.nestingDepth |
238 |
runGitleaks max nesting=1 |
| LOW |
metrics.symbol.bodyLines |
238 |
runGitleaks body spans 37 lines |
| LOW |
metrics.symbol.paramCount |
276 |
runSemgrep has 4 params |
| LOW |
metrics.symbol.nestingDepth |
276 |
runSemgrep max nesting=1 |
| LOW |
metrics.symbol.bodyLines |
276 |
runSemgrep body spans 41 lines |
| LOW |
metrics.symbol.paramCount |
318 |
runOsvScanner has 4 params |
| LOW |
metrics.symbol.bodyLines |
318 |
runOsvScanner body spans 50 lines |
| LOW |
metrics.symbol.paramCount |
369 |
runTrivy has 4 params |
| LOW |
metrics.symbol.nestingDepth |
369 |
runTrivy max nesting=3 |
| LOW |
metrics.symbol.paramCount |
519 |
runNpmAudit has 4 params |
| LOW |
metrics.symbol.nestingDepth |
519 |
runNpmAudit max nesting=3 |
| LOW |
arch-drift-undocumented-module |
1 |
Module directory "scanners.mjs" is not represented in any architecture diagram — add it or remove unused code |
| LOW |
metrics.file.fanIn |
1 |
File is imported by 0 modules |