{
  "version": 1,
  "entries": [
    {
      "rule_id": "go-command-injection",
      "engine": "tree-sitter",
      "language": "go",
      "family": "security",
      "scope": "file",
      "canonical_concept": "command-injection-sink",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "go-hardcoded-secrets",
      "engine": "tree-sitter",
      "language": "go",
      "family": "security",
      "scope": "file",
      "canonical_concept": "hardcoded-secrets",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "go-insecure-random",
      "engine": "tree-sitter",
      "language": "go",
      "family": "security",
      "scope": "file",
      "canonical_concept": "insecure-randomness",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "go-path-traversal",
      "engine": "tree-sitter",
      "language": "go",
      "family": "security",
      "scope": "file",
      "canonical_concept": "path-traversal-sink",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "go-sql-injection",
      "engine": "tree-sitter",
      "language": "go",
      "family": "security",
      "scope": "file",
      "canonical_concept": "sql-injection-sink",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "go-weak-hash",
      "engine": "tree-sitter",
      "language": "go",
      "family": "security",
      "scope": "file",
      "canonical_concept": "weak-hash-primitive",
      "severity_default": "warning",
      "confidence": "high",
      "status": "experimental"
    },
    {
      "rule_id": "python-command-injection",
      "engine": "tree-sitter",
      "language": "python",
      "family": "security",
      "scope": "file",
      "canonical_concept": "command-injection-sink",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "python-hardcoded-secrets",
      "engine": "tree-sitter",
      "language": "python",
      "family": "security",
      "scope": "file",
      "canonical_concept": "hardcoded-secrets",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "eval-exec",
      "engine": "tree-sitter",
      "language": "python",
      "family": "security",
      "scope": "file",
      "canonical_concept": "dynamic-code-execution",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "python-insecure-deserialization",
      "engine": "tree-sitter",
      "language": "python",
      "family": "security",
      "scope": "file",
      "canonical_concept": "insecure-deserialization-sink",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "python-insecure-random",
      "engine": "tree-sitter",
      "language": "python",
      "family": "security",
      "scope": "file",
      "canonical_concept": "insecure-randomness",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "python-path-traversal",
      "engine": "tree-sitter",
      "language": "python",
      "family": "security",
      "scope": "file",
      "canonical_concept": "path-traversal-sink",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "python-sql-injection",
      "engine": "tree-sitter",
      "language": "python",
      "family": "security",
      "scope": "file",
      "canonical_concept": "sql-injection-sink",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "python-ssrf",
      "engine": "tree-sitter",
      "language": "python",
      "family": "security",
      "scope": "file",
      "canonical_concept": "ssrf-sink",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "python-unsafe-regex",
      "engine": "tree-sitter",
      "language": "python",
      "family": "security",
      "scope": "file",
      "canonical_concept": "unsafe-regex",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "python-weak-hash",
      "engine": "tree-sitter",
      "language": "python",
      "family": "security",
      "scope": "file",
      "canonical_concept": "weak-hash-primitive",
      "severity_default": "warning",
      "confidence": "high",
      "status": "experimental"
    },
    {
      "rule_id": "ruby-command-injection",
      "engine": "tree-sitter",
      "language": "ruby",
      "family": "security",
      "scope": "file",
      "canonical_concept": "command-injection-sink",
      "severity_default": "warning",
      "confidence": "low",
      "status": "experimental"
    },
    {
      "rule_id": "ruby-eval",
      "engine": "tree-sitter",
      "language": "ruby",
      "family": "security",
      "scope": "file",
      "canonical_concept": "dynamic-code-execution",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "ruby-hardcoded-secrets",
      "engine": "tree-sitter",
      "language": "ruby",
      "family": "security",
      "scope": "file",
      "canonical_concept": "hardcoded-secrets",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "ruby-insecure-deserialization",
      "engine": "tree-sitter",
      "language": "ruby",
      "family": "security",
      "scope": "file",
      "canonical_concept": "insecure-deserialization-sink",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "ruby-insecure-random",
      "engine": "tree-sitter",
      "language": "ruby",
      "family": "security",
      "scope": "file",
      "canonical_concept": "insecure-randomness",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "ruby-unsafe-regex",
      "engine": "tree-sitter",
      "language": "ruby",
      "family": "security",
      "scope": "file",
      "canonical_concept": "unsafe-regex",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "ruby-weak-hash",
      "engine": "tree-sitter",
      "language": "ruby",
      "family": "security",
      "scope": "file",
      "canonical_concept": "weak-hash-primitive",
      "severity_default": "warning",
      "confidence": "high",
      "status": "experimental"
    },
    {
      "rule_id": "dangerously-set-inner-html",
      "engine": "tree-sitter",
      "language": "tsx",
      "family": "security",
      "scope": "file",
      "canonical_concept": "dom-xss-dangerous-inner-html",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-eval",
      "engine": "tree-sitter",
      "language": "typescript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "dynamic-code-execution",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "hardcoded-secrets",
      "engine": "tree-sitter",
      "language": "typescript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "hardcoded-secrets",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "sql-injection",
      "engine": "tree-sitter",
      "language": "typescript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "sql-injection-sink",
      "severity_default": "error",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "ts-command-injection",
      "engine": "tree-sitter",
      "language": "typescript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "command-injection-sink",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "ts-insecure-random",
      "engine": "tree-sitter",
      "language": "typescript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "insecure-randomness",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "ts-ssrf",
      "engine": "tree-sitter",
      "language": "typescript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "ssrf-sink",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "ts-weak-hash",
      "engine": "tree-sitter",
      "language": "typescript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "weak-hash-primitive",
      "severity_default": "warning",
      "confidence": "high",
      "status": "experimental"
    },
    {
      "rule_id": "unsafe-regex",
      "engine": "tree-sitter",
      "language": "typescript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "unsafe-regex",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "go-goroutine-loop-capture",
      "engine": "tree-sitter",
      "language": "go",
      "family": "concurrency",
      "scope": "file",
      "canonical_concept": "goroutine-loop-capture",
      "severity_default": "warning",
      "confidence": "low",
      "status": "experimental"
    },
    {
      "rule_id": "go-shared-map-write-goroutine",
      "engine": "tree-sitter",
      "language": "go",
      "family": "concurrency",
      "scope": "file",
      "canonical_concept": "shared-map-write-in-goroutine",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "python-thread-global-write",
      "engine": "tree-sitter",
      "language": "python",
      "family": "concurrency",
      "scope": "file",
      "canonical_concept": "threaded-shared-state-write",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "rust-lock-held-across-await",
      "engine": "tree-sitter",
      "language": "rust",
      "family": "concurrency",
      "scope": "file",
      "canonical_concept": "lock-held-across-await",
      "severity_default": "warning",
      "confidence": "low",
      "status": "experimental"
    },
    {
      "rule_id": "ts-detached-async-call",
      "engine": "tree-sitter",
      "language": "typescript",
      "family": "concurrency",
      "scope": "file",
      "canonical_concept": "detached-async-call",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "no-sql-in-code",
      "engine": "ast-grep",
      "language": "typescript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "sql-in-code-literal",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "no-sql-in-code-js",
      "engine": "ast-grep",
      "language": "javascript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "sql-in-code-literal",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "no-open-redirect",
      "engine": "ast-grep",
      "language": "typescript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "open-redirect",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "no-open-redirect-js",
      "engine": "ast-grep",
      "language": "javascript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "open-redirect",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "no-javascript-url",
      "engine": "ast-grep",
      "language": "typescript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "javascript-url-scheme",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-javascript-url-js",
      "engine": "ast-grep",
      "language": "javascript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "javascript-url-scheme",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-insecure-randomness",
      "engine": "ast-grep",
      "language": "typescript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "insecure-randomness",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "no-insecure-randomness-js",
      "engine": "ast-grep",
      "language": "javascript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "insecure-randomness",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "no-implied-eval",
      "engine": "ast-grep",
      "language": "typescript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "dynamic-code-execution",
      "severity_default": "error",
      "confidence": "high",
      "status": "active",
      "allow_overlap": true
    },
    {
      "rule_id": "no-implied-eval-js",
      "engine": "ast-grep",
      "language": "javascript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "dynamic-code-execution",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-hardcoded-secrets",
      "engine": "ast-grep",
      "language": "typescript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "hardcoded-secrets",
      "severity_default": "error",
      "confidence": "high",
      "status": "deprecated",
      "allow_overlap": true
    },
    {
      "rule_id": "no-hardcoded-secrets-js",
      "engine": "ast-grep",
      "language": "javascript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "hardcoded-secrets",
      "severity_default": "error",
      "confidence": "high",
      "status": "deprecated"
    },
    {
      "rule_id": "no-global-eval-js",
      "engine": "ast-grep",
      "language": "javascript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "dynamic-code-execution",
      "severity_default": "error",
      "confidence": "high",
      "status": "active",
      "allow_overlap": true
    },
    {
      "rule_id": "jwt-no-verify",
      "engine": "ast-grep",
      "language": "typescript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "jwt-signature-bypass",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "jwt-no-verify-js",
      "engine": "ast-grep",
      "language": "javascript",
      "family": "security",
      "scope": "file",
      "canonical_concept": "jwt-signature-bypass",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "toctou",
      "engine": "ast-grep",
      "language": "typescript",
      "family": "concurrency",
      "scope": "file",
      "canonical_concept": "toctou-file-race",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "toctou-js",
      "engine": "ast-grep",
      "language": "javascript",
      "family": "concurrency",
      "scope": "file",
      "canonical_concept": "toctou-file-race",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "missed-concurrency",
      "engine": "ast-grep",
      "language": "typescript",
      "family": "concurrency",
      "scope": "function",
      "canonical_concept": "sequential-awaits-parallelizable",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "missed-concurrency-js",
      "engine": "ast-grep",
      "language": "javascript",
      "family": "concurrency",
      "scope": "function",
      "canonical_concept": "sequential-awaits-parallelizable",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "no-await-in-loop",
      "engine": "ast-grep",
      "language": "typescript",
      "family": "concurrency",
      "scope": "function",
      "canonical_concept": "await-inside-loop",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "no-await-in-loop-js",
      "engine": "ast-grep",
      "language": "javascript",
      "family": "concurrency",
      "scope": "function",
      "canonical_concept": "await-inside-loop",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "unmarshal-tag-is-dash",
      "engine": "ast-grep",
      "language": "go",
      "family": "security",
      "scope": "file",
      "canonical_concept": "json-tag-dash-comma",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "redundant-unsafe-function",
      "engine": "ast-grep",
      "language": "rust",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "redundant-unsafe-fn",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "avoid-duplicate-export",
      "engine": "ast-grep",
      "language": "rust",
      "family": "maintainability",
      "scope": "file",
      "canonical_concept": "duplicate-pub-use",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "rust-2024-let-chain-candidate",
      "engine": "ast-grep",
      "language": "rust",
      "family": "maintainability",
      "scope": "function",
      "canonical_concept": "let-chain-collapsible",
      "severity_default": "info",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "no-console-except-error",
      "engine": "ast-grep",
      "language": "typescript",
      "family": "maintainability",
      "scope": "file",
      "canonical_concept": "console-leftover-debug",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "no-console-except-error-js",
      "engine": "ast-grep",
      "language": "javascript",
      "family": "maintainability",
      "scope": "file",
      "canonical_concept": "console-leftover-debug",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "missing-component-decorator",
      "engine": "ast-grep",
      "language": "typescript",
      "family": "reliability",
      "scope": "class",
      "canonical_concept": "angular-missing-decorator",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "unnecessary-react-hook",
      "engine": "ast-grep",
      "language": "tsx",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "react-fake-hook",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "redundant-usestate-type",
      "engine": "ast-grep",
      "language": "tsx",
      "family": "maintainability",
      "scope": "function",
      "canonical_concept": "redundant-type-annotation",
      "severity_default": "info",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "find-import-file-without-extension",
      "engine": "ast-grep",
      "language": "typescript",
      "family": "reliability",
      "scope": "file",
      "canonical_concept": "esm-import-no-extension",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "return-in-init",
      "engine": "tree-sitter",
      "language": "python",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "return-in-init",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "yield-return-outside-function",
      "engine": "tree-sitter",
      "language": "python",
      "family": "reliability",
      "scope": "file",
      "canonical_concept": "invalid-statement-context",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "notimplemented-boolean-context",
      "engine": "tree-sitter",
      "language": "python",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "deprecated-boolean-usage",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "exit-signature-check",
      "engine": "tree-sitter",
      "language": "python",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "context-manager-signature",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "return-in-generator",
      "engine": "tree-sitter",
      "language": "python",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "return-in-generator",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "iter-return-iterator",
      "engine": "tree-sitter",
      "language": "python",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "iter-protocol-violation",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "switch-non-case-labels",
      "engine": "tree-sitter",
      "language": "java",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "switch-label-violation",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-clone-override",
      "engine": "tree-sitter",
      "language": "java",
      "family": "maintainability",
      "scope": "class",
      "canonical_concept": "clone-override",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "main-should-not-throw",
      "engine": "tree-sitter",
      "language": "java",
      "family": "maintainability",
      "scope": "function",
      "canonical_concept": "main-throws-exception",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-threadgroup",
      "engine": "tree-sitter",
      "language": "java",
      "family": "security",
      "scope": "file",
      "canonical_concept": "deprecated-api-usage",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "this-in-static-context",
      "engine": "tree-sitter",
      "language": "php",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "this-in-static-context",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-exit-die",
      "engine": "tree-sitter",
      "language": "php",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "abrupt-termination",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "case-range-multiple-values",
      "engine": "tree-sitter",
      "language": "c",
      "family": "maintainability",
      "scope": "function",
      "canonical_concept": "case-range-single-value",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "goto-label-order",
      "engine": "tree-sitter",
      "language": "c",
      "family": "maintainability",
      "scope": "function",
      "canonical_concept": "backward-goto",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "goto-into-block",
      "engine": "tree-sitter",
      "language": "c",
      "family": "maintainability",
      "scope": "function",
      "canonical_concept": "goto-into-block",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-auto-ptr",
      "engine": "tree-sitter",
      "language": "cpp",
      "family": "reliability",
      "scope": "file",
      "canonical_concept": "deprecated-auto-ptr",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-memset-sensitive-data",
      "engine": "tree-sitter",
      "language": "cpp",
      "family": "security",
      "scope": "function",
      "canonical_concept": "insecure-memory-clear",
      "severity_default": "error",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "no-scoped-lock-without-args",
      "engine": "tree-sitter",
      "language": "cpp",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "scoped-lock-no-mutex",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-confused-move-forward",
      "engine": "tree-sitter",
      "language": "cpp",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "move-forward-confusion",
      "severity_default": "error",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "is-with-this",
      "engine": "tree-sitter",
      "language": "csharp",
      "family": "maintainability",
      "scope": "function",
      "canonical_concept": "is-operator-with-this",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-operator-eq-reference",
      "engine": "tree-sitter",
      "language": "csharp",
      "family": "maintainability",
      "scope": "class",
      "canonical_concept": "operator-eq-reference-type",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-dangerous-get-handle",
      "engine": "tree-sitter",
      "language": "csharp",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "unsafe-handle-access",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-thread-resume-suspend",
      "engine": "tree-sitter",
      "language": "csharp",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "deprecated-thread-api",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "async-await-identifiers",
      "engine": "tree-sitter",
      "language": "csharp",
      "family": "maintainability",
      "scope": "file",
      "canonical_concept": "keyword-as-identifier",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "in-operator-unsupported",
      "engine": "tree-sitter",
      "language": "python",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "in-operator-unsupported",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "spring-session-attributes-setcomplete",
      "engine": "tree-sitter",
      "language": "java",
      "family": "reliability",
      "scope": "class",
      "canonical_concept": "session-attributes-cleanup",
      "severity_default": "error",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "springboot-default-package",
      "engine": "tree-sitter",
      "language": "java",
      "family": "reliability",
      "scope": "file",
      "canonical_concept": "default-package-usage",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "prepared-statement-valid-indices",
      "engine": "tree-sitter",
      "language": "java",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "jdbc-invalid-index",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "delete-update-where",
      "engine": "tree-sitter",
      "language": "plsql",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "sql-missing-where",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "fetch-bulk-collect-limit",
      "engine": "tree-sitter",
      "language": "plsql",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "fetch-no-limit",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "prepared-statement-indices",
      "engine": "tree-sitter",
      "language": "kotlin",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "jdbc-invalid-index",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "delete-where",
      "engine": "tree-sitter",
      "language": "abap",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "sql-missing-where",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "alter-statement",
      "engine": "tree-sitter",
      "language": "cobol",
      "family": "maintainability",
      "scope": "file",
      "canonical_concept": "alter-statement-usage",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "calc-spacing",
      "engine": "tree-sitter",
      "language": "css",
      "family": "reliability",
      "scope": "file",
      "canonical_concept": "calc-spacing-error",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "switch-non-case-labels-js",
      "engine": "tree-sitter",
      "language": "javascript",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "switch-label-violation",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-exit-methods",
      "engine": "tree-sitter",
      "language": "java",
      "family": "maintainability",
      "scope": "function",
      "canonical_concept": "abrupt-termination",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-threads-in-constructors",
      "engine": "tree-sitter",
      "language": "java",
      "family": "maintainability",
      "scope": "constructor",
      "canonical_concept": "thread-in-constructor",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "switch-fall-through",
      "engine": "tree-sitter",
      "language": "java",
      "family": "maintainability",
      "scope": "function",
      "canonical_concept": "switch-fall-through",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-wait-notify-on-thread",
      "engine": "tree-sitter",
      "language": "java",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "wait-on-thread-instance",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-double-checked-locking",
      "engine": "tree-sitter",
      "language": "java",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "double-checked-locking",
      "severity_default": "error",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "no-future-keywords",
      "engine": "tree-sitter",
      "language": "java",
      "family": "maintainability",
      "scope": "file",
      "canonical_concept": "future-keyword-usage",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-field-shadowing",
      "engine": "tree-sitter",
      "language": "java",
      "family": "maintainability",
      "scope": "class",
      "canonical_concept": "field-shadowing",
      "severity_default": "error",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "junit-call-super",
      "engine": "tree-sitter",
      "language": "java",
      "family": "maintainability",
      "scope": "function",
      "canonical_concept": "missing-super-call",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "forallsave-exceptions",
      "engine": "tree-sitter",
      "language": "plsql",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "forall-no-save-exceptions",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "not-null-initialization",
      "engine": "tree-sitter",
      "language": "plsql",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "not-null-uninitialized",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "end-loop-semicolon",
      "engine": "tree-sitter",
      "language": "plsql",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "missing-semicolon",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "raise-application-error-codes",
      "engine": "tree-sitter",
      "language": "plsql",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "invalid-error-code",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-synchronize",
      "engine": "tree-sitter",
      "language": "plsql",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "synchronize-usage",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "send-file-mimetype",
      "engine": "tree-sitter",
      "language": "python",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "send-file-missing-mimetype",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "noexcept-functions",
      "engine": "tree-sitter",
      "language": "cpp",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "missing-noexcept",
      "severity_default": "error",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "no-octal-values",
      "engine": "tree-sitter",
      "language": "java",
      "family": "maintainability",
      "scope": "file",
      "canonical_concept": "octal-literal-usage",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "short-circuit-logic",
      "engine": "tree-sitter",
      "language": "java",
      "family": "maintainability",
      "scope": "function",
      "canonical_concept": "non-short-circuit-operator",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "infinite-loop-java",
      "engine": "tree-sitter",
      "language": "java",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "infinite-loop",
      "severity_default": "error",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "infinite-recursion",
      "engine": "tree-sitter",
      "language": "java",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "infinite-recursion",
      "severity_default": "error",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "name-capitalization-conflict",
      "engine": "tree-sitter",
      "language": "java",
      "family": "maintainability",
      "scope": "class",
      "canonical_concept": "name-capitalization-conflict",
      "severity_default": "error",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "no-super-torchscript",
      "engine": "tree-sitter",
      "language": "python",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "torchscript-super-call",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "unnecessary-bit-ops",
      "engine": "tree-sitter",
      "language": "cpp",
      "family": "maintainability",
      "scope": "function",
      "canonical_concept": "unnecessary-bit-operation",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "unnecessary-bit-ops-java",
      "engine": "tree-sitter",
      "language": "java",
      "family": "maintainability",
      "scope": "function",
      "canonical_concept": "unnecessary-bit-operation",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "switch-case-termination-js",
      "engine": "tree-sitter",
      "language": "javascript",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "switch-case-no-termination",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "nchar-nvarchar2-bytes",
      "engine": "tree-sitter",
      "language": "plsql",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "nchar-size-in-bytes",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "tests-include-assertions",
      "engine": "tree-sitter",
      "language": "java",
      "family": "maintainability",
      "scope": "function",
      "canonical_concept": "test-without-assertion",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "mockito-initialized",
      "engine": "tree-sitter",
      "language": "java",
      "family": "reliability",
      "scope": "class",
      "canonical_concept": "mockito-not-initialized",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "resources-closed",
      "engine": "tree-sitter",
      "language": "java",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "resource-leak",
      "severity_default": "error",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "lock-table",
      "engine": "tree-sitter",
      "language": "plsql",
      "family": "maintainability",
      "scope": "function",
      "canonical_concept": "lock-table-usage",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "lock-table-cobol",
      "engine": "tree-sitter",
      "language": "cobol",
      "family": "maintainability",
      "scope": "file",
      "canonical_concept": "lock-table-usage",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "await-in-loop",
      "engine": "tree-sitter",
      "language": "typescript",
      "family": "performance",
      "scope": "function",
      "canonical_concept": "await-inside-loop",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "switch-case-termination",
      "engine": "tree-sitter",
      "language": "typescript",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "switch-case-no-termination",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "infinite-loop",
      "engine": "tree-sitter",
      "language": "typescript",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "infinite-loop",
      "severity_default": "error",
      "confidence": "medium",
      "status": "active"
    },
    {
      "rule_id": "self-assignment",
      "engine": "tree-sitter",
      "language": "typescript",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "self-assignment",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "duplicate-function-arg",
      "engine": "tree-sitter",
      "language": "typescript",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "duplicate-parameter-name",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "empty-switch-case",
      "engine": "tree-sitter",
      "language": "typescript",
      "family": "reliability",
      "scope": "function",
      "canonical_concept": "empty-switch-case",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "default-not-last",
      "engine": "tree-sitter",
      "language": "typescript",
      "family": "maintainability",
      "scope": "function",
      "canonical_concept": "default-clause-not-last",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-compile-call",
      "engine": "ast-grep",
      "language": "python",
      "family": "security",
      "scope": "file",
      "canonical_concept": "dynamic-code-execution",
      "severity_default": "error",
      "confidence": "high",
      "status": "active",
      "allow_overlap": true
    },
    {
      "rule_id": "no-marshal-load",
      "engine": "ast-grep",
      "language": "python",
      "family": "security",
      "scope": "file",
      "canonical_concept": "insecure-deserialization-sink",
      "severity_default": "error",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-requests-verify-false",
      "engine": "ast-grep",
      "language": "python",
      "family": "security",
      "scope": "file",
      "canonical_concept": "tls-verification-disabled",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "no-python-sql-string-concat",
      "engine": "ast-grep",
      "language": "python",
      "family": "security",
      "scope": "file",
      "canonical_concept": "sql-string-concat",
      "severity_default": "error",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "go-test-functions",
      "engine": "ast-grep",
      "language": "go",
      "family": "testing",
      "scope": "file",
      "canonical_concept": "go-test-function-declaration",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "go-defer-func-call-antipattern",
      "engine": "ast-grep",
      "language": "go",
      "family": "reliability",
      "scope": "file",
      "canonical_concept": "go-defer-arg-evaluation",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "ruby-detect-path-traversal",
      "engine": "ast-grep",
      "language": "ruby",
      "family": "security",
      "scope": "file",
      "canonical_concept": "path-traversal-sink",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "loop-var-capture",
      "engine": "ast-grep",
      "language": "go",
      "family": "concurrency",
      "scope": "file",
      "canonical_concept": "go-loop-var-capture",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "defer-in-loop",
      "engine": "ast-grep",
      "language": "go",
      "family": "reliability",
      "scope": "file",
      "canonical_concept": "go-defer-in-loop",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "nil-map-assignment",
      "engine": "ast-grep",
      "language": "go",
      "family": "reliability",
      "scope": "file",
      "canonical_concept": "go-nil-map-assignment",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "string-concat-in-loop",
      "engine": "ast-grep",
      "language": "go",
      "family": "performance",
      "scope": "file",
      "canonical_concept": "go-string-concat-in-loop",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "mutex-unlock-mismatch",
      "engine": "ast-grep",
      "language": "go",
      "family": "concurrency",
      "scope": "file",
      "canonical_concept": "go-mutex-unlock-mismatch",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "unlock-in-loop",
      "engine": "ast-grep",
      "language": "go",
      "family": "concurrency",
      "scope": "file",
      "canonical_concept": "go-unlock-in-loop",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "waitgroup-done-scope",
      "engine": "ast-grep",
      "language": "go",
      "family": "concurrency",
      "scope": "file",
      "canonical_concept": "go-waitgroup-done-scope",
      "severity_default": "warning",
      "confidence": "high",
      "status": "active"
    },
    {
      "rule_id": "gorm-find-without-where",
      "engine": "ast-grep",
      "language": "go",
      "family": "reliability",
      "scope": "file",
      "canonical_concept": "go-gorm-find-without-where",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    },
    {
      "rule_id": "gorm-n-plus-one",
      "engine": "ast-grep",
      "language": "go",
      "family": "performance",
      "scope": "file",
      "canonical_concept": "go-gorm-n-plus-one",
      "severity_default": "warning",
      "confidence": "medium",
      "status": "experimental"
    }
  ]
}