@kevinrabun/judges 3.34.1 → 3.36.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 (69) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +19 -17
  3. package/dist/api.d.ts +1 -1
  4. package/dist/api.d.ts.map +1 -1
  5. package/dist/api.js +1 -1
  6. package/dist/api.js.map +1 -1
  7. package/dist/commands/benchmark-ai-output.d.ts +10 -0
  8. package/dist/commands/benchmark-ai-output.d.ts.map +1 -0
  9. package/dist/commands/benchmark-ai-output.js +366 -0
  10. package/dist/commands/benchmark-ai-output.js.map +1 -0
  11. package/dist/commands/benchmark.d.ts.map +1 -1
  12. package/dist/commands/benchmark.js +2 -0
  13. package/dist/commands/benchmark.js.map +1 -1
  14. package/dist/dedup.d.ts.map +1 -1
  15. package/dist/dedup.js +98 -0
  16. package/dist/dedup.js.map +1 -1
  17. package/dist/evaluators/framework-safety.d.ts.map +1 -1
  18. package/dist/evaluators/framework-safety.js +268 -0
  19. package/dist/evaluators/framework-safety.js.map +1 -1
  20. package/dist/evaluators/hallucination-detection.d.ts.map +1 -1
  21. package/dist/evaluators/hallucination-detection.js +55 -2
  22. package/dist/evaluators/hallucination-detection.js.map +1 -1
  23. package/dist/evaluators/index.d.ts +10 -0
  24. package/dist/evaluators/index.d.ts.map +1 -1
  25. package/dist/evaluators/index.js +130 -6
  26. package/dist/evaluators/index.js.map +1 -1
  27. package/dist/evaluators/logic-review.d.ts +3 -0
  28. package/dist/evaluators/logic-review.d.ts.map +1 -0
  29. package/dist/evaluators/logic-review.js +263 -0
  30. package/dist/evaluators/logic-review.js.map +1 -0
  31. package/dist/evaluators/project.d.ts +19 -0
  32. package/dist/evaluators/project.d.ts.map +1 -1
  33. package/dist/evaluators/project.js +2 -2
  34. package/dist/evaluators/project.js.map +1 -1
  35. package/dist/evaluators/testing.d.ts.map +1 -1
  36. package/dist/evaluators/testing.js +39 -0
  37. package/dist/evaluators/testing.js.map +1 -1
  38. package/dist/finding-lifecycle.d.ts +55 -0
  39. package/dist/finding-lifecycle.d.ts.map +1 -1
  40. package/dist/finding-lifecycle.js +174 -0
  41. package/dist/finding-lifecycle.js.map +1 -1
  42. package/dist/judges/framework-safety.d.ts.map +1 -1
  43. package/dist/judges/framework-safety.js +12 -6
  44. package/dist/judges/framework-safety.js.map +1 -1
  45. package/dist/judges/index.d.ts.map +1 -1
  46. package/dist/judges/index.js +4 -0
  47. package/dist/judges/index.js.map +1 -1
  48. package/dist/judges/logic-review.d.ts +3 -0
  49. package/dist/judges/logic-review.d.ts.map +1 -0
  50. package/dist/judges/logic-review.js +33 -0
  51. package/dist/judges/logic-review.js.map +1 -0
  52. package/dist/patches/index.d.ts.map +1 -1
  53. package/dist/patches/index.js +227 -0
  54. package/dist/patches/index.js.map +1 -1
  55. package/dist/tools/register-review.d.ts +7 -0
  56. package/dist/tools/register-review.d.ts.map +1 -0
  57. package/dist/tools/register-review.js +372 -0
  58. package/dist/tools/register-review.js.map +1 -0
  59. package/dist/tools/register-workflow.d.ts.map +1 -1
  60. package/dist/tools/register-workflow.js +73 -1
  61. package/dist/tools/register-workflow.js.map +1 -1
  62. package/dist/tools/register.d.ts +1 -1
  63. package/dist/tools/register.d.ts.map +1 -1
  64. package/dist/tools/register.js +3 -1
  65. package/dist/tools/register.js.map +1 -1
  66. package/dist/types.d.ts +30 -0
  67. package/dist/types.d.ts.map +1 -1
  68. package/package.json +2 -2
  69. package/server.json +3 -3
@@ -629,6 +629,115 @@ export function analyzeFrameworkSafety(code, language) {
629
629
  });
