@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"false-positive-review.js","sourceRoot":"","sources":["../../src/evaluators/false-positive-review.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"false-positive-review.js","sourceRoot":"","sources":["../../src/evaluators/false-positive-review.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Framework-aware detection module.
|
|
3
|
+
*
|
|
4
|
+
* Detects which framework(s) are in use and provides framework-specific
|
|
5
|
+
* pattern adjustments to reduce false positives. For example:
|
|
6
|
+
* - React: hooks ordering rules, JSX injection awareness
|
|
7
|
+
* - Express/Fastify: middleware chain analysis
|
|
8
|
+
* - Django: ORM injection patterns
|
|
9
|
+
* - Spring: security annotation awareness
|
|
10
|
+
* - Next.js: server-component vs client-component context
|
|
11
|
+
*
|
|
12
|
+
* This module is used by evaluators to adjust their confidence scores
|
|
13
|
+
* and disable irrelevant rules based on framework context.
|
|
14
|
+
*/
|
|
15
|
+
import type { Finding, Severity } from "../types.js";
|
|
16
|
+
export type FrameworkId = "react" | "nextjs" | "angular" | "vue" | "express" | "fastify" | "nestjs" | "django" | "flask" | "fastapi" | "spring" | "rails" | "actix" | "gin" | "echo";
|
|
17
|
+
export interface FrameworkProfile {
|
|
18
|
+
/** Framework identifier */
|
|
19
|
+
id: FrameworkId;
|
|
20
|
+
/** Human-readable name */
|
|
21
|
+
name: string;
|
|
22
|
+
/** Languages this framework applies to */
|
|
23
|
+
languages: string[];
|
|
24
|
+
/** Import/require patterns that identify this framework */
|
|
25
|
+
detectPatterns: RegExp[];
|
|
26
|
+
/** Rule IDs that are typically false positives in this framework */
|
|
27
|
+
fpProne: string[];
|
|
28
|
+
/** Rules whose severity should be adjusted in this framework context */
|
|
29
|
+
severityAdjustments: Array<{
|
|
30
|
+
rulePattern: string;
|
|
31
|
+
adjustment: "downgrade" | "upgrade";
|
|
32
|
+
reason: string;
|
|
33
|
+
}>;
|
|
34
|
+
/** Additional patterns to check for framework-specific issues */
|
|
35
|
+
frameworkRules: Array<{
|
|
36
|
+
id: string;
|
|
37
|
+
pattern: RegExp;
|
|
38
|
+
severity: Severity;
|
|
39
|
+
title: string;
|
|
40
|
+
description: string;
|
|
41
|
+
}>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Detect which frameworks are present in the given code.
|
|
45
|
+
*/
|
|
46
|
+
export declare function detectFrameworks(code: string, language: string): FrameworkProfile[];
|
|
47
|
+
/**
|
|
48
|
+
* Adjust findings based on detected framework context.
|
|
49
|
+
* - Downgrades severity for FP-prone rules in the framework
|
|
50
|
+
* - Applies framework-specific severity adjustments
|
|
51
|
+
* - Tags adjusted findings with provenance
|
|
52
|
+
*/
|
|
53
|
+
export declare function adjustFindingsForFramework(findings: Finding[], frameworks: FrameworkProfile[]): Finding[];
|
|
54
|
+
/**
|
|
55
|
+
* Run framework-specific rules against code.
|
|
56
|
+
* Returns additional findings from framework-aware patterns.
|
|
57
|
+
*/
|
|
58
|
+
export declare function evaluateFrameworkRules(code: string, language: string): Finding[];
|
|
59
|
+
//# sourceMappingURL=framework-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framework-rules.d.ts","sourceRoot":"","sources":["../../src/evaluators/framework-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIrD,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,QAAQ,GACR,SAAS,GACT,KAAK,GACL,SAAS,GACT,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,SAAS,GACT,QAAQ,GACR,OAAO,GACP,OAAO,GACP,KAAK,GACL,MAAM,CAAC;AAEX,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,EAAE,EAAE,WAAW,CAAC;IAChB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,2DAA2D;IAC3D,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,oEAAoE;IACpE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,wEAAwE;IACxE,mBAAmB,EAAE,KAAK,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,WAAW,GAAG,SAAS,CAAC;QACpC,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,iEAAiE;IACjE,cAAc,EAAE,KAAK,CAAC;QACpB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,QAAQ,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AA0MD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAKnF;AAOD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,OAAO,EAAE,CAqCzG;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CAwBhF"}
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Framework-aware detection module.
|
|
3
|
+
*
|
|
4
|
+
* Detects which framework(s) are in use and provides framework-specific
|
|
5
|
+
* pattern adjustments to reduce false positives. For example:
|
|
6
|
+
* - React: hooks ordering rules, JSX injection awareness
|
|
7
|
+
* - Express/Fastify: middleware chain analysis
|
|
8
|
+
* - Django: ORM injection patterns
|
|
9
|
+
* - Spring: security annotation awareness
|
|
10
|
+
* - Next.js: server-component vs client-component context
|
|
11
|
+
*
|
|
12
|
+
* This module is used by evaluators to adjust their confidence scores
|
|
13
|
+
* and disable irrelevant rules based on framework context.
|
|
14
|
+
*/
|
|
15
|
+
// ─── Framework Profiles ─────────────────────────────────────────────────────
|
|
16
|
+
const FRAMEWORK_PROFILES = [
|
|
17
|
+
{
|
|
18
|
+
id: "react",
|
|
19
|
+
name: "React",
|
|
20
|
+
languages: ["typescript", "javascript"],
|
|
21
|
+
detectPatterns: [
|
|
22
|
+
/import\s+.*\bReact\b.*from\s+['"]react['"]/,
|
|
23
|
+
/from\s+['"]react['"]/,
|
|
24
|
+
/import\s+{.*useState|useEffect|useRef|useMemo|useCallback.*}\s+from\s+['"]react['"]/,
|
|
25
|
+
],
|
|
26
|
+
fpProne: ["PERF-002", "DOC-003"],
|
|
27
|
+
severityAdjustments: [
|
|
28
|
+
{ rulePattern: "SEC-XSS", adjustment: "downgrade", reason: "React auto-escapes JSX by default" },
|
|
29
|
+
],
|
|
30
|
+
frameworkRules: [
|
|
31
|
+
{
|
|
32
|
+
id: "FW-REACT-001",
|
|
33
|
+
pattern: /useEffect\s*\(\s*(?:async|(?:\(\)\s*=>\s*\{[\s\S]*?await))/,
|
|
34
|
+
severity: "medium",
|
|
35
|
+
title: "Async function in useEffect",
|
|
36
|
+
description: "useEffect callbacks should not be async. Use an inner async function instead.",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: "FW-REACT-002",
|
|
40
|
+
pattern: /dangerouslySetInnerHTML\s*=\s*\{\s*\{\s*__html\s*:/,
|
|
41
|
+
severity: "high",
|
|
42
|
+
title: "dangerouslySetInnerHTML usage",
|
|
43
|
+
description: "Direct HTML injection via dangerouslySetInnerHTML — ensure content is sanitized.",
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: "FW-REACT-003",
|
|
47
|
+
pattern: /useEffect\s*\(\s*\(\)\s*=>\s*\{[\s\S]*?\}\s*\)\s*;/,
|
|
48
|
+
severity: "low",
|
|
49
|
+
title: "useEffect missing dependency array",
|
|
50
|
+
description: "useEffect without a dependency array runs on every render.",
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: "nextjs",
|
|
56
|
+
name: "Next.js",
|
|
57
|
+
languages: ["typescript", "javascript"],
|
|
58
|
+
detectPatterns: [/from\s+['"]next\//, /import\s+.*from\s+['"]next\//],
|
|
59
|
+
fpProne: ["PERF-002"],
|
|
60
|
+
severityAdjustments: [
|
|
61
|
+
{
|
|
62
|
+
rulePattern: "SEC-XSS",
|
|
63
|
+
adjustment: "downgrade",
|
|
64
|
+
reason: "Next.js uses React auto-escaping and server components",
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
frameworkRules: [
|
|
68
|
+
{
|
|
69
|
+
id: "FW-NEXT-001",
|
|
70
|
+
pattern: /getServerSideProps.*\bres\.end\b/s,
|
|
71
|
+
severity: "medium",
|
|
72
|
+
title: "Response ended in getServerSideProps",
|
|
73
|
+
description: "Calling res.end() in getServerSideProps can cause unexpected behavior.",
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
id: "express",
|
|
79
|
+
name: "Express.js",
|
|
80
|
+
languages: ["typescript", "javascript"],
|
|
81
|
+
detectPatterns: [/from\s+['"]express['"]/, /require\s*\(\s*['"]express['"]\s*\)/],
|
|
82
|
+
fpProne: [],
|
|
83
|
+
severityAdjustments: [],
|
|
84
|
+
frameworkRules: [
|
|
85
|
+
{
|
|
86
|
+
id: "FW-EXPRESS-001",
|
|
87
|
+
pattern: /app\.(get|post|put|delete|patch)\s*\([^,]+,\s*(?:async\s+)?\(\s*req\s*,\s*res\s*\)\s*=>\s*\{(?:(?!try\s*\{)[\s\S])*\}\s*\)/,
|
|
88
|
+
severity: "medium",
|
|
89
|
+
title: "Express route handler without error handling",
|
|
90
|
+
description: "Route handler lacks try-catch — unhandled errors crash the process.",
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
id: "FW-EXPRESS-002",
|
|
94
|
+
pattern: /app\.use\s*\(\s*cors\s*\(\s*\)\s*\)/,
|
|
95
|
+
severity: "high",
|
|
96
|
+
title: "CORS with no origin restriction",
|
|
97
|
+
description: "cors() with no options allows all origins. Restrict to trusted domains.",
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
id: "fastify",
|
|
103
|
+
name: "Fastify",
|
|
104
|
+
languages: ["typescript", "javascript"],
|
|
105
|
+
detectPatterns: [/from\s+['"]fastify['"]/, /require\s*\(\s*['"]fastify['"]\s*\)/],
|
|
106
|
+
fpProne: [],
|
|
107
|
+
severityAdjustments: [
|
|
108
|
+
{ rulePattern: "PERF-", adjustment: "downgrade", reason: "Fastify has built-in perf optimizations" },
|
|
109
|
+
],
|
|
110
|
+
frameworkRules: [],
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
id: "django",
|
|
114
|
+
name: "Django",
|
|
115
|
+
languages: ["python"],
|
|
116
|
+
detectPatterns: [/from\s+django/, /import\s+django/],
|
|
117
|
+
fpProne: ["SEC-SQLI-001"],
|
|
118
|
+
severityAdjustments: [
|
|
119
|
+
{ rulePattern: "SEC-SQLI", adjustment: "downgrade", reason: "Django ORM auto-parameterizes queries" },
|
|
120
|
+
],
|
|
121
|
+
frameworkRules: [
|
|
122
|
+
{
|
|
123
|
+
id: "FW-DJANGO-001",
|
|
124
|
+
pattern: /\.raw\s*\(\s*f['"]|\.raw\s*\(\s*['"].*%s/,
|
|
125
|
+
severity: "critical",
|
|
126
|
+
title: "Raw SQL with user input in Django",
|
|
127
|
+
description: "Using .raw() with f-strings or %s formatting bypasses Django ORM protection.",
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
id: "FW-DJANGO-002",
|
|
131
|
+
pattern: /\|safe\b/,
|
|
132
|
+
severity: "high",
|
|
133
|
+
title: "Django template |safe filter",
|
|
134
|
+
description: "The |safe filter disables auto-escaping — ensure content is trusted.",
|
|
135
|
+
},
|
|
136
|
+
],
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
id: "flask",
|
|
140
|
+
name: "Flask",
|
|
141
|
+
languages: ["python"],
|
|
142
|
+
detectPatterns: [/from\s+flask\s+import/, /import\s+flask/],
|
|
143
|
+
fpProne: [],
|
|
144
|
+
severityAdjustments: [],
|
|
145
|
+
frameworkRules: [
|
|
146
|
+
{
|
|
147
|
+
id: "FW-FLASK-001",
|
|
148
|
+
pattern: /app\.run\s*\(\s*debug\s*=\s*True/,
|
|
149
|
+
severity: "high",
|
|
150
|
+
title: "Flask debug mode in production",
|
|
151
|
+
description: "Debug mode exposes the Werkzeug debugger — never enable in production.",
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
id: "fastapi",
|
|
157
|
+
name: "FastAPI",
|
|
158
|
+
languages: ["python"],
|
|
159
|
+
detectPatterns: [/from\s+fastapi\s+import/, /import\s+fastapi/],
|
|
160
|
+
fpProne: ["SEC-SQLI-001"],
|
|
161
|
+
severityAdjustments: [
|
|
162
|
+
{ rulePattern: "PERF-", adjustment: "downgrade", reason: "FastAPI has built-in async performance" },
|
|
163
|
+
],
|
|
164
|
+
frameworkRules: [],
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
id: "spring",
|
|
168
|
+
name: "Spring Boot",
|
|
169
|
+
languages: ["java"],
|
|
170
|
+
detectPatterns: [/@SpringBootApplication/, /import\s+org\.springframework\./],
|
|
171
|
+
fpProne: ["AUTH-001"],
|
|
172
|
+
severityAdjustments: [
|
|
173
|
+
{
|
|
174
|
+
rulePattern: "AUTH-",
|
|
175
|
+
adjustment: "downgrade",
|
|
176
|
+
reason: "Spring Security annotation-based auth is often not visible in single-file analysis",
|
|
177
|
+
},
|
|
178
|
+
],
|
|
179
|
+
frameworkRules: [
|
|
180
|
+
{
|
|
181
|
+
id: "FW-SPRING-001",
|
|
182
|
+
pattern: /@RequestMapping\s*(?!\(.*method\s*=)/,
|
|
183
|
+
severity: "medium",
|
|
184
|
+
title: "RequestMapping without HTTP method",
|
|
185
|
+
description: "@RequestMapping without explicit method accepts all HTTP methods.",
|
|
186
|
+
},
|
|
187
|
+
],
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
id: "rails",
|
|
191
|
+
name: "Ruby on Rails",
|
|
192
|
+
languages: ["ruby"],
|
|
193
|
+
detectPatterns: [/class\s+\w+\s*<\s*ApplicationController/, /Rails\.application/],
|
|
194
|
+
fpProne: ["SEC-XSS"],
|
|
195
|
+
severityAdjustments: [
|
|
196
|
+
{ rulePattern: "SEC-XSS", adjustment: "downgrade", reason: "Rails auto-escapes ERB output by default" },
|
|
197
|
+
{ rulePattern: "SEC-SQLI", adjustment: "downgrade", reason: "ActiveRecord auto-parameterizes queries" },
|
|
198
|
+
],
|
|
199
|
+
frameworkRules: [
|
|
200
|
+
{
|
|
201
|
+
id: "FW-RAILS-001",
|
|
202
|
+
pattern: /\.html_safe\b/,
|
|
203
|
+
severity: "high",
|
|
204
|
+
title: "html_safe bypasses Rails escaping",
|
|
205
|
+
description: "html_safe marks a string as safe — ensure content is sanitized first.",
|
|
206
|
+
},
|
|
207
|
+
],
|
|
208
|
+
},
|
|
209
|
+
];
|
|
210
|
+
// ─── Detection ──────────────────────────────────────────────────────────────
|
|
211
|
+
/**
|
|
212
|
+
* Detect which frameworks are present in the given code.
|
|
213
|
+
*/
|
|
214
|
+
export function detectFrameworks(code, language) {
|
|
215
|
+
return FRAMEWORK_PROFILES.filter((fw) => {
|
|
216
|
+
if (!fw.languages.includes(language))
|
|
217
|
+
return false;
|
|
218
|
+
return fw.detectPatterns.some((p) => p.test(code));
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
// ─── Finding Adjustment ─────────────────────────────────────────────────────
|
|
222
|
+
const SEVERITY_RANK = { critical: 4, high: 3, medium: 2, low: 1, info: 0 };
|
|
223
|
+
const RANK_TO_SEVERITY = { 4: "critical", 3: "high", 2: "medium", 1: "low", 0: "info" };
|
|
224
|
+
/**
|
|
225
|
+
* Adjust findings based on detected framework context.
|
|
226
|
+
* - Downgrades severity for FP-prone rules in the framework
|
|
227
|
+
* - Applies framework-specific severity adjustments
|
|
228
|
+
* - Tags adjusted findings with provenance
|
|
229
|
+
*/
|
|
230
|
+
export function adjustFindingsForFramework(findings, frameworks) {
|
|
231
|
+
if (frameworks.length === 0)
|
|
232
|
+
return findings;
|
|
233
|
+
const fpProne = new Set(frameworks.flatMap((fw) => fw.fpProne));
|
|
234
|
+
const adjustments = frameworks.flatMap((fw) => fw.severityAdjustments);
|
|
235
|
+
return findings.map((f) => {
|
|
236
|
+
let adjusted = { ...f };
|
|
237
|
+
// Downgrade FP-prone rules
|
|
238
|
+
if (fpProne.has(f.ruleId)) {
|
|
239
|
+
const rank = SEVERITY_RANK[f.severity] ?? 2;
|
|
240
|
+
const newRank = Math.max(0, rank - 1);
|
|
241
|
+
adjusted = {
|
|
242
|
+
...adjusted,
|
|
243
|
+
severity: RANK_TO_SEVERITY[newRank] ?? f.severity,
|
|
244
|
+
confidence: Math.max(0, (f.confidence ?? 0.5) - 0.15),
|
|
245
|
+
evidenceBasis: `${f.evidenceBasis ?? ""} framework-adjusted(-0.15)`.trim(),
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
// Apply severity adjustments
|
|
249
|
+
for (const adj of adjustments) {
|
|
250
|
+
if (f.ruleId.startsWith(adj.rulePattern) || f.ruleId.includes(adj.rulePattern)) {
|
|
251
|
+
const rank = SEVERITY_RANK[adjusted.severity] ?? 2;
|
|
252
|
+
const delta = adj.adjustment === "downgrade" ? -1 : 1;
|
|
253
|
+
const newRank = Math.max(0, Math.min(4, rank + delta));
|
|
254
|
+
adjusted = {
|
|
255
|
+
...adjusted,
|
|
256
|
+
severity: RANK_TO_SEVERITY[newRank] ?? adjusted.severity,
|
|
257
|
+
evidenceBasis: `${adjusted.evidenceBasis ?? ""} ${adj.reason}`.trim(),
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
return adjusted;
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
// ─── Framework-Specific Rule Evaluation ─────────────────────────────────────
|
|
265
|
+
/**
|
|
266
|
+
* Run framework-specific rules against code.
|
|
267
|
+
* Returns additional findings from framework-aware patterns.
|
|
268
|
+
*/
|
|
269
|
+
export function evaluateFrameworkRules(code, language) {
|
|
270
|
+
const frameworks = detectFrameworks(code, language);
|
|
271
|
+
const findings = [];
|
|
272
|
+
for (const fw of frameworks) {
|
|
273
|
+
for (const rule of fw.frameworkRules) {
|
|
274
|
+
const matches = code.matchAll(new RegExp(rule.pattern, "g"));
|
|
275
|
+
for (const match of matches) {
|
|
276
|
+
const lineNumber = code.substring(0, match.index ?? 0).split("\n").length;
|
|
277
|
+
findings.push({
|
|
278
|
+
ruleId: rule.id,
|
|
279
|
+
severity: rule.severity,
|
|
280
|
+
title: `[${fw.name}] ${rule.title}`,
|
|
281
|
+
description: rule.description,
|
|
282
|
+
lineNumbers: [lineNumber],
|
|
283
|
+
recommendation: rule.description,
|
|
284
|
+
confidence: 0.85,
|
|
285
|
+
provenance: "framework-knowledge",
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
return findings;
|
|
291
|
+
}
|
|
292
|
+
//# sourceMappingURL=framework-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framework-rules.js","sourceRoot":"","sources":["../../src/evaluators/framework-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -685,7 +685,7 @@ export function analyzeIacSecurity(code, language) {
|
|
|
685
685
|
}
|
|
686
686
|
if (latestTagLines.length > 0) {
|
|
687
687
|
findings.push({
|
|
688
|
-
ruleId: `${prefix}-${String(ruleNum
|
|
688
|
+
ruleId: `${prefix}-${String(ruleNum).padStart(3, "0")}`,
|
|
689
689
|
severity: "medium",
|
|
690
690
|
title: "Dockerfile FROM uses latest or untagged image",
|
|
691
691
|
description: "Using :latest or untagged base images leads to non-reproducible builds. The image content can change unexpectedly between builds.",
|