@kevinrabun/judges 3.0.3 → 3.1.1

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 (60) hide show
  1. package/README.md +88 -0
  2. package/dist/api.d.ts +6 -2
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +7 -2
  5. package/dist/api.js.map +1 -1
  6. package/dist/ast/structural-parser.d.ts.map +1 -1
  7. package/dist/ast/structural-parser.js +112 -5
  8. package/dist/ast/structural-parser.js.map +1 -1
  9. package/dist/ast/types.d.ts +8 -0
  10. package/dist/ast/types.d.ts.map +1 -1
  11. package/dist/cache.d.ts +32 -0
  12. package/dist/cache.d.ts.map +1 -0
  13. package/dist/cache.js +63 -0
  14. package/dist/cache.js.map +1 -0
  15. package/dist/cli.d.ts +16 -0
  16. package/dist/cli.d.ts.map +1 -0
  17. package/dist/cli.js +317 -0
  18. package/dist/cli.js.map +1 -0
  19. package/dist/evaluators/authentication.d.ts.map +1 -1
  20. package/dist/evaluators/authentication.js +9 -5
  21. package/dist/evaluators/authentication.js.map +1 -1
  22. package/dist/evaluators/cybersecurity.d.ts.map +1 -1
  23. package/dist/evaluators/cybersecurity.js +3 -1
  24. package/dist/evaluators/cybersecurity.js.map +1 -1
  25. package/dist/evaluators/error-handling.d.ts.map +1 -1
  26. package/dist/evaluators/error-handling.js +10 -4
  27. package/dist/evaluators/error-handling.js.map +1 -1
  28. package/dist/evaluators/index.d.ts +2 -0
  29. package/dist/evaluators/index.d.ts.map +1 -1
  30. package/dist/evaluators/index.js +53 -5
  31. package/dist/evaluators/index.js.map +1 -1
  32. package/dist/evaluators/project.d.ts +2 -0
  33. package/dist/evaluators/project.d.ts.map +1 -1
  34. package/dist/evaluators/project.js +14 -2
  35. package/dist/evaluators/project.js.map +1 -1
  36. package/dist/evaluators/rate-limiting.d.ts.map +1 -1
  37. package/dist/evaluators/rate-limiting.js +6 -2
  38. package/dist/evaluators/rate-limiting.js.map +1 -1
  39. package/dist/evaluators/shared.d.ts +14 -0
  40. package/dist/evaluators/shared.d.ts.map +1 -1
  41. package/dist/evaluators/shared.js +100 -20
  42. package/dist/evaluators/shared.js.map +1 -1
  43. package/dist/formatters/sarif.d.ts +15 -0
  44. package/dist/formatters/sarif.d.ts.map +1 -1
  45. package/dist/formatters/sarif.js +140 -0
  46. package/dist/formatters/sarif.js.map +1 -1
  47. package/dist/index.d.ts +13 -15
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +44 -36
  50. package/dist/index.js.map +1 -1
  51. package/dist/patches/index.d.ts.map +1 -1
  52. package/dist/patches/index.js +149 -0
  53. package/dist/patches/index.js.map +1 -1
  54. package/dist/scoring.d.ts.map +1 -1
  55. package/dist/scoring.js +5 -0
  56. package/dist/scoring.js.map +1 -1
  57. package/dist/types.d.ts +13 -0
  58. package/dist/types.d.ts.map +1 -1
  59. package/package.json +1 -1
  60. package/server.json +2 -2
@@ -4,13 +4,22 @@
4
4
  import { JUDGES } from "../judges/index.js";
5
5
  import { analyzeStructure } from "../ast/index.js";
6
6
  import { analyzeTaintFlows } from "../ast/index.js";
7
+ import { LRUCache, contentHash } from "../cache.js";
7
8
  // ─── Shared Utilities ────────────────────────────────────────────────────────
8
- import { calculateScore, deriveVerdict, buildSummary, buildTribunalSummary, formatVerdictAsMarkdown, formatEvaluationAsMarkdown, classifyFile, shouldRunAbsenceRules, applyConfig, } from "./shared.js";
9
+ import { calculateScore, deriveVerdict, buildSummary, buildTribunalSummary, formatVerdictAsMarkdown, formatEvaluationAsMarkdown, classifyFile, shouldRunAbsenceRules, applyConfig, applyFrameworkAwareness, } from "./shared.js";
9
10
  // ─── Extracted Modules ───────────────────────────────────────────────────────
