@kevinrabun/judges 3.22.1 → 3.23.2

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.
Files changed (85) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/dist/api.d.ts +18 -5
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +15 -3
  5. package/dist/api.js.map +1 -1
  6. package/dist/ast/structural-parser.js +25 -0
  7. package/dist/ast/structural-parser.js.map +1 -1
  8. package/dist/cli.d.ts.map +1 -1
  9. package/dist/cli.js +54 -36
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands/auto-detect.d.ts +62 -0
  12. package/dist/commands/auto-detect.d.ts.map +1 -0
  13. package/dist/commands/auto-detect.js +329 -0
  14. package/dist/commands/auto-detect.js.map +1 -0
  15. package/dist/commands/baseline.d.ts +46 -0
  16. package/dist/commands/baseline.d.ts.map +1 -1
  17. package/dist/commands/baseline.js +290 -27
  18. package/dist/commands/baseline.js.map +1 -1
  19. package/dist/commands/benchmark.d.ts +21 -3
  20. package/dist/commands/benchmark.d.ts.map +1 -1
  21. package/dist/commands/benchmark.js +365 -6
  22. package/dist/commands/benchmark.js.map +1 -1
  23. package/dist/commands/coverage.d.ts +41 -0
  24. package/dist/commands/coverage.d.ts.map +1 -0
  25. package/dist/commands/coverage.js +184 -0
  26. package/dist/commands/coverage.js.map +1 -0
  27. package/dist/commands/doctor.d.ts +56 -0
  28. package/dist/commands/doctor.d.ts.map +1 -0
  29. package/dist/commands/doctor.js +363 -0
  30. package/dist/commands/doctor.js.map +1 -0
  31. package/dist/commands/feedback.d.ts +42 -0
  32. package/dist/commands/feedback.d.ts.map +1 -1
  33. package/dist/commands/feedback.js +129 -0
  34. package/dist/commands/feedback.js.map +1 -1
  35. package/dist/commands/rule-metrics.d.ts +44 -0
  36. package/dist/commands/rule-metrics.d.ts.map +1 -0
  37. package/dist/commands/rule-metrics.js +114 -0
  38. package/dist/commands/rule-metrics.js.map +1 -0
  39. package/dist/commands/rule.d.ts +65 -0
  40. package/dist/commands/rule.d.ts.map +1 -1
  41. package/dist/commands/rule.js +94 -0
  42. package/dist/commands/rule.js.map +1 -1
  43. package/dist/commands/snapshot.d.ts +81 -0
  44. package/dist/commands/snapshot.d.ts.map +1 -0
  45. package/dist/commands/snapshot.js +189 -0
  46. package/dist/commands/snapshot.js.map +1 -0
  47. package/dist/config.d.ts +35 -3
  48. package/dist/config.d.ts.map +1 -1
  49. package/dist/config.js +187 -2
  50. package/dist/config.js.map +1 -1
  51. package/dist/dedup.d.ts +35 -0
  52. package/dist/dedup.d.ts.map +1 -1
  53. package/dist/dedup.js +96 -0
  54. package/dist/dedup.js.map +1 -1
  55. package/dist/evaluators/cost-effectiveness.d.ts.map +1 -1
  56. package/dist/evaluators/cost-effectiveness.js +8 -5
  57. package/dist/evaluators/cost-effectiveness.js.map +1 -1
  58. package/dist/evaluators/data-sovereignty.d.ts.map +1 -1
  59. package/dist/evaluators/data-sovereignty.js +16 -0
  60. package/dist/evaluators/data-sovereignty.js.map +1 -1
  61. package/dist/evaluators/documentation.d.ts.map +1 -1
  62. package/dist/evaluators/documentation.js +14 -1
  63. package/dist/evaluators/documentation.js.map +1 -1
  64. package/dist/evaluators/index.d.ts +22 -2
  65. package/dist/evaluators/index.d.ts.map +1 -1
  66. package/dist/evaluators/index.js +144 -52
  67. package/dist/evaluators/index.js.map +1 -1
  68. package/dist/evaluators/maintainability.d.ts.map +1 -1
  69. package/dist/evaluators/maintainability.js +11 -4
  70. package/dist/evaluators/maintainability.js.map +1 -1
  71. package/dist/evaluators/performance.d.ts.map +1 -1
  72. package/dist/evaluators/performance.js +8 -4
  73. package/dist/evaluators/performance.js.map +1 -1
  74. package/dist/evaluators/software-practices.js +3 -3
  75. package/dist/evaluators/software-practices.js.map +1 -1
  76. package/dist/language-patterns.js +1 -1
  77. package/dist/language-patterns.js.map +1 -1
  78. package/dist/patches/index.d.ts.map +1 -1
  79. package/dist/patches/index.js +426 -0
  80. package/dist/patches/index.js.map +1 -1
  81. package/dist/types.d.ts +43 -0
  82. package/dist/types.d.ts.map +1 -1
  83. package/judgesrc.schema.json +5 -0
  84. package/package.json +1 -1
  85. package/server.json +2 -2
