@kevinrabun/judges 3.20.13 → 3.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/dist/ast/taint-tracker.d.ts +3 -1
  3. package/dist/ast/taint-tracker.d.ts.map +1 -1
  4. package/dist/ast/taint-tracker.js +523 -12
  5. package/dist/ast/taint-tracker.js.map +1 -1
  6. package/dist/evaluators/authentication.d.ts +2 -2
  7. package/dist/evaluators/authentication.d.ts.map +1 -1
  8. package/dist/evaluators/authentication.js +26 -2
  9. package/dist/evaluators/authentication.js.map +1 -1
  10. package/dist/evaluators/cybersecurity.d.ts +2 -2
  11. package/dist/evaluators/cybersecurity.d.ts.map +1 -1
  12. package/dist/evaluators/cybersecurity.js +58 -5
  13. package/dist/evaluators/cybersecurity.js.map +1 -1
  14. package/dist/evaluators/false-positive-review.d.ts.map +1 -1
  15. package/dist/evaluators/false-positive-review.js +104 -10
  16. package/dist/evaluators/false-positive-review.js.map +1 -1
  17. package/dist/evaluators/framework-safety.d.ts.map +1 -1
  18. package/dist/evaluators/framework-safety.js +855 -365
  19. package/dist/evaluators/framework-safety.js.map +1 -1
  20. package/dist/evaluators/index.d.ts.map +1 -1
  21. package/dist/evaluators/index.js +5 -1
  22. package/dist/evaluators/index.js.map +1 -1
  23. package/dist/evaluators/performance.d.ts +2 -2
  24. package/dist/evaluators/performance.d.ts.map +1 -1
  25. package/dist/evaluators/performance.js +33 -4
  26. package/dist/evaluators/performance.js.map +1 -1
  27. package/dist/evaluators/project.d.ts.map +1 -1
  28. package/dist/evaluators/project.js +200 -0
  29. package/dist/evaluators/project.js.map +1 -1
  30. package/dist/evaluators/shared.d.ts +31 -3
  31. package/dist/evaluators/shared.d.ts.map +1 -1
  32. package/dist/evaluators/shared.js +145 -11
  33. package/dist/evaluators/shared.js.map +1 -1
  34. package/dist/language-patterns.d.ts +136 -0
  35. package/dist/language-patterns.d.ts.map +1 -1
  36. package/dist/language-patterns.js +155 -1
  37. package/dist/language-patterns.js.map +1 -1
  38. package/dist/patches/index.d.ts.map +1 -1
  39. package/dist/patches/index.js +210 -0
  40. package/dist/patches/index.js.map +1 -1
  41. package/dist/tools/register-fix.d.ts +6 -0
  42. package/dist/tools/register-fix.d.ts.map +1 -0
  43. package/dist/tools/register-fix.js +153 -0
  44. package/dist/tools/register-fix.js.map +1 -0
  45. package/dist/tools/register-workspace.d.ts +3 -0
  46. package/dist/tools/register-workspace.d.ts.map +1 -0
  47. package/dist/tools/register-workspace.js +215 -0
  48. package/dist/tools/register-workspace.js.map +1 -0
  49. package/dist/tools/register.d.ts +1 -1
  50. package/dist/tools/register.d.ts.map +1 -1
  51. package/dist/tools/register.js +5 -1
  52. package/dist/tools/register.js.map +1 -1
  53. package/dist/tools/schemas.d.ts +2 -2
  54. package/dist/types.d.ts +18 -2
  55. package/dist/types.d.ts.map +1 -1
  56. package/package.json +1 -1
  57. package/server.json +18 -2
@@ -500,6 +500,216 @@ const PATCH_RULES = [
500
500
  return { oldText: m[0], newText: `${m[1]}{ noent: false, dtd: false })` };
501
501
  },
502
502
  },