10
11
  import { evaluateMustFixGate, clampConfidence, applyConfidenceThreshold, isAbsenceBasedFinding, } from "../scoring.js";
11
12
  import { enrichWithPatches } from "../patches/index.js";
12
13
  import { crossEvaluatorDedup } from "../dedup.js";
13
14
  // ── AST-aware post-processing ───────────────────────────────────────────────
15
+ // ── Module-level caches for AST/taint results ───────────────────────────────
16
+ const astStructureCache = new LRUCache(256);
17
+ const taintFlowCache = new LRUCache(256);
18
+ /** Clear all internal evaluation caches. Useful in tests or after large runs. */
19
+ export function clearEvaluationCaches() {
20
+ astStructureCache.clear();
21
+ taintFlowCache.clear();
22
+ }
14
23
  /**
15
24
  * Known sanitization/security library names. When one is imported, related
16
25
  * findings can have confidence reduced because the developer has taken steps
@@ -269,11 +278,32 @@ export function evaluateWithJudge(judge, code, language, context, options) {
269
278
  const gatedFindings = shouldRunAbsenceRules(fileCategory)
270
279
  ? findings
271
280
  : findings.filter((f) => !isAbsenceBasedFinding(f));
281
+ // ── Tag & demote remaining absence-based findings ──
282
+ // In single-file mode, absence-based findings are inherently lower confidence
283
+ // because the missing capability may exist in another file. Cap their severity
284
+ // at 'medium' and tag them for downstream consumers.
285
+ const taggedFindings = gatedFindings.map((f) => {
286
+ if (isAbsenceBasedFinding(f)) {
287
+ const cappedSeverity = { critical: "medium", high: "medium" };
288
+ return {
289
+ ...f,
290
+ isAbsenceBased: true,
291
+ provenance: f.provenance ?? "absence-of-pattern",
292
+ severity: (cappedSeverity[f.severity] ?? f.severity),
293
+ confidence: Math.min(f.confidence ?? 0.5, 0.6),
294
+ };
295
+ }
296
+ return f;
297
+ });
298
+ // ── Framework-aware confidence reduction ──
299
+ // Detect frameworks/middleware from code patterns (works for all languages)
300
+ // and reduce confidence for findings that the framework inherently handles.
301
+ const frameworkAware = applyFrameworkAwareness(taggedFindings, code);
272
302
  // ── AST-aware refinements: dead code removal, scope context, import awareness, taint flows ──
273
303
  const astStructure = options?._astCache;
274
304
  const refinedFindings = astStructure
275
- ? applyAstRefinements(gatedFindings, astStructure, options?._taintFlows)
276
- : gatedFindings;
305
+ ? applyAstRefinements(frameworkAware, astStructure, options?._taintFlows)
306
+ : frameworkAware;
277
307
  // ── Inline suppression: respect // judges-ignore RULE-ID comments ──
278
308
  const unsuppressed = applyInlineSuppressions(refinedFindings, code);
279
309
  // ── Auto-fix patches: attach machine-applicable patches where possible ──
@@ -297,11 +327,29 @@ export function evaluateWithJudge(judge, code, language, context, options) {
297
327
  */
