@kevinrabun/judges 3.23.9 → 3.23.11

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 (86) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/dist/api.d.ts +1 -1
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +1 -1
  5. package/dist/api.js.map +1 -1
  6. package/dist/ast/structural-parser.js +1 -1
  7. package/dist/ast/structural-parser.js.map +1 -1
  8. package/dist/ast/taint-tracker.js +1 -1
  9. package/dist/ast/taint-tracker.js.map +1 -1
  10. package/dist/cache.d.ts +25 -3
  11. package/dist/cache.d.ts.map +1 -1
  12. package/dist/cache.js +32 -8
  13. package/dist/cache.js.map +1 -1
  14. package/dist/commands/auto-detect.js.map +1 -1
  15. package/dist/commands/benchmark.d.ts +1 -0
  16. package/dist/commands/benchmark.d.ts.map +1 -1
  17. package/dist/commands/benchmark.js +171 -3
  18. package/dist/commands/benchmark.js.map +1 -1
  19. package/dist/commands/doctor.js.map +1 -1
  20. package/dist/commands/fix.js +1 -1
  21. package/dist/commands/fix.js.map +1 -1
  22. package/dist/commands/lsp.d.ts.map +1 -1
  23. package/dist/commands/lsp.js.map +1 -1
  24. package/dist/commands/review.d.ts +6 -0
  25. package/dist/commands/review.d.ts.map +1 -1
  26. package/dist/commands/review.js +93 -6
  27. package/dist/commands/review.js.map +1 -1
  28. package/dist/commands/tune.js.map +1 -1
  29. package/dist/dedup.d.ts.map +1 -1
  30. package/dist/dedup.js +24 -2
  31. package/dist/dedup.js.map +1 -1
  32. package/dist/disk-cache.d.ts +25 -5
  33. package/dist/disk-cache.d.ts.map +1 -1
  34. package/dist/disk-cache.js +77 -36
  35. package/dist/disk-cache.js.map +1 -1
  36. package/dist/errors.d.ts +8 -1
  37. package/dist/errors.d.ts.map +1 -1
  38. package/dist/errors.js +11 -4
  39. package/dist/errors.js.map +1 -1
  40. package/dist/evaluators/authentication.d.ts.map +1 -1
  41. package/dist/evaluators/authentication.js +51 -2
  42. package/dist/evaluators/authentication.js.map +1 -1
  43. package/dist/evaluators/compliance.js +1 -1
  44. package/dist/evaluators/compliance.js.map +1 -1
  45. package/dist/evaluators/concurrency.d.ts.map +1 -1
  46. package/dist/evaluators/concurrency.js +34 -0
  47. package/dist/evaluators/concurrency.js.map +1 -1
  48. package/dist/evaluators/cybersecurity.d.ts.map +1 -1
  49. package/dist/evaluators/cybersecurity.js +230 -0
  50. package/dist/evaluators/cybersecurity.js.map +1 -1
  51. package/dist/evaluators/false-positive-review.d.ts.map +1 -1
  52. package/dist/evaluators/false-positive-review.js +330 -0
  53. package/dist/evaluators/false-positive-review.js.map +1 -1
  54. package/dist/evaluators/framework-safety.js +1 -1
  55. package/dist/evaluators/framework-safety.js.map +1 -1
  56. package/dist/evaluators/security.d.ts +13 -0
  57. package/dist/evaluators/security.d.ts.map +1 -0
  58. package/dist/evaluators/security.js +527 -0
  59. package/dist/evaluators/security.js.map +1 -0
  60. package/dist/evaluators/shared.d.ts +1 -1
  61. package/dist/evaluators/shared.d.ts.map +1 -1
  62. package/dist/evaluators/shared.js +73 -3
  63. package/dist/evaluators/shared.js.map +1 -1
  64. package/dist/fix-history.d.ts +24 -1
  65. package/dist/fix-history.d.ts.map +1 -1
  66. package/dist/fix-history.js +24 -1
  67. package/dist/fix-history.js.map +1 -1
  68. package/dist/judges/index.d.ts.map +1 -1
  69. package/dist/judges/index.js +4 -0
  70. package/dist/judges/index.js.map +1 -1
  71. package/dist/judges/security.d.ts +3 -0
  72. package/dist/judges/security.d.ts.map +1 -0
  73. package/dist/judges/security.js +28 -0
  74. package/dist/judges/security.js.map +1 -0
  75. package/dist/language-patterns.d.ts.map +1 -1
  76. package/dist/language-patterns.js +8 -3
  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 +501 -0
  80. package/dist/patches/index.js.map +1 -1
  81. package/dist/tools/deep-review.js +1 -1
  82. package/dist/tools/deep-review.js.map +1 -1
  83. package/dist/types.d.ts +1 -1
  84. package/dist/types.d.ts.map +1 -1
  85. package/package.json +3 -1
  86. package/server.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"language-patterns.js","sourceRoot":"","sources":["../src/language-patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"language-patterns.js","sourceRoot":"","sources":["../src/language-patterns.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/patches/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAu1C3C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAyC9E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/patches/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AA6yD3C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAyC9E"}
@@ -1085,6 +1085,405 @@ const PATCH_RULES = [
1085
1085
  return { oldText: m[0], newText: `${m[0]} /* TODO: add app.use(helmet()) for security headers */` };
1086
1086
  },
1087
1087
  },
