@kevinrabun/judges 3.26.0 → 3.28.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 (81) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/api.d.ts +5 -5
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +3 -3
  5. package/dist/api.js.map +1 -1
  6. package/dist/ast/index.d.ts.map +1 -1
  7. package/dist/ast/index.js +31 -4
  8. package/dist/ast/index.js.map +1 -1
  9. package/dist/ast/structural-parser.js +16 -3
  10. package/dist/ast/structural-parser.js.map +1 -1
  11. package/dist/ast/tree-sitter-ast.d.ts.map +1 -1
  12. package/dist/ast/tree-sitter-ast.js +159 -0
  13. package/dist/ast/tree-sitter-ast.js.map +1 -1
  14. package/dist/calibration.d.ts +16 -0
  15. package/dist/calibration.d.ts.map +1 -1
  16. package/dist/calibration.js +43 -0
  17. package/dist/calibration.js.map +1 -1
  18. package/dist/cli.d.ts.map +1 -1
  19. package/dist/cli.js +3 -0
  20. package/dist/cli.js.map +1 -1
  21. package/dist/commands/baseline.d.ts.map +1 -1
  22. package/dist/commands/baseline.js +3 -0
  23. package/dist/commands/baseline.js.map +1 -1
  24. package/dist/commands/diff.d.ts.map +1 -1
  25. package/dist/commands/diff.js +165 -2
  26. package/dist/commands/diff.js.map +1 -1
  27. package/dist/commands/snapshot.d.ts +27 -0
  28. package/dist/commands/snapshot.d.ts.map +1 -1
  29. package/dist/commands/snapshot.js +70 -0
  30. package/dist/commands/snapshot.js.map +1 -1
  31. package/dist/config.d.ts +22 -0
  32. package/dist/config.d.ts.map +1 -1
  33. package/dist/config.js +101 -1
  34. package/dist/config.js.map +1 -1
  35. package/dist/dedup.d.ts +29 -0
  36. package/dist/dedup.d.ts.map +1 -1
  37. package/dist/dedup.js +32 -0
  38. package/dist/dedup.js.map +1 -1
  39. package/dist/evaluators/accessibility.d.ts.map +1 -1
  40. package/dist/evaluators/accessibility.js +141 -1
  41. package/dist/evaluators/accessibility.js.map +1 -1
  42. package/dist/evaluators/cost-effectiveness.d.ts.map +1 -1
  43. package/dist/evaluators/cost-effectiveness.js +99 -2
  44. package/dist/evaluators/cost-effectiveness.js.map +1 -1
  45. package/dist/evaluators/hallucination-detection.d.ts.map +1 -1
  46. package/dist/evaluators/hallucination-detection.js +59 -0
  47. package/dist/evaluators/hallucination-detection.js.map +1 -1
  48. package/dist/evaluators/iac-security.d.ts.map +1 -1
  49. package/dist/evaluators/iac-security.js +195 -1
  50. package/dist/evaluators/iac-security.js.map +1 -1
  51. package/dist/evaluators/index.d.ts +19 -2
  52. package/dist/evaluators/index.d.ts.map +1 -1
  53. package/dist/evaluators/index.js +18 -1
  54. package/dist/evaluators/index.js.map +1 -1
  55. package/dist/evaluators/project.d.ts.map +1 -1
  56. package/dist/evaluators/project.js +42 -19
  57. package/dist/evaluators/project.js.map +1 -1
  58. package/dist/evaluators/testing.d.ts.map +1 -1
  59. package/dist/evaluators/testing.js +50 -0
  60. package/dist/evaluators/testing.js.map +1 -1
  61. package/dist/evaluators/ux.d.ts.map +1 -1
  62. package/dist/evaluators/ux.js +80 -1
  63. package/dist/evaluators/ux.js.map +1 -1
  64. package/dist/github-app.d.ts.map +1 -1
  65. package/dist/github-app.js +2 -0
  66. package/dist/github-app.js.map +1 -1
  67. package/dist/language-patterns.d.ts +62 -0
  68. package/dist/language-patterns.d.ts.map +1 -1
  69. package/dist/language-patterns.js +78 -0
  70. package/dist/language-patterns.js.map +1 -1
  71. package/dist/presets.d.ts.map +1 -1
  72. package/dist/presets.js +20 -0
  73. package/dist/presets.js.map +1 -1
  74. package/dist/types.d.ts +25 -1
  75. package/dist/types.d.ts.map +1 -1
  76. package/grammars/tree-sitter-kotlin.wasm +0 -0
  77. package/grammars/tree-sitter-php.wasm +0 -0
  78. package/grammars/tree-sitter-ruby.wasm +0 -0
  79. package/grammars/tree-sitter-swift.wasm +0 -0
  80. package/package.json +1 -9
  81. package/server.json +2 -2