@@ -710,6 +710,254 @@ const PATCH_RULES = [
710
710
  return { oldText: m[0], newText: `${m[1]}// SAFETY: TODO: document why unsafe is needed\n${m[1]}unsafe {` };
711
711
  },
712
712
  },
713
+ // ── Hardcoded Secrets ──
714
+ // Hardcoded password/secret → environment variable
715
+ {
716
+ match: /hardcoded.*password|password.*literal|hardcoded.*secret|hardcoded.*credential/i,
717
+ generate: (line) => {
718
+ const m = line.match(/(password|passwd|pwd|secret)\s*[:=]\s*(["'])([^"']{4,})\2/i);
719
+ if (!m)
720
+ return null;
721
+ const envVar = m[1].toUpperCase();
722
+ return { oldText: `${m[2]}${m[3]}${m[2]}`, newText: `process.env.${envVar} || ${m[2]}${m[2]}` };
723
+ },
724
+ },
725
+ // Hardcoded API key → environment variable
726
+ {
727
+ match: /hardcoded.*api.?key|api.?key.*hardcoded|hardcoded.*token|secret.*key.*literal/i,
728
+ generate: (line) => {
729
+ const m = line.match(/(api_?[Kk]ey|api_?[Tt]oken|auth_?[Tt]oken|access_?[Tt]oken)\s*[:=]\s*(["'])([^"']{8,})\2/i);
730
+ if (!m)
731
+ return null;
732
+ const normalized = m[1].toUpperCase().replace(/([a-z])([A-Z])/g, "$1_$2");
733
+ return { oldText: `${m[2]}${m[3]}${m[2]}`, newText: `process.env.${normalized} || ${m[2]}${m[2]}` };
734
+ },
735
+ },
736
+ // ── Path Traversal ──
737
+ {
738
+ match: /path.*traversal|directory.*traversal|path.*manipulation/i,
739
+ generate: (line) => {
740
+ const m = line.match(/path\.join\s*\(([^,]+),\s*(\w+)\s*\)/);
741
+ if (!m)
742
+ return null;
743
+ return {
744
+ oldText: m[0],
745
+ newText: `path.resolve(${m[1]}, path.basename(${m[2]})) /* TODO: validate no traversal */`,
746
+ };
747
+ },
748
+ },
749
+ // ── Open Redirect ──
750
+ {
751
+ match: /open.*redirect|unvalidat.*redirect|redirect.*user.*input/i,
752
+ generate: (line) => {
753
+ const m = line.match(/(res\.redirect\s*\(\s*)(req\.(?:query|params|body)\.\w+)\s*\)/);
754
+ if (!m)
755
+ return null;
756
+ return {
757
+ oldText: m[0],
758
+ newText: `${m[1]}/* TODO: validate against allowlist */ new URL(${m[2]}, \`\${req.protocol}://\${req.get("host")}\`).pathname)`,
759
+ };
760
+ },
761
+ },
762
+ // ── Timing-Safe Comparison ──
763
+ {
764
+ match: /timing.*attack|constant.*time.*compar|timing.*safe/i,
765
+ generate: (line) => {
766
+ const m = line.match(/([\w.]+)\s*===?\s*([\w.]*(?:secret|token|key|hash|digest|signature)[\w.]*)/i);
767
+ if (!m)
768
+ return null;
769
+ return {
770
+ oldText: m[0],
771
+ newText: `crypto.timingSafeEqual(Buffer.from(String(${m[1]})), Buffer.from(String(${m[2]})))`,
772
+ };
773
+ },
774
+ },
775
+ // ── Error Information Leakage ──
776
+ {
777
+ match: /error.*leak|stack.*trace.*expos|error.*information.*disclos|sensitive.*error/i,
778
+ generate: (line) => {
779
+ const m = line.match(/(res\.(?:send|json)\s*\(\s*(?:err|error))\.stack\b/);
780
+ if (!m)
781
+ return null;
782
+ return { oldText: `${m[1]}.stack`, newText: `${m[1]}.message || "Internal server error"` };
783
+ },
784
+ },
785
+ // ── Link Security ──
786
+ // target="_blank" without rel="noopener"
787
+ {
788
+ match: /noopener|reverse.*tabnab|target.*blank.*rel/i,
789
+ generate: (line) => {
790
+ const m = line.match(/(target\s*=\s*["']_blank["'])(?!.*rel\s*=)/);
791
+ if (!m)
792
+ return null;
793
+ return { oldText: m[1], newText: `${m[1]} rel="noopener noreferrer"` };
794
+ },
795
+ },
796
+ // ── Password Hashing ──
797
+ {
798
+ match: /bcrypt.*rounds|salt.*rounds|weak.*hash.*factor|low.*cost.*factor/i,
799
+ generate: (line) => {
800
+ const m = line.match(/(bcrypt\.(?:hash|genSalt)\s*\(\s*\w+\s*,\s*)(\d+)/);
801
+ if (!m)
802
+ return null;
803
+ if (parseInt(m[2]) >= 10)
804
+ return null;
805
+ return { oldText: m[0], newText: `${m[1]}12` };
806
+ },
807
+ },
808
+ // ── Log Injection ──
809
+ {
810
+ match: /log.*inject|logging.*untrusted|unsanit.*log/i,
811
+ generate: (line) => {
812
+ const m = line.match(/((?:console|logger)\.\w+\s*\(\s*)(req\.(?:body|query|params)\.\w+)\s*\)/);
813
+ if (!m)
814
+ return null;
815
+ return { oldText: m[0], newText: `${m[1]}String(${m[2]}).replace(/[\\n\\r]/g, ""))` };
816
+ },
817
+ },
818
+ // ── Python: f-string in SQL execute ──
819
+ {
820
+ match: /sql.*injection.*f.?string|f.?string.*sql|python.*sql.*inject/i,
821
+ generate: (line) => {
822
+ const m = line.match(/\.execute\s*\(\s*f(["'])/);
823
+ if (!m)
824
+ return null;
825
+ return { oldText: m[0], newText: `.execute(/* TODO: use parameterized query with %s placeholders */ f${m[1]}` };
826
+ },
827
+ },
828
+ // ── Python: Flask debug mode ──
829
+ {
830
+ match: /flask.*debug|debug.*production.*flask/i,
831
+ generate: (line) => {
832
+ const m = line.match(/(app\.run\s*\([^)]*debug\s*=\s*)True/);
833
+ if (!m)
834
+ return null;
835
+ return { oldText: m[0], newText: `${m[1]}os.environ.get("FLASK_DEBUG", "False") == "True"` };
836
+ },
837
+ },
838
+ // ── Python: bare except clause ──
839
+ {
840
+ match: /bare.*except|broad.*except|generic.*except.*clause/i,
841
+ generate: (line) => {
842
+ const m = line.match(/^(\s*)except\s*:/);
843
+ if (!m)
844
+ return null;
845
+ return { oldText: m[0], newText: `${m[1]}except Exception: # TODO: use specific exception` };
846
+ },
847
+ },
848
+ // ── Python: hardcoded Flask secret key ──
849
+ {
850
+ match: /flask.*secret.*key|hardcoded.*secret.*key/i,
851
+ generate: (line) => {
852
+ const m = line.match(/((?:app\.)?(?:config\s*\[\s*["']SECRET_KEY["']\s*\]\s*=|secret_key\s*=)\s*)(["'])([^"']+)\2/i);
853
+ if (!m)
854
+ return null;
855
+ return { oldText: m[0], newText: `${m[1]}os.environ.get("SECRET_KEY", secrets.token_hex(32))` };
856
+ },
857
+ },
858
+ // ── Python: insecure tempfile ──
859
+ {
860
+ match: /insecure.*temp|tempfile.*mktemp|predictable.*temp/i,
861
+ generate: (line) => {
862
+ const m = line.match(/tempfile\.mktemp\s*\(/);
863
+ if (!m)
864
+ return null;
865
+ return { oldText: m[0], newText: "tempfile.mkstemp(" };
866
+ },
867
+ },
868
+ // ── File Permissions ──
869
+ {
870
+ match: /insecure.*permission|chmod.*777|file.*permission.*broad|overly.*permissive/i,
871
+ generate: (line) => {
872
+ const mShell = line.match(/chmod\s+(777|666)\b/);
873
+ if (mShell)
874
+ return { oldText: mShell[0], newText: `chmod ${mShell[1] === "777" ? "750" : "640"}` };
875
+ const mPy = line.match(/os\.chmod\s*\(\s*(\w+)\s*,\s*0o(777|666)\s*\)/);
876
+ if (mPy)
877
+ return { oldText: mPy[0], newText: `os.chmod(${mPy[1]}, 0o${mPy[2] === "777" ? "750" : "640"})` };
878
+ return null;
879
+ },
880
+ },
881
+ // ── Go: unchecked error ──
882
+ {
883
+ match: /unchecked.*error|error.*not.*checked|ignored.*error.*return/i,
884
+ generate: (line) => {
885
+ const m = line.match(/^(\s*)\w+\s*,\s*_\s*:?=\s*/);
886
+ if (!m)
887
+ return null;
888
+ return { oldText: ", _", newText: ", err" };
889
+ },
890
+ },
891
+ // ── Java: catching generic Exception ──
892
+ {
893
+ match: /catch.*generic.*exception|broad.*exception.*catch|catching.*exception.*instead/i,
894
+ generate: (line) => {
895
+ const m = line.match(/catch\s*\(\s*Exception\s+(\w+)\s*\)/);
896
+ if (!m)
897
+ return null;
898
+ return { oldText: m[0], newText: `catch (/* TODO: use specific exception type */ Exception ${m[1]})` };
899
+ },
900
+ },
901
+ // ── Hardcoded Port ──
902
+ {
903
+ match: /hardcoded.*port|port.*hardcoded|magic.*number.*port/i,
904
+ generate: (line) => {
905
+ const m = line.match(/(\.listen\s*\(\s*)(\d{4,5})\s*([,)])/);
906
+ if (!m)
907
+ return null;
908
+ return { oldText: m[0], newText: `${m[1]}parseInt(process.env.PORT || "${m[2]}")${m[3]}` };
909
+ },
910
+ },
911
+ // ── Prototype Pollution ──
912
+ {
913
+ match: /prototype.*pollut|__proto__.*inject|property.*inject/i,
914
+ generate: (line) => {
915
+ const m = line.match(/(\w+)\[(\w+)\]\s*=\s*/);
916
+ if (!m)
917
+ return null;
918
+ return { oldText: m[0], newText: `/* TODO: validate key is not __proto__, constructor, or prototype */ ${m[0]}` };
919
+ },
920
+ },
921
+ // ── SSRF Prevention ──
922
+ {
923
+ match: /ssrf|server.?side.*request.*forg|unvalidat.*url.*fetch/i,
924
+ generate: (line) => {
925
+ const m = line.match(/((?:fetch|axios\.get|http\.get|got)\s*\(\s*)([\w.]+)\s*\)/);
926
+ if (!m)
927
+ return null;
928
+ return { oldText: m[0], newText: `${m[1]}/* TODO: validate URL against allowlist to prevent SSRF */ ${m[2]})` };
929
+ },
930
+ },
931
+ // ── Mass Assignment ──
932
+ {
933
+ match: /mass.*assign|over.?post|unfiltered.*body|object.*spread.*request/i,
934
+ generate: (line) => {
935
+ const m = line.match(/(\.create\s*\(\s*)req\.body\s*\)/);
936
+ if (!m)
937
+ return null;
938
+ return { oldText: m[0], newText: `${m[1]}{ /* TODO: allowlist specific fields */ ...req.body })` };
939
+ },
940
+ },
941
+ // ── HTML Sanitization ──
942
+ {
943
+ match: /xss.*sanitiz|unsanit.*html|html.*inject.*user/i,
944
+ generate: (line) => {
945
+ const m = line.match(/(\.innerHTML\s*=\s*)(\w+)/);
946
+ if (!m)
947
+ return null;
948
+ return { oldText: m[0], newText: `${m[1]}DOMPurify.sanitize(${m[2]})` };
949
+ },
950
+ },
951
+ // ── Security Headers / Helmet ──
952
+ {
953
+ match: /missing.*helmet|security.*header.*missing|no.*security.*middleware/i,
954
+ generate: (line) => {
955
+ const m = line.match(/(const\s+app\s*=\s*express\s*\(\s*\)\s*;?)/);
956
+ if (!m)
957
+ return null;
958
+ return { oldText: m[0], newText: `${m[0]} /* TODO: add app.use(helmet()) for security headers */` };
959
+ },
960
+ },
713
961
  ];
714
962
  const MULTI_LINE_PATCH_RULES = [
715
963
  // ── Multi-line empty catch block → re-throw with error parameter ──
@@ -845,6 +1093,184 @@ const MULTI_LINE_PATCH_RULES = [
845
1093
  return { oldText, newText, startLine: findingLine, endLine: findingLine };
846
1094
  },
847
1095
  },
1096
+ // ── Express app without helmet → add helmet middleware ──
1097
+ {
1098
+ match: /missing.*helmet|security.*headers.*middleware|no.*helmet/i,
1099
+ contextLines: 5,
1100
+ generate: (windowLines, windowStart, findingLine) => {
1101
+ const idx = findingLine - windowStart;
1102
+ if (idx < 0 || idx >= windowLines.length)
1103
+ return null;
1104
+ const line = windowLines[idx];
1105
+ const m = line.match(/^(\s*)(const\s+app\s*=\s*express\s*\(\s*\)\s*;?\s*)$/);
1106
+ if (!m)
1107
+ return null;
1108
+ const [, indent, appInit] = m;
1109
+ const oldText = line;
1110
+ const newText = [
1111
+ `${indent}const helmet = require("helmet"); /* TODO: npm install helmet */`,
1112
+ `${indent}${appInit}`,
1113
+ `${indent}app.use(helmet());`,
1114
+ ].join("\n");
1115
+ return { oldText, newText, startLine: findingLine, endLine: findingLine };
1116
+ },
1117
+ },
1118
+ // ── Missing rate limiting → add express-rate-limit middleware ──
1119
+ {
1120
+ match: /rate.*limit.*missing|no.*rate.*limit|missing.*rate.*limit/i,
1121
+ contextLines: 5,
1122
+ generate: (windowLines, windowStart, findingLine) => {
1123
+ const idx = findingLine - windowStart;
1124
+ if (idx < 0 || idx >= windowLines.length)
1125
+ return null;
1126
+ const line = windowLines[idx];
1127
+ const m = line.match(/^(\s*)(const\s+app\s*=\s*express\s*\(\s*\)\s*;?\s*)$/);
1128
+ if (!m)
1129
+ return null;
1130
+ const [, indent, appInit] = m;
1131
+ const oldText = line;
1132
+ const newText = [
1133
+ `${indent}const rateLimit = require("express-rate-limit"); /* TODO: npm install express-rate-limit */`,
1134
+ `${indent}${appInit}`,
1135
+ `${indent}app.use(rateLimit({ windowMs: 15 * 60 * 1000, max: 100 }));`,
1136
+ ].join("\n");
1137
+ return { oldText, newText, startLine: findingLine, endLine: findingLine };
1138
+ },
1139
+ },
1140
+ // ── String concatenation SQL → parameterized query (Node.js) ──
1141
+ {
1142
+ match: /sql.*inject|sql.*concatenat|string.*concat.*query/i,
1143
+ contextLines: 3,
1144
+ generate: (windowLines, windowStart, findingLine) => {
1145
+ const idx = findingLine - windowStart;
1146
+ if (idx < 0 || idx >= windowLines.length)
1147
+ return null;
1148
+ const line = windowLines[idx];
1149
+ const m = line.match(/^(\s*)([\w.]+\.query\s*\(\s*)(["'`])(.+?)\3\s*\+\s*(\w+)\s*\)/);
1150
+ if (!m)
1151
+ return null;
1152
+ const [, indent, queryCall, quote, sql, param] = m;
1153
+ const oldText = line;
1154
+ const newText = `${indent}${queryCall}${quote}${sql}$1${quote}, [${param}])`;
1155
+ return { oldText, newText, startLine: findingLine, endLine: findingLine };
1156
+ },
1157
+ },
1158
+ // ── Error handler leaking stack trace → sanitized response ──
1159
+ {
1160
+ match: /error.*handler.*leak|stack.*trace.*response|error.*detail.*client/i,
1161
+ contextLines: 6,
1162
+ generate: (windowLines, windowStart) => {
1163
+ for (let i = 0; i < windowLines.length; i++) {
1164
+ const line = windowLines[i];
1165
+ if (!line.match(/app\.use\s*\(\s*\(\s*(?:err|error)\s*,\s*req\s*,\s*res\s*,\s*next\s*\)/))
1166
+ continue;
1167
+ const indent = line.match(/^(\s*)/)?.[1] || "";
1168
+ for (let j = i + 1; j < Math.min(i + 8, windowLines.length); j++) {
1169
+ const bodyLine = windowLines[j];
1170
+ if (bodyLine.match(/res\.(?:json|send)\s*\(\s*\{[^}]*(?:stack|trace)/)) {
1171
+ const oldText = bodyLine;
1172
+ const newText = `${indent} res.status(err.status || 500).json({ error: process.env.NODE_ENV === "production" ? "Internal server error" : err.message });`;
1173
+ return { oldText, newText, startLine: windowStart + j, endLine: windowStart + j };
1174
+ }
1175
+ }
1176
+ }
1177
+ return null;
1178
+ },
1179
+ },
1180
+ // ── Missing input validation → add schema guard ──
1181
+ {
1182
+ match: /input.*validation.*missing|no.*input.*valid|request.*body.*unvalid/i,
1183
+ contextLines: 3,
1184
+ generate: (windowLines, windowStart, findingLine) => {
1185
+ const idx = findingLine - windowStart;
1186
+ if (idx < 0 || idx >= windowLines.length)
1187
+ return null;
1188
+ const line = windowLines[idx];
1189
+ const m = line.match(/^(\s*)(app\.(?:post|put|patch)\s*\(\s*["'][^"']+["']\s*,\s*(?:async\s*)?\(\s*req\s*,\s*res\s*\)\s*=>\s*\{)\s*$/);
1190
+ if (!m)
1191
+ return null;
1192
+ const [, indent, handler] = m;
1193
+ const oldText = line;
1194
+ const newText = [
1195
+ `${indent}${handler}`,
1196
+ `${indent} /* TODO: add input validation (e.g. Zod, Joi, or express-validator) */`,
1197
+ `${indent} if (!req.body || typeof req.body !== "object") { return res.status(400).json({ error: "Invalid request body" }); }`,
1198
+ ].join("\n");
1199
+ return { oldText, newText, startLine: findingLine, endLine: findingLine };
1200
+ },
1201
+ },
1202
+ // ── Python: bare except with pass → specific exception with logging ──
1203
+ {
1204
+ match: /bare.*except|broad.*except.*python|pokemon.*except/i,
1205
+ contextLines: 4,
1206
+ generate: (windowLines, windowStart, findingLine) => {
1207
+ const idx = findingLine - windowStart;
1208
+ if (idx < 0 || idx >= windowLines.length)
1209
+ return null;
1210
+ const line = windowLines[idx];
1211
+ const m = line.match(/^(\s*)except\s*:\s*$/);
1212
+ if (!m)
1213
+ return null;
1214
+ const indent = m[1];
1215
+ const nextIdx = idx + 1;
1216
+ if (nextIdx < windowLines.length && windowLines[nextIdx].match(/^\s*pass\s*$/)) {
1217
+ const oldText = windowLines.slice(idx, nextIdx + 1).join("\n");
1218
+ const newText = `${indent}except Exception as e: # TODO: use specific exception\n${indent} logging.exception("Unexpected error: %s", e)`;
1219
+ return { oldText, newText, startLine: findingLine, endLine: windowStart + nextIdx };
1220
+ }
1221
+ const oldText = line;
1222
+ const newText = `${indent}except Exception as e: # TODO: use specific exception`;
1223
+ return { oldText, newText, startLine: findingLine, endLine: findingLine };
1224
+ },
1225
+ },
1226
+ // ── Go HTTP server without timeout → add timeouts ──
1227
+ {
1228
+ match: /http.*server.*timeout|missing.*timeout.*server|server.*no.*timeout/i,
1229
+ contextLines: 3,
1230
+ generate: (windowLines, windowStart, findingLine) => {
1231
+ const idx = findingLine - windowStart;
1232
+ if (idx < 0 || idx >= windowLines.length)
1233
+ return null;
1234
+ const line = windowLines[idx];
1235
+ const m = line.match(/^(\s*)((?:srv|server|s)\s*:?=\s*&http\.Server\s*\{)\s*$/);
1236
+ if (!m)
1237
+ return null;
1238
+ const [, indent, serverInit] = m;
1239
+ const rest = windowLines.slice(idx + 1, idx + 6).join("\n");
1240
+ if (/ReadTimeout|WriteTimeout/.test(rest))
1241
+ return null;
1242
+ const oldText = line;
1243
+ const newText = [
1244
+ `${indent}${serverInit}`,
1245
+ `${indent}\tReadTimeout: 15 * time.Second,`,
1246
+ `${indent}\tWriteTimeout: 15 * time.Second,`,
1247
+ `${indent}\tIdleTimeout: 60 * time.Second,`,
1248
+ ].join("\n");
1249
+ return { oldText, newText, startLine: findingLine, endLine: findingLine };
1250
+ },
1251
+ },
1252
+ // ── Missing CORS configuration → proper CORS setup ──
1253
+ {
1254
+ match: /cors.*not.*config|missing.*cors|cors.*missing/i,
1255
+ contextLines: 5,
1256
+ generate: (windowLines, windowStart, findingLine) => {
1257
+ const idx = findingLine - windowStart;
1258
+ if (idx < 0 || idx >= windowLines.length)
1259
+ return null;
1260
+ const line = windowLines[idx];
1261
+ const m = line.match(/^(\s*)(const\s+app\s*=\s*express\s*\(\s*\)\s*;?\s*)$/);
1262
+ if (!m)
1263
+ return null;
1264
+ const [, indent, appInit] = m;
1265
+ const oldText = line;
1266
+ const newText = [
1267
+ `${indent}const cors = require("cors"); /* TODO: npm install cors */`,
1268
+ `${indent}${appInit}`,
1269
+ `${indent}app.use(cors({ origin: process.env.ALLOWED_ORIGIN || "http://localhost:3000", credentials: true }));`,
1270
+ ].join("\n");
1271
+ return { oldText, newText, startLine: findingLine, endLine: findingLine };
1272
+ },
1273
+ },
848
1274
  ];
849
1275
  export function enrichWithPatches(findings, code) {
850
1276
  const lines = code.split("\n");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/patches/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/patches/index.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -56,6 +56,35 @@ export interface Finding {
56
56
  */
57
57
  confidenceTier?: "essential" | "important" | "supplementary";
58
58
  }
59
+ /**
60
+ * Audit record for a suppressed finding — captures what was suppressed,
61
+ * how (which directive type), and where the suppression comment lives.
62
+ */
63
+ export interface SuppressionRecord {
64
+ /** The ruleId that was suppressed (e.g. "SEC-001") */
65
+ ruleId: string;
66
+ /** The severity of the suppressed finding */
67
+ severity: Severity;
68
+ /** The title of the suppressed finding */
69
+ title: string;
70
+ /** Which type of suppression directive matched */
71
+ kind: "line" | "next-line" | "block" | "file";
72
+ /** 1-based line number where the suppression comment appears */
73
+ commentLine: number;
74
+ /** 1-based line number(s) of the suppressed finding */
75
+ findingLines?: number[];
76
+ /** Optional reason provided in the suppression comment */
77
+ reason?: string;
78
+ }
79
+ /**
80
+ * Result of applying inline suppressions with full audit trail.
81
+ */
82
+ export interface SuppressionResult {
83
+ /** Findings that survived suppression */
84
+ findings: Finding[];
85
+ /** Audit trail of all suppressed findings */
86
+ suppressed: SuppressionRecord[];
87
+ }
59
88
  /**
60
89
  * A structured, machine-applicable patch describing an exact text replacement
61
90
  * within a source file.
@@ -103,6 +132,16 @@ export interface JudgesConfig {
103
132
  include?: string[];
104
133
  /** Maximum number of files to analyze in directory mode */
105
134
  maxFiles?: number;
135
+ /** Named preset to apply as a base (e.g. "strict", "security-only,performance") */
136
+ preset?: string;
137
+ /** Exit with code 1 when verdict is fail — useful for CI pipelines */
138
+ failOnFindings?: boolean;
139
+ /** Path to a baseline JSON file — findings matching the baseline are suppressed */
140
+ baseline?: string;
141
+ /** Default output format */
142
+ format?: "text" | "json" | "sarif" | "markdown" | "html" | "junit" | "codeclimate";
143
+ /** Plugin module specifiers to load custom judges (npm packages or relative paths) */
144
+ plugins?: string[];
106
145
  }
107
146
  /**
108
147
  * A single file in a project submission.
@@ -355,6 +394,8 @@ export interface JudgeEvaluation {
355
394
  summary: string;
356
395
  /** List of specific findings */
357
396
  findings: Finding[];
397
+ /** Audit trail of findings suppressed by inline comments for this judge */
398
+ suppressions?: SuppressionRecord[];
358
399
  }
359
400
  /**
360
401
  * The combined result from the full tribunal panel.
@@ -377,6 +418,8 @@ export interface TribunalVerdict {
377
418
  timestamp: string;
378
419
  /** Optional high-confidence must-fix gate outcome */
379
420
  mustFixGate?: MustFixGateResult;
421
+ /** Audit trail of inline-suppressed findings (present when suppressions exist) */
422
+ suppressions?: SuppressionRecord[];
380
423
  }
381
424
  /**
382
425
  * Must-fix gate configuration for high-risk findings.