298
328
  export function evaluateWithTribunal(code, language, context, options) {
299
329
  // Compute AST once and share across all judges via options
330
+ // Use content-hash cache to avoid re-computing for identical code
300
331
  const includeAst = options?.includeAstFindings ?? true;
332
+ const hash = contentHash(code, language);
333
+ let astResult = options?._astCache;
334
+ if (!astResult && includeAst) {
335
+ astResult = astStructureCache.get(hash);
336
+ if (!astResult) {
337
+ astResult = analyzeStructure(code, language);
338
+ astStructureCache.set(hash, astResult);
339
+ }
340
+ }
341
+ let taintResult = options?._taintFlows;
342
+ if (!taintResult) {
343
+ taintResult = taintFlowCache.get(hash);
344
+ if (!taintResult) {
345
+ taintResult = analyzeTaintFlows(code, language);
346
+ taintFlowCache.set(hash, taintResult);
347
+ }
348
+ }
301
349
  const enrichedOptions = {
302
350
  ...options,
303
- ...(includeAst && !options?._astCache ? { _astCache: analyzeStructure(code, language) } : {}),
304
- ...(!options?._taintFlows ? { _taintFlows: analyzeTaintFlows(code, language) } : {}),
351
+ ...(astResult ? { _astCache: astResult } : {}),
352
+ ...(taintResult ? { _taintFlows: taintResult } : {}),
305
353
  };
306
354
  const judges = resolveJudgeSet(enrichedOptions);
307
355
  const evaluations = judges.map((judge) => evaluateWithJudge(judge, code, language, context, enrichedOptions));
@@ -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,5 +1,7 @@
1
1
  import type { ProjectVerdict, TribunalVerdict } from "../types.js";
2
2
  import type { EvaluationOptions } from "./index.js";
3
+ /** Clear the project-level tribunal result cache. */
4
+ export declare function clearProjectCache(): void;
3
5
  /** Minimal interface for the tribunal evaluation function */
4
6
  export interface TribunalRunner {
5
7
  evaluateWithTribunal(code: string, language: string, context?: string, options?: EvaluationOptions): TribunalVerdict;
@@ -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;AAG/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAKpD,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;AAkLD;;;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,CA4OhB"}
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;AAI/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;AAkLD;;;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,CAiPhB"}
@@ -6,6 +6,13 @@
6
6
  // ──────────────────────────────────────────────────────────────────────────────
7
7
  import { analyzeCrossFileTaint } from "../ast/index.js";
8
8
  import { applyConfidenceThreshold } from "../scoring.js";
9
+ import { LRUCache, contentHash } from "../cache.js";
10
+ // ─── Module-level tribunal result cache ──────────────────────────────────────
11
+ const tribunalResultCache = new LRUCache(256);
12
+ /** Clear the project-level tribunal result cache. */
13
+ export function clearProjectCache() {
14
+ tribunalResultCache.clear();
15
+ }
9
16
  // ─── Cross-file Import Resolution ─────────────────────────────────────────────
10
17
  /** Security-relevant content categories detectable in imported project files */
11
18
  const CROSS_FILE_SECURITY_CATEGORIES = [
@@ -157,9 +164,14 @@ function applyCrossFileAdjustments(findings, mitigatedCategories) {
157
164
  export function evaluateProject(runner, files, context, options) {
158
165
  // Resolve cross-file imports to detect security mitigations from imported modules
159
166
  const crossFileMitigations = resolveProjectImports(files);
160
- // Per-file evaluations
167
+ // Per-file evaluations (cached by content hash to skip unchanged files)
161
168
  const fileResults = files.map((f) => {
162
- const verdict = runner.evaluateWithTribunal(f.content, f.language, context, options);
169
+ const hash = contentHash(f.content, f.language);
170
+ let verdict = tribunalResultCache.get(hash);
171
+ if (!verdict) {
172
+ verdict = runner.evaluateWithTribunal(f.content, f.language, context, options);
173
+ tribunalResultCache.set(hash, verdict);
174
+ }
163
175
  // Apply cross-file adjustments if this file imports security modules
164
176
  const mitigated = crossFileMitigations.get(f.path);
165
177
  const adjustedFindings = mitigated && mitigated.size > 0 ? applyCrossFileAdjustments(verdict.findings, mitigated) : verdict.findings;
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/evaluators/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/evaluators/project.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiting.d.ts","sourceRoot":"","sources":["../../src/evaluators/rate-limiting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CAsO7E"}
1
+ {"version":3,"file":"rate-limiting.d.ts","sourceRoot":"","sources":["../../src/evaluators/rate-limiting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CA0O7E"}
@@ -18,7 +18,9 @@ export function analyzeRateLimiting(code, language) {
18
18
  recommendation: "Add rate limiting: express-rate-limit (Express), django-ratelimit (Django), @RateLimiter (Spring), tollbooth (Go), governor (Rust).",
19
19
  reference: "OWASP API Security Top 10: API4 — Unrestricted Resource Consumption",
20
20
  suggestedFix: "Add rate limiting: app.use(rateLimit({ windowMs: 15*60*1000, max: 100 })) (Express), @ratelimit (Django), RateLimiter.of() (Spring), tollbooth.NewLimiter() (Go).",
21
- confidence: 0.7,
21
+ confidence: 0.55,
22
+ isAbsenceBased: true,
23
+ provenance: "absence-of-pattern",
22
24
  });
23
25
  }
24
26
  // No request body size limit
@@ -62,7 +64,9 @@ export function analyzeRateLimiting(code, language) {
62
64
  recommendation: "Return rate limit headers on responses so clients can self-throttle. Include Retry-After on 429 responses.",
63
65
  reference: "IETF Rate Limit Headers / RFC 6585",
64
66
  suggestedFix: "Add rate limit headers: res.set({ 'X-RateLimit-Limit': limit, 'X-RateLimit-Remaining': remaining, 'X-RateLimit-Reset': resetTime, 'Retry-After': retrySeconds });",
65
- confidence: 0.7,
67
+ confidence: 0.5,
68
+ isAbsenceBased: true,
69
+ provenance: "absence-of-pattern",
66
70
  });
67
71
  }
68
72
  // External API calls without backoff (multi-language)
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiting.js","sourceRoot":"","sources":["../../src/evaluators/rate-limiting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rate-limiting.js","sourceRoot":"","sources":["../../src/evaluators/rate-limiting.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,20 @@ export declare function classifyFile(code: string, language: string, filePath?:
15
15
  * only meaningful on server / entry-point code.
16
16
  */
17
17
  export declare function shouldRunAbsenceRules(category: FileCategory): boolean;
18
+ /** A framework or middleware detected from code patterns (no AST required). */
19
+ export type DetectedFramework = string;
20
+ /**
21
+ * Detect frameworks and security middleware from code patterns.
22
+ * Works across all languages — no AST required.
23
+ */
24
+ export declare function detectFrameworks(code: string): DetectedFramework[];
25
+ /**
26
+ * Reduce confidence on findings that are mitigated by a detected framework
27
+ * or middleware. This is complementary to AST-based import awareness —
28
+ * it works for all languages and detects framework-level mitigations
29
+ * (e.g. Django CSRF, FastAPI validation) that import-level checks miss.
30
+ */
31
+ export declare function applyFrameworkAwareness(findings: Finding[], code: string): Finding[];
18
32
  /**
19
33
  * Find line numbers in source code that match a given regex pattern.
20
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/evaluators/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,eAAe,EACf,OAAO,EAEP,OAAO,EACP,YAAY,EACZ,UAAU,EACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGzE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC;AAO1C,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,QAAQ,GACR,OAAO,GACP,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAEd;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,CAuG5F;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAErE;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAUtE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,GAC7D,MAAM,EAAE,CAKV;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAE1D;AAID;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,EAAE,CAsDjF;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA4B1D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CA4BzE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAMzE;AAID,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAqBjH;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,eAAe,EAAE,EAC9B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,MAAM,CAmBR;AAID;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAmCxE;AA+BD,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAQzE;AAED,wBAAgB,kCAAkC,IAAI,OAAO,CAE5D;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAuBnE;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,CAiC9E"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/evaluators/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,eAAe,EACf,OAAO,EAEP,OAAO,EACP,YAAY,EACZ,UAAU,EACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGzE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC;AAO1C,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,QAAQ,GACR,OAAO,GACP,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAEd;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,CAuG5F;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAErE;AAID,+EAA+E;AAC/E,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAkDvC;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAMlE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAmBpF;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAUtE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,GAC7D,MAAM,EAAE,CAKV;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAE1D;AAID;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,EAAE,CAsDjF;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA4B1D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAuBzE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAUzE;AAID,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAqBjH;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,eAAe,EAAE,EAC9B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,MAAM,CAmBR;AAID;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAmCxE;AA+BD,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAQzE;AAED,wBAAgB,kCAAkC,IAAI,OAAO,CAE5D;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAuBnE;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,CAiC9E"}
@@ -88,6 +88,89 @@ export function classifyFile(code, language, filePath) {
88
88
  export function shouldRunAbsenceRules(category) {
89
89
  return category === "server" || category === "unknown";
90
90
  }
91
+ const FRAMEWORK_DETECT_PATTERNS = [
92
+ // ── JavaScript / TypeScript ──
93
+ ["express", /\brequire\s*\(\s*['"]express['"]\)|from\s+['"]express['"]/],
94
+ ["next", /from\s+['"]next['"\/]|getServerSideProps|getStaticProps|NextRequest|NextResponse/],
95
+ ["hono", /from\s+['"]hono['"\/]|new\s+Hono\s*\(/],
96
+ ["koa", /from\s+['"]koa['"\/]|new\s+Koa\s*\(|require\s*\(\s*['"]koa['"]\)/],
97
+ ["fastify", /from\s+['"]fastify['"\/]|require\s*\(\s*['"]fastify['"]\)/],
98
+ ["helmet", /\bhelmet\s*\(|from\s+['"]helmet['"]/],
99
+ ["express-rate-limit", /express-rate-limit|rateLimit\s*\(\s*\{/],
100
+ ["cors-middleware", /\bcors\s*\(|from\s+['"]cors['"]/],
101
+ ["csurf", /csurf|csrf-csrf/],
102
+ // ── Python ──
103
+ ["fastapi", /from\s+fastapi\s+import|FastAPI\s*\(/],
104
+ ["django", /from\s+django\b|django\.\w+|INSTALLED_APPS/],
105
+ ["flask", /from\s+flask\s+import|Flask\s*\(__name__\)/],
106
+ // ── Java ──
107
+ ["spring", /@SpringBootApplication|@RestController|@(?:Get|Post|Put|Delete)Mapping/],
108
+ // ── C# ──
109
+ ["aspnet", /\[ApiController\]|ControllerBase|Microsoft\.AspNetCore/],
110
+ // ── Go ──
111
+ ["gin", /gin\.Default\s*\(|"github\.com\/gin-gonic\/gin"/],
112
+ // ── Rust ──
113
+ ["actix", /use\s+actix_web|HttpServer::new\s*\(/],
114
+ ];
115
+ /**
116
+ * Finding-title patterns that each framework inherently mitigates.
117
+ * When a framework is detected, findings matching these patterns have their
118
+ * confidence reduced because the framework likely handles the concern.
119
+ */
120
+ const FRAMEWORK_MITIGATIONS = {
121
+ // Middleware that explicitly handles specific concerns
122
+ helmet: /security.?header|x-frame|hsts|content.security.policy|clickjack/i,
123
+ "express-rate-limit": /rate.?limit|throttl|brute.?force/i,
124
+ "cors-middleware": /cors|cross.?origin/i,
125
+ csurf: /csrf|cross.?site\s*request/i,
126
+ // Frameworks with built-in security features
127
+ next: /csrf|security.?header|x-frame/i,
128
+ django: /csrf|security.?header|xss|cross.?site\s*script/i,
129
+ fastapi: /input.?valid|type.?check|request.?valid|unsanitized.?input/i,
130
+ spring: /csrf|cross.?site\s*request/i,
131
+ aspnet: /csrf|cross.?site\s*request|input.?valid/i,
132
+ gin: /panic|recovery|unhandled/i,
133
+ };
134
+ /** Confidence reduction when a framework already handles the concern. */
135
+ const FRAMEWORK_CONFIDENCE_REDUCTION = 0.2;
136
+ /**
137
+ * Detect frameworks and security middleware from code patterns.
138
+ * Works across all languages — no AST required.
139
+ */
140
+ export function detectFrameworks(code) {
141
+ const detected = [];
142
+ for (const [name, regex] of FRAMEWORK_DETECT_PATTERNS) {
143
+ if (regex.test(code))
144
+ detected.push(name);
145
+ }
146
+ return detected;
147
+ }
148
+ /**
149
+ * Reduce confidence on findings that are mitigated by a detected framework
150
+ * or middleware. This is complementary to AST-based import awareness —
151
+ * it works for all languages and detects framework-level mitigations
152
+ * (e.g. Django CSRF, FastAPI validation) that import-level checks miss.
153
+ */
154
+ export function applyFrameworkAwareness(findings, code) {
155
+ const frameworks = detectFrameworks(code);
156
+ if (frameworks.length === 0)
157
+ return findings;
158
+ return findings.map((f) => {
159
+ for (const fw of frameworks) {
160
+ const pattern = FRAMEWORK_MITIGATIONS[fw];
161
+ if (pattern && pattern.test(f.title)) {
162
+ const currentConf = f.confidence ?? 0.5;
163
+ const newConf = Math.max(0, Math.min(1, currentConf - FRAMEWORK_CONFIDENCE_REDUCTION));
164
+ return {
165
+ ...f,
166
+ confidence: newConf,
167
+ provenance: f.provenance ? `${f.provenance}; ${fw}-mitigated` : `${fw}-mitigated`,
168
+ };
169
+ }
170
+ }
171
+ return f;
172
+ });
173
+ }
91
174
  // ─── Shared Utilities ────────────────────────────────────────────────────────
92
175
  // Helper functions used by all analyzer modules and the evaluation engine.
93
176
  // ──────────────────────────────────────────────────────────────────────────────
@@ -221,38 +304,35 @@ export function detectPositiveSignals(code) {
221
304
  return Math.min(bonus, 15);
222
305
  }
223
306
  export function calculateScore(findings, code) {
307
+ const basePenalty = {
308
+ critical: 30,
309
+ high: 18,
310
+ medium: 10,
311
+ low: 5,
312
+ info: 2,
313
+ };
224
314
  let score = 100;
225
315
  for (const f of findings) {
226
- switch (f.severity) {
227
- case "critical":
228
- score -= 30;
229
- break;
230
- case "high":
231
- score -= 18;
232
- break;
233
- case "medium":
234
- score -= 10;
235
- break;
236
- case "low":
237
- score -= 5;
238
- break;
239
- case "info":
240
- score -= 2;
241
- break;
242
- }
316
+ const penalty = basePenalty[f.severity] ?? 0;
317
+ // Weight deductions by confidence — low-confidence findings have less impact
318
+ const confidence = f.confidence ?? 0.5;
319
+ score -= penalty * confidence;
243
320
  }
244
321
  // Add positive signals bonus if code is provided
245
322
  if (code) {
246
323
  score += detectPositiveSignals(code);
247
324
  }
248
- return Math.max(0, Math.min(100, score));
325
+ return Math.max(0, Math.min(100, Math.round(score)));
249
326
  }
250
327
  export function deriveVerdict(findings, score) {
251
- if (findings.some((f) => f.severity === "critical"))
328
+ // Only fail on critical findings with sufficient confidence
329
+ if (findings.some((f) => f.severity === "critical" && (f.confidence ?? 0.5) >= 0.6))
252
330
  return "fail";
253
331
  if (score < 60)
254
332
  return "fail";
255
- if (findings.some((f) => f.severity === "high") || findings.some((f) => f.severity === "medium") || score < 80)
333
+ // High/medium findings need reasonable confidence to trigger warning
334
+ const significantFindings = findings.filter((f) => (f.severity === "high" || f.severity === "medium") && (f.confidence ?? 0.5) >= 0.4);
335
+ if (significantFindings.length > 0 || score < 80)
256
336
  return "warning";
257
337
  return "pass";
258
338
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/evaluators/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/evaluators/shared.ts"],"names":[],"mappings":"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"}
@@ -71,5 +71,20 @@ export declare function evaluationToSarif(evaluation: JudgeEvaluation, filePath?
71
71
  * Convert a full TribunalVerdict (all judges) into SARIF.
72
72
  */
73
73
  export declare function verdictToSarif(verdict: TribunalVerdict, filePath?: string, version?: string): SarifLog;
74
+ /**
75
+ * Validation error returned by validateSarifLog.
76
+ */
77
+ export interface SarifValidationError {
78
+ path: string;
79
+ message: string;
80
+ }
81
+ /**
82
+ * Validate that a JSON object structurally conforms to the SARIF 2.1.0 schema.
83
+ * This is a lightweight check of all mandatory properties and value constraints
84
+ * without requiring the full JSON Schema or ajv dependency.
85
+ *
86
+ * @returns Array of validation errors (empty = valid)
87
+ */
88
+ export declare function validateSarifLog(log: unknown): SarifValidationError[];
74
89
  export {};
75
90
  //# sourceMappingURL=sarif.d.ts.map