@@ -489,7 +489,7 @@ export function analyzeIacSecurity(code, language) {
489
489
  }
490
490
  if (yamlSecretLines.length > 0) {
491
491
  findings.push({
492
- ruleId: `${prefix}-${String(ruleNum).padStart(3, "0")}`,
492
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
493
493
  severity: "critical",
494
494
  title: "Hardcoded secrets in YAML infrastructure code",
495
495
  description: "Passwords, API keys, or secrets are hardcoded in Docker Compose or Kubernetes manifests. These values are stored in version control and visible to anyone with repository access.",
@@ -500,6 +500,200 @@ export function analyzeIacSecurity(code, language) {
500
500
  confidence: 0.9,
501
501
  });
502
502
  }
503
+ // K8s: runAsNonRoot not set or runAsRoot
504
+ const k8sRootLines = [];
505
+ for (let i = 0; i < yamlLines.length; i++) {
506
+ const line = yamlLines[i];
507
+ if (/^\s*runAsNonRoot\s*:\s*false/i.test(line)) {
508
+ k8sRootLines.push(i + 1);
509
+ }
510
+ if (/^\s*runAsUser\s*:\s*0\b/i.test(line)) {
511
+ k8sRootLines.push(i + 1);
512
+ }
513
+ }
514
+ if (k8sRootLines.length > 0) {
515
+ findings.push({
516
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
517
+ severity: "high",
518
+ title: "Kubernetes container running as root user",
519
+ description: "Container security context allows running as root (runAsNonRoot: false or runAsUser: 0). A compromised container running as root increases the blast radius.",
520
+ lineNumbers: k8sRootLines,
521
+ recommendation: "Set runAsNonRoot: true and specify a non-zero runAsUser in the pod or container securityContext.",
522
+ reference: "CIS Kubernetes Benchmark: Pod Security",
523
+ suggestedFix: "Add to securityContext: runAsNonRoot: true, runAsUser: 1000, readOnlyRootFilesystem: true.",
524
+ confidence: 0.9,
525
+ });
526
+ }
527
+ // K8s: missing resource limits
528
+ const hasContainers = /^\s*containers\s*:/m.test(code);
529
+ const hasLimits = /^\s*limits\s*:/m.test(code);
530
+ if (hasContainers && !hasLimits) {
531
+ const containerLineNums = [];
532
+ for (let i = 0; i < yamlLines.length; i++) {
533
+ if (/^\s*-\s*name\s*:/i.test(yamlLines[i]) &&
534
+ /containers/i.test(yamlLines.slice(Math.max(0, i - 5), i).join("\n"))) {
535
+ containerLineNums.push(i + 1);
536
+ }
537
+ }
538
+ if (containerLineNums.length > 0) {
539
+ findings.push({
540
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
541
+ severity: "medium",
542
+ title: "Kubernetes container without resource limits",
543
+ description: "Containers do not specify resource limits (CPU/memory). Without limits, a runaway container can starve other workloads and cause node instability.",
544
+ lineNumbers: containerLineNums.slice(0, 5),
545
+ recommendation: "Set resources.limits.cpu and resources.limits.memory for every container to prevent resource exhaustion.",
546
+ reference: "CIS Kubernetes Benchmark: Resource Management",
547
+ suggestedFix: "Add resources: { limits: { cpu: '500m', memory: '256Mi' }, requests: { cpu: '100m', memory: '128Mi' } }.",
548
+ confidence: 0.75,
549
+ });
550
+ }
551
+ }
552
+ // K8s: readOnlyRootFilesystem not set
553
+ const hasReadOnly = /readOnlyRootFilesystem\s*:\s*true/m.test(code);
554
+ if (hasContainers && !hasReadOnly) {
555
+ findings.push({
556
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
557
+ severity: "medium",
558
+ title: "Container filesystem is writable",
559
+ description: "Kubernetes containers do not set readOnlyRootFilesystem: true. A writable filesystem allows attackers to install malicious tools or modify binaries.",
560
+ recommendation: "Set securityContext.readOnlyRootFilesystem: true and use emptyDir volumes for paths that need writes.",
561
+ reference: "CIS Kubernetes Benchmark: Container Security",
562
+ suggestedFix: "Add to container securityContext: readOnlyRootFilesystem: true. Mount emptyDir for /tmp and other writable paths.",
563
+ confidence: 0.7,
564
+ isAbsenceBased: true,
565
+ });
566
+ }
567
+ }
568
+ // ── IAC: Missing resource tags ────────────────────────────────────────
569
+ if (lang === "terraform") {
570
+ const hasResources = /resource\s+"[^"]+"\s+"[^"]+"\s*\{/i.test(code);
571
+ const hasTags = /tags\s*=\s*\{/i.test(code) || /tags\s*=\s*merge\(/i.test(code);
572
+ if (hasResources && !hasTags) {
573
+ const resourceDefLines = [];
574
+ const tfLines2 = code.split("\n");
575
+ for (let i = 0; i < tfLines2.length; i++) {
576
+ if (/resource\s+"[^"]+"\s+"[^"]+"\s*\{/i.test(tfLines2[i])) {
577
+ resourceDefLines.push(i + 1);
578
+ }
579
+ }
580
+ findings.push({
581
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
582
+ severity: "medium",
583
+ title: "Resources without tags",
584
+ description: "Terraform resources are defined without tags. Tags are essential for cost tracking, ownership, environment identification, and automated governance.",
585
+ lineNumbers: resourceDefLines.slice(0, 5),
586
+ recommendation: "Add a tags block to all resources. Use a common set of tags (environment, owner, project, cost-center) and consider using default_tags in the provider block.",
587
+ reference: "Cloud Best Practices: Resource Tagging",
588
+ suggestedFix: 'Add tags = { Environment = var.environment, Project = var.project, Owner = var.owner, ManagedBy = "Terraform" } to each resource.',
589
+ confidence: 0.7,
590
+ });
591
+ }
592
+ }
593
+ // ── IAC: Managed identity not used (password-based auth in IaC) ─────
594
+ if (lang === "terraform" || lang === "bicep" || lang === "arm") {
595
+ const passwordAuthLines = [];
596
+ const lines = code.split("\n");
597
+ for (let i = 0; i < lines.length; i++) {
598
+ const line = lines[i];
599
+ if (/admin_username\s*=|administratorLogin\s*[:=]/i.test(line)) {
600
+ const ctx = lines.slice(i, Math.min(lines.length, i + 10)).join("\n");
601
+ if (/admin_password\s*=|administratorLoginPassword\s*[:=]/i.test(ctx) && !/identity\s*[:={]/i.test(ctx)) {
602
+ passwordAuthLines.push(i + 1);
603
+ }
604
+ }
605
+ }
606
+ if (passwordAuthLines.length > 0) {
607
+ findings.push({
608
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
609
+ severity: "medium",
610
+ title: "Password-based authentication without managed identity",
611
+ description: "Resources use admin username/password authentication without a managed identity configured. Managed identities eliminate the need for credential management and rotation.",
612
+ lineNumbers: passwordAuthLines,
613
+ recommendation: "Configure a system-assigned or user-assigned managed identity and use Azure AD/Entra ID authentication where supported.",
614
+ reference: "Azure Well-Architected Framework: Identity",
615
+ suggestedFix: lang === "terraform"
616
+ ? 'Add identity { type = "SystemAssigned" } to the resource and use Azure AD authentication.'
617
+ : "Add identity: { type: 'SystemAssigned' } and configure Azure AD authentication.",
618
+ confidence: 0.75,
619
+ });
620
+ }
621
+ }
622
+ // ── IAC: Database firewall allows all Azure services ──────────────────
623
+ if (lang === "terraform" || lang === "bicep" || lang === "arm") {
624
+ const allAzureLines = [];
625
+ const lines = code.split("\n");
626
+ for (let i = 0; i < lines.length; i++) {
627
+ const line = lines[i];
628
+ // "Allow all Azure services" firewall rule: start=0.0.0.0 end=0.0.0.0
629
+ if (/start_ip_address\s*=\s*["']0\.0\.0\.0/i.test(line) || /startIpAddress\s*[:=]\s*['"]0\.0\.0\.0/i.test(line)) {
630
+ const ctx = lines.slice(i, Math.min(lines.length, i + 5)).join("\n");
631
+ if (/end_ip_address\s*=\s*["']0\.0\.0\.0/i.test(ctx) || /endIpAddress\s*[:=]\s*['"]0\.0\.0\.0/i.test(ctx)) {
632
+ allAzureLines.push(i + 1);
633
+ }
634
+ }
635
+ }
636
+ if (allAzureLines.length > 0) {
637
+ findings.push({
638
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
639
+ severity: "high",
640
+ title: "Database firewall allows all Azure services",
641
+ description: "A firewall rule with start and end IP of 0.0.0.0 allows any Azure service (including other tenants) to access the database. This is overly permissive.",
642
+ lineNumbers: allAzureLines,
643
+ recommendation: "Remove the 'Allow Azure services' rule and use private endpoints or VNet service endpoints for secure connectivity.",
644
+ reference: "CIS Azure Benchmark: Database Security",
645
+ suggestedFix: "Remove the 0.0.0.0-0.0.0.0 firewall rule and configure a private endpoint for the database instead.",
646
+ confidence: 0.85,
647
+ });
648
+ }
649
+ }
650
+ // ── IAC: Dockerfile ADD instead of COPY ───────────────────────────────
651
+ if (lang === "dockerfile") {
652
+ const addLines = [];
653
+ const dockerLines2 = code.split("\n");
654
+ for (let i = 0; i < dockerLines2.length; i++) {
655
+ const line = dockerLines2[i];
656
+ if (/^\s*ADD\s+/i.test(line) &&
657
+ !/^\s*ADD\s+https?:\/\//i.test(line) &&
658
+ !/\.tar|\.gz|\.tgz|\.bz2|\.xz/i.test(line)) {
659
+ addLines.push(i + 1);
660
+ }
661
+ }
662
+ if (addLines.length > 0) {
663
+ findings.push({
664
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
665
+ severity: "medium",
666
+ title: "Dockerfile uses ADD instead of COPY",
667
+ description: "The ADD instruction has implicit tar extraction and remote URL fetching that can introduce unexpected behavior. COPY is more explicit and predictable.",
668
+ lineNumbers: addLines,
669
+ recommendation: "Use COPY instead of ADD for local file copies. Only use ADD when you specifically need tar auto-extraction or remote URL downloading.",
670
+ reference: "Dockerfile Best Practices: COPY vs ADD",
671
+ suggestedFix: "Replace ADD with COPY for simple file copies: COPY ./app /app instead of ADD ./app /app.",
672
+ confidence: 0.8,
673
+ });
674
+ }
675
+ // Dockerfile: latest tag in FROM
676
+ const latestTagLines = [];
677
+ for (let i = 0; i < dockerLines2.length; i++) {
678
+ const line = dockerLines2[i];
679
+ if (/^\s*FROM\s+\S+:latest\b/i.test(line) ||
680
+ (/^\s*FROM\s+\S+\s/i.test(line) && !/:/i.test(line.split(/\s+/)[1] ?? ""))) {
681
+ latestTagLines.push(i + 1);
682
+ }
683
+ }
684
+ if (latestTagLines.length > 0) {
685
+ findings.push({
686
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
687
+ severity: "medium",
688
+ title: "Dockerfile FROM uses latest or untagged image",
689
+ description: "Using :latest or untagged base images leads to non-reproducible builds. The image content can change unexpectedly between builds.",
690
+ lineNumbers: latestTagLines,
691
+ recommendation: "Pin base images to a specific version tag or digest: FROM node:20-alpine instead of FROM node:latest.",
692
+ reference: "Dockerfile Best Practices: Image Pinning",
693
+ suggestedFix: "Pin the image version: FROM node:20-alpine or FROM node@sha256:abc123... for maximum reproducibility.",
694
+ confidence: 0.85,
695
+ });
696
+ }
503
697
  }
504
698
  return findings;
505
699
  }
@@ -1 +1 @@
1
- {"version":3,"file":"iac-security.js","sourceRoot":"","sources":["../../src/evaluators/iac-security.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iac-security.js","sourceRoot":"","sources":["../../src/evaluators/iac-security.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,13 @@ export interface EvaluationOptions {
37
37
  * for fine-grained control (minSamples, maxReduction, maxBoost).
38
38
  */
39
39
  calibrate?: boolean | CalibrationOptions;
40
+ /**
41
+ * Maximum number of files to evaluate concurrently in project mode.
42
+ * Files within each batch are processed sequentially (judges are CPU-bound),
43
+ * but AST and taint caches are pre-warmed for the entire batch before
44
+ * evaluation begins. Defaults to 8.
45
+ */
46
+ concurrency?: number;
40
47
  /** @internal — pre-computed AST structure for the file (set by evaluateWithTribunal) */
41
48
  _astCache?: CodeStructure;
42
49
  /** @internal — pre-computed taint flows for the file (set by evaluateWithTribunal) */
@@ -44,6 +51,16 @@ export interface EvaluationOptions {
44
51
  }
45
52
  /** Clear all internal evaluation caches. Useful in tests or after large runs. */
46
53
  export declare function clearEvaluationCaches(): void;
54
+ /**
55
+ * Pre-warm the AST structure and taint flow caches for a batch of files.
56
+ * Call this before running evaluateWithTribunal on each file to front-load
57
+ * the expensive parsing step and avoid redundant computation when the
58
+ * tribunal processes each file individually.
59
+ */
60
+ export declare function preWarmCaches(files: ReadonlyArray<{
61
+ content: string;
62
+ language: string;
63
+ }>, optionsSuffix?: string): void;
47
64
  /**
48
65
  * Apply inline suppression comments and return both filtered findings
49
66
  * and a full audit trail of what was suppressed.
@@ -77,6 +94,6 @@ import { runAppBuilderWorkflow as _runAppBuilderWorkflow } from "./app-builder.j
77
94
  export declare function runAppBuilderWorkflow(params: Parameters<typeof _runAppBuilderWorkflow>[1]): ReturnType<typeof _runAppBuilderWorkflow>;
78
95
  export { formatVerdictAsMarkdown, formatEvaluationAsMarkdown };
79
96
  export { enrichWithPatches } from "../patches/index.js";
80
- export { crossEvaluatorDedup, crossFileDedup, diffFindings, formatFindingDiff } from "../dedup.js";
81
- export type { FindingDiff } from "../dedup.js";
97
+ export { crossEvaluatorDedup, crossFileDedup, diffFindings, formatFindingDiff, evaluateNetChangeGate, } from "../dedup.js";
98
+ export type { FindingDiff, NetChangeGateOptions, NetChangeGateResult } from "../dedup.js";
82
99
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/evaluators/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/evaluators/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACd,WAAW,EACX,OAAO,EAGP,kBAAkB,EAClB,YAAY,EAEZ,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAKzD,OAAO,EAKL,uBAAuB,EACvB,0BAA0B,EAK3B,MAAM,aAAa,CAAC;AAQrB,OAAO,KAAK,EAAE,kBAAkB,EAAsB,MAAM,mBAAmB,CAAC;AAYhF,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,yGAAyG;IACzG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IACjC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC;IACzC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,sFAAsF;IACtF,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;CAC3B;AAQD,iFAAiF;AACjF,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,aAAa,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EAC3D,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAUN;AAsSD;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB,CA0DrG;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAEpF;AAqBD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,eAAe,CA6EjB;AA+BD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,eAAe,CAoKjB;AAMD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EACjE,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,cAAc,CAIhB;AAID;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,WAAW,CAqBb;AAGD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAIxD,OAAO,EAAE,qBAAqB,IAAI,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAKnF,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC,GACnD,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAE3C;AAID,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
@@ -25,6 +25,23 @@ export function clearEvaluationCaches() {
25
25
  astStructureCache.clear();
26
26
  taintFlowCache.clear();
27
27
  }
28
+ /**
29
+ * Pre-warm the AST structure and taint flow caches for a batch of files.
30
+ * Call this before running evaluateWithTribunal on each file to front-load
31
+ * the expensive parsing step and avoid redundant computation when the
32
+ * tribunal processes each file individually.
33
+ */
34
+ export function preWarmCaches(files, optionsSuffix) {
35
+ for (const f of files) {
36
+ const hash = contentHash(f.content, f.language + (optionsSuffix ?? ""));
37
+ if (!astStructureCache.get(hash)) {
38
+ astStructureCache.set(hash, analyzeStructure(f.content, f.language));
39
+ }
40
+ if (!taintFlowCache.get(hash)) {
41
+ taintFlowCache.set(hash, analyzeTaintFlows(f.content, f.language));
42
+ }
43
+ }
44
+ }
28
45
  /**
29
46
  * Known sanitization/security library names. When one is imported, related
30
47
  * findings can have confidence reduced because the developer has taken steps
@@ -632,5 +649,5 @@ export function runAppBuilderWorkflow(params) {
632
649
  // ─── Re-exports ──────────────────────────────────────────────────────────────
633
650
  export { formatVerdictAsMarkdown, formatEvaluationAsMarkdown };
634
651
  export { enrichWithPatches } from "../patches/index.js";
635
- export { crossEvaluatorDedup, crossFileDedup, diffFindings, formatFindingDiff } from "../dedup.js";
652
+ export { crossEvaluatorDedup, crossFileDedup, diffFindings, formatFindingDiff, evaluateNetChangeGate, } from "../dedup.js";
636
653
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/evaluators/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/evaluators/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/evaluators/project.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAW,cAAc,EAAqB,eAAe,EAAE,MAAM,aAAa,CAAC;AAK/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAKpD,qDAAqD;AACrD,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAKD,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,eAAe,CAAC;CACtH;AAyeD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EACjE,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,cAAc,CAgThB"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/evaluators/project.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAW,cAAc,EAAqB,eAAe,EAAE,MAAM,aAAa,CAAC;AAK/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMpD,qDAAqD;AACrD,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAKD,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,eAAe,CAAC;CACtH;AAyeD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EACjE,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,cAAc,CA6UhB"}
@@ -8,6 +8,7 @@ import { analyzeCrossFileTaint } from "../ast/index.js";
8
8
  import { applyConfidenceThreshold, isAbsenceBasedFinding } from "../scoring.js";
9
9
  import { crossFileDedup } from "../dedup.js";
10
10
  import { LRUCache, contentHash } from "../cache.js";
11
+ import { preWarmCaches } from "./index.js";
11
12
  // ─── Module-level tribunal result cache ──────────────────────────────────────
12
13
  const tribunalResultCache = new LRUCache(256);
13
14
  /** Clear the project-level tribunal result cache. */
@@ -442,26 +443,48 @@ export function evaluateProject(runner, files, context, options) {
442
443
  const crossFileMitigations = resolveProjectImports(files);
443
444
  // Scan all project files for security patterns (regardless of import relationships)
444
445
  const projectWideCategories = scanProjectWideSecurityPatterns(files);
445
- // Per-file evaluations (cached by content hash to skip unchanged files)
446
- const fileResults = files.map((f) => {
447
- const hash = contentHash(f.content, f.language);
448
- let verdict = tribunalResultCache.get(hash);
449
- if (!verdict) {
450
- verdict = runner.evaluateWithTribunal(f.content, f.language, context, options);
451
- tribunalResultCache.set(hash, verdict);
446
+ // ── Batch pre-warm AST & taint caches ──────────────────────────────────
447
+ // Front-load the expensive parsing step for all files before the per-file
448
+ // tribunal loop. This ensures each evaluateWithTribunal call gets a cache
449
+ // hit for AST/taint analysis, avoiding redundant computation.
450
+ const optionsSuffix = options
451
+ ? JSON.stringify({
452
+ ast: options.includeAstFindings,
453
+ mc: options.minConfidence,
454
+ mf: options.maxFindingsPerFile,
455
+ dr: options.config?.disabledRules,
456
+ dj: options.config?.disabledJudges,
457
+ ms: options.config?.minSeverity,
458
+ jw: options.config?.judgeWeights,
459
+ mfg: options.mustFixGate,
460
+ })
461
+ : "";
462
+ preWarmCaches(files, optionsSuffix);
463
+ // ── Per-file evaluations (batched, cached by content hash) ─────────────
464
+ const batchSize = options?.concurrency ?? 8;
465
+ const fileResults = [];
466
+ for (let i = 0; i < files.length; i += batchSize) {
467
+ const batch = files.slice(i, i + batchSize);
468
+ for (const f of batch) {
469
+ const hash = contentHash(f.content, f.language);
470
+ let verdict = tribunalResultCache.get(hash);
471
+ if (!verdict) {
472
+ verdict = runner.evaluateWithTribunal(f.content, f.language, context, options);
473
+ tribunalResultCache.set(hash, verdict);
474
+ }
475
+ // Apply cross-file adjustments if this file imports security modules
476
+ const mitigated = crossFileMitigations.get(f.path);
477
+ let adjustedFindings = mitigated && mitigated.size > 0 ? applyCrossFileAdjustments(verdict.findings, mitigated) : verdict.findings;
478
+ // Apply project-wide absence resolution for categories found anywhere
479
+ adjustedFindings = applyProjectWideAbsenceResolution(adjustedFindings, projectWideCategories);
480
+ fileResults.push({
481
+ path: f.path,
482
+ language: f.language,
483
+ findings: adjustedFindings,
484
+ score: verdict.overallScore,
485
+ });
452
486
  }
453
- // Apply cross-file adjustments if this file imports security modules
454
- const mitigated = crossFileMitigations.get(f.path);
455
- let adjustedFindings = mitigated && mitigated.size > 0 ? applyCrossFileAdjustments(verdict.findings, mitigated) : verdict.findings;
456
- // Apply project-wide absence resolution for categories found anywhere
457
- adjustedFindings = applyProjectWideAbsenceResolution(adjustedFindings, projectWideCategories);
458
- return {
459
- path: f.path,
460
- language: f.language,
461
- findings: adjustedFindings,
462
- score: verdict.overallScore,
463
- };
464
- });
487
+ }
465
488
  // Cross-file architectural findings
466
489
  const architecturalFindings = [];
467
490
  let archRule = 1;