1088
+ // ── Ruby Patches ──
1089
+ // Ruby: system/exec → Shellwords.shellescape
1090
+ {
1091
+ match: /command.*inject|shell.*inject|os.*command|dangerous.*system/i,
1092
+ generate: (line) => {
1093
+ const m = line.match(/\bsystem\s*\(\s*(["'])(.+?)\1\s*\+\s*(\w+)\s*\)/);
1094
+ if (!m)
1095
+ return null;
1096
+ return { oldText: m[0], newText: `system(${m[1]}${m[2]}#{Shellwords.shellescape(${m[3]})}${m[1]})` };
1097
+ },
1098
+ },
1099
+ // Ruby: exec with string interpolation → shellescape
1100
+ {
1101
+ match: /command.*inject|shell.*inject|os.*command/i,
1102
+ generate: (line) => {
1103
+ const m = line.match(/`([^`]*#\{(\w+)\}[^`]*)`/);
1104
+ if (!m)
1105
+ return null;
1106
+ return { oldText: m[0], newText: `Shellwords.shelljoin(["${m[1].replace(/#\{\w+\}/, '", ' + m[2] + ', "')}"])` };
1107
+ },
1108
+ },
1109
+ // Ruby: eval → safer alternative
1110
+ {
1111
+ match: /dangerous.*eval|eval.*usage|code.*inject/i,
1112
+ generate: (line) => {
1113
+ const m = line.match(/\beval\s*\(\s*(\w+)\s*\)/);
1114
+ if (!m)
1115
+ return null;
1116
+ // Only match Ruby-style (no 'new Function' or JS context)
1117
+ if (line.includes("new Function") || line.includes("JSON.parse"))
1118
+ return null;
1119
+ return { oldText: m[0], newText: `JSON.parse(${m[1]}) # TODO: eliminate eval — use safe deserialization` };
1120
+ },
1121
+ },
1122
+ // Ruby: send with user input → allowlist
1123
+ {
1124
+ match: /dynamic.*method|unsafe.*send|method.*inject/i,
1125
+ generate: (line) => {
1126
+ const m = line.match(/(\.send\s*\(\s*)(\w+)\s*\)/);
1127
+ if (!m)
1128
+ return null;
1129
+ return { oldText: m[0], newText: `${m[1]}${m[2]}) # TODO: validate against allowlist before .send` };
1130
+ },
1131
+ },
1132
+ // Ruby: open-uri with user URL → validate
1133
+ {
1134
+ match: /ssrf|open-uri.*untrusted|server.*side.*request/i,
1135
+ generate: (line) => {
1136
+ const m = line.match(/(URI\.open\s*\(\s*)(\w+)\s*\)/);
1137
+ if (!m)
1138
+ return null;
1139
+ return { oldText: m[0], newText: `${m[1]}${m[2]}) # TODO: validate URL against allowlist to prevent SSRF` };
1140
+ },
1141
+ },
1142
+ // Ruby: yaml.load → YAML.safe_load
1143
+ {
1144
+ match: /unsafe.*yaml|yaml.*load|insecure.*yaml|deserialization/i,
1145
+ generate: (line) => {
1146
+ const m = line.match(/YAML\.load\s*\(/);
1147
+ if (!m)
1148
+ return null;
1149
+ return { oldText: m[0], newText: "YAML.safe_load(" };
1150
+ },
1151
+ },
1152
+ // Ruby: Marshal.load → JSON.parse
1153
+ {
1154
+ match: /unsafe.*deserialization|marshal.*untrusted|insecure.*deserialization/i,
1155
+ generate: (line) => {
1156
+ const m = line.match(/Marshal\.load\s*\(/);
1157
+ if (!m)
1158
+ return null;
1159
+ return { oldText: m[0], newText: "JSON.parse( # TODO: replace Marshal with safe serialization" };
1160
+ },
1161
+ },
1162
+ // Ruby: String interpolation in SQL → parameterized
1163
+ {
1164
+ match: /sql.*inject|string.*interpol.*sql|sql.*concat/i,
1165
+ generate: (line) => {
1166
+ const m = line.match(/(\.(?:where|find_by_sql|execute)\s*\(\s*)"([^"]*?)#\{(\w+)\}([^"]*)"/);
1167
+ if (!m)
1168
+ return null;
1169
+ return { oldText: m[0], newText: `${m[1]}"${m[2]}?${m[4]}", ${m[3]}` };
1170
+ },
1171
+ },
1172
+ // Ruby: Digest::MD5 → Digest::SHA256
1173
+ {
1174
+ match: /weak.*hash|insecure.*hash|md5|sha1/i,
1175
+ generate: (line) => {
1176
+ const m = line.match(/Digest::(MD5|SHA1)/);
1177
+ if (!m)
1178
+ return null;
1179
+ return { oldText: m[0], newText: "Digest::SHA256" };
1180
+ },
1181
+ },
1182
+ // Ruby: render inline with user input → sanitize
1183
+ {
1184
+ match: /xss|cross.*site.*script|render.*untrusted/i,
1185
+ generate: (line) => {
1186
+ const m = line.match(/(render\s+inline:\s*)(\w+)/);
1187
+ if (!m)
1188
+ return null;
1189
+ return { oldText: m[0], newText: `${m[1]}ERB::Util.html_escape(${m[2]})` };
1190
+ },
1191
+ },
1192
+ // ── PHP Patches ──
1193
+ // PHP: mysql_query → PDO prepared statement marker
1194
+ {
1195
+ match: /deprecated.*mysql|mysql_query|sql.*inject/i,
1196
+ generate: (line) => {
1197
+ const m = line.match(/mysql_query\s*\(\s*(".*?"|\$\w+)\s*\)/);
1198
+ if (!m)
1199
+ return null;
1200
+ return { oldText: m[0], newText: `$pdo->prepare(${m[1]})->execute() /* TODO: use PDO with bound parameters */` };
1201
+ },
1202
+ },
1203
+ // PHP: eval → safer alternative
1204
+ {
1205
+ match: /dangerous.*eval|eval.*usage|code.*inject/i,
1206
+ generate: (line) => {
1207
+ const m = line.match(/\beval\s*\(\s*(\$\w+)\s*\)/);
1208
+ if (!m)
1209
+ return null;
1210
+ return { oldText: m[0], newText: `json_decode(${m[1]}, true) /* TODO: eliminate eval — use safe parsing */` };
1211
+ },
1212
+ },
1213
+ // PHP: shell_exec/exec → escapeshellarg
1214
+ {
1215
+ match: /command.*inject|shell.*inject|os.*command/i,
1216
+ generate: (line) => {
1217
+ const m = line.match(/((?:shell_exec|exec|system|passthru)\s*\(\s*(?:["'].*?["']\s*\.\s*))(\$\w+)/);
1218
+ if (!m)
1219
+ return null;
1220
+ return { oldText: m[2], newText: `escapeshellarg(${m[2]})` };
1221
+ },
1222
+ },
1223
+ // PHP: md5/sha1 → password_hash for passwords
1224
+ {
1225
+ match: /weak.*hash|password.*hash|insecure.*hash/i,
1226
+ generate: (line) => {
1227
+ const m = line.match(/\bmd5\s*\(\s*(\$\w+)\s*\)/);
1228
+ if (!m)
1229
+ return null;
1230
+ return { oldText: m[0], newText: `password_hash(${m[1]}, PASSWORD_BCRYPT)` };
1231
+ },
1232
+ },
1233
+ // PHP: extract($_POST/GET/REQUEST) → manual assignment
1234
+ {
1235
+ match: /variable.*inject|mass.*assign|extract.*superglobal/i,
1236
+ generate: (line) => {
1237
+ const m = line.match(/extract\s*\(\s*\$_(POST|GET|REQUEST)\s*\)/);
1238
+ if (!m)
1239
+ return null;
1240
+ return { oldText: m[0], newText: `/* TODO: assign specific variables from \$_${m[1]} instead of extract() */` };
1241
+ },
1242
+ },
1243
+ // PHP: htmlspecialchars missing → add
1244
+ {
1245
+ match: /xss|cross.*site.*script|output.*encod|unescaped.*output/i,
1246
+ generate: (line) => {
1247
+ const m = line.match(/(echo\s+)(\$\w+)\s*;/);
1248
+ if (!m)
1249
+ return null;
1250
+ return { oldText: m[0], newText: `${m[1]}htmlspecialchars(${m[2]}, ENT_QUOTES, 'UTF-8');` };
1251
+ },
1252
+ },
1253
+ // PHP: unserialize → json_decode
1254
+ {
1255
+ match: /unsafe.*deserialization|unserialize.*untrusted|insecure.*deserialization/i,
1256
+ generate: (line) => {
1257
+ const m = line.match(/unserialize\s*\(\s*(\$\w+)\s*\)/);
1258
+ if (!m)
1259
+ return null;
1260
+ return { oldText: m[0], newText: `json_decode(${m[1]}, true) /* TODO: replace unserialize with safe format */` };
1261
+ },
1262
+ },
1263
+ // PHP: file_get_contents with user URL → validate
1264
+ {
1265
+ match: /ssrf|server.*side.*request|unvalidated.*url/i,
1266
+ generate: (line) => {
1267
+ const m = line.match(/(file_get_contents\s*\(\s*)(\$\w+)\s*\)/);
1268
+ if (!m)
1269
+ return null;
1270
+ return { oldText: m[0], newText: `${m[1]}${m[2]}) /* TODO: validate URL against allowlist to prevent SSRF */` };
1271
+ },
1272
+ },
1273
+ // PHP: rand() → random_int() (cryptographic)
1274
+ {
1275
+ match: /insecure.*random|weak.*random|predictable.*random/i,
1276
+ generate: (line) => {
1277
+ const m = line.match(/\brand\s*\(\s*(\d+)\s*,\s*(\d+)\s*\)/);
1278
+ if (!m)
1279
+ return null;
1280
+ return { oldText: m[0], newText: `random_int(${m[1]}, ${m[2]})` };
1281
+ },
1282
+ },
1283
+ // ── Kotlin Patches ──
1284
+ // Kotlin: !! (force unwrap) → safe call + default
1285
+ {
1286
+ match: /force.*unwrap|non-null.*assert|!!.*operator|null.*safety/i,
1287
+ generate: (line) => {
1288
+ const m = line.match(/(\w+)!!(\.\w+)/);
1289
+ if (!m)
1290
+ return null;
1291
+ return { oldText: m[0], newText: `${m[1]}?${m[2]} ?: throw IllegalStateException("${m[1]} was null")` };
1292
+ },
1293
+ },
1294
+ // Kotlin: Thread.sleep → delay (coroutines)
1295
+ {
1296
+ match: /thread.*sleep|blocking.*call|blocking.*thread/i,
1297
+ generate: (line) => {
1298
+ const m = line.match(/Thread\.sleep\s*\(\s*(\d+)\s*\)/);
1299
+ if (!m)
1300
+ return null;
1301
+ return { oldText: m[0], newText: `delay(${m[1]}) // TODO: ensure calling function is suspend` };
1302
+ },
1303
+ },
1304
+ // Kotlin: var → val (immutability)
1305
+ {
1306
+ match: /mutable.*variable|var.*instead.*val|prefer.*immutable/i,
1307
+ generate: (line) => {
1308
+ const m = line.match(/\bvar\s+(\w+)\s*[:=]/);
1309
+ if (!m)
1310
+ return null;
1311
+ return { oldText: `var ${m[1]}`, newText: `val ${m[1]}` };
1312
+ },
1313
+ },
1314
+ // Kotlin: catching generic Exception → specific
1315
+ {
1316
+ match: /catch.*generic|broad.*exception|catching.*exception/i,
1317
+ generate: (line) => {
1318
+ const m = line.match(/catch\s*\(\s*(e|ex|err)\s*:\s*Exception\s*\)/);
1319
+ if (!m)
1320
+ return null;
1321
+ return { oldText: m[0], newText: `catch (${m[1]}: Exception) /* TODO: use specific exception type */` };
1322
+ },
1323
+ },
1324
+ // Kotlin: hardcoded URL → BuildConfig
1325
+ {
1326
+ match: /hardcoded.*url|url.*hardcoded|base.*url.*literal/i,
1327
+ generate: (line) => {
1328
+ const m = line.match(/(["'])(https?:\/\/[^"']+)\1/);
1329
+ if (!m)
1330
+ return null;
1331
+ return { oldText: m[0], newText: `BuildConfig.BASE_URL /* TODO: move URL to build config */` };
1332
+ },
1333
+ },
1334
+ // Kotlin: String SQL concatenation → parameterized
1335
+ {
1336
+ match: /sql.*inject|sql.*concat|string.*template.*sql/i,
1337
+ generate: (line) => {
1338
+ const m = line.match(/(rawQuery\s*\(\s*)"([^"]*)\$(\w+)/);
1339
+ if (!m)
1340
+ return null;
1341
+ return { oldText: m[0], newText: `${m[1]}"${m[2]}?", arrayOf(${m[3]}` };
1342
+ },
1343
+ },
1344
+ // ── Swift Patches ──
1345
+ // Swift: force unwrap (!) → optional binding
1346
+ {
1347
+ match: /force.*unwrap|implicit.*unwrap|!.*operator.*crash/i,
1348
+ generate: (line) => {
1349
+ const m = line.match(/(\w+)!\s*\./);
1350
+ if (!m)
1351
+ return null;
1352
+ // Don't match Kotlin !! or negation
1353
+ if (line.includes("!!"))
1354
+ return null;
1355
+ return { oldText: m[0], newText: `${m[1]}?. // TODO: use if-let or guard-let for safe unwrapping` };
1356
+ },
1357
+ },
1358
+ // Swift: try! → do-catch reminder
1359
+ {
1360
+ match: /force.*try|try!.*crash|unhandled.*throw/i,
1361
+ generate: (line) => {
1362
+ const m = line.match(/\btry!\s+/);
1363
+ if (!m)
1364
+ return null;
1365
+ return { oldText: m[0], newText: "try /* TODO: wrap in do-catch */ " };
1366
+ },
1367
+ },
1368
+ // Swift: implicitly unwrapped optional → regular optional
1369
+ {
1370
+ match: /implicit.*unwrap.*optional|iuo.*declaration/i,
1371
+ generate: (line) => {
1372
+ const m = line.match(/(:\s*\w+)!/);
1373
+ if (!m)
1374
+ return null;
1375
+ return { oldText: m[0], newText: `${m[1]}?` };
1376
+ },
1377
+ },
1378
+ // Swift: NSLog → os_log (structured logging)
1379
+ {
1380
+ match: /nslog.*os_log|nslog.*instead|structured.*log/i,
1381
+ generate: (line) => {
1382
+ const m = line.match(/NSLog\s*\(([^)]*)\)/);
1383
+ if (!m)
1384
+ return null;
1385
+ return { oldText: m[0], newText: `os_log(.info, ${m[1]})` };
1386
+ },
1387
+ },
1388
+ // Swift: UserDefaults for sensitive data → Keychain
1389
+ {
1390
+ match: /userdefaults.*sensitive|insecure.*storage|keychain.*instead/i,
1391
+ generate: (line) => {
1392
+ const m = line.match(/(UserDefaults\.standard\.set\s*\([^,]+,\s*forKey:\s*)(["'][^"']*(?:password|token|secret|key)[^"']*["'])\s*\)/i);
1393
+ if (!m)
1394
+ return null;
1395
+ return {
1396
+ oldText: m[0],
1397
+ newText: `KeychainWrapper.standard.set(/* value */, forKey: ${m[2]}) /* TODO: use Keychain for sensitive data */`,
1398
+ };
1399
+ },
1400
+ },
1401
+ // Swift: print() → Logger
1402
+ {
1403
+ match: /print.*instead.*log|print.*production|remove.*print/i,
1404
+ generate: (line) => {
1405
+ const m = line.match(/\bprint\s*\(([^)]*)\)/);
1406
+ if (!m)
1407
+ return null;
1408
+ return { oldText: m[0], newText: `Logger().info(${m[1]})` };
1409
+ },
1410
+ },
1411
+ // ── Additional Cross-Language Patches ──
1412
+ // Terraform: overly broad CIDR → restrict
1413
+ {
1414
+ match: /overly.*broad.*cidr|0\.0\.0\.0\/0|unrestricted.*ingress|open.*to.*world/i,
1415
+ generate: (line) => {
1416
+ const m = line.match(/(["'])0\.0\.0\.0\/0\1/);
1417
+ if (!m)
1418
+ return null;
1419
+ return { oldText: m[0], newText: `${m[1]}10.0.0.0/8${m[1]} /* TODO: restrict to your CIDR range */` };
1420
+ },
1421
+ },
1422
+ // Terraform: public access enabled → private
1423
+ {
1424
+ match: /public.*access.*enabled|publicly.*accessible|public.*bucket/i,
1425
+ generate: (line) => {
1426
+ const m = line.match(/((?:publicly_accessible|public_access|public)\s*=\s*)true/i);
1427
+ if (!m)
1428
+ return null;
1429
+ return { oldText: m[0], newText: `${m[1]}false` };
1430
+ },
1431
+ },
1432
+ // Terraform: encryption disabled → enabled
1433
+ {
1434
+ match: /encryption.*disabled|unencrypted.*storage|encrypt.*at.*rest/i,
1435
+ generate: (line) => {
1436
+ const m = line.match(/((?:encrypted|encryption_enabled|encrypt)\s*=\s*)false/i);
1437
+ if (!m)
1438
+ return null;
1439
+ return { oldText: m[0], newText: `${m[1]}true` };
1440
+ },
1441
+ },
1442
+ // Bicep/ARM: HTTP allowed → HTTPS only
1443
+ {
1444
+ match: /http.*allowed|https.*only|transport.*security/i,
1445
+ generate: (line) => {
1446
+ const m = line.match(/(httpsOnly\s*:\s*)false/);
1447
+ if (!m)
1448
+ return null;
1449
+ return { oldText: m[0], newText: `${m[1]}true` };
1450
+ },
1451
+ },
1452
+ // ── Dockerfile additional patches ──
1453
+ // ADD → COPY (Docker best practice)
1454
+ {
1455
+ match: /add.*instead.*copy|docker.*add|prefer.*copy/i,
1456
+ generate: (line) => {
1457
+ const m = line.match(/^(\s*)ADD\s+(?!https?:)/);
1458
+ if (!m)
1459
+ return null;
1460
+ return { oldText: `${m[1]}ADD `, newText: `${m[1]}COPY ` };
1461
+ },
1462
+ },
1463
+ // Missing HEALTHCHECK
1464
+ {
1465
+ match: /missing.*healthcheck|no.*healthcheck|docker.*health/i,
1466
+ generate: (line) => {
1467
+ const m = line.match(/^(\s*)(CMD\s+.+)$/);
1468
+ if (!m)
1469
+ return null;
1470
+ return {
1471
+ oldText: m[0],
1472
+ newText: `HEALTHCHECK --interval=30s --timeout=3s CMD curl -f http://localhost:8080/ || exit 1\n${m[1]}${m[2]}`,
1473
+ };
1474
+ },
1475
+ },
1476
+ // ── GitHub Actions / CI Patches ──
1477
+ // Unpinned action version → pin to SHA
1478
+ {
1479
+ match: /unpinned.*action|action.*version.*pin|uses.*latest/i,
1480
+ generate: (line) => {
1481
+ const m = line.match(/(uses:\s*)(\S+)@(master|main|latest)\b/);
1482
+ if (!m)
1483
+ return null;
1484
+ return { oldText: m[0], newText: `${m[1]}${m[2]}@v4 /* TODO: pin to specific SHA */` };
1485
+ },
1486
+ },
1088
1487
  ];
1089
1488
  const MULTI_LINE_PATCH_RULES = [
1090
1489
  // ── Multi-line empty catch block → re-throw with error parameter ──
@@ -1398,6 +1797,108 @@ const MULTI_LINE_PATCH_RULES = [
1398
1797
  return { oldText, newText, startLine: findingLine, endLine: findingLine };
1399
1798
  },
1400
1799
  },
1800
+ // ── Ruby: begin/rescue without specific exception → add specific ──
1801
+ {
1802
+ match: /bare.*rescue|rescue.*generic|rescue.*exception/i,
1803
+ contextLines: 4,
1804
+ generate: (windowLines, windowStart, findingLine) => {
1805
+ const idx = findingLine - windowStart;
1806
+ if (idx < 0 || idx >= windowLines.length)
1807
+ return null;
1808
+ const line = windowLines[idx];
1809
+ const m = line.match(/^(\s*)rescue\s*$/);
1810
+ if (!m)
1811
+ return null;
1812
+ return {
1813
+ oldText: line,
1814
+ newText: `${m[1]}rescue StandardError => e # TODO: use specific exception class`,
1815
+ startLine: findingLine,
1816
+ endLine: findingLine,
1817
+ };
1818
+ },
1819
+ },
1820
+ // ── PHP: missing CSRF token in form → add hidden field ──
1821
+ {
1822
+ match: /csrf.*missing|cross.*site.*request|no.*csrf/i,
1823
+ contextLines: 5,
1824
+ generate: (windowLines, windowStart, findingLine) => {
1825
+ const idx = findingLine - windowStart;
1826
+ if (idx < 0 || idx >= windowLines.length)
1827
+ return null;
1828
+ const line = windowLines[idx];
1829
+ const m = line.match(/^(\s*)(<form\s[^>]*method=["']post["'][^>]*>)/i);
1830
+ if (!m)
1831
+ return null;
1832
+ const [, indent, formTag] = m;
1833
+ return {
1834
+ oldText: line,
1835
+ newText: `${indent}${formTag}\n${indent} <input type="hidden" name="csrf_token" value="<?= htmlspecialchars($csrfToken) ?>" />`,
1836
+ startLine: findingLine,
1837
+ endLine: findingLine,
1838
+ };
1839
+ },
1840
+ },
1841
+ // ── Kotlin: runOnUiThread with long operation → coroutine ──
1842
+ {
1843
+ match: /blocking.*main.*thread|ui.*thread.*block|network.*main/i,
1844
+ contextLines: 5,
1845
+ generate: (windowLines, windowStart, findingLine) => {
1846
+ const idx = findingLine - windowStart;
1847
+ if (idx < 0 || idx >= windowLines.length)
1848
+ return null;
1849
+ const line = windowLines[idx];
1850
+ const m = line.match(/^(\s*)runOnUiThread\s*\{/);
1851
+ if (!m)
1852
+ return null;
1853
+ return {
1854
+ oldText: line,
1855
+ newText: `${m[1]}lifecycleScope.launch(Dispatchers.IO) { // TODO: move I/O-bound work off main thread`,
1856
+ startLine: findingLine,
1857
+ endLine: findingLine,
1858
+ };
1859
+ },
1860
+ },
1861
+ // ── Swift: DispatchQueue.main.sync → async ──
1862
+ {
1863
+ match: /deadlock|main.*thread.*sync|dispatch.*main.*sync/i,
1864
+ contextLines: 3,
1865
+ generate: (windowLines, windowStart, findingLine) => {
1866
+ const idx = findingLine - windowStart;
1867
+ if (idx < 0 || idx >= windowLines.length)
1868
+ return null;
1869
+ const line = windowLines[idx];
1870
+ const m = line.match(/^(\s*)DispatchQueue\.main\.sync\b/);
1871
+ if (!m)
1872
+ return null;
1873
+ return {
1874
+ oldText: "DispatchQueue.main.sync",
1875
+ newText: "DispatchQueue.main.async",
1876
+ startLine: findingLine,
1877
+ endLine: findingLine,
1878
+ };
1879
+ },
1880
+ },
1881
+ // ── Terraform: missing logging/monitoring block ──
1882
+ {
1883
+ match: /missing.*logging|no.*monitoring|audit.*log.*disabled/i,
1884
+ contextLines: 5,
1885
+ generate: (windowLines, windowStart, findingLine) => {
1886
+ const idx = findingLine - windowStart;
1887
+ if (idx < 0 || idx >= windowLines.length)
1888
+ return null;
1889
+ const line = windowLines[idx];
1890
+ const m = line.match(/^(\s*)(resource\s+"[^"]+"\s+"[^"]+"\s*\{)/);
1891
+ if (!m)
1892
+ return null;
1893
+ const [, indent, resourceBlock] = m;
1894
+ return {
1895
+ oldText: line,
1896
+ newText: `${indent}${resourceBlock}\n${indent} # TODO: add logging/monitoring configuration\n${indent} # logging { enabled = true }`,
1897
+ startLine: findingLine,
1898
+ endLine: findingLine,
1899
+ };
1900
+ },
1901
+ },
1401
1902
  ];
1402
1903
  export function enrichWithPatches(findings, code) {
1403
1904
  const lines = code.split("\n");