630
630
  }
631
631
  }
632
+ // ── v3.35.0 — Additional Django patterns ──
633
+ if (hasDjango) {
634
+ // Django: SESSION_COOKIE_SECURE = False
635
+ const insecureSessionLines = getLineNumbers(code, /^\s*SESSION_COOKIE_SECURE\s*=\s*False\b/gm);
636
+ if (insecureSessionLines.length > 0) {
637
+ findings.push({
638
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
639
+ severity: "high",
640
+ title: "Django SESSION_COOKIE_SECURE=False — session hijacking over HTTP",
641
+ description: "Session cookies are sent over unencrypted HTTP connections. Attackers on the same network can intercept session cookies via passive sniffing.",
642
+ lineNumbers: insecureSessionLines,
643
+ recommendation: "Set SESSION_COOKIE_SECURE = True. Also set CSRF_COOKIE_SECURE = True and SECURE_SSL_REDIRECT = True.",
644
+ reference: "Django Security — https://docs.djangoproject.com/en/5.0/ref/settings/#session-cookie-secure",
645
+ confidence: 0.9,
646
+ });
647
+ }
648
+ // Django: SECURE_SSL_REDIRECT = False
649
+ const noSslRedirectLines = getLineNumbers(code, /^\s*SECURE_SSL_REDIRECT\s*=\s*False\b/gm);
650
+ if (noSslRedirectLines.length > 0) {
651
+ findings.push({
652
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
653
+ severity: "medium",
654
+ title: "Django SECURE_SSL_REDIRECT=False — no HTTPS enforcement",
655
+ description: "HTTP requests are not redirected to HTTPS. Sensitive data including credentials and session tokens may be transmitted in cleartext.",
656
+ lineNumbers: noSslRedirectLines,
657
+ recommendation: "Set SECURE_SSL_REDIRECT = True in production settings.",
658
+ reference: "Django SSL — https://docs.djangoproject.com/en/5.0/ref/settings/#secure-ssl-redirect",
659
+ confidence: 0.85,
660
+ });
661
+ }
662
+ // Django: mark_safe() with variable input
663
+ const markSafeLines = getLineNumbers(code, /mark_safe\s*\(\s*(?:f["']|.*\+|\w+(?:\.\w+)*\s*\))/gm);
664
+ if (markSafeLines.length > 0) {
665
+ findings.push({
666
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
667
+ severity: "high",
668
+ title: "Django mark_safe() with dynamic content — XSS vulnerability",
669
+ description: "mark_safe() is called with f-strings, concatenation, or variable input. This bypasses Django's auto-escaping and can introduce XSS when user-controlled data is included.",
670
+ lineNumbers: markSafeLines,
671
+ recommendation: "Use format_html() instead of mark_safe() for dynamic content: format_html('<b>{}</b>', user_input).",
672
+ reference: "Django mark_safe — https://docs.djangoproject.com/en/5.0/ref/utils/#django.utils.safestring.mark_safe",
673
+ confidence: 0.85,
674
+ });
675
+ }
676
+ // Django: FILE_UPLOAD_PERMISSIONS too permissive
677
+ const uploadPermLines = getLineNumbers(code, /FILE_UPLOAD_PERMISSIONS\s*=\s*0o?7[0-7]{2}/gm);
678
+ if (uploadPermLines.length > 0) {
679
+ findings.push({
680
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
681
+ severity: "medium",
682
+ title: "Django FILE_UPLOAD_PERMISSIONS too permissive",
683
+ description: "Uploaded files are created with world-readable or world-writable permissions. This may allow other system users to read or modify uploaded files.",
684
+ lineNumbers: uploadPermLines,
685
+ recommendation: "Set FILE_UPLOAD_PERMISSIONS = 0o644 to restrict access to owner-writable, group/world-readable.",
686
+ reference: "Django File Uploads — https://docs.djangoproject.com/en/5.0/ref/settings/#file-upload-permissions",
687
+ confidence: 0.8,
688
+ });
689
+ }
690
+ // Django: using globals() or locals() in render context
691
+ const localsRenderLines = getLineNumbers(code, /render\s*\([^)]*(?:locals|globals)\s*\(\s*\)/gm);
692
+ if (localsRenderLines.length > 0) {
693
+ findings.push({
694
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
695
+ severity: "medium",
696
+ title: "Django render() with locals()/globals() — data exposure",
697
+ description: "Passing locals() or globals() as template context exposes all local/global variables to the template, potentially leaking sensitive data like database connections, secrets, or internal state.",
698
+ lineNumbers: localsRenderLines,
699
+ recommendation: "Pass an explicit context dictionary: render(request, 'template.html', {'user': user, 'items': items}).",
700
+ reference: "Django Views — https://docs.djangoproject.com/en/5.0/topics/http/shortcuts/#render",
701
+ confidence: 0.8,
702
+ });
703
+ }
704
+ }
705
+ // ── v3.35.0 — Additional Flask patterns ──
706
+ if (hasFlask) {
707
+ // Flask: send_file with user-controlled path (path traversal)
708
+ const sendFilePaths = getLineNumbers(code, /send_file\s*\(\s*(?:request\.|f["']|os\.path\.join\s*\([^)]*request\.)/gm);
709
+ if (sendFilePaths.length > 0) {
710
+ findings.push({
711
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
712
+ severity: "critical",
713
+ title: "Flask send_file with user input — path traversal",
714
+ description: "send_file() uses user-controlled input to determine the file path. Attackers can use ../ sequences to read arbitrary files from the server.",
715
+ lineNumbers: sendFilePaths,
716
+ recommendation: "Use send_from_directory() with a fixed base directory, or validate the filename with secure_filename().",
717
+ reference: "Flask send_file — https://flask.palletsprojects.com/en/3.0.x/api/#flask.send_file",
718
+ confidence: 0.9,
719
+ });
720
+ }
721
+ // Flask: session without SECRET_KEY
722
+ const sessionNoKeyLines = [];
723
+ if (/session\[/.test(code) && !/secret_key|SECRET_KEY/.test(code)) {
724
+ const sessionUseLines = getLineNumbers(code, /session\[/gm);
725
+ sessionNoKeyLines.push(...sessionUseLines);
726
+ }
727
+ if (sessionNoKeyLines.length > 0) {
728
+ findings.push({
729
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
730
+ severity: "high",
731
+ title: "Flask session used without SECRET_KEY in file",
732
+ description: "Flask sessions are used but no SECRET_KEY is configured in this file. Without a strong secret key, session cookies can be tampered with or forged.",
733
+ lineNumbers: sessionNoKeyLines,
734
+ recommendation: "Set app.secret_key = os.environ['SECRET_KEY'] before using sessions. Ensure the key is cryptographically random.",
735
+ reference: "Flask Sessions — https://flask.palletsprojects.com/en/3.0.x/quickstart/#sessions",
736
+ confidence: 0.65,
737
+ isAbsenceBased: true,
738
+ });
739
+ }
740
+ }
632
741
  }
633
742
  // ── Spring Boot (Java) ────────────────────────────────────────────────────
634
743
  if (lang === "java") {
@@ -735,6 +844,85 @@ export function analyzeFrameworkSafety(code, language) {
735
844
  confidence: 0.95,
736
845
  });
737
846
  }
847
+ // ── v3.35.0 — Additional Spring Boot patterns ──
848
+ // Spring: @RequestBody without @Valid/@Validated
849
+ const noValidationLines = [];
850
+ for (let i = 0; i < lines.length; i++) {
851
+ if (isCommentLine(lines[i]))
852
+ continue;
853
+ if (/@RequestBody\b/.test(lines[i]) && !/@Valid\b|@Validated\b/.test(lines[i])) {
854
+ noValidationLines.push(i + 1);
855
+ }
856
+ }
857
+ if (noValidationLines.length >= 2) {
858
+ findings.push({
859
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
860
+ severity: "medium",
861
+ title: "Spring @RequestBody without @Valid — no input validation",
862
+ description: "Request bodies are deserialized without Bean Validation. Invalid or malicious data passes directly to business logic without constraint checks.",
863
+ lineNumbers: noValidationLines,
864
+ recommendation: "Add @Valid annotation: public ResponseEntity<?> create(@Valid @RequestBody UserDto dto). Define constraints on the DTO with @NotNull, @Size, @Email, etc.",
865
+ reference: "Spring Validation — https://docs.spring.io/spring-framework/reference/core/validation.html",
866
+ confidence: 0.75,
867
+ isAbsenceBased: true,
868
+ });
869
+ }
870
+ // Spring: permitAll on sensitive paths
871
+ const permitAllLines = getLineNumbers(code, /\.requestMatchers\s*\([^)]*(?:admin|user|account|api\/v|manage|config)[^)]*\)\s*\.permitAll\s*\(\s*\)/gim);
872
+ if (permitAllLines.length > 0) {
873
+ findings.push({
874
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
875
+ severity: "high",
876
+ title: "Spring Security permitAll() on sensitive path",
877
+ description: "Paths containing admin, user, account, or management keywords are configured with permitAll(), allowing unauthenticated access to likely sensitive endpoints.",
878
+ lineNumbers: permitAllLines,
879
+ recommendation: 'Use authenticated() or hasRole(): .requestMatchers("/admin/**").hasRole("ADMIN").',
880
+ reference: "Spring Security Authorization — https://docs.spring.io/spring-security/reference/servlet/authorization/authorize-http-requests.html",
881
+ confidence: 0.8,
882
+ });
883
+ }
884
+ // Spring: ObjectMapper with default typing enabled (deserialization attack)
885
+ const defaultTypingLines = getLineNumbers(code, /enableDefaultTyping|activateDefaultTyping|DefaultTyping\.NON_FINAL/gm);
886
+ if (defaultTypingLines.length > 0) {
887
+ findings.push({
888
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
889
+ severity: "critical",
890
+ title: "Jackson default typing enabled — deserialization vulnerability",
891
+ description: "Jackson ObjectMapper has default typing enabled, which allows attackers to specify arbitrary classes during deserialization. This can lead to remote code execution via gadget chains.",
892
+ lineNumbers: defaultTypingLines,
893
+ recommendation: "Remove enableDefaultTyping(). Use @JsonTypeInfo on specific classes instead. Configure PolymorphicTypeValidator to restrict allowed types.",
894
+ reference: "Jackson Deserialization — https://github.com/FasterXML/jackson-databind/issues/2326",
895
+ confidence: 0.95,
896
+ });
897
+ }
898
+ // Spring: Hardcoded credentials in application.properties/YAML
899
+ const springCredLines = getLineNumbers(code, /(?:spring\.datasource\.password|spring\.mail\.password|spring\.security\.user\.password)\s*=\s*[^\s$\{]+/gm);
900
+ if (springCredLines.length > 0) {
901
+ findings.push({
902
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
903
+ severity: "critical",
904
+ title: "Spring Boot hardcoded credentials in configuration",
905
+ description: "Database, mail, or security passwords are hardcoded in configuration files. These credentials will be committed to version control and exposed to anyone with repository access.",
906
+ lineNumbers: springCredLines,
907
+ recommendation: "Use environment variables: spring.datasource.password=${DB_PASSWORD}. Use Spring Cloud Config or Vault for secrets management.",
908
+ reference: "Spring Externalized Config — https://docs.spring.io/spring-boot/reference/features/external-config.html",
909
+ confidence: 0.9,
910
+ });
911
+ }
912
+ // Spring: Logging sensitive data
913
+ const logSensitiveLines = getLineNumbers(code, /(?:log|logger|LOG)\.\w+\s*\([^)]*(?:password|secret|token|apiKey|credentials|ssn|creditCard)/gim);
914
+ if (logSensitiveLines.length > 0) {
915
+ findings.push({
916
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
917
+ severity: "high",
918
+ title: "Spring logging sensitive data — credential exposure",
919
+ description: "Sensitive data such as passwords, secrets, or tokens appears in log statements. Log files are often stored with weaker access controls and retained for extended periods.",
920
+ lineNumbers: logSensitiveLines,
921
+ recommendation: "Remove sensitive data from log statements. Use structured logging with field masking. Never log raw passwords or tokens.",
922
+ reference: "OWASP Logging — https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html",
923
+ confidence: 0.8,
924
+ });
925
+ }
738
926
  }
739
927
  }
740
928
  // ── ASP.NET Core (C#) ─────────────────────────────────────────────────────
@@ -837,6 +1025,86 @@ export function analyzeFrameworkSafety(code, language) {
837
1025
  confidence: 0.8,
838
1026
  });
839
1027
  }
1028
+ // ── v3.35.0 — Additional ASP.NET Core patterns ──
1029
+ // ASP.NET: Missing HTTPS redirection
1030
+ if (/WebApplication\.Create|builder\.Build\(\)/.test(code) && !/UseHttpsRedirection/.test(code)) {
1031
+ findings.push({
1032
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
1033
+ severity: "medium",
1034
+ title: "ASP.NET missing UseHttpsRedirection — no HTTPS enforcement",
1035
+ description: "The application does not call app.UseHttpsRedirection(). HTTP requests are not automatically redirected to HTTPS, allowing sensitive data to be transmitted in cleartext.",
1036
+ lineNumbers: [1],
1037
+ recommendation: "Add app.UseHttpsRedirection() in the middleware pipeline before app.UseAuthorization().",
1038
+ reference: "ASP.NET HTTPS — https://learn.microsoft.com/aspnet/core/security/enforcing-ssl",
1039
+ confidence: 0.7,
1040
+ isAbsenceBased: true,
1041
+ });
1042
+ }
1043
+ // ASP.NET: Unsafe model binding (OverpostTo/Bind with too many properties)
1044
+ const bindAllLines = getLineNumbers(code, /\[Bind\s*\(\s*\)\s*\]|\.Entry\s*\(\s*\w+\s*\)\.CurrentValues\.SetValues/gm);
1045
+ if (bindAllLines.length > 0) {
1046
+ findings.push({
1047
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
1048
+ severity: "high",
1049
+ title: "ASP.NET mass assignment — unsafe model binding",
1050
+ description: "Models are bound without specifying which properties to include. Attackers can set properties they shouldn't have access to (e.g., IsAdmin, Role, Price) via extra form fields.",
1051
+ lineNumbers: bindAllLines,
1052
+ recommendation: 'Use DTOs or [Bind(Include = "Name,Email")] to explicitly whitelist bindable properties. Never bind entity models directly from user input.',
1053
+ reference: "ASP.NET Model Binding — https://learn.microsoft.com/aspnet/core/mvc/models/model-binding",
1054
+ confidence: 0.75,
1055
+ });
1056
+ }
1057
+ // ASP.NET: Logging with string interpolation (structured logging bypass)
1058
+ const logInterpolationLines = getLineNumbers(code, /_?(?:logger|log|Logger|Log)\.\w+\s*\(\s*\$/gm);
1059
+ if (logInterpolationLines.length > 0) {
1060
+ findings.push({
1061
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
1062
+ severity: "low",
1063
+ title: "ASP.NET string interpolation in logging — structured logging bypass",
1064
+ description: 'Using $"..." in ILogger calls bypasses structured logging. Log aggregation tools cannot parse or filter by parameters when they are pre-interpolated into the message string.',
1065
+ lineNumbers: logInterpolationLines,
1066
+ recommendation: 'Use message templates: _logger.LogInformation("User {UserId} logged in", userId) instead of $"User {userId} logged in".',
1067
+ reference: "ASP.NET Logging — https://learn.microsoft.com/aspnet/core/fundamentals/logging",
1068
+ confidence: 0.8,
1069
+ });
1070
+ }
1071
+ // ASP.NET: Returning ProblemDetails with sensitive info
1072
+ const problemDetailsLines = getLineNumbers(code, /Problem\s*\(\s*(?:detail|title)\s*:\s*(?:ex\.Message|exception\.Message|e\.Message|err\.Message)/gm);
1073
+ if (problemDetailsLines.length > 0) {
1074
+ findings.push({
1075
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
1076
+ severity: "medium",
1077
+ title: "ASP.NET ProblemDetails with exception message — information disclosure",
1078
+ description: "Exception messages are passed directly to ProblemDetails responses. In production, this leaks internal error details, stack traces, and potentially sensitive data to API consumers.",
1079
+ lineNumbers: problemDetailsLines,
1080
+ recommendation: 'Return generic messages: Problem(detail: "An error occurred"). Log the full exception server-side. Use exception filters for centralized error handling.',
1081
+ reference: "ASP.NET Error Handling — https://learn.microsoft.com/aspnet/core/web-api/handle-errors",
1082
+ confidence: 0.8,
1083
+ });
1084
+ }
1085
+ // ASP.NET: Missing authorization on controller
1086
+ const controllerNoAuthLines = [];
1087
+ for (let i = 0; i < lines.length; i++) {
1088
+ if (/\[ApiController\]/.test(lines[i])) {
1089
+ const chunk = lines.slice(Math.max(0, i - 3), i + 1).join(" ");
1090
+ if (!/\[Authorize|AllowAnonymous/.test(chunk)) {
1091
+ controllerNoAuthLines.push(i + 1);
1092
+ }
1093
+ }
1094
+ }
1095
+ if (controllerNoAuthLines.length > 0) {
1096
+ findings.push({
1097
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
1098
+ severity: "medium",
1099
+ title: "ASP.NET [ApiController] without [Authorize] — no default auth",
1100
+ description: "API controller does not have [Authorize] attribute. All endpoints on this controller are accessible without authentication unless individually decorated.",
1101
+ lineNumbers: controllerNoAuthLines,
1102
+ recommendation: "Add [Authorize] at the controller level and use [AllowAnonymous] for specific public endpoints: [Authorize] [ApiController] public class UsersController.",
1103
+ reference: "ASP.NET Authorization — https://learn.microsoft.com/aspnet/core/security/authorization/simple",
1104
+ confidence: 0.65,
1105
+ isAbsenceBased: true,
1106
+ });
1107
+ }
840
1108
  }
841
1109
  }
842
1110
  // ── Gin / Echo / Fiber (Go) ───────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"framework-safety.js","sourceRoot":"","sources":["../../src/evaluators/framework-safety.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"framework-safety.js","sourceRoot":"","sources":["../../src/evaluators/framework-safety.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hallucination-detection.d.ts","sourceRoot":"","sources":["../../src/evaluators/hallucination-detection.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAwB,MAAM,aAAa,CAAC;AAomBjE,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CAwTvF"}
1
+ {"version":3,"file":"hallucination-detection.d.ts","sourceRoot":"","sources":["../../src/evaluators/hallucination-detection.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAwB,MAAM,aAAa,CAAC;AAsnBjE,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CAgWvF"}
@@ -454,7 +454,7 @@ const HALLUCINATED_PATTERNS = [
454
454
  // ── Cross-language ────────────────────────────────────────────────────
455
455
  // Fabricated npm packages — common hallucinated package names
456
456
  {
457
- pattern: /\bfrom\s+['"](?:easy-jwt|simple-crypto|auto-sanitize|quick-hash|fast-validate|node-security-utils|express-secure|react-safe-render|mongo-safe|api-guard|auth-helper|crypto-utils|secure-config|safe-eval|node-encrypt)['"]/,
457
+ pattern: /\bfrom\s+['"](?:easy-jwt|simple-crypto|auto-sanitize|quick-hash|fast-validate|node-security-utils|express-secure|react-safe-render|mongo-safe|api-guard|auth-helper|crypto-utils|secure-config|safe-eval|node-encrypt|express-auth|express-jwt-auth|express-session-store|react-auth-provider|react-secure|react-data-grid-pro|node-auth|node-sanitize|node-validator|db-connect|sql-builder|sql-safe|prisma-utils|mongoose-helper|redis-helper|cache-manager-redis|graphql-auth|graphql-validate|ws-auth|socket-secure|file-encrypt|pdf-extract|csv-parse-sync|image-resize|video-transcode|email-send|sms-send|payment-process|stripe-helper|aws-helper|azure-helper|gcp-helper|cloud-deploy)['"]/,
458
458
  hallucinated: "Non-existent npm package import",
459
459
  reason: "This import references a package name commonly hallucinated by LLMs. The package either doesn't exist on npm or is a name-squatted stub.",
460
460
  fix: "Verify the package exists on npmjs.com. Use established alternatives: jose/jsonwebtoken for JWT, crypto for hashing, express-validator for validation, helmet for security headers.",
@@ -462,12 +462,28 @@ const HALLUCINATED_PATTERNS = [
462
462
  },
463
463
  // Fabricated Python packages
464
464
  {
465
- pattern: /^\s*(?:from|import)\s+(?:easy_jwt|simple_crypto|auto_sanitize|quick_hash|fast_validate|python_security|django_secure|flask_safe|mongo_safe|api_guard|auth_helper|crypto_utils|secure_config|safe_eval|py_encrypt)\b/,
465
+ pattern: /^\s*(?:from|import)\s+(?:easy_jwt|simple_crypto|auto_sanitize|quick_hash|fast_validate|python_security|django_secure|flask_safe|mongo_safe|api_guard|auth_helper|crypto_utils|secure_config|safe_eval|py_encrypt|django_auth_utils|flask_auth|fastapi_auth|fastapi_jwt|py_sanitize|py_validator|db_connect|sql_builder|sql_safe|redis_helper|cache_helper|graphql_auth|file_encrypt|pdf_extract|image_resize|email_send|payment_process|cloud_deploy|aws_helper|azure_helper|gcp_helper)\b/,
466
466
  hallucinated: "Non-existent Python package import",
467
467
  reason: "This import references a package name commonly hallucinated by LLMs. The package likely doesn't exist on PyPI.",
468
468
  fix: "Verify the package exists on pypi.org. Use established alternatives: PyJWT for JWT, cryptography for crypto, flask-wtf for validation.",
469
469
  languages: ["python"],
470
470
  },
471
+ // Fabricated Go packages — common hallucinated module paths
472
+ {
473
+ pattern: /^\s*"(?:github\.com\/go-(?:jwt|auth|sanitize|validate|encrypt|hash|session|middleware|cache|queue|email|payments))\b/,
474
+ hallucinated: "Non-existent Go module import",
475
+ reason: "This import references a Go module path commonly hallucinated by LLMs. The module likely doesn't exist.",
476
+ fix: "Verify on pkg.go.dev. Use established alternatives: github.com/golang-jwt/jwt for JWT, golang.org/x/crypto for crypto.",
477
+ languages: ["go"],
478
+ },
479
+ // Fabricated Java/Kotlin packages
480
+ {
481
+ pattern: /^\s*import\s+(?:com\.(?:auth|security|validate|sanitize|encrypt)\.(?:utils|helper|manager|service)|org\.(?:auth|security|validate)\.(?:utils|helper|core))\b/,
482
+ hallucinated: "Non-existent Java/Kotlin package import",
483
+ reason: "This import references a Java/Kotlin package commonly hallucinated by LLMs.",
484
+ fix: "Verify the package exists on Maven Central/Gradle Plugin Portal. Use established alternatives from Spring Security, Apache Commons, or Bouncy Castle.",
485
+ languages: ["java", "kotlin"],
486
+ },
471
487
  ];
472
488
  // ─── Suspicious Import Patterns ─────────────────────────────────────────────
473
489
  /**
@@ -809,6 +825,43 @@ export function analyzeHallucinationDetection(code, language) {
809
825
  }
810
826
  }
811
827
  }
828
+ // ── Dependency Confusion / Internal Namespace Detection ─────────────────
829
+ // Detect unscoped package names that look like internal company packages
830
+ // (common when AI fabricates imports based on the codebase context)
831
+ if (lang === "javascript" || lang === "typescript") {
832
+ const internalPatterns = /\bfrom\s+['"](?!@)([a-z]+-(?:internal|private|core-api|backend-sdk|shared-types|company|org|platform|infra|deploy|devtools|build-tools|internal-utils|private-utils)(?:[-/][a-z]+)*)['"]/;
833
+ for (let i = 0; i < lines.length; i++) {
834
+ if (isCommentLine(lines[i]))
835
+ continue;
836
+ const m = lines[i].match(internalPatterns);
837
+ if (m) {
838
+ findings.push({
839
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
840
+ severity: "high",
841
+ title: `Potential dependency confusion: "${m[1]}"`,
842
+ description: `The package "${m[1]}" looks like an internal/private package name but is imported without a scoped namespace (@org/). ` +
843
+ "AI code generators may fabricate package names based on project context, creating dependency confusion risks.",
844
+ lineNumbers: [i + 1],
845
+ recommendation: "Verify this package exists. Internal packages should use scoped names (@yourorg/package). " +
846
+ "If this is a private package, ensure your .npmrc is configured for your private registry.",
847
+ reference: "Dependency Confusion — Alex Birsan (2021)",
848
+ confidence: 0.7,
849
+ provenance: "regex-pattern-match",
850
+ evidenceChain: {
851
+ steps: [
852
+ {
853
+ observation: `Unscoped package "${m[1]}" contains internal-looking keywords`,
854
+ source: "pattern-match",
855
+ line: i + 1,
856
+ },
857
+ ],
858
+ impactStatement: `Supply-chain risk: "${m[1]}" could be claimed by an attacker on the public registry`,
859
+ },
860
+ evidenceBasis: "Dependency-confusion-heuristic (+0.40), naming-pattern (+0.30)",
861
+ });
862
+ }
863
+ }
864
+ }
812
865
  return findings;
813
866
  }
814
867
  //# sourceMappingURL=hallucination-detection.js.map