@kevinrabun/judges 3.38.0 → 3.41.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 +68 -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 +370 -16
- package/dist/cli.js.map +1 -1
- package/dist/commands/auto-calibrate.d.ts +15 -0
- package/dist/commands/auto-calibrate.d.ts.map +1 -0
- package/dist/commands/auto-calibrate.js +107 -0
- package/dist/commands/auto-calibrate.js.map +1 -0
- 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/config-migrate.d.ts +44 -0
- package/dist/commands/config-migrate.d.ts.map +1 -0
- package/dist/commands/config-migrate.js +241 -0
- package/dist/commands/config-migrate.js.map +1 -0
- package/dist/commands/dedup-report.d.ts +13 -0
- package/dist/commands/dedup-report.d.ts.map +1 -0
- package/dist/commands/dedup-report.js +138 -0
- package/dist/commands/dedup-report.js.map +1 -0
- package/dist/commands/dep-audit.d.ts +53 -0
- package/dist/commands/dep-audit.d.ts.map +1 -0
- package/dist/commands/dep-audit.js +278 -0
- package/dist/commands/dep-audit.js.map +1 -0
- package/dist/commands/deprecated.d.ts +48 -0
- package/dist/commands/deprecated.d.ts.map +1 -0
- package/dist/commands/deprecated.js +202 -0
- package/dist/commands/deprecated.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-pr.d.ts +23 -0
- package/dist/commands/fix-pr.d.ts.map +1 -0
- package/dist/commands/fix-pr.js +323 -0
- package/dist/commands/fix-pr.js.map +1 -0
- 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/interactive-fix.d.ts +23 -0
- package/dist/commands/interactive-fix.d.ts.map +1 -0
- package/dist/commands/interactive-fix.js +140 -0
- package/dist/commands/interactive-fix.js.map +1 -0
- 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/monorepo.d.ts +38 -0
- package/dist/commands/monorepo.d.ts.map +1 -0
- package/dist/commands/monorepo.js +233 -0
- package/dist/commands/monorepo.js.map +1 -0
- package/dist/commands/notify.d.ts +79 -0
- package/dist/commands/notify.d.ts.map +1 -0
- package/dist/commands/notify.js +325 -0
- package/dist/commands/notify.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/quality-gate.d.ts +70 -0
- package/dist/commands/quality-gate.d.ts.map +1 -0
- package/dist/commands/quality-gate.js +264 -0
- package/dist/commands/quality-gate.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/framework-rules.d.ts +59 -0
- package/dist/evaluators/framework-rules.d.ts.map +1 -0
- package/dist/evaluators/framework-rules.js +292 -0
- package/dist/evaluators/framework-rules.js.map +1 -0
- 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/parallel.d.ts +53 -0
- package/dist/parallel.d.ts.map +1 -0
- package/dist/parallel.js +170 -0
- package/dist/parallel.js.map +1 -0
- 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
package/dist/plugins.js
CHANGED
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
* Allows third-party extensions to add custom judges, rules, and evaluators
|
|
5
5
|
* that integrate seamlessly with the tribunal evaluation pipeline.
|
|
6
6
|
*
|
|
7
|
+
* This module is now a thin façade over the unified JudgeRegistry.
|
|
8
|
+
* All state lives in `defaultRegistry`; these functions delegate to it
|
|
9
|
+
* for full backwards compatibility.
|
|
10
|
+
*
|
|
7
11
|
* ```ts
|
|
8
12
|
* import { registerPlugin } from "@kevinrabun/judges/api";
|
|
9
13
|
* registerPlugin({
|
|
@@ -14,173 +18,60 @@
|
|
|
14
18
|
* });
|
|
15
19
|
* ```
|
|
16
20
|
*/
|
|
17
|
-
|
|
18
|
-
const registeredPlugins = new Map();
|
|
19
|
-
const customRules = new Map();
|
|
20
|
-
const pluginJudges = new Map();
|
|
21
|
+
import { defaultRegistry } from "./judge-registry.js";
|
|
21
22
|
/**
|
|
22
23
|
* Register a plugin with the judges system.
|
|
23
24
|
*/
|
|
24
25
|
export function registerPlugin(plugin) {
|
|
25
|
-
|
|
26
|
-
throw new Error("Plugin name is required");
|
|
27
|
-
if (!plugin.version)
|
|
28
|
-
throw new Error("Plugin version is required");
|
|
29
|
-
if (registeredPlugins.has(plugin.name)) {
|
|
30
|
-
// Unregister existing version first
|
|
31
|
-
unregisterPlugin(plugin.name);
|
|
32
|
-
}
|
|
33
|
-
registeredPlugins.set(plugin.name, plugin);
|
|
34
|
-
let rulesRegistered = 0;
|
|
35
|
-
let judgesRegistered = 0;
|
|
36
|
-
// Register custom rules
|
|
37
|
-
if (plugin.rules) {
|
|
38
|
-
for (const rule of plugin.rules) {
|
|
39
|
-
if (!rule.id)
|
|
40
|
-
throw new Error(`Rule in plugin "${plugin.name}" is missing an id`);
|
|
41
|
-
customRules.set(rule.id, rule);
|
|
42
|
-
rulesRegistered++;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
// Register custom judges
|
|
46
|
-
if (plugin.judges) {
|
|
47
|
-
for (const judge of plugin.judges) {
|
|
48
|
-
pluginJudges.set(judge.id, judge);
|
|
49
|
-
judgesRegistered++;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
return { name: plugin.name, version: plugin.version, rulesRegistered, judgesRegistered };
|
|
26
|
+
return defaultRegistry.registerPlugin(plugin);
|
|
53
27
|
}
|
|
54
28
|
/**
|
|
55
29
|
* Unregister a plugin and remove its rules/judges.
|
|
56
30
|
*/
|
|
57
31
|
export function unregisterPlugin(name) {
|
|
58
|
-
|
|
59
|
-
if (!plugin)
|
|
60
|
-
return false;
|
|
61
|
-
if (plugin.rules) {
|
|
62
|
-
for (const rule of plugin.rules) {
|
|
63
|
-
customRules.delete(rule.id);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
if (plugin.judges) {
|
|
67
|
-
for (const judge of plugin.judges) {
|
|
68
|
-
pluginJudges.delete(judge.id);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
registeredPlugins.delete(name);
|
|
72
|
-
return true;
|
|
32
|
+
return defaultRegistry.unregisterPlugin(name);
|
|
73
33
|
}
|
|
74
34
|
/**
|
|
75
35
|
* Get all registered plugins.
|
|
76
36
|
*/
|
|
77
37
|
export function getRegisteredPlugins() {
|
|
78
|
-
return
|
|
79
|
-
name: plugin.name,
|
|
80
|
-
version: plugin.version,
|
|
81
|
-
rulesRegistered: plugin.rules?.length ?? 0,
|
|
82
|
-
judgesRegistered: plugin.judges?.length ?? 0,
|
|
83
|
-
}));
|
|
38
|
+
return defaultRegistry.getRegisteredPlugins();
|
|
84
39
|
}
|
|
85
40
|
/**
|
|
86
41
|
* Get all custom rules from all registered plugins.
|
|
87
42
|
*/
|
|
88
43
|
export function getCustomRules() {
|
|
89
|
-
return
|
|
44
|
+
return defaultRegistry.getCustomRules();
|
|
90
45
|
}
|
|
91
46
|
/**
|
|
92
47
|
* Get all custom judges from all registered plugins.
|
|
93
48
|
*/
|
|
94
49
|
export function getPluginJudges() {
|
|
95
|
-
return
|
|
50
|
+
return defaultRegistry.getPluginJudges();
|
|
96
51
|
}
|
|
97
52
|
/**
|
|
98
53
|
* Evaluate custom rules against code and return findings.
|
|
99
54
|
*/
|
|
100
55
|
export function evaluateCustomRules(code, language) {
|
|
101
|
-
|
|
102
|
-
for (const rule of customRules.values()) {
|
|
103
|
-
// Skip if rule doesn't apply to this language
|
|
104
|
-
if (rule.languages && rule.languages.length > 0 && !rule.languages.includes(language)) {
|
|
105
|
-
continue;
|
|
106
|
-
}
|
|
107
|
-
// Custom analyze function
|
|
108
|
-
if (rule.analyze) {
|
|
109
|
-
try {
|
|
110
|
-
findings.push(...rule.analyze(code, language));
|
|
111
|
-
}
|
|
112
|
-
catch {
|
|
113
|
-
// Silently skip failed custom rules
|
|
114
|
-
}
|
|
115
|
-
continue;
|
|
116
|
-
}
|
|
117
|
-
// Pattern-based rule
|
|
118
|
-
if (rule.pattern) {
|
|
119
|
-
const re = new RegExp(rule.pattern.source, rule.pattern.flags);
|
|
120
|
-
let match;
|
|
121
|
-
while ((match = re.exec(code)) !== null) {
|
|
122
|
-
const beforeMatch = code.slice(0, match.index);
|
|
123
|
-
const lineNum = (beforeMatch.match(/\n/g) || []).length + 1;
|
|
124
|
-
findings.push({
|
|
125
|
-
ruleId: rule.id,
|
|
126
|
-
title: rule.title,
|
|
127
|
-
severity: rule.severity,
|
|
128
|
-
description: `${rule.description} (matched: ${match[0].slice(0, 100)})`,
|
|
129
|
-
lineNumbers: [lineNum],
|
|
130
|
-
recommendation: rule.suggestedFix || "",
|
|
131
|
-
suggestedFix: rule.suggestedFix,
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
return findings;
|
|
56
|
+
return defaultRegistry.evaluateCustomRules(code, language);
|
|
137
57
|
}
|
|
138
58
|
/**
|
|
139
59
|
* Run all plugin beforeEvaluate hooks.
|
|
140
60
|
*/
|
|
141
61
|
export function runBeforeHooks(code, language) {
|
|
142
|
-
|
|
143
|
-
if (plugin.beforeEvaluate) {
|
|
144
|
-
try {
|
|
145
|
-
plugin.beforeEvaluate(code, language);
|
|
146
|
-
}
|
|
147
|
-
catch {
|
|
148
|
-
// Don't let plugin errors crash the evaluation
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
62
|
+
defaultRegistry.runBeforeHooks(code, language);
|
|
152
63
|
}
|
|
153
64
|
/**
|
|
154
|
-
* Run all plugin afterEvaluate hooks.
|
|
65
|
+
* Run all plugin afterEvaluate and transformFindings hooks.
|
|
155
66
|
*/
|
|
156
67
|
export function runAfterHooks(findings) {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
if (plugin.afterEvaluate) {
|
|
160
|
-
try {
|
|
161
|
-
result = plugin.afterEvaluate(result);
|
|
162
|
-
}
|
|
163
|
-
catch {
|
|
164
|
-
// Don't let plugin errors crash the evaluation
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
if (plugin.transformFindings) {
|
|
168
|
-
try {
|
|
169
|
-
result = plugin.transformFindings(result);
|
|
170
|
-
}
|
|
171
|
-
catch {
|
|
172
|
-
// Don't let plugin errors crash the evaluation
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
return result;
|
|
68
|
+
const afterResult = defaultRegistry.runAfterHooks(findings);
|
|
69
|
+
return defaultRegistry.runTransformHooks(afterResult);
|
|
177
70
|
}
|
|
178
71
|
/**
|
|
179
72
|
* Clear all registered plugins (useful for testing).
|
|
180
73
|
*/
|
|
181
74
|
export function clearPlugins() {
|
|
182
|
-
|
|
183
|
-
customRules.clear();
|
|
184
|
-
pluginJudges.clear();
|
|
75
|
+
defaultRegistry.clearPlugins();
|
|
185
76
|
}
|
|
186
77
|
//# sourceMappingURL=plugins.js.map
|
package/dist/plugins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,eAAe,EAA+D,MAAM,qBAAqB,CAAC;AAKnH;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAoB;IACjD,OAAO,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,eAAe,CAAC,oBAAoB,EAAE,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,eAAe,CAAC,cAAc,EAAE,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,eAAe,CAAC,eAAe,EAAE,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,QAAgB;IAChE,OAAO,eAAe,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,QAAgB;IAC3D,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,QAAmB;IAC/C,MAAM,WAAW,GAAG,eAAe,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC5D,OAAO,eAAe,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,eAAe,CAAC,YAAY,EAAE,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
import type { Finding } from "./types.js";
|
|
9
|
+
interface SecurityMapping {
|
|
10
|
+
cweIds?: string[];
|
|
11
|
+
owaspIds?: string[];
|
|
12
|
+
learnMoreUrl?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Enrich findings with structured CWE/OWASP IDs and Learn More URLs.
|
|
16
|
+
* Non-mutating — returns a new array of enriched findings.
|
|
17
|
+
*/
|
|
18
|
+
export declare function enrichWithSecurityIds(findings: Finding[]): Finding[];
|
|
19
|
+
/**
|
|
20
|
+
* Get the security mapping for a specific rule or prefix.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getSecurityMapping(ruleId: string): SecurityMapping | undefined;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=security-ids.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-ids.d.ts","sourceRoot":"","sources":["../src/security-ids.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA+MD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAmBpE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAK9E"}
|
|
@@ -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"}
|