503
+ // ── Python Patches ──
504
+ // Python: hashlib.md5/sha1 → sha256
505
+ {
506
+ match: /weak.*hash|weak.*crypto|insecure.*hash/i,
507
+ generate: (line) => {
508
+ const m = line.match(/hashlib\.(md5|sha1)\s*\(/i);
509
+ if (!m)
510
+ return null;
511
+ return { oldText: m[0], newText: "hashlib.sha256(" };
512
+ },
513
+ },
514
+ // Python: random.random() → secrets.token_hex()
515
+ {
516
+ match: /insecure.*random|weak.*random/i,
517
+ generate: (line) => {
518
+ const m = line.match(/random\.(?:random|randint|choice)\s*\([^)]*\)/);
519
+ if (!m)
520
+ return null;
521
+ return { oldText: m[0], newText: "secrets.token_hex(32)" };
522
+ },
523
+ },
524
+ // Python: pickle.loads → json.loads
525
+ {
526
+ match: /unsafe.*deseri|pickle.*untrusted|insecure.*deseri/i,
527
+ generate: (line) => {
528
+ const m = line.match(/pickle\.loads?\s*\(/);
529
+ if (!m)
530
+ return null;
531
+ return { oldText: m[0], newText: "json.loads(" };
532
+ },
533
+ },
534
+ // Python: yaml.load(data) → yaml.safe_load(data)
535
+ {
536
+ match: /unsafe.*yaml|yaml.*load|insecure.*yaml/i,
537
+ generate: (line) => {
538
+ const m = line.match(/yaml\.load\s*\(/);
539
+ if (!m)
540
+ return null;
541
+ return { oldText: m[0], newText: "yaml.safe_load(" };
542
+ },
543
+ },
544
+ // Python: os.system → subprocess.run
545
+ {
546
+ match: /command.*inject|os\.system|shell.*inject/i,
547
+ generate: (line) => {
548
+ const m = line.match(/os\.system\s*\(\s*(f?["'])/);
549
+ if (!m)
550
+ return null;
551
+ return { oldText: "os.system(", newText: "subprocess.run(" };
552
+ },
553
+ },
554
+ // Python: assert for validation → raise ValueError
555
+ {
556
+ match: /assert.*valid|assert.*production|assert.*security/i,
557
+ generate: (line) => {
558
+ const m = line.match(/^(\s*)assert\s+(.*),\s*["'](.*?)["']\s*$/);
559
+ if (!m)
560
+ return null;
561
+ return { oldText: m[0], newText: `${m[1]}if not (${m[2]}): raise ValueError("${m[3]}")` };
562
+ },
563
+ },
564
+ // Python DEBUG=True → environment variable
565
+ {
566
+ match: /debug.*true|debug.*production/i,
567
+ generate: (line) => {
568
+ const m = line.match(/^(\s*)DEBUG\s*=\s*True\s*$/);
569
+ if (!m)
570
+ return null;
571
+ return { oldText: m[0], newText: `${m[1]}DEBUG = os.environ.get('DEBUG', 'False') == 'True'` };
572
+ },
573
+ },
574
+ // ── Go Patches ──
575
+ // Go: fmt.Sprintf in SQL → parameterized query marker
576
+ {
577
+ match: /sql.*inject|string.*format.*sql/i,
578
+ generate: (line) => {
579
+ const m = line.match(/fmt\.Sprintf\s*\(\s*["']([^"']*?)%[sdv]/);
580
+ if (!m)
581
+ return null;
582
+ if (!/SELECT|INSERT|UPDATE|DELETE|WHERE/i.test(m[1]))
583
+ return null;
584
+ return { oldText: "fmt.Sprintf(", newText: "/* TODO: use parameterized query ($1) */ fmt.Sprintf(" };
585
+ },
586
+ },
587
+ // Go: http.ListenAndServe → http.ListenAndServeTLS
588
+ {
589
+ match: /unencrypted.*http|http.*tls|insecure.*transport/i,
590
+ generate: (line) => {
591
+ const m = line.match(/http\.ListenAndServe\s*\(/);
592
+ if (!m)
593
+ return null;
594
+ return { oldText: m[0], newText: "http.ListenAndServeTLS(" };
595
+ },
596
+ },
597
+ // ── Java Patches ──
598
+ // Java: MessageDigest MD5/SHA-1 → SHA-256
599
+ {
600
+ match: /weak.*hash|weak.*digest|insecure.*hash/i,
601
+ generate: (line) => {
602
+ const m = line.match(/MessageDigest\.getInstance\s*\(\s*["'](MD5|SHA-1)["']\s*\)/i);
603
+ if (!m)
604
+ return null;
605
+ return { oldText: m[0], newText: `MessageDigest.getInstance("SHA-256")` };
606
+ },
607
+ },
608
+ // Java: new Random() → SecureRandom
609
+ {
610
+ match: /insecure.*random|predictable.*random/i,
611
+ generate: (line) => {
612
+ const m = line.match(/new\s+Random\s*\(\s*\)/);
613
+ if (!m)
614
+ return null;
615
+ return { oldText: m[0], newText: "new SecureRandom()" };
616
+ },
617
+ },
618
+ // Java: DES/3DES → AES (cipher)
619
+ {
620
+ match: /weak.*cipher|insecure.*cipher|des.*encrypt/i,
621
+ generate: (line) => {
622
+ const m = line.match(/Cipher\.getInstance\s*\(\s*["'](?:DES|DESede|3DES)(?:\/[^"']*)?["']\s*\)/i);
623
+ if (!m)
624
+ return null;
625
+ return { oldText: m[0], newText: `Cipher.getInstance("AES/GCM/NoPadding")` };
626
+ },
627
+ },
628
+ // Java: Runtime.exec with string → ProcessBuilder
629
+ {
630
+ match: /command.*inject|runtime.*exec|os.*command/i,
631
+ generate: (line) => {
632
+ const m = line.match(/Runtime\.getRuntime\s*\(\s*\)\.exec\s*\(/);
633
+ if (!m)
634
+ return null;
635
+ return { oldText: m[0], newText: "new ProcessBuilder(" };
636
+ },
637
+ },
638
+ // Java: XMLInputFactory without disabling DTD
639
+ {
640
+ match: /xxe|xml.*injection|xml.*entity/i,
641
+ generate: (line) => {
642
+ const m = line.match(/XMLInputFactory\.newInstance\s*\(\s*\)/);
643
+ if (!m)
644
+ return null;
645
+ return {
646
+ oldText: m[0],
647
+ newText: `XMLInputFactory.newInstance() /* TODO: factory.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false) */`,
648
+ };
649
+ },
650
+ },
651
+ // ── C# Patches ──
652
+ // C#: MD5/SHA1 → SHA256
653
+ {
654
+ match: /weak.*hash|insecure.*hash|obsolete.*hash/i,
655
+ generate: (line) => {
656
+ const m = line.match(/(MD5|SHA1)\.Create\s*\(\s*\)/);
657
+ if (!m)
658
+ return null;
659
+ return { oldText: m[0], newText: "SHA256.Create()" };
660
+ },
661
+ },
662
+ // C#: new Random() → RandomNumberGenerator
663
+ {
664
+ match: /insecure.*random|predictable.*random/i,
665
+ generate: (line) => {
666
+ const m = line.match(/new\s+Random\s*\(\s*\)/);
667
+ if (!m)
668
+ return null;
669
+ return { oldText: m[0], newText: "RandomNumberGenerator.Create()" };
670
+ },
671
+ },
672
+ // C#: AllowAnyOrigin → specific origin comment
673
+ {
674
+ match: /cors.*wildcard|permissive.*cors|cors.*any/i,
675
+ generate: (line) => {
676
+ const m = line.match(/\.AllowAnyOrigin\s*\(\s*\)/);
677
+ if (!m)
678
+ return null;
679
+ return { oldText: m[0], newText: `.WithOrigins("https://your-domain.com") /* TODO: restrict origins */` };
680
+ },
681
+ },
682
+ // C#: FromSqlRaw with interpolation → FromSqlInterpolated
683
+ {
684
+ match: /sql.*inject|raw.*sql/i,
685
+ generate: (line) => {
686
+ const m = line.match(/FromSqlRaw\s*\(\s*\$/);
687
+ if (!m)
688
+ return null;
689
+ return { oldText: "FromSqlRaw($", newText: "FromSqlInterpolated($" };
690
+ },
691
+ },
692
+ // ── Rust Patches ──
693
+ // Rust: unwrap() → expect() with message
694
+ {
695
+ match: /unwrap.*panic|unwrap.*error|unhandled.*unwrap/i,
696
+ generate: (line) => {
697
+ const m = line.match(/\.unwrap\s*\(\s*\)/);
698
+ if (!m)
699
+ return null;
700
+ return { oldText: m[0], newText: `.expect("TODO: handle this error")` };
701
+ },
702
+ },
703
+ // Rust: unsafe block → comment marker
704
+ {
705
+ match: /unsafe.*block|unsafe.*usage/i,
706
+ generate: (line) => {
707
+ const m = line.match(/^(\s*)unsafe\s*\{/);
708
+ if (!m)
709
+ return null;
710
+ return { oldText: m[0], newText: `${m[1]}// SAFETY: TODO: document why unsafe is needed\n${m[1]}unsafe {` };
711
+ },
712
+ },
503
713
  ];
504
714
  const MULTI_LINE_PATCH_RULES = [
505
715
  // ── Multi-line empty catch block → re-throw with error parameter ──
@@ -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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"}
@@ -0,0 +1,6 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ /**
3
+ * Register the fix_code tool for one-shot code evaluation + auto-fix.
4
+ */
5
+ export declare function registerFixTools(server: McpServer): void;
6
+ //# sourceMappingURL=register-fix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-fix.d.ts","sourceRoot":"","sources":["../../src/tools/register-fix.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAExD"}
@@ -0,0 +1,153 @@
1
+ // ─── Fix Tool Handler ─────────────────────────────────────────────────────────
2
+ // MCP tool handler for auto-fixing code by evaluating it, collecting findings
3
+ // with patches, and applying the patches in a single round-trip.
4
+ // ──────────────────────────────────────────────────────────────────────────────
5
+ import { z } from "zod";
6
+ import { evaluateWithTribunal, evaluateWithJudge } from "../evaluators/index.js";
7
+ import { getJudge, JUDGES } from "../judges/index.js";
8
+ import { applyPatches } from "../commands/fix.js";
9
+ import { configSchema, toJudgesConfig } from "./schemas.js";
10
+ /**
11
+ * Register the fix_code tool for one-shot code evaluation + auto-fix.
12
+ */
13
+ export function registerFixTools(server) {
14
+ registerFixCode(server);
15
+ }
16
+ // ─── fix_code ────────────────────────────────────────────────────────────────
17
+ function registerFixCode(server) {
18
+ const judgeIds = JUDGES.map((j) => j.id);
19
+ server.tool("fix_code", "Evaluate code with the Judges Panel and automatically apply all available auto-fix patches. Returns the fixed code along with a summary of applied and remaining findings. Use this to fix security, performance, and quality issues in a single step.", {
20
+ code: z.string().describe("The source code to evaluate and fix. Include the full file content."),
21
+ language: z
22
+ .string()
23
+ .describe("The programming language of the code (e.g., 'typescript', 'python', 'javascript', 'csharp', 'java')."),
24
+ judgeId: z
25
+ .string()
26
+ .optional()
27
+ .describe(`Optional: restrict fixes to a single judge. One of: ${judgeIds.join(", ")}`),
28
+ context: z
29
+ .string()
30
+ .optional()
31
+ .describe("Optional additional context about the code — e.g., what the code does, which framework it uses."),
32
+ minConfidence: z
33
+ .number()
34
+ .min(0)
35
+ .max(1)
36
+ .optional()
37
+ .describe("Minimum finding confidence to include fixes for (0-1, default: 0.5)"),
38
+ config: configSchema,
39
+ }, async ({ code, language, judgeId, context, minConfidence, config }) => {
40
+ try {
41
+ const effectiveMinConfidence = minConfidence ?? 0.5;
42
+ // ── Evaluate ────────────────────────────────────────────────
43
+ let allFindings;
44
+ if (judgeId) {
45
+ const judge = getJudge(judgeId);
46
+ if (!judge) {
47
+ return {
48
+ content: [
49
+ {
50
+ type: "text",
51
+ text: `Error: Unknown judge ID "${judgeId}". Available judges: ${judgeIds.join(", ")}`,
52
+ },
53
+ ],
54
+ isError: true,
55
+ };
56
+ }
57
+ const evaluation = evaluateWithJudge(judge, code, language, context, {
58
+ minConfidence: effectiveMinConfidence,
59
+ config: toJudgesConfig(config),
60
+ });
61
+ allFindings = evaluation.findings;
62
+ }
63
+ else {
64
+ const verdict = evaluateWithTribunal(code, language, context, {
65
+ minConfidence: effectiveMinConfidence,
66
+ config: toJudgesConfig(config),
67
+ });
68
+ allFindings = verdict.evaluations.flatMap((e) => e.findings);
69
+ }
70
+ // ── Collect fixable findings ────────────────────────────────
71
+ const fixable = allFindings
72
+ .filter((f) => f.patch && (f.confidence ?? 1) >= effectiveMinConfidence)
73
+ .map((f) => ({
74
+ ruleId: f.ruleId,
75
+ title: f.title,
76
+ severity: f.severity,
77
+ patch: f.patch,
78
+ lineNumbers: f.lineNumbers,
79
+ }));
80
+ if (fixable.length === 0) {
81
+ const remaining = allFindings.filter((f) => !f.patch);
82
+ let text = `# Fix Results\n\n**No auto-fixable findings** detected.\n\n`;
83
+ if (remaining.length > 0) {
84
+ text += `### Remaining Findings (${remaining.length}, no auto-fix available)\n\n`;
85
+ for (const f of remaining.slice(0, 20)) {
86
+ const conf = f.confidence !== null && f.confidence !== undefined ? ` (${Math.round(f.confidence * 100)}%)` : "";
87
+ text += `- **${f.severity.toUpperCase()}** \`${f.ruleId}\`: ${f.title}${conf}\n`;
88
+ }
89
+ if (remaining.length > 20) {
90
+ text += `- … and ${remaining.length - 20} more\n`;
91
+ }
92
+ }
93
+ else {
94
+ text += "_No findings at all — code looks good!_\n";
95
+ }
96
+ text += `\n\`\`\`${language}\n${code}\n\`\`\`\n`;
97
+ return {
98
+ content: [{ type: "text", text }],
99
+ };
100
+ }
101
+ // ── Apply patches ───────────────────────────────────────────
102
+ const { result: fixedCode, applied, skipped } = applyPatches(code, fixable);
103
+ // ── Build summary ───────────────────────────────────────────
104
+ const remaining = allFindings.filter((f) => !f.patch || !fixable.some((p) => p.ruleId === f.ruleId && p.patch.startLine === f.patch.startLine));
105
+ let text = `# Fix Results\n\n`;
106
+ text += `| Metric | Count |\n|--------|-------|\n`;
107
+ text += `| Total findings | ${allFindings.length} |\n`;
108
+ text += `| Auto-fixable | ${fixable.length} |\n`;
109
+ text += `| Fixes applied | ${applied} |\n`;
110
+ text += `| Fixes skipped | ${skipped} |\n`;
111
+ text += `| Remaining | ${remaining.length} |\n\n`;
112
+ if (applied > 0) {
113
+ text += `### Applied Fixes\n\n`;
114
+ for (const p of fixable) {
115
+ text += `- **${p.severity.toUpperCase()}** \`${p.ruleId}\`: ${p.title}`;
116
+ text += ` — line ${p.patch.startLine}: \`${p.patch.oldText.slice(0, 60)}\` → \`${p.patch.newText.slice(0, 60)}\`\n`;
117
+ }
118
+ text += `\n`;
119
+ }
120
+ if (remaining.length > 0) {
121
+ text += `### Remaining Findings (manual fix needed)\n\n`;
122
+ for (const f of remaining.slice(0, 15)) {
123
+ const conf = f.confidence !== null && f.confidence !== undefined ? ` (${Math.round(f.confidence * 100)}%)` : "";
124
+ const line = f.lineNumbers?.[0] ? ` L${f.lineNumbers[0]}` : "";
125
+ text += `- **${f.severity.toUpperCase()}** \`${f.ruleId}\`:${line} ${f.title}${conf}\n`;
126
+ if (f.recommendation) {
127
+ text += ` > ${f.recommendation.slice(0, 120)}\n`;
128
+ }
129
+ }
130
+ if (remaining.length > 15) {
131
+ text += `- … and ${remaining.length - 15} more\n`;
132
+ }
133
+ text += `\n`;
134
+ }
135
+ text += `### Fixed Code\n\n\`\`\`${language}\n${fixedCode}\n\`\`\`\n`;
136
+ return {
137
+ content: [{ type: "text", text }],
138
+ };
139
+ }
140
+ catch (error) {
141
+ return {
142
+ content: [
143
+ {
144
+ type: "text",
145
+ text: error instanceof Error ? `Error: ${error.message}` : "Error: Failed to fix code",
146
+ },
147
+ ],
148
+ isError: true,
149
+ };
150
+ }
151
+ });
152
+ }
153
+ //# sourceMappingURL=register-fix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-fix.js","sourceRoot":"","sources":["../../src/tools/register-fix.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerWorkspaceTools(server: McpServer): void;
3
+ //# sourceMappingURL=register-workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-workspace.d.ts","sourceRoot":"","sources":["../../src/tools/register-workspace.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsFzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4K9D"}