{
  "schemaVersion": 1,
  "wpId": 6052,
  "issue": 194,
  "measuredAt": "2026-08-31T21:50:32.458Z",
  "normalizedAt": "2026-09-01",
  "methodology": {
    "compiler": {
      "name": "Solidity",
      "version": "0.8.36",
      "optimizer": true,
      "optimizerRuns": 200,
      "evmVersion": "prague"
    },
    "framework": {
      "name": "Foundry",
      "version": "1.8.0",
      "commit": "61ae26af1a6a478e705313816dafde2e5f2ff241"
    },
    "classificationPolicy": "A case is detected only when the raw finding identifies the relevant source span and the detector family describes the written risk. Generic style findings do not receive security credit.",
    "scorableCases": 13,
    "safeControls": 1,
    "unitOfCoverage": "ground-truth case",
    "unitOfFalsePositiveAndDuplicate": "raw finding",
    "note": "Informational inventory and out-of-scope findings are not automatically treated as false positives."
  },
  "tools": {
    "slither": {
      "version": "0.11.6",
      "releaseDate": "2026-07-28",
      "license": "AGPL-3.0",
      "price": "free/open source",
      "baseImage": "trailofbits/eth-security-toolbox@sha256:365282b8d03ab03f387fefadbcf3858e82d967597e90a17cf4879b3efb475764",
      "package": "slither-analyzer==0.11.6",
      "packageSha256": "01f809198d3f171e2d768569c0054c96af5736614e183c64f42c9b51636c33c1",
      "formats": {
        "json": true,
        "sarif": true,
        "text": true
      },
      "configuration": "config/slither.json",
      "baselineConfiguration": "config/slither-baseline.json",
      "coldMilliseconds": 2276.77,
      "warmMilliseconds": 2294.73,
      "observedExitCode": 0,
      "summary": {
        "tool": "slither",
        "scorableCases": 13,
        "rawFindings": 30,
        "truePositiveCases": 9,
        "truePositiveCaseIds": [
          "GT-01",
          "GT-02",
          "GT-04",
          "GT-05",
          "GT-06",
          "GT-09",
          "GT-10",
          "GT-11",
          "GT-12"
        ],
        "falseNegativeCases": 4,
        "falseNegativeCaseIds": [
          "GT-03",
          "GT-07",
          "GT-08",
          "GT-13"
        ],
        "falsePositiveFindings": 0,
        "duplicateFindings": 4,
        "supportingFindings": 0,
        "misclassifiedFindings": 0,
        "outOfScopeFindings": 15,
        "informationalFindings": 2,
        "caseCoveragePercent": 69.2
      }
    },
    "aderyn": {
      "version": "0.6.8",
      "releaseDate": "2026-01-22",
      "license": "GPL-3.0",
      "price": "free/open source",
      "asset": "aderyn-aarch64-apple-darwin.tar.xz",
      "assetSha256": "624c6652bb9478b38ddc255c27819cd5c6cb0448f5deb72036cc9cf5a27d4aac",
      "formats": {
        "json": true,
        "sarif": true,
        "markdown": true
      },
      "configuration": "config/aderyn.toml",
      "baselineConfiguration": "config/aderyn-baseline.toml",
      "coldMilliseconds": 500.79,
      "warmMilliseconds": 209.42,
      "observedExitCode": 0,
      "summary": {
        "tool": "aderyn",
        "scorableCases": 13,
        "rawFindings": 37,
        "truePositiveCases": 10,
        "truePositiveCaseIds": [
          "GT-01",
          "GT-02",
          "GT-04",
          "GT-05",
          "GT-06",
          "GT-07",
          "GT-09",
          "GT-10",
          "GT-11",
          "GT-12"
        ],
        "falseNegativeCases": 3,
        "falseNegativeCaseIds": [
          "GT-03",
          "GT-08",
          "GT-13"
        ],
        "falsePositiveFindings": 2,
        "duplicateFindings": 4,
        "supportingFindings": 0,
        "misclassifiedFindings": 0,
        "outOfScopeFindings": 20,
        "informationalFindings": 1,
        "caseCoveragePercent": 76.9
      }
    },
    "mythril": {
      "version": "0.24.8",
      "releaseDate": "2024-03-27",
      "license": "MIT",
      "price": "free/open source",
      "baseImage": "mythril/myth@sha256:ca947a2a79204667ae2ae93ea6aaaca0cea669f61bc4db6958e7556ea263bd80",
      "compilerInstalledInDerivedImage": "0.8.36",
      "formats": {
        "json": true,
        "jsonv2": true,
        "text": true,
        "sarif": false
      },
      "configuration": "config/mythril.json",
      "baselineConfiguration": null,
      "coldMilliseconds": 165492.43,
      "warmMilliseconds": 165379.58,
      "observedExitCodes": [
        {
          "contract": "src/ReentrancyCases.sol:ClassicReentrancyVault",
          "exitCode": 1
        },
        {
          "contract": "src/ReentrancyCases.sol:CrossFunctionReentrancyVault",
          "exitCode": 1
        },
        {
          "contract": "src/ReentrancyCases.sol:IntentionalSafeVault",
          "exitCode": 1
        },
        {
          "contract": "src/AuthorityAndCalls.sol:MissingAccessControl",
          "exitCode": 0
        },
        {
          "contract": "src/AuthorityAndCalls.sol:OriginAuthorizer",
          "exitCode": 1
        },
        {
          "contract": "src/AuthorityAndCalls.sol:UncheckedCall",
          "exitCode": 1
        },
        {
          "contract": "src/AuthorityAndCalls.sol:UserControlledDelegatecall",
          "exitCode": 1
        },
        {
          "contract": "src/AuthorityAndCalls.sol:IntentionalSafeCall",
          "exitCode": 0
        },
        {
          "contract": "src/InitializationAndProxy.sol:UnprotectedInitializable",
          "exitCode": 0
        },
        {
          "contract": "src/InitializationAndProxy.sol:StorageCollisionProxy",
          "exitCode": 1
        },
        {
          "contract": "src/LanguageAndEntropy.sol:ShadowingAndDeadCode",
          "exitCode": 0
        },
        {
          "contract": "src/LanguageAndEntropy.sol:WeakEntropy",
          "exitCode": 0
        },
        {
          "contract": "src/LanguageAndEntropy.sol:StrictBalanceEquality",
          "exitCode": 0
        },
        {
          "contract": "src/LanguageAndEntropy.sol:PushZeroCompatibility",
          "exitCode": 0
        },
        {
          "contract": "src/LibraryFlow.sol:LibraryFlowConsumer",
          "exitCode": 0
        }
      ],
      "summary": {
        "tool": "mythril",
        "scorableCases": 13,
        "rawFindings": 10,
        "truePositiveCases": 4,
        "truePositiveCaseIds": [
          "GT-01",
          "GT-04",
          "GT-05",
          "GT-06"
        ],
        "falseNegativeCases": 9,
        "falseNegativeCaseIds": [
          "GT-02",
          "GT-03",
          "GT-07",
          "GT-08",
          "GT-09",
          "GT-10",
          "GT-11",
          "GT-12",
          "GT-13"
        ],
        "falsePositiveFindings": 1,
        "duplicateFindings": 1,
        "supportingFindings": 3,
        "misclassifiedFindings": 1,
        "outOfScopeFindings": 0,
        "informationalFindings": 0,
        "caseCoveragePercent": 30.8
      }
    }
  },
  "caseMatrix": [
    {
      "id": "GT-01",
      "name": "classic reentrancy",
      "kind": "security",
      "editorialSeverity": "high",
      "detectedBy": {
        "slither": true,
        "aderyn": true,
        "mythril": true
      }
    },
    {
      "id": "GT-02",
      "name": "cross-function reentrancy",
      "kind": "security",
      "editorialSeverity": "high",
      "detectedBy": {
        "slither": true,
        "aderyn": true,
        "mythril": false
      }
    },
    {
      "id": "GT-03",
      "name": "missing access control",
      "kind": "security",
      "editorialSeverity": "high",
      "detectedBy": {
        "slither": false,
        "aderyn": false,
        "mythril": false
      }
    },
    {
      "id": "GT-04",
      "name": "tx.origin authorization",
      "kind": "security",
      "editorialSeverity": "high",
      "detectedBy": {
        "slither": true,
        "aderyn": true,
        "mythril": true
      }
    },
    {
      "id": "GT-05",
      "name": "unchecked low-level call",
      "kind": "security",
      "editorialSeverity": "medium",
      "detectedBy": {
        "slither": true,
        "aderyn": true,
        "mythril": true
      }
    },
    {
      "id": "GT-06",
      "name": "user-controlled delegatecall",
      "kind": "security",
      "editorialSeverity": "critical",
      "detectedBy": {
        "slither": true,
        "aderyn": true,
        "mythril": true
      }
    },
    {
      "id": "GT-07",
      "name": "unprotected initializer",
      "kind": "security",
      "editorialSeverity": "high",
      "detectedBy": {
        "slither": false,
        "aderyn": true,
        "mythril": false
      }
    },
    {
      "id": "GT-08",
      "name": "proxy and implementation storage collision",
      "kind": "security",
      "editorialSeverity": "critical",
      "detectedBy": {
        "slither": false,
        "aderyn": false,
        "mythril": false
      }
    },
    {
      "id": "GT-09",
      "name": "weak on-chain randomness",
      "kind": "security",
      "editorialSeverity": "high",
      "detectedBy": {
        "slither": true,
        "aderyn": true,
        "mythril": false
      }
    },
    {
      "id": "GT-10",
      "name": "strict contract-balance equality",
      "kind": "security",
      "editorialSeverity": "medium",
      "detectedBy": {
        "slither": true,
        "aderyn": true,
        "mythril": false
      }
    },
    {
      "id": "GT-11",
      "name": "shadowing, unused state, and dead private code",
      "kind": "quality",
      "editorialSeverity": "low",
      "detectedBy": {
        "slither": true,
        "aderyn": true,
        "mythril": false
      }
    },
    {
      "id": "GT-12",
      "name": "unchecked call hidden in a library flow",
      "kind": "security",
      "editorialSeverity": "medium",
      "detectedBy": {
        "slither": true,
        "aderyn": true,
        "mythril": false
      }
    },
    {
      "id": "GT-13",
      "name": "PUSH0 target-EVM compatibility",
      "kind": "compatibility",
      "editorialSeverity": "medium",
      "detectedBy": {
        "slither": false,
        "aderyn": false,
        "mythril": false
      }
    }
  ],
  "classifications": {
    "slither": [
      {
        "rawId": "weak-prng:0",
        "detector": "weak-prng",
        "title": "WeakEntropy.pickWinner(uint256) (src/LanguageAndEntropy.sol#23-26) uses a weak PRNG: \"uint256(keccak256(bytes)(abi.encode(block.timestamp,block.prevrandao,msg.sender))) % participantCount (src/LanguageAndEntropy.sol#25)\" ",
        "toolSeverity": "high",
        "confidence": "medium",
        "file": "src/LanguageAndEntropy.sol",
        "lines": [
          23,
          24,
          25,
          26
        ],
        "caseId": "GT-09",
        "classification": "true-positive"
      },
      {
        "rawId": "controlled-delegatecall:1",
        "detector": "controlled-delegatecall",
        "title": "UserControlledDelegatecall.execute(address,bytes) (src/AuthorityAndCalls.sol#36-38) uses delegatecall to a input-controlled function id",
        "toolSeverity": "high",
        "confidence": "medium",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          36,
          37,
          38
        ],
        "caseId": "GT-06",
        "classification": "true-positive"
      },
      {
        "rawId": "reentrancy-eth:2",
        "detector": "reentrancy-eth",
        "title": "Reentrancy in CrossFunctionReentrancyVault.withdraw() (src/ReentrancyCases.sol#35-43):",
        "toolSeverity": "high",
        "confidence": "medium",
        "file": "src/ReentrancyCases.sol",
        "lines": [
          35,
          36,
          37,
          38,
          39,
          40,
          41,
          42,
          43
        ],
        "caseId": "GT-02",
        "classification": "true-positive"
      },
      {
        "rawId": "reentrancy-eth:3",
        "detector": "reentrancy-eth",
        "title": "Reentrancy in ClassicReentrancyVault.withdraw() (src/ReentrancyCases.sol#11-19):",
        "toolSeverity": "high",
        "confidence": "medium",
        "file": "src/ReentrancyCases.sol",
        "lines": [
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19
        ],
        "caseId": "GT-01",
        "classification": "true-positive"
      },
      {
        "rawId": "incorrect-equality:4",
        "detector": "incorrect-equality",
        "title": "StrictBalanceEquality.reached(uint256) (src/LanguageAndEntropy.sol#30-32) uses a dangerous strict equality:",
        "toolSeverity": "medium",
        "confidence": "high",
        "file": "src/LanguageAndEntropy.sol",
        "lines": [
          30,
          31,
          32
        ],
        "caseId": "GT-10",
        "classification": "true-positive"
      },
      {
        "rawId": "locked-ether:5",
        "detector": "locked-ether",
        "title": "Contract locking ether found:",
        "toolSeverity": "medium",
        "confidence": "high",
        "file": "src/InitializationAndProxy.sol",
        "lines": [
          22,
          23,
          24,
          25,
          26,
          27,
          28,
          29,
          30,
          31,
          32,
          33,
          34,
          35,
          36,
          37,
          38,
          39,
          40
        ],
        "caseId": "GT-08",
        "classification": "out-of-scope"
      },
      {
        "rawId": "tx-origin:6",
        "detector": "tx-origin",
        "title": "OriginAuthorizer.privilegedAction() (src/AuthorityAndCalls.sol#23-26) uses tx.origin for authorization: require(bool,string)(tx.origin == owner,not owner) (src/AuthorityAndCalls.sol#24)",
        "toolSeverity": "medium",
        "confidence": "medium",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          23,
          24,
          25,
          26
        ],
        "caseId": "GT-04",
        "classification": "true-positive"
      },
      {
        "rawId": "unchecked-lowlevel:7",
        "detector": "unchecked-lowlevel",
        "title": "UncheckedCall.forward(address,bytes) (src/AuthorityAndCalls.sol#30-32) ignores return value by target.call{value: msg.value}(payload) (src/AuthorityAndCalls.sol#31)",
        "toolSeverity": "medium",
        "confidence": "medium",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          30,
          31,
          32
        ],
        "caseId": "GT-05",
        "classification": "true-positive"
      },
      {
        "rawId": "unchecked-lowlevel:8",
        "detector": "unchecked-lowlevel",
        "title": "ForwardLibrary.uncheckedForward(address,bytes) (src/LibraryFlow.sol#5-7) ignores return value by target.call(payload) (src/LibraryFlow.sol#6)",
        "toolSeverity": "medium",
        "confidence": "medium",
        "file": "src/LibraryFlow.sol",
        "lines": [
          5,
          6,
          7
        ],
        "caseId": "GT-12",
        "classification": "true-positive"
      },
      {
        "rawId": "unchecked-lowlevel:9",
        "detector": "unchecked-lowlevel",
        "title": "UserControlledDelegatecall.execute(address,bytes) (src/AuthorityAndCalls.sol#36-38) ignores return value by target.delegatecall(payload) (src/AuthorityAndCalls.sol#37)",
        "toolSeverity": "medium",
        "confidence": "medium",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          36,
          37,
          38
        ],
        "caseId": "GT-06",
        "classification": "duplicate"
      },
      {
        "rawId": "shadowing-builtin:10",
        "detector": "shadowing-builtin",
        "title": "ShadowingAndDeadCode.calculate(uint256).block (src/LanguageAndEntropy.sol#12) (local variable) shadows built-in symbol\"",
        "toolSeverity": "low",
        "confidence": "high",
        "file": "src/LanguageAndEntropy.sol",
        "lines": [
          12
        ],
        "caseId": "GT-11",
        "classification": "true-positive"
      },
      {
        "rawId": "shadowing-local:11",
        "detector": "shadowing-local",
        "title": "ShadowingAndDeadCode.calculate(uint256).owner (src/LanguageAndEntropy.sol#13) shadows:",
        "toolSeverity": "low",
        "confidence": "high",
        "file": "src/LanguageAndEntropy.sol",
        "lines": [
          13
        ],
        "caseId": "GT-11",
        "classification": "duplicate"
      },
      {
        "rawId": "missing-zero-check:12",
        "detector": "missing-zero-check",
        "title": "MissingAccessControl.setOwner(address).nextOwner (src/AuthorityAndCalls.sol#11) lacks a zero-check on :",
        "toolSeverity": "low",
        "confidence": "medium",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          11
        ],
        "caseId": "GT-03",
        "classification": "out-of-scope"
      },
      {
        "rawId": "missing-zero-check:13",
        "detector": "missing-zero-check",
        "title": "UncheckedCall.forward(address,bytes).target (src/AuthorityAndCalls.sol#30) lacks a zero-check on :",
        "toolSeverity": "low",
        "confidence": "medium",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          30
        ],
        "caseId": "GT-05",
        "classification": "out-of-scope"
      },
      {
        "rawId": "missing-zero-check:14",
        "detector": "missing-zero-check",
        "title": "StorageCollisionProxy.constructor(address).initialImplementation (src/InitializationAndProxy.sol#25) lacks a zero-check on :",
        "toolSeverity": "low",
        "confidence": "medium",
        "file": "src/InitializationAndProxy.sol",
        "lines": [
          25
        ],
        "caseId": "GT-08",
        "classification": "out-of-scope"
      },
      {
        "rawId": "missing-zero-check:15",
        "detector": "missing-zero-check",
        "title": "UserControlledDelegatecall.execute(address,bytes).target (src/AuthorityAndCalls.sol#36) lacks a zero-check on :",
        "toolSeverity": "low",
        "confidence": "medium",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          36
        ],
        "caseId": "GT-06",
        "classification": "out-of-scope"
      },
      {
        "rawId": "missing-zero-check:16",
        "detector": "missing-zero-check",
        "title": "UnprotectedInitializable.initialize(address,uint256).initialOwner (src/InitializationAndProxy.sol#8) lacks a zero-check on :",
        "toolSeverity": "low",
        "confidence": "medium",
        "file": "src/InitializationAndProxy.sol",
        "lines": [
          8
        ],
        "caseId": "GT-07",
        "classification": "out-of-scope"
      },
      {
        "rawId": "assembly:17",
        "detector": "assembly",
        "title": "StorageCollisionProxy.fallback() (src/InitializationAndProxy.sol#29-39) uses assembly",
        "toolSeverity": "informational",
        "confidence": "high",
        "file": "src/InitializationAndProxy.sol",
        "lines": [
          29,
          30,
          31,
          32,
          33,
          34,
          35,
          36,
          37,
          38,
          39
        ],
        "caseId": "GT-08",
        "classification": "out-of-scope"
      },
      {
        "rawId": "dead-code:18",
        "detector": "dead-code",
        "title": "ShadowingAndDeadCode.neverCalled(uint256) (src/LanguageAndEntropy.sol#17-19) is never used and should be removed",
        "toolSeverity": "informational",
        "confidence": "medium",
        "file": "src/LanguageAndEntropy.sol",
        "lines": [
          17,
          18,
          19
        ],
        "caseId": "GT-11",
        "classification": "duplicate"
      },
      {
        "rawId": "low-level-calls:19",
        "detector": "low-level-calls",
        "title": "Low level call in CrossFunctionReentrancyVault.withdraw() (src/ReentrancyCases.sol#35-43):",
        "toolSeverity": "informational",
        "confidence": "high",
        "file": "src/ReentrancyCases.sol",
        "lines": [
          35,
          36,
          37,
          38,
          39,
          40,
          41,
          42,
          43
        ],
        "caseId": "GT-02",
        "classification": "out-of-scope"
      },
      {
        "rawId": "low-level-calls:20",
        "detector": "low-level-calls",
        "title": "Low level call in UserControlledDelegatecall.execute(address,bytes) (src/AuthorityAndCalls.sol#36-38):",
        "toolSeverity": "informational",
        "confidence": "high",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          36,
          37,
          38
        ],
        "caseId": "GT-06",
        "classification": "out-of-scope"
      },
      {
        "rawId": "low-level-calls:21",
        "detector": "low-level-calls",
        "title": "Low level call in IntentionalSafeVault.withdraw() (src/ReentrancyCases.sol#53-60):",
        "toolSeverity": "informational",
        "confidence": "high",
        "file": "src/ReentrancyCases.sol",
        "lines": [
          53,
          54,
          55,
          56,
          57,
          58,
          59,
          60
        ],
        "caseId": "SAFE-01",
        "classification": "informational"
      },
      {
        "rawId": "low-level-calls:22",
        "detector": "low-level-calls",
        "title": "Low level call in UncheckedCall.forward(address,bytes) (src/AuthorityAndCalls.sol#30-32):",
        "toolSeverity": "informational",
        "confidence": "high",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          30,
          31,
          32
        ],
        "caseId": "GT-05",
        "classification": "out-of-scope"
      },
      {
        "rawId": "low-level-calls:23",
        "detector": "low-level-calls",
        "title": "Low level call in ClassicReentrancyVault.withdraw() (src/ReentrancyCases.sol#11-19):",
        "toolSeverity": "informational",
        "confidence": "high",
        "file": "src/ReentrancyCases.sol",
        "lines": [
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19
        ],
        "caseId": "GT-01",
        "classification": "out-of-scope"
      },
      {
        "rawId": "low-level-calls:24",
        "detector": "low-level-calls",
        "title": "Low level call in ForwardLibrary.uncheckedForward(address,bytes) (src/LibraryFlow.sol#5-7):",
        "toolSeverity": "informational",
        "confidence": "high",
        "file": "src/LibraryFlow.sol",
        "lines": [
          5,
          6,
          7
        ],
        "caseId": "GT-12",
        "classification": "out-of-scope"
      },
      {
        "rawId": "low-level-calls:25",
        "detector": "low-level-calls",
        "title": "Low level call in IntentionalSafeCall.forward(address,bytes) (src/AuthorityAndCalls.sol#44-49):",
        "toolSeverity": "informational",
        "confidence": "high",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          44,
          45,
          46,
          47,
          48,
          49
        ],
        "caseId": "SAFE-01",
        "classification": "informational"
      },
      {
        "rawId": "unused-state:26",
        "detector": "unused-state",
        "title": "ShadowingAndDeadCode.unusedState (src/LanguageAndEntropy.sol#6) is never used in ShadowingAndDeadCode (src/LanguageAndEntropy.sol#4-20)",
        "toolSeverity": "informational",
        "confidence": "high",
        "file": "src/LanguageAndEntropy.sol",
        "lines": [
          6
        ],
        "caseId": "GT-11",
        "classification": "duplicate"
      },
      {
        "rawId": "constable-states:27",
        "detector": "constable-states",
        "title": "ShadowingAndDeadCode.unusedState (src/LanguageAndEntropy.sol#6) should be constant ",
        "toolSeverity": "optimization",
        "confidence": "high",
        "file": "src/LanguageAndEntropy.sol",
        "lines": [
          6
        ],
        "caseId": "GT-11",
        "classification": "out-of-scope"
      },
      {
        "rawId": "immutable-states:28",
        "detector": "immutable-states",
        "title": "StorageCollisionProxy.implementation (src/InitializationAndProxy.sol#23) should be immutable ",
        "toolSeverity": "optimization",
        "confidence": "high",
        "file": "src/InitializationAndProxy.sol",
        "lines": [
          23
        ],
        "caseId": "GT-08",
        "classification": "out-of-scope"
      },
      {
        "rawId": "immutable-states:29",
        "detector": "immutable-states",
        "title": "ShadowingAndDeadCode.owner (src/LanguageAndEntropy.sol#5) should be immutable ",
        "toolSeverity": "optimization",
        "confidence": "high",
        "file": "src/LanguageAndEntropy.sol",
        "lines": [
          5
        ],
        "caseId": "GT-11",
        "classification": "out-of-scope"
      }
    ],
    "aderyn": [
      {
        "rawId": "contract-locks-ether:src/AuthorityAndCalls.sol:35:0",
        "detector": "contract-locks-ether",
        "title": "Contract locks Ether without a withdraw function",
        "toolSeverity": "high",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          35
        ],
        "caseId": null,
        "classification": "out-of-scope"
      },
      {
        "rawId": "contract-locks-ether:src/InitializationAndProxy.sol:22:1",
        "detector": "contract-locks-ether",
        "title": "Contract locks Ether without a withdraw function",
        "toolSeverity": "high",
        "file": "src/InitializationAndProxy.sol",
        "lines": [
          22
        ],
        "caseId": "GT-08",
        "classification": "out-of-scope"
      },
      {
        "rawId": "delegate-call-unchecked-address:src/AuthorityAndCalls.sol:36:0",
        "detector": "delegate-call-unchecked-address",
        "title": "`delegatecall` to an Arbitrary Address",
        "toolSeverity": "high",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          36
        ],
        "caseId": "GT-06",
        "classification": "true-positive"
      },
      {
        "rawId": "eth-send-unchecked-address:src/AuthorityAndCalls.sol:30:0",
        "detector": "eth-send-unchecked-address",
        "title": "ETH transferred without address checks",
        "toolSeverity": "high",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          30
        ],
        "caseId": "GT-05",
        "classification": "out-of-scope"
      },
      {
        "rawId": "eth-send-unchecked-address:src/AuthorityAndCalls.sol:44:1",
        "detector": "eth-send-unchecked-address",
        "title": "ETH transferred without address checks",
        "toolSeverity": "high",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          44
        ],
        "caseId": "SAFE-01",
        "classification": "false-positive"
      },
      {
        "rawId": "eth-send-unchecked-address:src/ReentrancyCases.sol:11:2",
        "detector": "eth-send-unchecked-address",
        "title": "ETH transferred without address checks",
        "toolSeverity": "high",
        "file": "src/ReentrancyCases.sol",
        "lines": [
          11
        ],
        "caseId": "GT-01",
        "classification": "out-of-scope"
      },
      {
        "rawId": "eth-send-unchecked-address:src/ReentrancyCases.sol:35:3",
        "detector": "eth-send-unchecked-address",
        "title": "ETH transferred without address checks",
        "toolSeverity": "high",
        "file": "src/ReentrancyCases.sol",
        "lines": [
          35
        ],
        "caseId": "GT-02",
        "classification": "out-of-scope"
      },
      {
        "rawId": "eth-send-unchecked-address:src/ReentrancyCases.sol:53:4",
        "detector": "eth-send-unchecked-address",
        "title": "ETH transferred without address checks",
        "toolSeverity": "high",
        "file": "src/ReentrancyCases.sol",
        "lines": [
          53
        ],
        "caseId": "SAFE-01",
        "classification": "false-positive"
      },
      {
        "rawId": "reentrancy-state-change:src/ReentrancyCases.sol:15:0",
        "detector": "reentrancy-state-change",
        "title": "Reentrancy: State change after external call",
        "toolSeverity": "high",
        "file": "src/ReentrancyCases.sol",
        "lines": [
          15
        ],
        "caseId": "GT-01",
        "classification": "true-positive"
      },
      {
        "rawId": "reentrancy-state-change:src/ReentrancyCases.sol:39:1",
        "detector": "reentrancy-state-change",
        "title": "Reentrancy: State change after external call",
        "toolSeverity": "high",
        "file": "src/ReentrancyCases.sol",
        "lines": [
          39
        ],
        "caseId": "GT-02",
        "classification": "true-positive"
      },
      {
        "rawId": "strict-equality-contract-balance:src/LanguageAndEntropy.sol:31:0",
        "detector": "strict-equality-contract-balance",
        "title": "Dangerous strict equality checks on contract balances",
        "toolSeverity": "high",
        "file": "src/LanguageAndEntropy.sol",
        "lines": [
          31
        ],
        "caseId": "GT-10",
        "classification": "true-positive"
      },
      {
        "rawId": "tx-origin-used-for-auth:src/AuthorityAndCalls.sol:24:0",
        "detector": "tx-origin-used-for-auth",
        "title": "Use of `tx.origin` for authentication",
        "toolSeverity": "high",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          24
        ],
        "caseId": "GT-04",
        "classification": "true-positive"
      },
      {
        "rawId": "unchecked-low-level-call:src/AuthorityAndCalls.sol:31:0",
        "detector": "unchecked-low-level-call",
        "title": "Unchecked Low level calls",
        "toolSeverity": "high",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          31
        ],
        "caseId": "GT-05",
        "classification": "true-positive"
      },
      {
        "rawId": "unchecked-low-level-call:src/AuthorityAndCalls.sol:37:1",
        "detector": "unchecked-low-level-call",
        "title": "Unchecked Low level calls",
        "toolSeverity": "high",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          37
        ],
        "caseId": "GT-06",
        "classification": "duplicate"
      },
      {
        "rawId": "unchecked-low-level-call:src/LibraryFlow.sol:6:2",
        "detector": "unchecked-low-level-call",
        "title": "Unchecked Low level calls",
        "toolSeverity": "high",
        "file": "src/LibraryFlow.sol",
        "lines": [
          6
        ],
        "caseId": "GT-12",
        "classification": "true-positive"
      },
      {
        "rawId": "unprotected-initializer:src/InitializationAndProxy.sol:8:0",
        "detector": "unprotected-initializer",
        "title": "Unprotected initializer",
        "toolSeverity": "high",
        "file": "src/InitializationAndProxy.sol",
        "lines": [
          8
        ],
        "caseId": "GT-07",
        "classification": "true-positive"
      },
      {
        "rawId": "weak-randomness:src/LanguageAndEntropy.sol:25:0",
        "detector": "weak-randomness",
        "title": "Weak Randomness",
        "toolSeverity": "high",
        "file": "src/LanguageAndEntropy.sol",
        "lines": [
          25
        ],
        "caseId": "GT-09",
        "classification": "true-positive"
      },
      {
        "rawId": "weak-randomness:src/LanguageAndEntropy.sol:25:1",
        "detector": "weak-randomness",
        "title": "Weak Randomness",
        "toolSeverity": "high",
        "file": "src/LanguageAndEntropy.sol",
        "lines": [
          25
        ],
        "caseId": "GT-09",
        "classification": "duplicate"
      },
      {
        "rawId": "yul-return:src/InitializationAndProxy.sol:37:0",
        "detector": "yul-return",
        "title": "Yul block contains `return`",
        "toolSeverity": "high",
        "file": "src/InitializationAndProxy.sol",
        "lines": [
          37
        ],
        "caseId": "GT-08",
        "classification": "out-of-scope"
      },
      {
        "rawId": "builtin-symbol-shadowing:src/LanguageAndEntropy.sol:12:0",
        "detector": "builtin-symbol-shadowing",
        "title": "Builtin Symbol Shadowing",
        "toolSeverity": "low",
        "file": "src/LanguageAndEntropy.sol",
        "lines": [
          12
        ],
        "caseId": "GT-11",
        "classification": "true-positive"
      },
      {
        "rawId": "local-variable-shadowing:src/LanguageAndEntropy.sol:13:0",
        "detector": "local-variable-shadowing",
        "title": "Local Variable Shadows State Variable",
        "toolSeverity": "low",
        "file": "src/LanguageAndEntropy.sol",
        "lines": [
          13
        ],
        "caseId": "GT-11",
        "classification": "duplicate"
      },
      {
        "rawId": "state-change-without-event:src/AuthorityAndCalls.sol:11:0",
        "detector": "state-change-without-event",
        "title": "State Change Without Event",
        "toolSeverity": "low",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          11
        ],
        "caseId": "GT-03",
        "classification": "out-of-scope"
      },
      {
        "rawId": "state-change-without-event:src/InitializationAndProxy.sol:8:1",
        "detector": "state-change-without-event",
        "title": "State Change Without Event",
        "toolSeverity": "low",
        "file": "src/InitializationAndProxy.sol",
        "lines": [
          8
        ],
        "caseId": "GT-07",
        "classification": "out-of-scope"
      },
      {
        "rawId": "state-change-without-event:src/InitializationAndProxy.sol:17:2",
        "detector": "state-change-without-event",
        "title": "State Change Without Event",
        "toolSeverity": "low",
        "file": "src/InitializationAndProxy.sol",
        "lines": [
          17
        ],
        "caseId": "GT-08",
        "classification": "out-of-scope"
      },
      {
        "rawId": "state-change-without-event:src/ReentrancyCases.sol:7:3",
        "detector": "state-change-without-event",
        "title": "State Change Without Event",
        "toolSeverity": "low",
        "file": "src/ReentrancyCases.sol",
        "lines": [
          7
        ],
        "caseId": null,
        "classification": "out-of-scope"
      },
      {
        "rawId": "state-change-without-event:src/ReentrancyCases.sol:11:4",
        "detector": "state-change-without-event",
        "title": "State Change Without Event",
        "toolSeverity": "low",
        "file": "src/ReentrancyCases.sol",
        "lines": [
          11
        ],
        "caseId": "GT-01",
        "classification": "out-of-scope"
      },
      {
        "rawId": "state-change-without-event:src/ReentrancyCases.sol:25:5",
        "detector": "state-change-without-event",
        "title": "State Change Without Event",
        "toolSeverity": "low",
        "file": "src/ReentrancyCases.sol",
        "lines": [
          25
        ],
        "caseId": null,
        "classification": "out-of-scope"
      },
      {
        "rawId": "state-change-without-event:src/ReentrancyCases.sol:29:6",
        "detector": "state-change-without-event",
        "title": "State Change Without Event",
        "toolSeverity": "low",
        "file": "src/ReentrancyCases.sol",
        "lines": [
          29
        ],
        "caseId": "GT-02",
        "classification": "out-of-scope"
      },
      {
        "rawId": "state-change-without-event:src/ReentrancyCases.sol:35:7",
        "detector": "state-change-without-event",
        "title": "State Change Without Event",
        "toolSeverity": "low",
        "file": "src/ReentrancyCases.sol",
        "lines": [
          35
        ],
        "caseId": "GT-02",
        "classification": "out-of-scope"
      },
      {
        "rawId": "state-change-without-event:src/ReentrancyCases.sol:49:8",
        "detector": "state-change-without-event",
        "title": "State Change Without Event",
        "toolSeverity": "low",
        "file": "src/ReentrancyCases.sol",
        "lines": [
          49
        ],
        "caseId": null,
        "classification": "out-of-scope"
      },
      {
        "rawId": "state-change-without-event:src/ReentrancyCases.sol:53:9",
        "detector": "state-change-without-event",
        "title": "State Change Without Event",
        "toolSeverity": "low",
        "file": "src/ReentrancyCases.sol",
        "lines": [
          53
        ],
        "caseId": "SAFE-01",
        "classification": "informational"
      },
      {
        "rawId": "state-no-address-check:src/AuthorityAndCalls.sol:12:0",
        "detector": "state-no-address-check",
        "title": "Address State Variable Set Without Checks",
        "toolSeverity": "low",
        "file": "src/AuthorityAndCalls.sol",
        "lines": [
          12
        ],
        "caseId": "GT-03",
        "classification": "out-of-scope"
      },
      {
        "rawId": "state-no-address-check:src/InitializationAndProxy.sol:9:1",
        "detector": "state-no-address-check",
        "title": "Address State Variable Set Without Checks",
        "toolSeverity": "low",
        "file": "src/InitializationAndProxy.sol",
        "lines": [
          9
        ],
        "caseId": "GT-07",
        "classification": "out-of-scope"
      },
      {
        "rawId": "state-no-address-check:src/InitializationAndProxy.sol:26:2",
        "detector": "state-no-address-check",
        "title": "Address State Variable Set Without Checks",
        "toolSeverity": "low",
        "file": "src/InitializationAndProxy.sol",
        "lines": [
          26
        ],
        "caseId": "GT-08",
        "classification": "out-of-scope"
      },
      {
        "rawId": "state-variable-could-be-immutable:src/InitializationAndProxy.sol:23:0",
        "detector": "state-variable-could-be-immutable",
        "title": "State Variable Could Be Immutable",
        "toolSeverity": "low",
        "file": "src/InitializationAndProxy.sol",
        "lines": [
          23
        ],
        "caseId": "GT-08",
        "classification": "out-of-scope"
      },
      {
        "rawId": "state-variable-could-be-immutable:src/LanguageAndEntropy.sol:5:1",
        "detector": "state-variable-could-be-immutable",
        "title": "State Variable Could Be Immutable",
        "toolSeverity": "low",
        "file": "src/LanguageAndEntropy.sol",
        "lines": [
          5
        ],
        "caseId": "GT-11",
        "classification": "out-of-scope"
      },
      {
        "rawId": "unused-state-variable:src/LanguageAndEntropy.sol:6:0",
        "detector": "unused-state-variable",
        "title": "Unused State Variable",
        "toolSeverity": "low",
        "file": "src/LanguageAndEntropy.sol",
        "lines": [
          6
        ],
        "caseId": "GT-11",
        "classification": "duplicate"
      }
    ],
    "mythril": [
      {
        "rawId": "src/ReentrancyCases.sol:ClassicReentrancyVault:SWC-107:0",
        "detector": "SWC-107",
        "title": "Reentrancy",
        "descriptionHead": "A call to a user-supplied address is executed.",
        "toolSeverity": "low",
        "contract": "src/ReentrancyCases.sol:ClassicReentrancyVault",
        "caseId": "GT-01",
        "classification": "supporting"
      },
      {
        "rawId": "src/ReentrancyCases.sol:ClassicReentrancyVault:SWC-107:1",
        "detector": "SWC-107",
        "title": "Reentrancy",
        "descriptionHead": "Write to persistent state following external call",
        "toolSeverity": "medium",
        "contract": "src/ReentrancyCases.sol:ClassicReentrancyVault",
        "caseId": "GT-01",
        "classification": "true-positive"
      },
      {
        "rawId": "src/ReentrancyCases.sol:CrossFunctionReentrancyVault:SWC-107:0",
        "detector": "SWC-107",
        "title": "Reentrancy",
        "descriptionHead": "A call to a user-supplied address is executed.",
        "toolSeverity": "low",
        "contract": "src/ReentrancyCases.sol:CrossFunctionReentrancyVault",
        "caseId": "GT-02",
        "classification": "supporting"
      },
      {
        "rawId": "src/ReentrancyCases.sol:IntentionalSafeVault:SWC-107:0",
        "detector": "SWC-107",
        "title": "Reentrancy",
        "descriptionHead": "A call to a user-supplied address is executed.",
        "toolSeverity": "low",
        "contract": "src/ReentrancyCases.sol:IntentionalSafeVault",
        "caseId": "SAFE-01",
        "classification": "false-positive"
      },
      {
        "rawId": "src/AuthorityAndCalls.sol:OriginAuthorizer:SWC-115:0",
        "detector": "SWC-115",
        "title": "Authorization through tx.origin",
        "descriptionHead": "Use of tx.origin as a part of authorization control.",
        "toolSeverity": "low",
        "contract": "src/AuthorityAndCalls.sol:OriginAuthorizer",
        "caseId": "GT-04",
        "classification": "true-positive"
      },
      {
        "rawId": "src/AuthorityAndCalls.sol:UncheckedCall:SWC-107:0",
        "detector": "SWC-107",
        "title": "Reentrancy",
        "descriptionHead": "A call to a user-supplied address is executed.",
        "toolSeverity": "low",
        "contract": "src/AuthorityAndCalls.sol:UncheckedCall",
        "caseId": "GT-05",
        "classification": "supporting"
      },
      {
        "rawId": "src/AuthorityAndCalls.sol:UncheckedCall:SWC-104:1",
        "detector": "SWC-104",
        "title": "Unchecked Call Return Value",
        "descriptionHead": "The return value of a message call is not checked.",
        "toolSeverity": "medium",
        "contract": "src/AuthorityAndCalls.sol:UncheckedCall",
        "caseId": "GT-05",
        "classification": "true-positive"
      },
      {
        "rawId": "src/AuthorityAndCalls.sol:UserControlledDelegatecall:SWC-112:0",
        "detector": "SWC-112",
        "title": "Delegatecall to Untrusted Callee",
        "descriptionHead": "The contract delegates execution to another contract with a user-supplied address.",
        "toolSeverity": "high",
        "contract": "src/AuthorityAndCalls.sol:UserControlledDelegatecall",
        "caseId": "GT-06",
        "classification": "true-positive"
      },
      {
        "rawId": "src/AuthorityAndCalls.sol:UserControlledDelegatecall:SWC-104:1",
        "detector": "SWC-104",
        "title": "Unchecked Call Return Value",
        "descriptionHead": "The return value of a message call is not checked.",
        "toolSeverity": "medium",
        "contract": "src/AuthorityAndCalls.sol:UserControlledDelegatecall",
        "caseId": "GT-06",
        "classification": "duplicate"
      },
      {
        "rawId": "src/InitializationAndProxy.sol:StorageCollisionProxy:SWC-112:0",
        "detector": "SWC-112",
        "title": "Delegatecall to Untrusted Callee",
        "descriptionHead": "The contract delegates execution to another contract with a user-supplied address.",
        "toolSeverity": "high",
        "contract": "src/InitializationAndProxy.sol:StorageCollisionProxy",
        "caseId": "GT-08",
        "classification": "misclassified"
      }
    ]
  },
  "suppressionAndCi": [
    {
      "tool": "slither",
      "suppression": "Inline detector suppression, path filters, severity exclusions, and triage database.",
      "baseline": "A stricter checked-in config removes low/informational findings and fails on high findings.",
      "observedCiExit": "0 with fail_on=none; policy can change the failure threshold."
    },
    {
      "tool": "aderyn",
      "suppression": "Detector include/exclude lists and source path include/exclude settings.",
      "baseline": "The checked-in baseline config excludes four explicitly documented noise rules.",
      "observedCiExit": "0 with findings; CI must inspect report counts or use a wrapper policy."
    },
    {
      "tool": "mythril",
      "suppression": "Analysis-module allowlist and bounded transaction/execution settings.",
      "baseline": "No native SARIF or first-class finding baseline was used in this comparison.",
      "observedCiExit": "1 for invocations with findings and 0 for invocations without findings."
    }
  ],
  "runner": {
    "platform": "darwin",
    "release": "25.6.0",
    "architecture": "x64",
    "cpuModel": "Apple M4 Max",
    "logicalCpuCount": 16,
    "totalMemoryBytes": 137438953472,
    "nodeVersion": "v24.14.0",
    "dockerVersion": "28.5.1"
  },
  "sourceHashes": {
    "src/AuthorityAndCalls.sol": "4a31a2b5c2cbcaa5c1bd087a4d38a7310437c931291b7e99d13efd93b9ae7755",
    "src/InitializationAndProxy.sol": "9ef2ad403c2e220d078d12d972845f63630052db23b34a3c992ad9fe35bf9fa7",
    "src/LanguageAndEntropy.sol": "f87a4d45ec2305b655ebf6ae91d6e87ac95042074c0ccd1b7487c82b0ddfea5b",
    "src/LibraryFlow.sol": "d3de612dd8153af491a243df1f04f0052a78996fc0ff3c19450019d5f302332f",
    "src/ReentrancyCases.sol": "84ef50d0ba75d9e7590793c4421f05ce1f24adfb68b916fa6a650cdae545a24e"
  },
  "rawArtifacts": {
    "aderyn.json": {
      "bytes": 15368,
      "sha256": "35a59467c08bbffb259b72529292002f11827439ba6d1454c72b94cb25180c5e"
    },
    "aderyn.sarif": {
      "bytes": 17771,
      "sha256": "e82413c6904714c90e386c254a2fff48905d0268b19d60da883635f79ef64826"
    },
    "aderyn.md": {
      "bytes": 12390,
      "sha256": "6c81eb440c9c64755727ad9cf984b9c9d198a091e614c8f0fd035a4f53be6cc6"
    },
    "slither.json": {
      "bytes": 145088,
      "sha256": "22267337bdf7a2a5b9d50ba2ecafee6d3ec94896fc3ae2f84688dad0693c349f"
    },
    "slither.sarif": {
      "bytes": 39694,
      "sha256": "33280342799940b30d83e9bfc9b252a6f3c80ef71a4ba6f3619b946c87b7d252"
    },
    "slither.txt": {
      "bytes": 8026,
      "sha256": "e09fa1534a7b4fdc123f1c01e41d52b5b2acdefd78f2a86f37574cff010f909c"
    },
    "mythril.json": {
      "bytes": 2486900,
      "sha256": "be3a3420a9356b28ec01a1b97031152290855c5fcc58f0a7ef5b2faf8e6794cc"
    },
    "mythril.txt": {
      "bytes": 1349328,
      "sha256": "f460f684678377e8a158a7435fa1e108aec928070cdf4c5961036668ce3a47c5"
    }
  },
  "limitations": [
    "The benchmark is a deliberately small source project and is not a ranking for every codebase.",
    "Mythril analyzes selected entry contracts independently and is bounded to two transactions and twenty seconds per entry.",
    "A missed case is not evidence that the source is safe; a finding is not proof of exploitability.",
    "Severity shown by a tool is retained separately from the editorial ground-truth hypothesis.",
    "No sponsor, paid plan, cloud scan, public RPC, wallet, transaction, or real asset affected the results."
  ]
}
