@kevinrabun/judges 3.38.0 → 3.40.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.
- package/CHANGELOG.md +46 -0
- package/README.md +5 -4
- package/dist/api.d.ts +5 -2
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +5 -1
- package/dist/api.js.map +1 -1
- package/dist/ast/structural-parser.js +3 -3
- package/dist/ast/structural-parser.js.map +1 -1
- package/dist/calibration.d.ts +35 -0
- package/dist/calibration.d.ts.map +1 -1
- package/dist/calibration.js +52 -0
- package/dist/calibration.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +307 -16
- package/dist/cli.js.map +1 -1
- package/dist/commands/benchmark-languages.js +4 -4
- package/dist/commands/benchmark.d.ts +2 -1
- package/dist/commands/benchmark.d.ts.map +1 -1
- package/dist/commands/benchmark.js +67 -2
- package/dist/commands/benchmark.js.map +1 -1
- package/dist/commands/calibration-dashboard.d.ts.map +1 -1
- package/dist/commands/calibration-dashboard.js +198 -0
- package/dist/commands/calibration-dashboard.js.map +1 -1
- package/dist/commands/calibration-share.d.ts +31 -0
- package/dist/commands/calibration-share.d.ts.map +1 -0
- package/dist/commands/calibration-share.js +183 -0
- package/dist/commands/calibration-share.js.map +1 -0
- package/dist/commands/compliance-report.d.ts +35 -0
- package/dist/commands/compliance-report.d.ts.map +1 -0
- package/dist/commands/compliance-report.js +162 -0
- package/dist/commands/compliance-report.js.map +1 -0
- package/dist/commands/diff.d.ts.map +1 -1
- package/dist/commands/diff.js +8 -3
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/feedback-rules.d.ts +29 -0
- package/dist/commands/feedback-rules.d.ts.map +1 -0
- package/dist/commands/feedback-rules.js +174 -0
- package/dist/commands/feedback-rules.js.map +1 -0
- package/dist/commands/feedback.d.ts +12 -0
- package/dist/commands/feedback.d.ts.map +1 -1
- package/dist/commands/feedback.js +16 -0
- package/dist/commands/feedback.js.map +1 -1
- package/dist/commands/fix.d.ts.map +1 -1
- package/dist/commands/fix.js +33 -1
- package/dist/commands/fix.js.map +1 -1
- package/dist/commands/governance.d.ts +32 -0
- package/dist/commands/governance.d.ts.map +1 -0
- package/dist/commands/governance.js +203 -0
- package/dist/commands/governance.js.map +1 -0
- package/dist/commands/help.d.ts +8 -0
- package/dist/commands/help.d.ts.map +1 -0
- package/dist/commands/help.js +303 -0
- package/dist/commands/help.js.map +1 -0
- package/dist/commands/hook.d.ts.map +1 -1
- package/dist/commands/hook.js +17 -20
- package/dist/commands/hook.js.map +1 -1
- package/dist/commands/llm-benchmark.d.ts +119 -0
- package/dist/commands/llm-benchmark.d.ts.map +1 -0
- package/dist/commands/llm-benchmark.js +396 -0
- package/dist/commands/llm-benchmark.js.map +1 -0
- package/dist/commands/metrics-dashboard.d.ts +22 -0
- package/dist/commands/metrics-dashboard.d.ts.map +1 -0
- package/dist/commands/metrics-dashboard.js +335 -0
- package/dist/commands/metrics-dashboard.js.map +1 -0
- package/dist/commands/metrics.d.ts +58 -0
- package/dist/commands/metrics.d.ts.map +1 -0
- package/dist/commands/metrics.js +242 -0
- package/dist/commands/metrics.js.map +1 -0
- package/dist/commands/onboard.d.ts +13 -0
- package/dist/commands/onboard.d.ts.map +1 -0
- package/dist/commands/onboard.js +179 -0
- package/dist/commands/onboard.js.map +1 -0
- package/dist/commands/org-metrics.d.ts +24 -0
- package/dist/commands/org-metrics.d.ts.map +1 -0
- package/dist/commands/org-metrics.js +238 -0
- package/dist/commands/org-metrics.js.map +1 -0
- package/dist/commands/override.d.ts +62 -0
- package/dist/commands/override.d.ts.map +1 -0
- package/dist/commands/override.js +264 -0
- package/dist/commands/override.js.map +1 -0
- package/dist/commands/parity.d.ts +31 -0
- package/dist/commands/parity.d.ts.map +1 -0
- package/dist/commands/parity.js +213 -0
- package/dist/commands/parity.js.map +1 -0
- package/dist/commands/plugin-search.d.ts +40 -0
- package/dist/commands/plugin-search.d.ts.map +1 -0
- package/dist/commands/plugin-search.js +328 -0
- package/dist/commands/plugin-search.js.map +1 -0
- package/dist/commands/plugins.d.ts +13 -0
- package/dist/commands/plugins.d.ts.map +1 -0
- package/dist/commands/plugins.js +105 -0
- package/dist/commands/plugins.js.map +1 -0
- package/dist/commands/review.js +1 -1
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/snapshot.d.ts +27 -0
- package/dist/commands/snapshot.d.ts.map +1 -1
- package/dist/commands/snapshot.js +99 -0
- package/dist/commands/snapshot.js.map +1 -1
- package/dist/commands/trace.d.ts +65 -0
- package/dist/commands/trace.d.ts.map +1 -0
- package/dist/commands/trace.js +246 -0
- package/dist/commands/trace.js.map +1 -0
- package/dist/commands/trust-ramp.d.ts +30 -0
- package/dist/commands/trust-ramp.d.ts.map +1 -0
- package/dist/commands/trust-ramp.js +190 -0
- package/dist/commands/trust-ramp.js.map +1 -0
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +65 -0
- package/dist/config.js.map +1 -1
- package/dist/data-adapter.d.ts +124 -0
- package/dist/data-adapter.d.ts.map +1 -0
- package/dist/data-adapter.js +213 -0
- package/dist/data-adapter.js.map +1 -0
- package/dist/evaluators/accessibility.js +1 -1
- package/dist/evaluators/accessibility.js.map +1 -1
- package/dist/evaluators/ai-code-safety.d.ts.map +1 -1
- package/dist/evaluators/ai-code-safety.js +1 -4
- package/dist/evaluators/ai-code-safety.js.map +1 -1
- package/dist/evaluators/cost-effectiveness.js +1 -1
- package/dist/evaluators/cost-effectiveness.js.map +1 -1
- package/dist/evaluators/false-positive-review.js +4 -4
- package/dist/evaluators/false-positive-review.js.map +1 -1
- package/dist/evaluators/iac-security.js +1 -1
- package/dist/evaluators/iac-security.js.map +1 -1
- package/dist/evaluators/index.d.ts.map +1 -1
- package/dist/evaluators/index.js +59 -10
- package/dist/evaluators/index.js.map +1 -1
- package/dist/evaluators/intent-alignment.d.ts +4 -0
- package/dist/evaluators/intent-alignment.d.ts.map +1 -1
- package/dist/evaluators/intent-alignment.js +163 -0
- package/dist/evaluators/intent-alignment.js.map +1 -1
- package/dist/evaluators/logic-review.js +1 -1
- package/dist/evaluators/logic-review.js.map +1 -1
- package/dist/evaluators/maintainability.js +1 -1
- package/dist/evaluators/maintainability.js.map +1 -1
- package/dist/evaluators/over-engineering.js +3 -3
- package/dist/evaluators/over-engineering.js.map +1 -1
- package/dist/evaluators/project.d.ts +12 -0
- package/dist/evaluators/project.d.ts.map +1 -1
- package/dist/evaluators/project.js +86 -0
- package/dist/evaluators/project.js.map +1 -1
- package/dist/evaluators/security.js +2 -2
- package/dist/evaluators/security.js.map +1 -1
- package/dist/evaluators/ux.js +1 -1
- package/dist/evaluators/ux.js.map +1 -1
- package/dist/finding-lifecycle.d.ts +9 -0
- package/dist/finding-lifecycle.d.ts.map +1 -1
- package/dist/finding-lifecycle.js +15 -0
- package/dist/finding-lifecycle.js.map +1 -1
- package/dist/fix-history.d.ts +9 -0
- package/dist/fix-history.d.ts.map +1 -1
- package/dist/fix-history.js +15 -0
- package/dist/fix-history.js.map +1 -1
- package/dist/formatters/sarif.d.ts +3 -0
- package/dist/formatters/sarif.d.ts.map +1 -1
- package/dist/formatters/sarif.js +36 -12
- package/dist/formatters/sarif.js.map +1 -1
- package/dist/github-app.d.ts +16 -1
- package/dist/github-app.d.ts.map +1 -1
- package/dist/github-app.js +85 -2
- package/dist/github-app.js.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/judge-registry.d.ts +157 -0
- package/dist/judge-registry.d.ts.map +1 -0
- package/dist/judge-registry.js +273 -0
- package/dist/judge-registry.js.map +1 -0
- package/dist/judges/accessibility.d.ts.map +1 -1
- package/dist/judges/accessibility.js +4 -0
- package/dist/judges/accessibility.js.map +1 -1
- package/dist/judges/agent-instructions.d.ts.map +1 -1
- package/dist/judges/agent-instructions.js +4 -0
- package/dist/judges/agent-instructions.js.map +1 -1
- package/dist/judges/ai-code-safety.d.ts.map +1 -1
- package/dist/judges/ai-code-safety.js +4 -0
- package/dist/judges/ai-code-safety.js.map +1 -1
- package/dist/judges/api-contract.d.ts.map +1 -1
- package/dist/judges/api-contract.js +4 -0
- package/dist/judges/api-contract.js.map +1 -1
- package/dist/judges/api-design.d.ts.map +1 -1
- package/dist/judges/api-design.js +4 -0
- package/dist/judges/api-design.js.map +1 -1
- package/dist/judges/authentication.d.ts.map +1 -1
- package/dist/judges/authentication.js +4 -0
- package/dist/judges/authentication.js.map +1 -1
- package/dist/judges/backwards-compatibility.d.ts.map +1 -1
- package/dist/judges/backwards-compatibility.js +4 -0
- package/dist/judges/backwards-compatibility.js.map +1 -1
- package/dist/judges/caching.d.ts.map +1 -1
- package/dist/judges/caching.js +4 -0
- package/dist/judges/caching.js.map +1 -1
- package/dist/judges/ci-cd.d.ts.map +1 -1
- package/dist/judges/ci-cd.js +4 -0
- package/dist/judges/ci-cd.js.map +1 -1
- package/dist/judges/cloud-readiness.d.ts.map +1 -1
- package/dist/judges/cloud-readiness.js +4 -0
- package/dist/judges/cloud-readiness.js.map +1 -1
- package/dist/judges/code-structure.d.ts.map +1 -1
- package/dist/judges/code-structure.js +4 -0
- package/dist/judges/code-structure.js.map +1 -1
- package/dist/judges/compliance.d.ts.map +1 -1
- package/dist/judges/compliance.js +4 -0
- package/dist/judges/compliance.js.map +1 -1
- package/dist/judges/concurrency.d.ts.map +1 -1
- package/dist/judges/concurrency.js +4 -0
- package/dist/judges/concurrency.js.map +1 -1
- package/dist/judges/configuration-management.d.ts.map +1 -1
- package/dist/judges/configuration-management.js +4 -0
- package/dist/judges/configuration-management.js.map +1 -1
- package/dist/judges/cost-effectiveness.d.ts.map +1 -1
- package/dist/judges/cost-effectiveness.js +4 -0
- package/dist/judges/cost-effectiveness.js.map +1 -1
- package/dist/judges/cybersecurity.d.ts.map +1 -1
- package/dist/judges/cybersecurity.js +4 -0
- package/dist/judges/cybersecurity.js.map +1 -1
- package/dist/judges/data-security.d.ts.map +1 -1
- package/dist/judges/data-security.js +4 -0
- package/dist/judges/data-security.js.map +1 -1
- package/dist/judges/data-sovereignty.d.ts.map +1 -1
- package/dist/judges/data-sovereignty.js +4 -0
- package/dist/judges/data-sovereignty.js.map +1 -1
- package/dist/judges/database.d.ts.map +1 -1
- package/dist/judges/database.js +4 -0
- package/dist/judges/database.js.map +1 -1
- package/dist/judges/dependency-health.d.ts.map +1 -1
- package/dist/judges/dependency-health.js +4 -0
- package/dist/judges/dependency-health.js.map +1 -1
- package/dist/judges/documentation.d.ts.map +1 -1
- package/dist/judges/documentation.js +4 -0
- package/dist/judges/documentation.js.map +1 -1
- package/dist/judges/error-handling.d.ts.map +1 -1
- package/dist/judges/error-handling.js +4 -0
- package/dist/judges/error-handling.js.map +1 -1
- package/dist/judges/ethics-bias.d.ts.map +1 -1
- package/dist/judges/ethics-bias.js +4 -0
- package/dist/judges/ethics-bias.js.map +1 -1
- package/dist/judges/false-positive-review.d.ts.map +1 -1
- package/dist/judges/false-positive-review.js +2 -0
- package/dist/judges/false-positive-review.js.map +1 -1
- package/dist/judges/framework-safety.d.ts.map +1 -1
- package/dist/judges/framework-safety.js +4 -0
- package/dist/judges/framework-safety.js.map +1 -1
- package/dist/judges/hallucination-detection.d.ts.map +1 -1
- package/dist/judges/hallucination-detection.js +4 -0
- package/dist/judges/hallucination-detection.js.map +1 -1
- package/dist/judges/iac-security.d.ts.map +1 -1
- package/dist/judges/iac-security.js +4 -0
- package/dist/judges/iac-security.js.map +1 -1
- package/dist/judges/index.d.ts +59 -0
- package/dist/judges/index.d.ts.map +1 -1
- package/dist/judges/index.js +65 -189
- package/dist/judges/index.js.map +1 -1
- package/dist/judges/intent-alignment.d.ts.map +1 -1
- package/dist/judges/intent-alignment.js +4 -0
- package/dist/judges/intent-alignment.js.map +1 -1
- package/dist/judges/internationalization.d.ts.map +1 -1
- package/dist/judges/internationalization.js +4 -0
- package/dist/judges/internationalization.js.map +1 -1
- package/dist/judges/logging-privacy.d.ts.map +1 -1
- package/dist/judges/logging-privacy.js +4 -0
- package/dist/judges/logging-privacy.js.map +1 -1
- package/dist/judges/logic-review.d.ts.map +1 -1
- package/dist/judges/logic-review.js +4 -0
- package/dist/judges/logic-review.js.map +1 -1
- package/dist/judges/maintainability.d.ts.map +1 -1
- package/dist/judges/maintainability.js +4 -0
- package/dist/judges/maintainability.js.map +1 -1
- package/dist/judges/model-fingerprint.d.ts.map +1 -1
- package/dist/judges/model-fingerprint.js +4 -0
- package/dist/judges/model-fingerprint.js.map +1 -1
- package/dist/judges/multi-turn-coherence.d.ts.map +1 -1
- package/dist/judges/multi-turn-coherence.js +4 -0
- package/dist/judges/multi-turn-coherence.js.map +1 -1
- package/dist/judges/observability.d.ts.map +1 -1
- package/dist/judges/observability.js +4 -0
- package/dist/judges/observability.js.map +1 -1
- package/dist/judges/over-engineering.d.ts.map +1 -1
- package/dist/judges/over-engineering.js +4 -0
- package/dist/judges/over-engineering.js.map +1 -1
- package/dist/judges/performance.d.ts.map +1 -1
- package/dist/judges/performance.js +4 -0
- package/dist/judges/performance.js.map +1 -1
- package/dist/judges/portability.d.ts.map +1 -1
- package/dist/judges/portability.js +4 -0
- package/dist/judges/portability.js.map +1 -1
- package/dist/judges/rate-limiting.d.ts.map +1 -1
- package/dist/judges/rate-limiting.js +4 -0
- package/dist/judges/rate-limiting.js.map +1 -1
- package/dist/judges/reliability.d.ts.map +1 -1
- package/dist/judges/reliability.js +4 -0
- package/dist/judges/reliability.js.map +1 -1
- package/dist/judges/scalability.d.ts.map +1 -1
- package/dist/judges/scalability.js +4 -0
- package/dist/judges/scalability.js.map +1 -1
- package/dist/judges/security.d.ts.map +1 -1
- package/dist/judges/security.js +4 -0
- package/dist/judges/security.js.map +1 -1
- package/dist/judges/software-practices.d.ts.map +1 -1
- package/dist/judges/software-practices.js +4 -0
- package/dist/judges/software-practices.js.map +1 -1
- package/dist/judges/testing.d.ts.map +1 -1
- package/dist/judges/testing.js +4 -0
- package/dist/judges/testing.js.map +1 -1
- package/dist/judges/ux.d.ts.map +1 -1
- package/dist/judges/ux.js +4 -0
- package/dist/judges/ux.js.map +1 -1
- package/dist/plugins.d.ts +8 -51
- package/dist/plugins.d.ts.map +1 -1
- package/dist/plugins.js +16 -125
- package/dist/plugins.js.map +1 -1
- package/dist/security-ids.d.ts +24 -0
- package/dist/security-ids.d.ts.map +1 -0
- package/dist/security-ids.js +240 -0
- package/dist/security-ids.js.map +1 -0
- package/dist/tools/prompts.d.ts +4 -0
- package/dist/tools/prompts.d.ts.map +1 -1
- package/dist/tools/prompts.js +6 -4
- package/dist/tools/prompts.js.map +1 -1
- package/dist/tools/register-scaffold.d.ts +3 -0
- package/dist/tools/register-scaffold.d.ts.map +1 -0
- package/dist/tools/register-scaffold.js +399 -0
- package/dist/tools/register-scaffold.js.map +1 -0
- package/dist/tools/register.d.ts +1 -1
- package/dist/tools/register.d.ts.map +1 -1
- package/dist/tools/register.js +3 -1
- package/dist/tools/register.js.map +1 -1
- package/dist/types.d.ts +75 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
- package/server.json +2 -2
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CWE / OWASP Rule Mapping — Structured Security Identifiers
|
|
3
|
+
*
|
|
4
|
+
* Maps rule prefixes and specific rule IDs to CWE and OWASP identifiers.
|
|
5
|
+
* These are attached to findings so downstream tools (SARIF viewers,
|
|
6
|
+
* compliance dashboards, etc.) can cross-reference industry standards.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Prefix-level mappings — applies to all rules under a judge.
|
|
10
|
+
*/
|
|
11
|
+
const PREFIX_MAP = {
|
|
12
|
+
SEC: {
|
|
13
|
+
cweIds: ["CWE-79", "CWE-89"],
|
|
14
|
+
owaspIds: ["A03:2021"],
|
|
15
|
+
learnMoreUrl: "https://owasp.org/Top10/A03_2021-Injection/",
|
|
16
|
+
},
|
|
17
|
+
AUTH: {
|
|
18
|
+
cweIds: ["CWE-287", "CWE-798"],
|
|
19
|
+
owaspIds: ["A07:2021"],
|
|
20
|
+
learnMoreUrl: "https://owasp.org/Top10/A07_2021-Identification_and_Authentication_Failures/",
|
|
21
|
+
},
|
|
22
|
+
CRYPTO: {
|
|
23
|
+
cweIds: ["CWE-327", "CWE-328"],
|
|
24
|
+
owaspIds: ["A02:2021"],
|
|
25
|
+
learnMoreUrl: "https://owasp.org/Top10/A02_2021-Cryptographic_Failures/",
|
|
26
|
+
},
|
|
27
|
+
DATA: {
|
|
28
|
+
cweIds: ["CWE-200", "CWE-312", "CWE-798"],
|
|
29
|
+
owaspIds: ["A02:2021"],
|
|
30
|
+
learnMoreUrl: "https://owasp.org/Top10/A02_2021-Cryptographic_Failures/",
|
|
31
|
+
},
|
|
32
|
+
CYBER: {
|
|
33
|
+
cweIds: ["CWE-284", "CWE-269"],
|
|
34
|
+
owaspIds: ["A01:2021"],
|
|
35
|
+
learnMoreUrl: "https://owasp.org/Top10/A01_2021-Broken_Access_Control/",
|
|
36
|
+
},
|
|
37
|
+
INJ: {
|
|
38
|
+
cweIds: ["CWE-89", "CWE-78"],
|
|
39
|
+
owaspIds: ["A03:2021"],
|
|
40
|
+
learnMoreUrl: "https://owasp.org/Top10/A03_2021-Injection/",
|
|
41
|
+
},
|
|
42
|
+
XSS: {
|
|
43
|
+
cweIds: ["CWE-79"],
|
|
44
|
+
owaspIds: ["A03:2021"],
|
|
45
|
+
learnMoreUrl: "https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html",
|
|
46
|
+
},
|
|
47
|
+
SSRF: {
|
|
48
|
+
cweIds: ["CWE-918"],
|
|
49
|
+
owaspIds: ["A10:2021"],
|
|
50
|
+
learnMoreUrl: "https://owasp.org/Top10/A10_2021-Server-Side_Request_Forgery_%28SSRF%29/",
|
|
51
|
+
},
|
|
52
|
+
DB: {
|
|
53
|
+
cweIds: ["CWE-89", "CWE-943"],
|
|
54
|
+
owaspIds: ["A03:2021"],
|
|
55
|
+
learnMoreUrl: "https://cheatsheetseries.owasp.org/cheatsheets/Query_Parameterization_Cheat_Sheet.html",
|
|
56
|
+
},
|
|
57
|
+
CFG: {
|
|
58
|
+
cweIds: ["CWE-16", "CWE-1188"],
|
|
59
|
+
owaspIds: ["A05:2021"],
|
|
60
|
+
learnMoreUrl: "https://owasp.org/Top10/A05_2021-Security_Misconfiguration/",
|
|
61
|
+
},
|
|
62
|
+
RATE: {
|
|
63
|
+
cweIds: ["CWE-770"],
|
|
64
|
+
owaspIds: ["A04:2021"],
|
|
65
|
+
learnMoreUrl: "https://cheatsheetseries.owasp.org/cheatsheets/Denial_of_Service_Cheat_Sheet.html",
|
|
66
|
+
},
|
|
67
|
+
LOGPRIV: {
|
|
68
|
+
cweIds: ["CWE-532", "CWE-117"],
|
|
69
|
+
owaspIds: ["A09:2021"],
|
|
70
|
+
learnMoreUrl: "https://owasp.org/Top10/A09_2021-Security_Logging_and_Monitoring_Failures/",
|
|
71
|
+
},
|
|
72
|
+
COMP: {
|
|
73
|
+
cweIds: ["CWE-1059"],
|
|
74
|
+
owaspIds: ["A04:2021"],
|
|
75
|
+
learnMoreUrl: "https://owasp.org/Top10/A04_2021-Insecure_Design/",
|
|
76
|
+
},
|
|
77
|
+
DEPS: {
|
|
78
|
+
cweIds: ["CWE-1104"],
|
|
79
|
+
owaspIds: ["A06:2021"],
|
|
80
|
+
learnMoreUrl: "https://owasp.org/Top10/A06_2021-Vulnerable_and_Outdated_Components/",
|
|
81
|
+
},
|
|
82
|
+
ERR: {
|
|
83
|
+
cweIds: ["CWE-209", "CWE-755"],
|
|
84
|
+
learnMoreUrl: "https://cheatsheetseries.owasp.org/cheatsheets/Error_Handling_Cheat_Sheet.html",
|
|
85
|
+
},
|
|
86
|
+
SOV: {
|
|
87
|
+
learnMoreUrl: "https://gdpr-info.eu/art-44-gdpr/",
|
|
88
|
+
},
|
|
89
|
+
PERF: {
|
|
90
|
+
learnMoreUrl: "https://web.dev/performance/",
|
|
91
|
+
},
|
|
92
|
+
A11Y: {
|
|
93
|
+
learnMoreUrl: "https://www.w3.org/WAI/standards-guidelines/wcag/",
|
|
94
|
+
},
|
|
95
|
+
DOC: {
|
|
96
|
+
learnMoreUrl: "https://jsdoc.app/",
|
|
97
|
+
},
|
|
98
|
+
TEST: {
|
|
99
|
+
learnMoreUrl: "https://martinfowler.com/articles/practical-test-pyramid.html",
|
|
100
|
+
},
|
|
101
|
+
API: {
|
|
102
|
+
learnMoreUrl: "https://swagger.io/resources/articles/best-practices-in-api-design/",
|
|
103
|
+
},
|
|
104
|
+
SCALE: {
|
|
105
|
+
learnMoreUrl: "https://12factor.net/",
|
|
106
|
+
},
|
|
107
|
+
REL: {
|
|
108
|
+
learnMoreUrl: "https://sre.google/sre-book/table-of-contents/",
|
|
109
|
+
},
|
|
110
|
+
OBS: {
|
|
111
|
+
learnMoreUrl: "https://opentelemetry.io/docs/",
|
|
112
|
+
},
|
|
113
|
+
MAINT: {
|
|
114
|
+
learnMoreUrl: "https://refactoring.guru/refactoring",
|
|
115
|
+
},
|
|
116
|
+
CONC: {
|
|
117
|
+
cweIds: ["CWE-362", "CWE-667"],
|
|
118
|
+
learnMoreUrl: "https://cheatsheetseries.owasp.org/cheatsheets/Race_Conditions_Cheat_Sheet.html",
|
|
119
|
+
},
|
|
120
|
+
STRUCT: {
|
|
121
|
+
learnMoreUrl: "https://refactoring.guru/refactoring/smells",
|
|
122
|
+
},
|
|
123
|
+
I18N: {
|
|
124
|
+
learnMoreUrl: "https://developer.mozilla.org/en-US/docs/Mozilla/Localization/Web_Localizability/Creating_localizable_web_applications",
|
|
125
|
+
},
|
|
126
|
+
CLOUD: {
|
|
127
|
+
learnMoreUrl: "https://12factor.net/",
|
|
128
|
+
},
|
|
129
|
+
COST: {
|
|
130
|
+
learnMoreUrl: "https://aws.amazon.com/architecture/cost-optimization/",
|
|
131
|
+
},
|
|
132
|
+
CACHE: {
|
|
133
|
+
learnMoreUrl: "https://redis.io/docs/manual/client-side-caching/",
|
|
134
|
+
},
|
|
135
|
+
COMPAT: {
|
|
136
|
+
learnMoreUrl: "https://semver.org/",
|
|
137
|
+
},
|
|
138
|
+
CICD: {
|
|
139
|
+
learnMoreUrl: "https://docs.github.com/en/actions",
|
|
140
|
+
},
|
|
141
|
+
PORTA: {
|
|
142
|
+
learnMoreUrl: "https://12factor.net/dev-prod-parity",
|
|
143
|
+
},
|
|
144
|
+
UX: {
|
|
145
|
+
learnMoreUrl: "https://www.nngroup.com/articles/usability-heuristics/",
|
|
146
|
+
},
|
|
147
|
+
ETHICS: {
|
|
148
|
+
learnMoreUrl: "https://www.microsoft.com/en-us/ai/responsible-ai",
|
|
149
|
+
},
|
|
150
|
+
AGENT: {
|
|
151
|
+
learnMoreUrl: "https://docs.github.com/en/copilot/customizing-copilot/adding-custom-instructions-for-github-copilot",
|
|
152
|
+
},
|
|
153
|
+
AICS: {
|
|
154
|
+
owaspIds: ["OWASP-AI-Security"],
|
|
155
|
+
learnMoreUrl: "https://owasp.org/www-project-ai-security-and-privacy-guide/",
|
|
156
|
+
},
|
|
157
|
+
IAC: {
|
|
158
|
+
cweIds: ["CWE-1004"],
|
|
159
|
+
learnMoreUrl: "https://cheatsheetseries.owasp.org/cheatsheets/Infrastructure_as_Code_Security_Cheat_Sheet.html",
|
|
160
|
+
},
|
|
161
|
+
INTENT: {
|
|
162
|
+
learnMoreUrl: "https://docs.github.com/en/copilot/using-github-copilot/best-practices-for-using-github-copilot",
|
|
163
|
+
},
|
|
164
|
+
DSEC: {
|
|
165
|
+
cweIds: ["CWE-1104"],
|
|
166
|
+
owaspIds: ["A06:2021"],
|
|
167
|
+
learnMoreUrl: "https://owasp.org/Top10/A06_2021-Vulnerable_and_Outdated_Components/",
|
|
168
|
+
},
|
|
169
|
+
HALLU: {
|
|
170
|
+
learnMoreUrl: "https://owasp.org/www-project-top-10-for-large-language-model-applications/",
|
|
171
|
+
},
|
|
172
|
+
COH: {
|
|
173
|
+
learnMoreUrl: "https://owasp.org/www-project-top-10-for-large-language-model-applications/",
|
|
174
|
+
},
|
|
175
|
+
MFPR: {
|
|
176
|
+
learnMoreUrl: "https://owasp.org/www-project-top-10-for-large-language-model-applications/",
|
|
177
|
+
},
|
|
178
|
+
};
|
|
179
|
+
/**
|
|
180
|
+
* Rule-specific overrides — more precise than prefix-level mappings.
|
|
181
|
+
*/
|
|
182
|
+
const RULE_MAP = {
|
|
183
|
+
"SEC-001": { cweIds: ["CWE-89"], owaspIds: ["A03:2021"] },
|
|
184
|
+
"SEC-002": { cweIds: ["CWE-78"], owaspIds: ["A03:2021"] },
|
|
185
|
+
"SEC-003": { cweIds: ["CWE-79"], owaspIds: ["A03:2021"] },
|
|
186
|
+
"AUTH-001": { cweIds: ["CWE-798"], owaspIds: ["A07:2021"] },
|
|
187
|
+
"AUTH-002": { cweIds: ["CWE-287"], owaspIds: ["A07:2021"] },
|
|
188
|
+
"AUTH-003": { cweIds: ["CWE-257"], owaspIds: ["A07:2021"] },
|
|
189
|
+
"DATA-001": { cweIds: ["CWE-312", "CWE-798"], owaspIds: ["A02:2021"] },
|
|
190
|
+
"DATA-002": { cweIds: ["CWE-200"], owaspIds: ["A01:2021"] },
|
|
191
|
+
"CYBER-001": { cweIds: ["CWE-78"], owaspIds: ["A03:2021"] },
|
|
192
|
+
"CYBER-002": { cweIds: ["CWE-94"], owaspIds: ["A03:2021"] },
|
|
193
|
+
"CYBER-003": { cweIds: ["CWE-502"], owaspIds: ["A08:2021"] },
|
|
194
|
+
"CYBER-004": { cweIds: ["CWE-327"], owaspIds: ["A02:2021"] },
|
|
195
|
+
"DB-001": { cweIds: ["CWE-89"], owaspIds: ["A03:2021"] },
|
|
196
|
+
"DB-002": { cweIds: ["CWE-798"], owaspIds: ["A07:2021"] },
|
|
197
|
+
"CFG-001": { cweIds: ["CWE-798"], owaspIds: ["A07:2021"] },
|
|
198
|
+
"CFG-002": { cweIds: ["CWE-16"], owaspIds: ["A05:2021"] },
|
|
199
|
+
"LOGPRIV-001": { cweIds: ["CWE-532"], owaspIds: ["A09:2021"] },
|
|
200
|
+
"LOGPRIV-002": { cweIds: ["CWE-117"], owaspIds: ["A09:2021"] },
|
|
201
|
+
"ERR-001": { cweIds: ["CWE-209"] },
|
|
202
|
+
"ERR-002": { cweIds: ["CWE-755"] },
|
|
203
|
+
"CONC-001": { cweIds: ["CWE-362"] },
|
|
204
|
+
"CONC-002": { cweIds: ["CWE-667"] },
|
|
205
|
+
"RATE-001": { cweIds: ["CWE-770"], owaspIds: ["A04:2021"] },
|
|
206
|
+
};
|
|
207
|
+
// ─── Enrichment Function ────────────────────────────────────────────────────
|
|
208
|
+
/**
|
|
209
|
+
* Enrich findings with structured CWE/OWASP IDs and Learn More URLs.
|
|
210
|
+
* Non-mutating — returns a new array of enriched findings.
|
|
211
|
+
*/
|
|
212
|
+
export function enrichWithSecurityIds(findings) {
|
|
213
|
+
return findings.map((f) => {
|
|
214
|
+
const prefix = f.ruleId.replace(/-\d+$/, "");
|
|
215
|
+
const ruleMapping = RULE_MAP[f.ruleId];
|
|
216
|
+
const prefixMapping = PREFIX_MAP[prefix];
|
|
217
|
+
const cweIds = ruleMapping?.cweIds ?? prefixMapping?.cweIds;
|
|
218
|
+
const owaspIds = ruleMapping?.owaspIds ?? prefixMapping?.owaspIds;
|
|
219
|
+
const learnMoreUrl = ruleMapping?.learnMoreUrl ?? prefixMapping?.learnMoreUrl;
|
|
220
|
+
if (!cweIds && !owaspIds && !learnMoreUrl)
|
|
221
|
+
return f;
|
|
222
|
+
return {
|
|
223
|
+
...f,
|
|
224
|
+
...(cweIds && !f.cweIds ? { cweIds } : {}),
|
|
225
|
+
...(owaspIds && !f.owaspIds ? { owaspIds } : {}),
|
|
226
|
+
...(learnMoreUrl && !f.learnMoreUrl ? { learnMoreUrl } : {}),
|
|
227
|
+
};
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Get the security mapping for a specific rule or prefix.
|
|
232
|
+
*/
|
|
233
|
+
export function getSecurityMapping(ruleId) {
|
|
234
|
+
const ruleMapping = RULE_MAP[ruleId];
|
|
235
|
+
if (ruleMapping)
|
|
236
|
+
return ruleMapping;
|
|
237
|
+
const prefix = ruleId.replace(/-\d+$/, "");
|
|
238
|
+
return PREFIX_MAP[prefix];
|
|
239
|
+
}
|
|
240
|
+
//# sourceMappingURL=security-ids.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-ids.js","sourceRoot":"","sources":["../src/security-ids.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/prompts.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
/** Adversarial evaluation stance — shared across all judges. */
|
|
3
|
+
export declare const SHARED_ADVERSARIAL_MANDATE = "ADVERSARIAL MANDATE (applies to ALL judges):\n- Your role is adversarial: assume the code has problems and actively hunt for them. Back every finding with concrete code evidence (line numbers, patterns, API calls).\n- Never praise or compliment the code. Report only problems, risks, and deficiencies.\n- If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.\n- If no concrete issues are found after thorough analysis, report zero findings. Do not pad the report with speculative issues.";
|
|
4
|
+
/** Precision override — ensures evidence-based findings. */
|
|
5
|
+
export declare const PRECISION_MANDATE = "PRECISION MANDATE (overrides adversarial stance when in conflict):\n- Every finding MUST cite specific code evidence: exact line numbers, API calls, variable names, or patterns. Findings without concrete evidence must be discarded.\n- Do NOT flag the absence of a feature or pattern unless you can identify the specific code location where it SHOULD have been implemented and explain WHY it is required for THIS code.\n- Speculative, hypothetical, or \"just in case\" findings erode developer trust. Only flag issues you are confident exist in the actual code.\n- Prefer fewer, high-confidence findings over many uncertain ones. Quality of findings matters more than quantity.\n- If the code is genuinely well-written with no real issues, reporting ZERO findings is the correct and expected behavior. Do not manufacture findings to avoid an empty report.\n- Clean, well-structured code exists. Acknowledge it by not forcing false issues.";
|
|
2
6
|
/**
|
|
3
7
|
* Extract only the unique evaluation criteria from a judge's systemPrompt,
|
|
4
8
|
* stripping the persona introduction line, the ADVERSARIAL MANDATE block,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/tools/prompts.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/tools/prompts.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,gEAAgE;AAChE,eAAO,MAAM,0BAA0B,2oBAIyF,CAAC;AAEjI,4DAA4D;AAC5D,eAAO,MAAM,iBAAiB,86BAMoD,CAAC;AAInF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAyBjE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkFvD"}
|
package/dist/tools/prompts.js
CHANGED
|
@@ -16,17 +16,19 @@ import { JUDGES } from "../judges/index.js";
|
|
|
16
16
|
// repeating the text 39 times.
|
|
17
17
|
// ──────────────────────────────────────────────────────────────────────────────
|
|
18
18
|
/** Adversarial evaluation stance — shared across all judges. */
|
|
19
|
-
const SHARED_ADVERSARIAL_MANDATE = `ADVERSARIAL MANDATE (applies to ALL judges):
|
|
19
|
+
export const SHARED_ADVERSARIAL_MANDATE = `ADVERSARIAL MANDATE (applies to ALL judges):
|
|
20
20
|
- Your role is adversarial: assume the code has problems and actively hunt for them. Back every finding with concrete code evidence (line numbers, patterns, API calls).
|
|
21
21
|
- Never praise or compliment the code. Report only problems, risks, and deficiencies.
|
|
22
22
|
- If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
|
|
23
|
-
-
|
|
23
|
+
- If no concrete issues are found after thorough analysis, report zero findings. Do not pad the report with speculative issues.`;
|
|
24
24
|
/** Precision override — ensures evidence-based findings. */
|
|
25
|
-
const PRECISION_MANDATE = `PRECISION MANDATE (overrides adversarial stance when in conflict):
|
|
25
|
+
export const PRECISION_MANDATE = `PRECISION MANDATE (overrides adversarial stance when in conflict):
|
|
26
26
|
- Every finding MUST cite specific code evidence: exact line numbers, API calls, variable names, or patterns. Findings without concrete evidence must be discarded.
|
|
27
27
|
- Do NOT flag the absence of a feature or pattern unless you can identify the specific code location where it SHOULD have been implemented and explain WHY it is required for THIS code.
|
|
28
28
|
- Speculative, hypothetical, or "just in case" findings erode developer trust. Only flag issues you are confident exist in the actual code.
|
|
29
|
-
- Prefer fewer, high-confidence findings over many uncertain ones. Quality of findings matters more than quantity
|
|
29
|
+
- Prefer fewer, high-confidence findings over many uncertain ones. Quality of findings matters more than quantity.
|
|
30
|
+
- If the code is genuinely well-written with no real issues, reporting ZERO findings is the correct and expected behavior. Do not manufacture findings to avoid an empty report.
|
|
31
|
+
- Clean, well-structured code exists. Acknowledge it by not forcing false issues.`;
|
|
30
32
|
// ─── Criteria Extraction ─────────────────────────────────────────────────────
|
|
31
33
|
/**
|
|
32
34
|
* Extract only the unique evaluation criteria from a judge's systemPrompt,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/tools/prompts.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAChE,EAAE;AACF,uEAAuE;AACvE,yEAAyE;AACzE,yEAAyE;AACzE,0EAA0E;AAC1E,uEAAuE;AACvE,oDAAoD;AACpD,iFAAiF;AAGjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,gFAAgF;AAChF,uEAAuE;AACvE,+BAA+B;AAC/B,iFAAiF;AAEjF,gEAAgE;AAChE,MAAM,0BAA0B,GAAG;;;;
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/tools/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-scaffold.d.ts","sourceRoot":"","sources":["../../src/tools/register-scaffold.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmBzE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAG7D"}
|