{
  "schemaVersion": 1,
  "generatedAt": "2026-10-22T01:22:41.885304+00:00",
  "mode": "separate_customer_outcome_measurements",
  "holdout": {
    "id": "dvpwa",
    "title": "DVPWA first pass",
    "evaluation": "fresh_repository_first_pass",
    "repository": "https://github.com/anxolerd/dvpwa",
    "revision": "a1d8f89fac2e57093189853c6527c2b01fc1d9c1",
    "license": "MIT",
    "labelsAdjudicatedAt": "2026-10-22T01:10:14.646944+00:00",
    "predictionOutcomesViewedBeforeLabels": false,
    "caseSelection": "Purposive source inspection after immutable whole-repository prediction and prediction seal. All selected DAO methods use separable SQL strings and bindings or one documented unsafe concatenation. Cefense coding-agent labels, not independent human adjudication. Not representative customer prevalence. No source changed. All cases include documented callers in separate files.",
    "totals": {
      "tp": 2,
      "fn": 1,
      "fp": 0,
      "tn": 9,
      "failed": 0,
      "unsupported": 0,
      "cases": 12,
      "scored": 12
    },
    "crossFile": {
      "tp": 2,
      "fn": 1,
      "fp": 0,
      "tn": 9,
      "failed": 0,
      "unsupported": 0,
      "cases": 12,
      "scored": 12
    },
    "secretTotals": {
      "tp": 0,
      "fn": 0,
      "fp": 0,
      "tn": 3,
      "failed": 0,
      "unsupported": 0,
      "cases": 3,
      "scored": 3
    },
    "cases": [
      {
        "id": "dvpwa-01",
        "path": "sqli/dao/student.py",
        "startLine": 41,
        "endLine": 45,
        "cwe": "CWE-89",
        "vulnerable": true,
        "crossFile": true,
        "rationale": "sqli/views.py students passes POST name to this method; name is percent-formatted into SQL executed without bindings.",
        "source": "https://github.com/anxolerd/dvpwa/blob/a1d8f89fac2e57093189853c6527c2b01fc1d9c1/sqli/dao/student.py#L41",
        "status": "scored",
        "detected": true,
        "outcome": "tp"
      },
      {
        "id": "dvpwa-02",
        "path": "sqli/views.py",
        "startLine": 97,
        "endLine": 108,
        "cwe": "CWE-79",
        "vulnerable": true,
        "crossFile": true,
        "rationale": "sqli/views.py review stores POST text via Review.create; course renders stored reviews with sqli/app.py autoescape=False and templates/course.jinja2 unescaped review text.",
        "source": "https://github.com/anxolerd/dvpwa/blob/a1d8f89fac2e57093189853c6527c2b01fc1d9c1/sqli/views.py#L97",
        "status": "scored",
        "detected": false,
        "outcome": "fn"
      },
      {
        "id": "dvpwa-03",
        "path": "sqli/dao/user.py",
        "startLine": 40,
        "endLine": 41,
        "cwe": "CWE-328",
        "vulnerable": true,
        "crossFile": true,
        "rationale": "sqli/views.py index passes POST password to imported User.check_password, which compares unsalted MD5 hashes.",
        "source": "https://github.com/anxolerd/dvpwa/blob/a1d8f89fac2e57093189853c6527c2b01fc1d9c1/sqli/dao/user.py#L40",
        "status": "scored",
        "detected": true,
        "outcome": "tp"
      },
      {
        "id": "dvpwa-04",
        "path": "sqli/dao/student.py",
        "startLine": 15,
        "endLine": 22,
        "cwe": "CWE-89",
        "vulnerable": false,
        "crossFile": true,
        "rationale": "sqli/views.py student passes integer id; SQL uses a separate positional binding.",
        "source": "https://github.com/anxolerd/dvpwa/blob/a1d8f89fac2e57093189853c6527c2b01fc1d9c1/sqli/dao/student.py#L15",
        "status": "scored",
        "detected": false,
        "outcome": "tn"
      },
      {
        "id": "dvpwa-05",
        "path": "sqli/dao/student.py",
        "startLine": 25,
        "endLine": 38,
        "cwe": "CWE-89",
        "vulnerable": false,
        "crossFile": true,
        "rationale": "Callers in sqli/views.py invoke this method; optional pagination values use named SQL bindings.",
        "source": "https://github.com/anxolerd/dvpwa/blob/a1d8f89fac2e57093189853c6527c2b01fc1d9c1/sqli/dao/student.py#L25",
        "status": "scored",
        "detected": false,
        "outcome": "tn"
      },
      {
        "id": "dvpwa-06",
        "path": "sqli/dao/course.py",
        "startLine": 16,
        "endLine": 23,
        "cwe": "CWE-89",
        "vulnerable": false,
        "crossFile": true,
        "rationale": "Integer path id from sqli/views.py course is passed separately to SQL.",
        "source": "https://github.com/anxolerd/dvpwa/blob/a1d8f89fac2e57093189853c6527c2b01fc1d9c1/sqli/dao/course.py#L16",
        "status": "scored",
        "detected": false,
        "outcome": "tn"
      },
      {
        "id": "dvpwa-07",
        "path": "sqli/dao/course.py",
        "startLine": 42,
        "endLine": 48,
        "cwe": "CWE-89",
        "vulnerable": false,
        "crossFile": true,
        "rationale": "POST title/description from sqli/views.py courses are passed as a parameter dictionary, not SQL formatting.",
        "source": "https://github.com/anxolerd/dvpwa/blob/a1d8f89fac2e57093189853c6527c2b01fc1d9c1/sqli/dao/course.py#L42",
        "status": "scored",
        "detected": false,
        "outcome": "tn"
      },
      {
        "id": "dvpwa-08",
        "path": "sqli/dao/review.py",
        "startLine": 18,
        "endLine": 26,
        "cwe": "CWE-89",
        "vulnerable": false,
        "crossFile": true,
        "rationale": "Course id from sqli/views.py course is passed in a positional parameter tuple.",
        "source": "https://github.com/anxolerd/dvpwa/blob/a1d8f89fac2e57093189853c6527c2b01fc1d9c1/sqli/dao/review.py#L18",
        "status": "scored",
        "detected": false,
        "outcome": "tn"
      },
      {
        "id": "dvpwa-09",
        "path": "sqli/dao/review.py",
        "startLine": 29,
        "endLine": 36,
        "cwe": "CWE-89",
        "vulnerable": false,
        "crossFile": true,
        "rationale": "POST review text from sqli/views.py review is passed in SQL parameters. Separate stored XSS does not make this SQL injection.",
        "source": "https://github.com/anxolerd/dvpwa/blob/a1d8f89fac2e57093189853c6527c2b01fc1d9c1/sqli/dao/review.py#L29",
        "status": "scored",
        "detected": false,
        "outcome": "tn"
      },
      {
        "id": "dvpwa-10",
        "path": "sqli/dao/mark.py",
        "startLine": 19,
        "endLine": 27,
        "cwe": "CWE-89",
        "vulnerable": false,
        "crossFile": true,
        "rationale": "Student id supplied by view is passed as a SQL parameter tuple.",
        "source": "https://github.com/anxolerd/dvpwa/blob/a1d8f89fac2e57093189853c6527c2b01fc1d9c1/sqli/dao/mark.py#L19",
        "status": "scored",
        "detected": false,
        "outcome": "tn"
      },
      {
        "id": "dvpwa-11",
        "path": "sqli/dao/mark.py",
        "startLine": 30,
        "endLine": 37,
        "cwe": "CWE-89",
        "vulnerable": false,
        "crossFile": true,
        "rationale": "Validated points and integer ids supplied by evaluate view use a parameter dictionary.",
        "source": "https://github.com/anxolerd/dvpwa/blob/a1d8f89fac2e57093189853c6527c2b01fc1d9c1/sqli/dao/mark.py#L30",
        "status": "scored",
        "detected": false,
        "outcome": "tn"
      },
      {
        "id": "dvpwa-12",
        "path": "sqli/dao/user.py",
        "startLine": 31,
        "endLine": 38,
        "cwe": "CWE-89",
        "vulnerable": false,
        "crossFile": true,
        "rationale": "Untrusted username from sqli/views.py index is passed separately in a parameter tuple.",
        "source": "https://github.com/anxolerd/dvpwa/blob/a1d8f89fac2e57093189853c6527c2b01fc1d9c1/sqli/dao/user.py#L31",
        "status": "scored",
        "detected": false,
        "outcome": "tn"
      }
    ],
    "secretCases": [
      {
        "id": "dsn-format",
        "path": "sqli/services/db.py",
        "startLine": 1,
        "endLine": 25,
        "vulnerable": false,
        "rationale": "DSN uses format placeholders; no actual password literal is committed in this source.",
        "detected": false,
        "outcome": "tn"
      },
      {
        "id": "password-schema",
        "path": "sqli/schema/forms.py",
        "startLine": 1,
        "endLine": 19,
        "vulnerable": false,
        "rationale": "Input schema keys and types describe password input, not credential literals.",
        "detected": false,
        "outcome": "tn"
      },
      {
        "id": "csrf-generation",
        "path": "sqli/utils/jinja2.py",
        "startLine": 1,
        "endLine": 21,
        "vulnerable": false,
        "rationale": "CSRF token is read from a session; the csrf_token function name and interpolation do not disclose a literal credential.",
        "detected": false,
        "outcome": "tn"
      }
    ],
    "files": {
      "totalText": 48,
      "scored": 25,
      "unsupported": 23,
      "failed": 0,
      "binaryExcluded": 10
    },
    "durationMs": 775,
    "runtime": {
      "bun": "1.3.11",
      "platform": "darwin",
      "arch": "arm64"
    },
    "paidModelCalls": 0,
    "modelCostUsd": 0,
    "protocol": {
      "frozenAt": "2026-10-22T01:09:17.785Z",
      "scannerRevision": "a77eb589877e74046bc3334b82ac4ee605bf4f4f",
      "repositoryRevision": "a1d8f89fac2e57093189853c6527c2b01fc1d9c1",
      "source": [
        {
          "path": "apps/scan-cli/src/analysis-cache.ts",
          "sha256": "d0baba6157b77cf5cba8f8f6ac59d7929442ca9f144081b3622af80fac1f147f"
        },
        {
          "path": "apps/scan-cli/src/analysisCoverage.ts",
          "sha256": "e3e0ba94e08f15d16db22214b3169798241d27ace83e9c2b3339ac2fde0f8ae4"
        },
        {
          "path": "apps/scan-cli/src/appmodel.ts",
          "sha256": "11cb10ad4dc07e45360addf350638c231942a34c8a94cb56dffd687d40658f9c"
        },
        {
          "path": "apps/scan-cli/src/batching.ts",
          "sha256": "70bb6ae15948ac1bd35c6534b885783cc14eb5bdc91fa4d99cb055bbe1e9b7b3"
        },
        {
          "path": "apps/scan-cli/src/bench.ts",
          "sha256": "ab27ed544a3cab9d34bad1525bf3667c6604a7bd8ff32f2ab1c81211f2686162"
        },
        {
          "path": "apps/scan-cli/src/benchmark-scorecard.ts",
          "sha256": "025b9f1a2fa845985d9fafbb6e84e6a39557eb73eba6064fcc2486b9a45979ee"
        },
        {
          "path": "apps/scan-cli/src/cassette.ts",
          "sha256": "a811a8a9037156049094648cddb02ea0fd28938e4d5d7f9ba7a5d520d8ddb1c2"
        },
        {
          "path": "apps/scan-cli/src/context.ts",
          "sha256": "26e02925eb5f20405171950bb35d20aaf71aa67eade8482ea70e4c89ced0ac1e"
        },
        {
          "path": "apps/scan-cli/src/coverage.ts",
          "sha256": "10c0366ba24dfeb8792f4e1b817293186c6f1b6471cc4d01b2dc4096abc9e910"
        },
        {
          "path": "apps/scan-cli/src/coverageReport.ts",
          "sha256": "e8eed15e9df0baefcd94ace34fcf0e63119e87ac4bea3595c2a279a060687a19"
        },
        {
          "path": "apps/scan-cli/src/deepdive.ts",
          "sha256": "49c5913019358f87477bc93cab3daaa391beb8ebc307b55637d8f1c9234d8de9"
        },
        {
          "path": "apps/scan-cli/src/deepseek.ts",
          "sha256": "b922cbf013b81ed1c3d682ce6e67868a3526034efd011ca6eb78dfc7e1ad8543"
        },
        {
          "path": "apps/scan-cli/src/defences.ts",
          "sha256": "fb11f03b658d149a5e74bd8a18c74f27dc74aa24152d301703a1126c5723478f"
        },
        {
          "path": "apps/scan-cli/src/depGraph.ts",
          "sha256": "b2e354315743883ed58cdcb22b3e242267e27ad3745ae11903f5d93c278be1f0"
        },
        {
          "path": "apps/scan-cli/src/dependency-observations.ts",
          "sha256": "d8c14d1d944f1870602d35ec2d2e5b297e161423a0ed242256c60927b922f02a"
        },
        {
          "path": "apps/scan-cli/src/depth.ts",
          "sha256": "3d3a5bbcfae2360b1b8045c5bf997523ce289835d17cef5752732bb895fb6405"
        },
        {
          "path": "apps/scan-cli/src/envNames.ts",
          "sha256": "97071edd26823ab361d481785c04066eedabe6a5866c425562f089b4c7cc2c69"
        },
        {
          "path": "apps/scan-cli/src/finding-response.ts",
          "sha256": "645faff3e3e6f9bd1d7bb7a7f93dab6bdb3f28787f08a6b97670193b5af1dc4a"
        },
        {
          "path": "apps/scan-cli/src/fingerprint.ts",
          "sha256": "058ef82e52a20e2207d5c356bf8780a4bb8c02e88873be4bc079539c77225306"
        },
        {
          "path": "apps/scan-cli/src/gates.ts",
          "sha256": "cc1f057e50be79d3fd397994dfc1df202812f05cf117b0145716c9c86d02e377"
        },
        {
          "path": "apps/scan-cli/src/gitleaks.ts",
          "sha256": "3b45e13abb74de4f204acb29c82b3c8a3c6628373fe91c590bd4ea377f9bec38"
        },
        {
          "path": "apps/scan-cli/src/helpers.ts",
          "sha256": "ae9c19d7ff10118b3089d4709a04f0cc749083dfe23d3e0c865b692ac32cc4b6"
        },
        {
          "path": "apps/scan-cli/src/iac.ts",
          "sha256": "78011b64b0c4da54861405f19b9e33fe9f5b42f5c2108330c9fe46f17fd033ed"
        },
        {
          "path": "apps/scan-cli/src/image.ts",
          "sha256": "a7aa4b3605587ec02c07116058a720c7b894b34b000598010f67061bbc9e2e22"
        },
        {
          "path": "apps/scan-cli/src/imports.ts",
          "sha256": "37e654e1643d66d1b4b3dd08a71f029c85221f24bc1857a52f4c289e536de42a"
        },
        {
          "path": "apps/scan-cli/src/independent-benchmark.ts",
          "sha256": "879e9770d53240ba9b59bb4928256f2d27bddbcfc5fa9ff048b8372477c137d4"
        },
        {
          "path": "apps/scan-cli/src/index.ts",
          "sha256": "28244b9a65713e5d5f4e5a5581de5302372e1a5436870f1543dc5936805fd632"
        },
        {
          "path": "apps/scan-cli/src/intelligence.ts",
          "sha256": "93bfb294b41bdf1616533ac6445c271430497e0def81e6443ef723c6a35efc90"
        },
        {
          "path": "apps/scan-cli/src/kernel.ts",
          "sha256": "18f2d1eeeeacc4b528e343c91cae0b08bc6e252427e886af5470730d8774d4f0"
        },
        {
          "path": "apps/scan-cli/src/logger.ts",
          "sha256": "3d53733daa48af057f2709b29af2d0e506af3f62764ea64cd1b5758be0ba8582"
        },
        {
          "path": "apps/scan-cli/src/manifests.ts",
          "sha256": "bb1672c1bd3c1d399c16878572874efbe5e648e33b88e61455ba98b574d04af7"
        },
        {
          "path": "apps/scan-cli/src/mapFinding.ts",
          "sha256": "be3ec1f53d70c7f6021ad695ffc37363e46d2dd34b047c14ade59dce2401459a"
        },
        {
          "path": "apps/scan-cli/src/noise.ts",
          "sha256": "5d30d0453a93bd04a4bc10be6692d8a9813677dee35c7c3ba7af12ee7fb16bfa"
        },
        {
          "path": "apps/scan-cli/src/oci.ts",
          "sha256": "c5600f5dbeb7e786ebcf0a75cf1d24c35314af3fcdcdc681feac7ad1154f7277"
        },
        {
          "path": "apps/scan-cli/src/openapi.ts",
          "sha256": "6223b8611795454a8f0f52ec1f7bb577f19b144d41cb19dd226dc6c7168328c9"
        },
        {
          "path": "apps/scan-cli/src/osdb.ts",
          "sha256": "cd464bb11b5953068934c17cde3f10bedaeaaed03fdf6d85cf267a2df0145e6b"
        },
        {
          "path": "apps/scan-cli/src/prefilter.ts",
          "sha256": "53571e87886dbc160b0d64cac8a485c84d539c34e2a67bc07262350c2b83176f"
        },
        {
          "path": "apps/scan-cli/src/prompts.ts",
          "sha256": "779e2bf648450965965cb690bca7cdf64dd584dfc1e2a6b29e56bd1b95e4eb01"
        },
        {
          "path": "apps/scan-cli/src/pullRequest.ts",
          "sha256": "2fbfa5525a0a9e9e0f9f35348429f397cc37bf22a897f779ea83e31a3d7c31bd"
        },
        {
          "path": "apps/scan-cli/src/python-config.ts",
          "sha256": "cbd69945e59780938e88bbd3ba594696ad7c4fcfe00550e4a07102bd685e4065"
        },
        {
          "path": "apps/scan-cli/src/python-flow.ts",
          "sha256": "e706085a42a71f4d4a83f8b5078f197887d35d3679bfa5029187502e79952699"
        },
        {
          "path": "apps/scan-cli/src/quality.ts",
          "sha256": "7b69ff447ff7d673420eb84fc13c19b8b3a779f18bc01feb3c5c44166bcce40e"
        },
        {
          "path": "apps/scan-cli/src/reachGraph.ts",
          "sha256": "099e451f8b1cf41d631d2831dba4629e4bc7ea0c31ce6b1291571e4f602dbd04"
        },
        {
          "path": "apps/scan-cli/src/reachability.ts",
          "sha256": "fa01a82a0bca1a3ba67faca4f6fdc209fc0b81f099b59f70ead33dc6a1d5c24a"
        },
        {
          "path": "apps/scan-cli/src/recovery.ts",
          "sha256": "c51f097dc8f7dfa1f0576c9c66fc459acb615122ad9e9d78b7ecad124b6c7e98"
        },
        {
          "path": "apps/scan-cli/src/relatedSpans.ts",
          "sha256": "b455844c8a2dd2c8a91e56a291920ed34c7a3fb003c6cb285a82f2c5a92aaf2e"
        },
        {
          "path": "apps/scan-cli/src/repoSecrets.ts",
          "sha256": "071dd5a1b259aa2cbf7adcd32b5a6010c69a8601711ae5a3f74117df35611d0f"
        },
        {
          "path": "apps/scan-cli/src/reporter.ts",
          "sha256": "7c1ee9071898d0c47eb79c6542c7bd677933eda9f159f0dea9fcdcafc28bcbd6"
        },
        {
          "path": "apps/scan-cli/src/repository-benchmark.ts",
          "sha256": "5ce88982c3eefdf7b3ed59ea1dbb41ae22fe4b3ab1ebe85859752f45252d6c7e"
        },
        {
          "path": "apps/scan-cli/src/rule-defenses.ts",
          "sha256": "02e15e50eeefe594378f0cf7e9925d651df06561e64fe06365c7bcfdb3dcf1a1"
        },
        {
          "path": "apps/scan-cli/src/rules.ts",
          "sha256": "ff75d156666d75359a1e581a10fa75f51983016e08236f2eb748f8c6c220aee0"
        },
        {
          "path": "apps/scan-cli/src/sbom.ts",
          "sha256": "2f76a139d11e49b67a826603881cbf81ffc4474bc4bd9fde6506e0c558c8f0d9"
        },
        {
          "path": "apps/scan-cli/src/scan.ts",
          "sha256": "08bb268416d4ecd05ccf874844decaebd25fbc7f6b341e314cb5fb74c2df056b"
        },
        {
          "path": "apps/scan-cli/src/scanVersions.ts",
          "sha256": "5e3991039c32835b23767c90aafaa33ab15a6e61f7e01a9b0d3ab5683c602653"
        },
        {
          "path": "apps/scan-cli/src/search.ts",
          "sha256": "f9db1c3b5fe9900a6e4f4335d53ada9083e2ae932ebcee853b56f527ba95f219"
        },
        {
          "path": "apps/scan-cli/src/silence.ts",
          "sha256": "8c65ac7f0df90c9c15394ac6de861f86ce3d89a2930a8ebe7445d63eaa5e2787"
        },
        {
          "path": "apps/scan-cli/src/spread.ts",
          "sha256": "2d80502b0d1b0d453aa0e2da7513fefdf75755a37d5af1e3cf6a5cb08b12d9d0"
        },
        {
          "path": "apps/scan-cli/src/stability.ts",
          "sha256": "61012aae5957361f46a8f15413ea429e7350fefabce4e9e0e6fa972278cc34e7"
        },
        {
          "path": "apps/scan-cli/src/stop.ts",
          "sha256": "d35e4491a63e6792342b8b5deea342a2b4bbe22975aeb6f26c51537e2275fd6f"
        },
        {
          "path": "apps/scan-cli/src/sweep.ts",
          "sha256": "356678c7373530b517e05ab46e58d09df0eb7484a8bcca6f2b7b50a5753abc2b"
        },
        {
          "path": "apps/scan-cli/src/tar.ts",
          "sha256": "2c80b52c78e9c75185ed90b3cd4f4a6bca969fe0d1c736f15f8b72e47773e6f6"
        },
        {
          "path": "apps/scan-cli/src/tools.ts",
          "sha256": "cf9de13aa44e1550fdeedfba7e25ac7ccf36b289825a8eaf3f1928cf8b5df3d8"
        },
        {
          "path": "apps/scan-cli/src/trivy.ts",
          "sha256": "150153c1b23996bc0f8a32301c65d0bff0be1fa2fae6cb7eb0f5c581c700c236"
        },
        {
          "path": "apps/scan-cli/src/verdict-contract.ts",
          "sha256": "e24ab43d9f4cc96ebd2e3948286779b2e0b0390f42106f14b3b7eef3bcee9d61"
        },
        {
          "path": "apps/scan-cli/src/verify.ts",
          "sha256": "71d0315264ad5afc61d8c0fef34b366db38477eac30767b9ac0137fc61129e7b"
        },
        {
          "path": "apps/scan-cli/src/walk.ts",
          "sha256": "3d2a350dfe6e25403e50eefa3a0dbaebe275b422950717fc438be3bd5c74d097"
        }
      ],
      "schemas": [
        {
          "path": "packages/schemas/src/billing.test.ts",
          "sha256": "401e00c36536fc926b648ce59d423c130769c53d7f019b50180233797bff0ce1"
        },
        {
          "path": "packages/schemas/src/billing.ts",
          "sha256": "7ae419533da6bc2a20ad243b33b452dcd25d7dd67fe6c4b89c7d44193818322e"
        },
        {
          "path": "packages/schemas/src/careers.ts",
          "sha256": "c367f27b05dfdc9d57e25fe9987bf21e78f3f65ea9556afccea999cbfc068c46"
        },
        {
          "path": "packages/schemas/src/dependencyObservations.ts",
          "sha256": "d5a641b059b22592c692d3283502b9d77213ec42e77e03e600d0a20ee72d4038"
        },
        {
          "path": "packages/schemas/src/findings.ts",
          "sha256": "a12c3448f1e41d2eda5313f9b9a8fcf64ed2b77ebc80e5e22a7c682060878a38"
        },
        {
          "path": "packages/schemas/src/fingerprintSymbol.test.ts",
          "sha256": "e82eefb55e0c5bcd6afc5bb45d267e67b75ff01ba156a140e2cf728870455ade"
        },
        {
          "path": "packages/schemas/src/immunity.ts",
          "sha256": "cbe2557cc42d164e9d677f92ab8e26ce12762b4b2f60d5a3f2430b59a793abce"
        },
        {
          "path": "packages/schemas/src/index.ts",
          "sha256": "dc8572d1089083d76301bdf8634bfe9565973f00e6cc49beca1101df17ec4cbe"
        },
        {
          "path": "packages/schemas/src/investigation.ts",
          "sha256": "0a4a6a4370ff428910b2fb0ef53450fae064392dc58e341f8eb33da2252300b5"
        },
        {
          "path": "packages/schemas/src/ir.ts",
          "sha256": "c1b1d0766b20e4830a9a6ab35d27ba16dc676f9a4c2a9badebd4fdbd17919df8"
        },
        {
          "path": "packages/schemas/src/knowledge.ts",
          "sha256": "74488c0199366e71df6c2a83e71333317392e6b010e88f6beb66b935cec4bc85"
        },
        {
          "path": "packages/schemas/src/notifications.test.ts",
          "sha256": "37e385a265cfe33c545c2a0350415150a8affca5c4e6c5485ec29dc7b9c568cd"
        },
        {
          "path": "packages/schemas/src/notifications.ts",
          "sha256": "994d00573e810665c4379c2cb86147d28ac588ffca1b7f5c305cbd3ee98578c9"
        },
        {
          "path": "packages/schemas/src/packages.test.ts",
          "sha256": "01dfe561cb5d533d21109a17eea0a39f53f6a00b7b8ab897a60648ba4fde0ab3"
        },
        {
          "path": "packages/schemas/src/packages.ts",
          "sha256": "cabe240416e6c35be7baae9e776017e272f03efc5c4bcac3db05b3c11fa75d7e"
        },
        {
          "path": "packages/schemas/src/proof.ts",
          "sha256": "80dcb156960b75ec0dee7e607fba08229ddc0cccb5c8951e813274b27340953f"
        },
        {
          "path": "packages/schemas/src/reachability.test.ts",
          "sha256": "3252919fa6c1d35f1f90af335edc4e8832b7c48578888dac6ad6d0a2042744ed"
        },
        {
          "path": "packages/schemas/src/reachability.ts",
          "sha256": "6f78887ccf9f09df85e9cad8b5c271fd036782846bcdd301de44e85645f86b39"
        },
        {
          "path": "packages/schemas/src/reachabilityLabels.test.ts",
          "sha256": "2e0f8bd28ab72ab7bb09152cc58ca8e54b06bda14e6e2afe0a005bf5a7768b13"
        },
        {
          "path": "packages/schemas/src/reproduction.ts",
          "sha256": "ef08346d379d5f325bd579a7536679fef7d09fab7f4925392c55c55fd3aa7ab5"
        },
        {
          "path": "packages/schemas/src/scanCompletion.ts",
          "sha256": "881dd9263b32be386c364e8595562cadf7e9cbda9efe5aa64abac11b798c7e8f"
        },
        {
          "path": "packages/schemas/src/scanPullRequest.ts",
          "sha256": "09e56c5771b087884f735f69a3f3cb625f99e7aab1a867fd1f469fd1906ba2b6"
        },
        {
          "path": "packages/schemas/src/scanReasons.test.ts",
          "sha256": "01b6dde3a2b3c73993f196dd0feefdbfa38700b6d28a6b4b1d447e80193b7a2f"
        },
        {
          "path": "packages/schemas/src/scanReasons.ts",
          "sha256": "fba539e6d3c2140db2a329a6be9ce53e7ed0f6dc4437f085d2ce014be71d200a"
        },
        {
          "path": "packages/schemas/src/schemas.test.ts",
          "sha256": "76f30c08b7b291b0aaff817f216ab1d6c2abedf96cab319406a3192caab41c03"
        },
        {
          "path": "packages/schemas/src/secretRepair.test.ts",
          "sha256": "f5d02725b13b008200f75cacd22d44d8f58f15bedd51f0223055419c2a741081"
        },
        {
          "path": "packages/schemas/src/secretRepair.ts",
          "sha256": "463cd65df478f18bcefb992ff06b279fc74737d95205af2ea552ef4ad4e30e38"
        },
        {
          "path": "packages/schemas/src/secrets.test.ts",
          "sha256": "b9ad3a12c0bcf243db65975600bf3c134b6030fee372cf39153832c96bb84368"
        },
        {
          "path": "packages/schemas/src/secrets.ts",
          "sha256": "173c025ddd2fc9d6fc70e6978138737f7132129ee0fb8a11145f5c8cd7b61b33"
        },
        {
          "path": "packages/schemas/src/security.ts",
          "sha256": "311afcee8ce9a869a622a19e2b1db1e57e003ace1f655921760ec21689a46f44"
        },
        {
          "path": "packages/schemas/src/states.ts",
          "sha256": "540c39ae578d9f7cae4ab84e5e183852e6eb84ae49d1d992c2cbf8c2e81a66b6"
        },
        {
          "path": "packages/schemas/src/wire.ts",
          "sha256": "b0c21292deadef07a17133b79eb89e4d3dc3dd6bfd165f61653efb699d9d6c3d"
        },
        {
          "path": "packages/schemas/src/workspace.ts",
          "sha256": "17a5fab2b0f41f698fbe2f1eceb055c035ae04bec35f547c03531d2e0eefbf42"
        }
      ],
      "rules": [
        {
          "path": "rulepacks/common/ANGULAR-TRUST-001/rule.yaml",
          "sha256": "add1d0987ffcb76cf8286d4da2210674893a8a8c693c9afacb5f4adbbfc7f73d"
        },
        {
          "path": "rulepacks/common/ANGULAR-TRUST-001/tests/safe/sanitized_html.ts",
          "sha256": "0d602cd9ae708c8060652de16f1c361a5522dc81d81624e8bdaaaae2664457d2"
        },
        {
          "path": "rulepacks/common/ANGULAR-TRUST-001/tests/vulnerable/bypass_trust_html.ts",
          "sha256": "dda816ef1b3d98aa23f109516466c901b66bee2cc3c4742f997ddbf75dac2165"
        },
        {
          "path": "rulepacks/common/CLEARTEXT-001/rule.yaml",
          "sha256": "19d83cbe5fabd840248811236a6426d860695cc99d57105d7f67d71b46cfb809"
        },
        {
          "path": "rulepacks/common/CLEARTEXT-001/tests/safe/https_endpoint.ts",
          "sha256": "c497ad77c81fd53d387c2b5b10161388c87628740d0b678891581d330ab1ca03"
        },
        {
          "path": "rulepacks/common/CLEARTEXT-001/tests/vulnerable/ftp_endpoint.ts",
          "sha256": "c3a6c3a828cc4cdca45bbdf486c6c2856066163884baa74f760a91e896f11870"
        },
        {
          "path": "rulepacks/common/CMDI-001/rule.yaml",
          "sha256": "76a524d4596595bec3d2b8550e593f8f73b2c463c594bb7a70f2cb8c3ea9346c"
        },
        {
          "path": "rulepacks/common/CMDI-001/tests/safe/exec_quoted.py",
          "sha256": "55ffe5f84c6711ba04bb88b1c5cf723e0f6c547bd71b17683a4ccae49263114d"
        },
        {
          "path": "rulepacks/common/CMDI-001/tests/vulnerable/exec_concat.py",
          "sha256": "8b98cd6a13e1b2e4970341498162b6222b44ea2fb872f4af940f75062f24f397"
        },
        {
          "path": "rulepacks/common/CODE-001/rule.yaml",
          "sha256": "313aa196ab864dd25536b018605c1c3b36f18956a367376ee0e005bb319f58be"
        },
        {
          "path": "rulepacks/common/CODE-001/tests/safe/comment_mentions_eval.ts",
          "sha256": "a47f8173953238cb60d08856a1b037366fbe536a88da34b23c643e9cad35d572"
        },
        {
          "path": "rulepacks/common/CODE-001/tests/safe/literal_mentions_eval.ts",
          "sha256": "3d09dab28d07ba35d263943091655822f5f5d217b2d6fccbbf3f9cb435bacfc2"
        },
        {
          "path": "rulepacks/common/CODE-001/tests/vulnerable/eval_query.ts",
          "sha256": "e3f4f0d3c518040aa2696ea7f76ff19db67601d38be08b42373615b3ded3dae0"
        },
        {
          "path": "rulepacks/common/DESER-001/rule.yaml",
          "sha256": "20b2f7b0d2b0a0dbf7d8725589a031e8d7cb58d318d151d099bfc1c2e484dd79"
        },
        {
          "path": "rulepacks/common/DESER-001/tests/safe/yaml_safe_load.ts",
          "sha256": "7aaaf0beb687fdadfafbc7d6d1a952647353a222571032ea59242f87bf33dba9"
        },
        {
          "path": "rulepacks/common/DESER-001/tests/vulnerable/yaml_load_body.ts",
          "sha256": "f108c65e1710a394fa1785691e1cb6d621e3e0b778da96403788137e3156453a"
        },
        {
          "path": "rulepacks/common/PATH-001/rule.yaml",
          "sha256": "b45b1cfe6d8c5af96ec1e8a1c837feeb8ddc239424adca3c188a64c161a00d2f"
        },
        {
          "path": "rulepacks/common/PATH-001/tests/safe/read_normalized_path.ts",
          "sha256": "de57b93ba7c7f086a1a9de7d2872628ccb63d84da3fb2fa1ef195bf58b0d2ca6"
        },
        {
          "path": "rulepacks/common/PATH-001/tests/safe/template_allowlisted.ts",
          "sha256": "d1d539bba782f1be978bfc1758690d38426278adaf1a44dbf76705e47ce6618b"
        },
        {
          "path": "rulepacks/common/PATH-001/tests/vulnerable/read_user_path.ts",
          "sha256": "f1b1f2b69e5992f4004d8a30d0e696fb19d21cd1cb02927e61687e5991d7569d"
        },
        {
          "path": "rulepacks/common/REDIR-001/rule.yaml",
          "sha256": "ebaba25880fec0039dad28bd24cbdd36541ab08036ce72527d31363ba37551f7"
        },
        {
          "path": "rulepacks/common/REDIR-001/tests/safe/redirect_allowlist.ts",
          "sha256": "903c9879c7b4b35624849633a17e8a34a86dc25f4526cc3df5342b5bb0e49bde"
        },
        {
          "path": "rulepacks/common/REDIR-001/tests/vulnerable/open_redirect.ts",
          "sha256": "efd4e225c944fb8647054fa952e40f0d6f3b3b905e22a6bf89f4b2c310daf363"
        },
        {
          "path": "rulepacks/common/SQLI-001/rule.yaml",
          "sha256": "3e64945a2e853ae7bbd868a110edbca234966a170a03f3dfe6f49de7077c6fcc"
        },
        {
          "path": "rulepacks/common/SQLI-001/tests/safe/drizzle_where.ts",
          "sha256": "106f09d70c246f993c7098b5d059bea9b836d1d025154d2c21b2b330519e7ceb"
        },
        {
          "path": "rulepacks/common/SQLI-001/tests/safe/identifier_allowlist.ts",
          "sha256": "bca1e858b9fda6aff77dc1334c96e61446966250ab503c5832c0ef2919ce8436"
        },
        {
          "path": "rulepacks/common/SQLI-001/tests/safe/parameterized_query.ts",
          "sha256": "bc711ba097116beaedf72e93c7b3b20b961a2d1258948ecb0dbe6e0ab8831a4c"
        },
        {
          "path": "rulepacks/common/SQLI-001/tests/vulnerable/concat_query.ts",
          "sha256": "a2429d8b1f611d41495a356ac305368dc5b78092e491a43bedf6a0f663b6ecb8"
        },
        {
          "path": "rulepacks/common/SSRF-001/rule.yaml",
          "sha256": "86bbbbd1f8bfe819cb8af8bde8ca5e43e038979c728fa8ad030641777a631f3e"
        },
        {
          "path": "rulepacks/common/SSRF-001/tests/safe/express_proxy_allowlist.ts",
          "sha256": "571f26fc750cdb14b72c7803cd2dd50d62acd806d1677dd5165aa92060ecd21f"
        },
        {
          "path": "rulepacks/common/SSRF-001/tests/vulnerable/express_proxy.ts",
          "sha256": "e4f646374bcb08c30fb8af627a91668f4841512cebe1bf804f79c0c4cc2229ab"
        },
        {
          "path": "rulepacks/common/SSTI-001/rule.yaml",
          "sha256": "1cf2a5878dad69f9adf9cad88ea2000064898a51447e053a47ef05581954edde"
        },
        {
          "path": "rulepacks/common/SSTI-001/tests/safe/precompiled_template.ts",
          "sha256": "0d5febf5ff8f2070115eaeba0870cdfcd392a2dd142487f0a996b04cc491a6e1"
        },
        {
          "path": "rulepacks/common/SSTI-001/tests/vulnerable/handlebars_compile.ts",
          "sha256": "4b04998aa32236b06404c7c9aaf2674d01173576b2401efd4904166a4f30fd5f"
        },
        {
          "path": "rulepacks/common/UPLOAD-001/rule.yaml",
          "sha256": "e5d8812fab296e63bb94fed6486797995e830fd2feedb5e4ac567bb7e904600b"
        },
        {
          "path": "rulepacks/common/UPLOAD-001/tests/safe/mime_checked_upload.ts",
          "sha256": "e020db518e233ac8433f5237c1744d70d6854bd802dbd232f6377d1e03c9aa77"
        },
        {
          "path": "rulepacks/common/UPLOAD-001/tests/vulnerable/unchecked_upload.ts",
          "sha256": "c2c4629e3af2db831f72d99572b49c758174bb224e4a2f4abb88ab82f12a3967"
        },
        {
          "path": "rulepacks/common/XSS-001/rule.yaml",
          "sha256": "4eafa1e0a5329f76ec075e03d6bf756570cd1643ec4b1aaff9f4ae8960073237"
        },
        {
          "path": "rulepacks/common/XSS-001/tests/safe/escaped_html.ts",
          "sha256": "199162c065905fc36a12bae5eedef52093de52b6faea7189b26c94fc4b297fd0"
        },
        {
          "path": "rulepacks/common/XSS-001/tests/safe/jquery_hash_text.js",
          "sha256": "444b7e3c66c70ffedc419ea0e8e00d765964bc62e02b6bc7bdb6810e8e31cfe4"
        },
        {
          "path": "rulepacks/common/XSS-001/tests/vulnerable/inner_html.ts",
          "sha256": "9bc3e7f70495dec60e4fae6e44c6525d1f7eed9eaab34f1b7f0c2f62ee334865"
        },
        {
          "path": "rulepacks/common/XSS-001/tests/vulnerable/jquery_hash_html.js",
          "sha256": "e90787da428b6edc0fee61dfc8bd079fcfff45bdcf54e55b2577f7aa60555a23"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/rule.yaml",
          "sha256": "ec140652bbbf75b9ac7abf0491617a7b2fedafec6b01e061afcc455fd46dfab2"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/safe/execfile_argv_export.js",
          "sha256": "c36f60fc7cb772ae724f024550104463cb7715914ff021a3a1b8f70dcd66d190"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/safe/shell-no-shell-data.js",
          "sha256": "2795e97e1692e600623f2011a4e88f7db6d5be3c31668b7f4c95cc938ac5ebdd"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/safe/spawn_argv_export.js",
          "sha256": "79a4e7b621e9f7c9e73bd2eb2904a4eef151ea45f7fe05dabffc6a8609926ee4"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/safe/spawn_shell_false_export.js",
          "sha256": "9a28aec735bb33aea479da9f8fbcdea3ea340e4fdfb5d1b8ea60d57a00db4b0a"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/vulnerable/exec_concat_comment_claiming_safety.js",
          "sha256": "7ac5b4dfbe1bc3ea61f2b256bd34b310ca2d0690aee8a1f7339d94ad27fec847"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/vulnerable/exec_concat_export.js",
          "sha256": "275d8bc62de5103c813fc75d1d03bb03a637cfcd4ff57e03681b272f50696cf2"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/vulnerable/shell-interpreter-argv.js",
          "sha256": "dba75bb9609c263b03773c8f3ace4dcb1c0702f9d380d754a986ba6e917d8dea"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/vulnerable/spawn_shell_true_export.js",
          "sha256": "2399e875e0801f760ef923db719dd4b2d51ba785e13fba5d7207191a8470f77e"
        },
        {
          "path": "rulepacks/javascript/CODE-002/rule.yaml",
          "sha256": "5fba2995a7c08491b7fce10659cff11e00d9197bf59a5d3a38f93403ca398b63"
        },
        {
          "path": "rulepacks/javascript/CODE-002/tests/safe/allowlist_table_export.js",
          "sha256": "85869a3b0814860009545f5da55fe63518b9c17b8cbf59d819beecea904fa706"
        },
        {
          "path": "rulepacks/javascript/CODE-002/tests/vulnerable/eval_export.js",
          "sha256": "ae60852aa9bc8760e4d3701940685ae52258960802d7f7826562dd28b710e310"
        },
        {
          "path": "rulepacks/javascript/PATH-002/rule.yaml",
          "sha256": "6cd1dcc2bd021b507e56eda1048e2d556a7f2d63e174a387c55654dfd32b2fc1"
        },
        {
          "path": "rulepacks/javascript/PATH-002/tests/safe/contained_read_export.js",
          "sha256": "472c240fcecb888932368d9ac76e6872fa996792833b27603edf78064d6df30b"
        },
        {
          "path": "rulepacks/javascript/PATH-002/tests/vulnerable/join_read_export.js",
          "sha256": "20507cd856657419f07cc9d57385ac0199ec4f9b0e462bb891c10ac96025c754"
        },
        {
          "path": "rulepacks/javascript/PROTO-001/rule.yaml",
          "sha256": "bf376e71fc05a878df13da0e52dad459fb0c3fd64022d8a69733f3714f6c0ee7"
        },
        {
          "path": "rulepacks/javascript/PROTO-001/tests/safe/picked_fields.js",
          "sha256": "8d915a5bcf94d0a9ce002f204cedd8debee71a799ec8b4ab3a0ab413144adf27"
        },
        {
          "path": "rulepacks/javascript/PROTO-001/tests/vulnerable/deep_merge.js",
          "sha256": "97b4a460cc326981a23344127f06023cce4c7195e91e33188fcc416376ab4db4"
        },
        {
          "path": "rulepacks/javascript/PROTO-002/rule.yaml",
          "sha256": "a33eb6189979feb4815736b9b41878181409cb6582bcbc84cf8b570a8ca6fdde"
        },
        {
          "path": "rulepacks/javascript/PROTO-002/tests/safe/unflatten_guarded_export.js",
          "sha256": "a8f82389db43a60343ee060f87e4a22fc806541bb9930b27133798a4f8ea1c1b"
        },
        {
          "path": "rulepacks/javascript/PROTO-002/tests/vulnerable/unflatten_export.js",
          "sha256": "5397ad7af5a07d9101fcaedc754d6fcefd64b14ecfe03e47886b1de7f2d03d2e"
        },
        {
          "path": "rulepacks/javascript/REDOS-001/rule.yaml",
          "sha256": "b20709f91bfe5bc2b834174a53fb2d0aa2772fd21838191273c117a662d7fbbc"
        },
        {
          "path": "rulepacks/javascript/REDOS-001/tests/safe/linear_regex.js",
          "sha256": "a9cff969079a95187fb874a9cd45fd323e27d936e16787a2cd0017b2eaa430fe"
        },
        {
          "path": "rulepacks/javascript/REDOS-001/tests/safe/redos-effective-length.js",
          "sha256": "b89100f7da1bf4dfa4174bf118757b4b16b7606a71a190dc9df4d803726aa9e0"
        },
        {
          "path": "rulepacks/javascript/REDOS-001/tests/vulnerable/nested_quantifier.js",
          "sha256": "7920ee95f0caf7a78d0cd31a99a6ba78e71d67b4f51267b91dbcfa02385ce71d"
        },
        {
          "path": "rulepacks/javascript/REDOS-001/tests/vulnerable/redos-log-only-length.js",
          "sha256": "fcf564ffc5b17680ee66e004e5b1245af26fa730c39738e6837b06a0f9c2003e"
        },
        {
          "path": "rulepacks/javascript/REDOS-001/tests/vulnerable/redos-unrelated-length.js",
          "sha256": "f15da1e79e6647d9637f8f86186eb2957ba0185b85a892c8454a99154a0fd6ef"
        },
        {
          "path": "rulepacks/javascript/REDOS-002/rule.yaml",
          "sha256": "96c5b0ca1b87ccfd62d47a5cdf0333b9aeb8af676e57db2cb1bf51071a01f128"
        },
        {
          "path": "rulepacks/javascript/REDOS-002/tests/safe/anchored_repetition.js",
          "sha256": "8fa107f69e124073c70a243d4ba8cf42e3baf6ff1a85728c4e90aaaca3f9de7c"
        },
        {
          "path": "rulepacks/javascript/REDOS-002/tests/safe/exact_count.js",
          "sha256": "85f3770d53e3c837a9893af66608801071e279a7fd40e524718b3e92f713c009"
        },
        {
          "path": "rulepacks/javascript/REDOS-002/tests/vulnerable/bounded_nesting.js",
          "sha256": "704567ef1e945b22e884a421d91cdebafc56a32057c66d64d5adf6500229fb99"
        },
        {
          "path": "rulepacks/javascript/REDOS-003/rule.yaml",
          "sha256": "1cc53d782185aed8c25f674342c6e25c26bf4fe7d28c11149cd7d4e6c00591b1"
        },
        {
          "path": "rulepacks/javascript/REDOS-003/tests/safe/string_built_linear.js",
          "sha256": "507ffc34c8b0de6fe2836dc76727272b795be938a762a27b9d8e3d5aa230c362"
        },
        {
          "path": "rulepacks/javascript/REDOS-003/tests/vulnerable/string_built_nesting.js",
          "sha256": "57c1f8d65d22e1e73219e296dc6a3261f86faa2e4564bb592e1c0f66471ad01d"
        },
        {
          "path": "rulepacks/javascript/REDOS-004/rule.yaml",
          "sha256": "4fc5fa489991681c7b6c7c8fdab2271f0e482c5bdf65cbdb1a5ed14fcc79fefa"
        },
        {
          "path": "rulepacks/javascript/REDOS-004/tests/safe/header_literal_split.js",
          "sha256": "2d05c9372eae684a32a51fa3608c62f1b3a262d62660bfa40e778a9fe8652d2e"
        },
        {
          "path": "rulepacks/javascript/REDOS-004/tests/vulnerable/header_regex_split.js",
          "sha256": "299f3862184b888dd6db84b50f1b94131b39df2189c0a7897d71fa3a01cd6498"
        },
        {
          "path": "rulepacks/javascript/XSS-002/rule.yaml",
          "sha256": "265b5dddc5503e3cfede82589a20346e7111aee234aae699bd72010284ab4819"
        },
        {
          "path": "rulepacks/javascript/XSS-002/tests/safe/html-whole-escape.js",
          "sha256": "2ba3ca2673b1e9cee7fc2b825cfc350951c5dc400fcd4530da274d47e5b1a91e"
        },
        {
          "path": "rulepacks/javascript/XSS-002/tests/safe/stored_profile_text.js",
          "sha256": "00b74d4ae94fc2c7af691afd78ca4834c85bf7cbb789d6c4bc42d86b0f1a9ee3"
        },
        {
          "path": "rulepacks/javascript/XSS-002/tests/vulnerable/html-discarded-escape.js",
          "sha256": "78e0100d92680afb5c379c10568f32a5513e66a0cf1e23b9f647c1959b41b3bf"
        },
        {
          "path": "rulepacks/javascript/XSS-002/tests/vulnerable/html-overwritten-escape.js",
          "sha256": "06b413b915b10c22e187b39f8c7ffd40ce94538df84eaf26ec0239e801bc4c6b"
        },
        {
          "path": "rulepacks/javascript/XSS-002/tests/vulnerable/html-partial-escape.js",
          "sha256": "d6b1b267de5f4630775d7f2545fea52433910233517c33d05a7748ab8cc174c7"
        },
        {
          "path": "rulepacks/javascript/XSS-002/tests/vulnerable/stored_profile_html.js",
          "sha256": "dd0e8a86c73974539e46b0acc340e7f19bd08778c7fc174de236a4df296e4673"
        },
        {
          "path": "rulepacks/python/COOKIE-001/rule.yaml",
          "sha256": "e96b7b90b587fa6d110a094a04a62e892ea7c3e568dc3348cb91152dc31b28eb"
        },
        {
          "path": "rulepacks/python/COOKIE-001/tests/safe/security_use.py",
          "sha256": "36232350c4ae6a4eabb43698a64e29a6f96681feb114e9634fb8e7f0771324c0"
        },
        {
          "path": "rulepacks/python/COOKIE-001/tests/vulnerable/security_use.py",
          "sha256": "1a2fedf4a92e6084c7f1d2d30c30b505edb987586506c809b295d652f1a7c9ec"
        },
        {
          "path": "rulepacks/python/DESER-002/rule.yaml",
          "sha256": "a77cd0730f50c608ddaa4d8446adb7b728522990b1cd772a96648113e522c731"
        },
        {
          "path": "rulepacks/python/DESER-002/tests/safe/json_body.py",
          "sha256": "b870d59e6a36b5c007f9b8db0f644589f1b35317ebf256ef820421f3f4b87c7d"
        },
        {
          "path": "rulepacks/python/DESER-002/tests/vulnerable/pickle_body.py",
          "sha256": "bc3ffd740c598790f2e1e6cd4d33e7e4fc4194606cca7c04ed9b6329d3fe803f"
        },
        {
          "path": "rulepacks/python/HASH-001/rule.yaml",
          "sha256": "e73bc710813e3432d33ebd5c3009af465ff431828a6f62023f8134284cb2952c"
        },
        {
          "path": "rulepacks/python/HASH-001/tests/safe/security_use.py",
          "sha256": "7dd2d78c7a7005038c32765fc0e57ac5763539fffafda7cdb100abca2706120f"
        },
        {
          "path": "rulepacks/python/HASH-001/tests/vulnerable/security_use.py",
          "sha256": "da09cde958525ff193c071da85ccaf90c210c4248921cdcc45b053dd1ea14ed6"
        },
        {
          "path": "rulepacks/python/LDAP-001/rule.yaml",
          "sha256": "ba5af874b16aced31442688c2696bdce5d653e06777cb8405ba4827fe81299d9"
        },
        {
          "path": "rulepacks/python/LDAP-001/tests/safe/example.py",
          "sha256": "cdeadf5cc35f95087984229e70a93acfb5fd15ff87159d78da56102c32549ef7"
        },
        {
          "path": "rulepacks/python/LDAP-001/tests/vulnerable/example.py",
          "sha256": "81ea19fcefe0229b53692e1a8813e6d6d602b964731857adf7c7827e3d62933b"
        },
        {
          "path": "rulepacks/python/PYEXEC-001/rule.yaml",
          "sha256": "e894bf53024edc28c99465d76e0ba6cf0041a365c3e47d886f8fa2d4bb9d978f"
        },
        {
          "path": "rulepacks/python/PYEXEC-001/tests/safe/example.py",
          "sha256": "b0987f8a75a6ef0f04626162629eb0ea116e4ca88fa060c2aecc34187a5cae6f"
        },
        {
          "path": "rulepacks/python/PYEXEC-001/tests/vulnerable/example.py",
          "sha256": "97db9745b502b8ac176393c11ac84203a5ef47c2250ad9c7f3e95279d91147ba"
        },
        {
          "path": "rulepacks/python/RANDOM-001/rule.yaml",
          "sha256": "cc5ef82221e457cd3735ddf1a2460f0ad1b4c0a42d8d046dc6eb8826c8a4401e"
        },
        {
          "path": "rulepacks/python/RANDOM-001/tests/safe/security_use.py",
          "sha256": "af026cd1cb696c62afd0a09b6d886ae62b7e42876da4692a60c4f115c7911ca1"
        },
        {
          "path": "rulepacks/python/RANDOM-001/tests/vulnerable/security_use.py",
          "sha256": "0a5c3b2dc3063e44f1707c8237116a3c73b6b90bff021a553aa26e239d759d36"
        },
        {
          "path": "rulepacks/python/SQLI-002/rule.yaml",
          "sha256": "8870d9e0c8e50ef1e98bdd0a5d340a993fd08bb79c99b83ab0d5d428532efd3c"
        },
        {
          "path": "rulepacks/python/SQLI-002/tests/safe/bound_parameter.py",
          "sha256": "f59ad09d5622601478728d738f82e771a04ef649bc287a6d98fb6ccbdad3c9a8"
        },
        {
          "path": "rulepacks/python/SQLI-002/tests/vulnerable/model_method.py",
          "sha256": "f5b72f7df4bb62bffccff279f4bd3861b94e3d5fb2a3b235beba67f8bb7323f0"
        },
        {
          "path": "rulepacks/python/SSTI-002/rule.yaml",
          "sha256": "9eaef2a4dd0a2a05427b38d57224363493ae4d6084de444cb972abe363b4a7e5"
        },
        {
          "path": "rulepacks/python/SSTI-002/tests/safe/render_file.py",
          "sha256": "27f43756ac0694b7f32b4a3c8354c7cc26b603a417a5edd353db62d9968203cf"
        },
        {
          "path": "rulepacks/python/SSTI-002/tests/vulnerable/render_string.py",
          "sha256": "4bd606000d080233cc84818ee75c20d451c0618e837364e0e6042334ef20ec94"
        },
        {
          "path": "rulepacks/python/TRUST-001/rule.yaml",
          "sha256": "951696eaf7ece7422b37a1fa86d5985f8d3b128d583ce50df98520a877896372"
        },
        {
          "path": "rulepacks/python/TRUST-001/tests/safe/example.py",
          "sha256": "84b4eadbd97c147afede3c94d45eefee81f6c9a285d099897547252f86601e05"
        },
        {
          "path": "rulepacks/python/TRUST-001/tests/vulnerable/example.py",
          "sha256": "e8746c4d0b1abfa238fb0986594cb89110a52f61c53fdd0bd40786fe650e7393"
        },
        {
          "path": "rulepacks/python/XPATH-001/rule.yaml",
          "sha256": "17604e33d66d6d7e378932a5979beba8bd09166a0c9bb9fe298cd448ba34d43b"
        },
        {
          "path": "rulepacks/python/XPATH-001/tests/safe/example.py",
          "sha256": "fd62cbe7fd076c640544152051bc8cb122a9039158b95a38bfa1bd17ab837f14"
        },
        {
          "path": "rulepacks/python/XPATH-001/tests/vulnerable/example.py",
          "sha256": "9519ae17a6895888d7949e8214de5e7c21ca8ae19aab6f69fffc61e213a0b5ba"
        },
        {
          "path": "rulepacks/python/XXE-001/rule.yaml",
          "sha256": "560eadedab50b15f003f19895559b947ef17958200940ab1099a351b3278bc4d"
        },
        {
          "path": "rulepacks/python/XXE-001/tests/safe/security_use.py",
          "sha256": "a72dfe53e9dc9bcd36404965ad208ec7a48dabf6a0cc0e570bdfc739873cd264"
        },
        {
          "path": "rulepacks/python/XXE-001/tests/vulnerable/security_use.py",
          "sha256": "362c78ea6b0ee92a418bfa22012f584ffc58c6b24396e79e1224db166237b48c"
        }
      ],
      "repository": [
        {
          "path": ".gitignore",
          "sha256": "38d69853203e265b600ba80e9b83b7a5ac50404a1775de02a19e66ec131d5e9c"
        },
        {
          "path": "Dockerfile.app",
          "sha256": "d330d0e0deb76a8241064bef79e9fb741a2fe30cfbb101d89040977d29ce3963"
        },
        {
          "path": "Dockerfile.db",
          "sha256": "67832a3f6ee86d14d32ccd7cef7d70d2a39c0f4d4c353968b37eda0bbfcea117"
        },
        {
          "path": "LICENSE",
          "sha256": "93cc87b96b4cff4cee85fd9248c4ebe638e14b88fe240fa80959bff6c5b9d0fb"
        },
        {
          "path": "README.rst",
          "sha256": "a012f95ac59e8cbd60dae6720990494db8324d3e1bc24f031d566c044e306a7f"
        },
        {
          "path": "config/dev.yaml",
          "sha256": "8ee05b90ecb5cd2a0fa485d706a382d7e2065d684c4a94a1eb16d82e73c21648"
        },
        {
          "path": "docker-compose.yml",
          "sha256": "c149d33d3a4fbb4103e54f93e0f522ba4e1fac016f6cb41435c1a2f219729723"
        },
        {
          "path": "migrations/000-init-schema.sql",
          "sha256": "a18797d560a97c050a9241716e018009b18a4dd128408dbe188934346982917d"
        },
        {
          "path": "migrations/001-fixtures.sql",
          "sha256": "298926227295ec9b8acb14c08d1844ad917a386bbcda48620521950c8990e939"
        },
        {
          "path": "recreate.sh",
          "sha256": "279246025bdf29bf13ab81885fd3646fb511ea0d3b99b8607e0b97536a2bead0"
        },
        {
          "path": "requirements.txt",
          "sha256": "8bc89ba777cd128b0bee274187c49ca6a92e4daecdbf475922b3fc2ff1c449fa"
        },
        {
          "path": "run.py",
          "sha256": "782c54d5a4feabd64ac5507e7d2d2c0d1b09cc96212ecb07d396dba423143cf3"
        },
        {
          "path": "sqli/__init__.py",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
        },
        {
          "path": "sqli/app.py",
          "sha256": "368b487e9d73203eee4b9d70af12aec7df60f8d92912b8973e0bc43813457dd0"
        },
        {
          "path": "sqli/dao/__init__.py",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
        },
        {
          "path": "sqli/dao/course.py",
          "sha256": "8d6e1e8664a8b1d5410028fdd1fb87266bf52dc969bd61b04a74e7b37cc38d0a"
        },
        {
          "path": "sqli/dao/mark.py",
          "sha256": "a47c53b4c76ec2e51e012596caf6bb23047896e42171e5881f91f98f48e46404"
        },
        {
          "path": "sqli/dao/review.py",
          "sha256": "03362c0fbbbc69f238e4813c58d36b876859291503ed254db9fe370c89472751"
        },
        {
          "path": "sqli/dao/student.py",
          "sha256": "1c4b75d393a853032d2577a84904e3304a6ba39642c28d594ac17539ec228607"
        },
        {
          "path": "sqli/dao/user.py",
          "sha256": "3436eb81e28235a41fbf32942b0bc0d73e80352f8cf2f4643269c94594e9f98e"
        },
        {
          "path": "sqli/middlewares.py",
          "sha256": "08a532997ce280f21fee2830c94b606deaf33338f6a735e5d445e619444cef9a"
        },
        {
          "path": "sqli/routes.py",
          "sha256": "118c8baccca3b209911645cb6cb89cfbbc3ab03165dcbadfdea1c6c92e48e61a"
        },
        {
          "path": "sqli/schema/__init__.py",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
        },
        {
          "path": "sqli/schema/config.py",
          "sha256": "42e163394aab3b70f3ca8247101f093d7d0b1a819bd15cd2d8a0d2767c1b901d"
        },
        {
          "path": "sqli/schema/forms.py",
          "sha256": "851db18b004475fee7e0759f0accc21c98cc23c22e645f9f6cbeb5c6cecd2536"
        },
        {
          "path": "sqli/services/__init__.py",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
        },
        {
          "path": "sqli/services/db.py",
          "sha256": "e60482e0d7c317dfc7901591441335b0b22081161e436c81ffc7cd2fae36e7de"
        },
        {
          "path": "sqli/services/redis.py",
          "sha256": "35529bc35f90d3b05a4d76c60a38054629ad246667ef12186a3baf1d61548d30"
        },
        {
          "path": "sqli/static/css/materialize.css",
          "sha256": "863a207aa9fcabcb0c6498c679afd43502468a49039f4aae1679ec9faa75c7cf"
        },
        {
          "path": "sqli/static/css/materialize.min.css",
          "sha256": "9a4295dc5521ebb76d962d3d6d56da632335e76e97811f76733d6e29aac4d63a"
        },
        {
          "path": "sqli/static/fonts/roboto/Roboto-Bold.woff",
          "sha256": "166fb09710c1774e70734243ae050fcf68bfb7401dfb8bbb514746bbd28304d2"
        },
        {
          "path": "sqli/static/fonts/roboto/Roboto-Bold.woff2",
          "sha256": "03b4584f80ee94497a7fc4157d534818ccad1a554536cf49167442f711bd3870"
        },
        {
          "path": "sqli/static/fonts/roboto/Roboto-Light.woff",
          "sha256": "b1ae247c0649cfddf68d47ec63e34e4c26a8f2b9d2fce9f4f1a908b9bc91a771"
        },
        {
          "path": "sqli/static/fonts/roboto/Roboto-Light.woff2",
          "sha256": "acec38d50a6f94a303ccecab62bd2814b6aa7753b15f55b053fd54a7d2fa1a4f"
        },
        {
          "path": "sqli/static/fonts/roboto/Roboto-Medium.woff",
          "sha256": "adc00a50646f1c1d13a5e8fda923a27764ab675380ec4ffb0932942ade2c209a"
        },
        {
          "path": "sqli/static/fonts/roboto/Roboto-Medium.woff2",
          "sha256": "c013c361fcb111a48c09d8b748a866e5871e992754fa4e927f2c92f4e5d2a850"
        },
        {
          "path": "sqli/static/fonts/roboto/Roboto-Regular.woff",
          "sha256": "14a2b59cbc2e03f9325d4af6681ab0781d71048a586ae90236a4a8c013c63b45"
        },
        {
          "path": "sqli/static/fonts/roboto/Roboto-Regular.woff2",
          "sha256": "02a7cd67c545041654af047f04ce327f2df086386eab421adc16269010c50365"
        },
        {
          "path": "sqli/static/fonts/roboto/Roboto-Thin.woff",
          "sha256": "33e42b84471d63e1c58993d387e1946e57fb6b8ff8f25c97bfa73dc7e600f083"
        },
        {
          "path": "sqli/static/fonts/roboto/Roboto-Thin.woff2",
          "sha256": "f72697a71fca2e477282ced1ccf5a95803aabde0ab649a00bd1bf6efb516da76"
        },
        {
          "path": "sqli/static/js/init.js",
          "sha256": "d1a1a262887510793e0e40ba9d86d215a794ae39c9a4d358740c21ad5beec8ac"
        },
        {
          "path": "sqli/static/js/jquery-3.2.1.min.js",
          "sha256": "87083882cc6015984eb0411a99d3981817f5dc5c90ba24f0940420c5548d82de"
        },
        {
          "path": "sqli/static/js/materialize.js",
          "sha256": "df3213559b738162eb4921a44a3ea4ee0cb2c1acf00ce440f2c0326466541381"
        },
        {
          "path": "sqli/static/js/materialize.min.js",
          "sha256": "de6aa04d48473607d7823af38cf39a5b4dc3750f61816f76040a732d11284680"
        },
        {
          "path": "sqli/templates/base.jinja2",
          "sha256": "5dfd2e0cdfadfb44303cc03a4e3bb2b66802e1597d248451ec5aeeb31e4df8e9"
        },
        {
          "path": "sqli/templates/course.jinja2",
          "sha256": "8f8346a73d47cb0f5610832fcb920a4dd3b54e7787aeab708ba74bda5821631c"
        },
        {
          "path": "sqli/templates/courses.jinja2",
          "sha256": "0c11dd55279e9d3d7d301061af0e808baf3d50c9a587dc3fff2bfb613a6583b6"
        },
        {
          "path": "sqli/templates/errors/40x.jinja2",
          "sha256": "c2116f48325bbc43fb021c77760d1b91b297994d737d08a3cdfc3e17878e83c8"
        },
        {
          "path": "sqli/templates/errors/50x.jinja2",
          "sha256": "8ce7d5fb02cbb8a5cb056e783acdd0bea6bfcd2a33e670e6e1918905bf2e64e1"
        },
        {
          "path": "sqli/templates/evaluate.jinja2",
          "sha256": "d9c73f73ec620eccd4932f2d96c552c39f32ce7125118f1dc7fe00d2cec21f76"
        },
        {
          "path": "sqli/templates/index.jinja2",
          "sha256": "aade362f1a94bb6cfe8399d22f15ef96a6ea106f8ca25d64ac0bc5b8a795f38e"
        },
        {
          "path": "sqli/templates/review.jinja2",
          "sha256": "22ead38d254909105b6c50bdda1d7eb5cf68f3134cc67d6cc2c2630b6c3d9818"
        },
        {
          "path": "sqli/templates/student.jinja2",
          "sha256": "d143693c3766fd651a7d2bb1cab37ccfa370641c3ea4bf344ae0f2391fc4c1bd"
        },
        {
          "path": "sqli/templates/students.jinja2",
          "sha256": "f4282e49f4a5a60785510cbb22472afa821d2ad2010a178700c008159ff825df"
        },
        {
          "path": "sqli/utils/__init__.py",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
        },
        {
          "path": "sqli/utils/auth.py",
          "sha256": "7c35924d099a500c1b8bae4e465e55aaf1f65ce5c917340ecf4f58ab02d22910"
        },
        {
          "path": "sqli/utils/jinja2.py",
          "sha256": "b0c6ad9c19e3d808f3188df6cc5cd46876e3c62c1c91a4c5553e4ab9a45ce223"
        },
        {
          "path": "sqli/views.py",
          "sha256": "61f64f35b84b92ace3c9f6bfe50dc111d877618fd7a33db9630ef888f7f994f3"
        }
      ],
      "policy": "All repository Python/JavaScript/TypeScript files scored independently before label adjudication. Other text files receive native secret scanning but unsupported SAST status. No suite code execution, helper resolution, model, external secret tool or repair generation. Case credit requires exact CWE and finding start line within the adjudicated function range. File failures remain failures. Selection is one intentionally vulnerable Django training repository, not a representative customer sample. No detector tuning after freeze."
    },
    "protocolSha256": "1cfca63572e46585f10e123f2ee3383421dce4a00a877d42a4dd2b667a4cb5a4",
    "predictionSha256": "af7fb712ecf9d30ca38ef745e2eda614a36ce7ca5738321ed170b87155f54bd7",
    "predictions": [
      {
        "path": ".gitignore",
        "sha256": "38d69853203e265b600ba80e9b83b7a5ac50404a1775de02a19e66ec131d5e9c",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "Dockerfile.app",
        "sha256": "d330d0e0deb76a8241064bef79e9fb741a2fe30cfbb101d89040977d29ce3963",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "Dockerfile.db",
        "sha256": "67832a3f6ee86d14d32ccd7cef7d70d2a39c0f4d4c353968b37eda0bbfcea117",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "LICENSE",
        "sha256": "93cc87b96b4cff4cee85fd9248c4ebe638e14b88fe240fa80959bff6c5b9d0fb",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "README.rst",
        "sha256": "a012f95ac59e8cbd60dae6720990494db8324d3e1bc24f031d566c044e306a7f",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "config/dev.yaml",
        "sha256": "8ee05b90ecb5cd2a0fa485d706a382d7e2065d684c4a94a1eb16d82e73c21648",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "docker-compose.yml",
        "sha256": "c149d33d3a4fbb4103e54f93e0f522ba4e1fac016f6cb41435c1a2f219729723",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "migrations/000-init-schema.sql",
        "sha256": "a18797d560a97c050a9241716e018009b18a4dd128408dbe188934346982917d",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "migrations/001-fixtures.sql",
        "sha256": "298926227295ec9b8acb14c08d1844ad917a386bbcda48620521950c8990e939",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "recreate.sh",
        "sha256": "279246025bdf29bf13ab81885fd3646fb511ea0d3b99b8607e0b97536a2bead0",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "requirements.txt",
        "sha256": "8bc89ba777cd128b0bee274187c49ca6a92e4daecdbf475922b3fc2ff1c449fa",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "run.py",
        "sha256": "782c54d5a4feabd64ac5507e7d2d2c0d1b09cc96212ecb07d396dba423143cf3",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/__init__.py",
        "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/app.py",
        "sha256": "368b487e9d73203eee4b9d70af12aec7df60f8d92912b8973e0bc43813457dd0",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/dao/__init__.py",
        "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/dao/course.py",
        "sha256": "8d6e1e8664a8b1d5410028fdd1fb87266bf52dc969bd61b04a74e7b37cc38d0a",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/dao/mark.py",
        "sha256": "a47c53b4c76ec2e51e012596caf6bb23047896e42171e5881f91f98f48e46404",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/dao/review.py",
        "sha256": "03362c0fbbbc69f238e4813c58d36b876859291503ed254db9fe370c89472751",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/dao/student.py",
        "sha256": "1c4b75d393a853032d2577a84904e3304a6ba39642c28d594ac17539ec228607",
        "status": "scored",
        "findings": [
          {
            "line": 45,
            "cwes": [
              "CWE-89"
            ],
            "rule": "SQLI-002"
          }
        ],
        "secretLines": []
      },
      {
        "path": "sqli/dao/user.py",
        "sha256": "3436eb81e28235a41fbf32942b0bc0d73e80352f8cf2f4643269c94594e9f98e",
        "status": "scored",
        "findings": [
          {
            "line": 41,
            "cwes": [
              "CWE-328"
            ],
            "rule": "HASH-001"
          }
        ],
        "secretLines": []
      },
      {
        "path": "sqli/middlewares.py",
        "sha256": "08a532997ce280f21fee2830c94b606deaf33338f6a735e5d445e619444cef9a",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/routes.py",
        "sha256": "118c8baccca3b209911645cb6cb89cfbbc3ab03165dcbadfdea1c6c92e48e61a",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/schema/__init__.py",
        "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/schema/config.py",
        "sha256": "42e163394aab3b70f3ca8247101f093d7d0b1a819bd15cd2d8a0d2767c1b901d",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/schema/forms.py",
        "sha256": "851db18b004475fee7e0759f0accc21c98cc23c22e645f9f6cbeb5c6cecd2536",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/services/__init__.py",
        "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/services/db.py",
        "sha256": "e60482e0d7c317dfc7901591441335b0b22081161e436c81ffc7cd2fae36e7de",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/services/redis.py",
        "sha256": "35529bc35f90d3b05a4d76c60a38054629ad246667ef12186a3baf1d61548d30",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/static/css/materialize.css",
        "sha256": "863a207aa9fcabcb0c6498c679afd43502468a49039f4aae1679ec9faa75c7cf",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/static/css/materialize.min.css",
        "sha256": "9a4295dc5521ebb76d962d3d6d56da632335e76e97811f76733d6e29aac4d63a",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/static/js/init.js",
        "sha256": "d1a1a262887510793e0e40ba9d86d215a794ae39c9a4d358740c21ad5beec8ac",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/static/js/jquery-3.2.1.min.js",
        "sha256": "87083882cc6015984eb0411a99d3981817f5dc5c90ba24f0940420c5548d82de",
        "status": "scored",
        "findings": [
          {
            "line": 2,
            "cwes": [
              "CWE-79"
            ],
            "rule": "XSS-001"
          },
          {
            "line": 3,
            "cwes": [
              "CWE-1333"
            ],
            "rule": "REDOS-003"
          }
        ],
        "secretLines": []
      },
      {
        "path": "sqli/static/js/materialize.js",
        "sha256": "df3213559b738162eb4921a44a3ea4ee0cb2c1acf00ce440f2c0326466541381",
        "status": "scored",
        "findings": [
          {
            "line": 145,
            "cwes": [
              "CWE-1333"
            ],
            "rule": "REDOS-001"
          },
          {
            "line": 208,
            "cwes": [
              "CWE-1321"
            ],
            "rule": "PROTO-002"
          }
        ],
        "secretLines": []
      },
      {
        "path": "sqli/static/js/materialize.min.js",
        "sha256": "de6aa04d48473607d7823af38cf39a5b4dc3750f61816f76040a732d11284680",
        "status": "scored",
        "findings": [
          {
            "line": 6,
            "cwes": [
              "CWE-1333"
            ],
            "rule": "REDOS-001"
          },
          {
            "line": 6,
            "cwes": [
              "CWE-1333"
            ],
            "rule": "REDOS-003"
          }
        ],
        "secretLines": []
      },
      {
        "path": "sqli/templates/base.jinja2",
        "sha256": "5dfd2e0cdfadfb44303cc03a4e3bb2b66802e1597d248451ec5aeeb31e4df8e9",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/templates/course.jinja2",
        "sha256": "8f8346a73d47cb0f5610832fcb920a4dd3b54e7787aeab708ba74bda5821631c",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/templates/courses.jinja2",
        "sha256": "0c11dd55279e9d3d7d301061af0e808baf3d50c9a587dc3fff2bfb613a6583b6",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/templates/errors/40x.jinja2",
        "sha256": "c2116f48325bbc43fb021c77760d1b91b297994d737d08a3cdfc3e17878e83c8",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/templates/errors/50x.jinja2",
        "sha256": "8ce7d5fb02cbb8a5cb056e783acdd0bea6bfcd2a33e670e6e1918905bf2e64e1",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/templates/evaluate.jinja2",
        "sha256": "d9c73f73ec620eccd4932f2d96c552c39f32ce7125118f1dc7fe00d2cec21f76",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/templates/index.jinja2",
        "sha256": "aade362f1a94bb6cfe8399d22f15ef96a6ea106f8ca25d64ac0bc5b8a795f38e",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/templates/review.jinja2",
        "sha256": "22ead38d254909105b6c50bdda1d7eb5cf68f3134cc67d6cc2c2630b6c3d9818",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/templates/student.jinja2",
        "sha256": "d143693c3766fd651a7d2bb1cab37ccfa370641c3ea4bf344ae0f2391fc4c1bd",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/templates/students.jinja2",
        "sha256": "f4282e49f4a5a60785510cbb22472afa821d2ad2010a178700c008159ff825df",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/utils/__init__.py",
        "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/utils/auth.py",
        "sha256": "7c35924d099a500c1b8bae4e465e55aaf1f65ce5c917340ecf4f58ab02d22910",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/utils/jinja2.py",
        "sha256": "b0c6ad9c19e3d808f3188df6cc5cd46876e3c62c1c91a4c5553e4ab9a45ce223",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "sqli/views.py",
        "sha256": "61f64f35b84b92ace3c9f6bfe50dc111d877618fd7a33db9630ef888f7f994f3",
        "status": "scored",
        "findings": [],
        "secretLines": []
      }
    ],
    "labelSha256": "ed84ce42be5c2c76bb74037fd56bb03c495ec638c5e0d633bceefd66e120c511",
    "limitations": "No detector tuning. This public training repository was newly selected during this task; prior maintainer familiarity and model-training contamination are unknown. Labels are agent-adjudicated from source, not an independent audit. Exact sink matching does not establish that the scanner reconstructs caller chains. Function/CWE labels are a purposive subset, not full-repository correctness."
  },
  "developmentRerun": {
    "id": "pygoat",
    "title": "PyGoat adapter-correction rerun",
    "evaluation": "adapter_correction_after_labels",
    "repository": "https://github.com/adeyosemanputra/pygoat",
    "revision": "19d17cc8874861142b330636d068bbde54e86b85",
    "license": "MIT",
    "labelsAdjudicatedAt": "2026-10-22T01:07:55.732108+00:00",
    "predictionOutcomesViewedBeforeLabels": false,
    "caseSelection": "Purposive code inspection after frozen whole-repository prediction, before opening prediction outcomes. Labels are Cefense coding-agent adjudication, not upstream truth or independent human review. Functions are scored only for the specified CWE. No source is copied or modified.",
    "totals": {
      "tp": 5,
      "fn": 5,
      "fp": 0,
      "tn": 4,
      "failed": 0,
      "unsupported": 0,
      "cases": 14,
      "scored": 14
    },
    "crossFile": {
      "tp": 0,
      "fn": 3,
      "fp": 0,
      "tn": 2,
      "failed": 0,
      "unsupported": 0,
      "cases": 5,
      "scored": 5
    },
    "secretTotals": {
      "tp": 0,
      "fn": 1,
      "fp": 0,
      "tn": 2,
      "failed": 0,
      "unsupported": 0,
      "cases": 3,
      "scored": 3
    },
    "cases": [
      {
        "id": "pygoat-01",
        "path": "introduction/views.py",
        "startLine": 147,
        "endLine": 189,
        "cwe": "CWE-89",
        "vulnerable": true,
        "crossFile": false,
        "rationale": "POST name and password are concatenated into SQL passed to objects.raw.",
        "source": "https://github.com/adeyosemanputra/pygoat/blob/19d17cc8874861142b330636d068bbde54e86b85/introduction/views.py#L147",
        "status": "scored",
        "detected": true,
        "outcome": "tp"
      },
      {
        "id": "pygoat-02",
        "path": "introduction/views.py",
        "startLine": 855,
        "endLine": 904,
        "cwe": "CWE-89",
        "vulnerable": true,
        "crossFile": false,
        "rationale": "POST fields are concatenated into SQL passed to objects.raw.",
        "source": "https://github.com/adeyosemanputra/pygoat/blob/19d17cc8874861142b330636d068bbde54e86b85/introduction/views.py#L855",
        "status": "scored",
        "detected": false,
        "outcome": "fn"
      },
      {
        "id": "pygoat-03",
        "path": "introduction/views.py",
        "startLine": 415,
        "endLine": 450,
        "cwe": "CWE-78",
        "vulnerable": true,
        "crossFile": false,
        "rationale": "Protocol removal does not quote shell metacharacters before shell=True.",
        "source": "https://github.com/adeyosemanputra/pygoat/blob/19d17cc8874861142b330636d068bbde54e86b85/introduction/views.py#L415",
        "status": "scored",
        "detected": true,
        "outcome": "tp"
      },
      {
        "id": "pygoat-04",
        "path": "introduction/views.py",
        "startLine": 453,
        "endLine": 469,
        "cwe": "CWE-95",
        "vulnerable": true,
        "crossFile": false,
        "rationale": "POST val reaches eval without an allowlist.",
        "source": "https://github.com/adeyosemanputra/pygoat/blob/19d17cc8874861142b330636d068bbde54e86b85/introduction/views.py#L453",
        "status": "scored",
        "detected": true,
        "outcome": "tp"
      },
      {
        "id": "pygoat-05",
        "path": "introduction/views.py",
        "startLine": 205,
        "endLine": 221,
        "cwe": "CWE-502",
        "vulnerable": true,
        "crossFile": false,
        "rationale": "A request cookie is base64 decoded and passed to pickle.loads.",
        "source": "https://github.com/adeyosemanputra/pygoat/blob/19d17cc8874861142b330636d068bbde54e86b85/introduction/views.py#L205",
        "status": "scored",
        "detected": true,
        "outcome": "tp"
      },
      {
        "id": "pygoat-06",
        "path": "introduction/views.py",
        "startLine": 918,
        "endLine": 933,
        "cwe": "CWE-22",
        "vulnerable": true,
        "crossFile": false,
        "rationale": "POST blog is joined to a directory then opened without traversal confinement.",
        "source": "https://github.com/adeyosemanputra/pygoat/blob/19d17cc8874861142b330636d068bbde54e86b85/introduction/views.py#L918",
        "status": "scored",
        "detected": true,
        "outcome": "tp"
      },
      {
        "id": "pygoat-07",
        "path": "introduction/views.py",
        "startLine": 956,
        "endLine": 966,
        "cwe": "CWE-918",
        "vulnerable": true,
        "crossFile": false,
        "rationale": "POST url reaches requests.get without destination policy.",
        "source": "https://github.com/adeyosemanputra/pygoat/blob/19d17cc8874861142b330636d068bbde54e86b85/introduction/views.py#L956",
        "status": "scored",
        "detected": false,
        "outcome": "fn"
      },
      {
        "id": "pygoat-08",
        "path": "introduction/views.py",
        "startLine": 975,
        "endLine": 1000,
        "cwe": "CWE-1336",
        "vulnerable": true,
        "crossFile": true,
        "rationale": "Imported introduction/utility.py filter_blog returns input unchanged; attacker template text is written to a template rendered by ssti_view_blog.",
        "source": "https://github.com/adeyosemanputra/pygoat/blob/19d17cc8874861142b330636d068bbde54e86b85/introduction/views.py#L975",
        "status": "scored",
        "detected": false,
        "outcome": "fn"
      },
      {
        "id": "pygoat-09",
        "path": "introduction/views.py",
        "startLine": 93,
        "endLine": 103,
        "cwe": "CWE-79",
        "vulnerable": true,
        "crossFile": true,
        "rationale": "GET q is rendered as query with safe in introduction/templates/Lab/XSS/xss_lab.html:27.",
        "source": "https://github.com/adeyosemanputra/pygoat/blob/19d17cc8874861142b330636d068bbde54e86b85/introduction/views.py#L93",
        "status": "scored",
        "detected": false,
        "outcome": "fn"
      },
      {
        "id": "pygoat-10",
        "path": "introduction/views.py",
        "startLine": 106,
        "endLine": 120,
        "cwe": "CWE-79",
        "vulnerable": true,
        "crossFile": true,
        "rationale": "Removing script tags leaves HTML event handlers; username is marked safe in introduction/templates/Lab/XSS/xss_lab_2.html:20.",
        "source": "https://github.com/adeyosemanputra/pygoat/blob/19d17cc8874861142b330636d068bbde54e86b85/introduction/views.py#L106",
        "status": "scored",
        "detected": false,
        "outcome": "fn"
      },
      {
        "id": "pygoat-11",
        "path": "introduction/views.py",
        "startLine": 299,
        "endLine": 325,
        "cwe": "CWE-89",
        "vulnerable": false,
        "crossFile": false,
        "rationale": "Django filter binds username and password as ORM values. Label is only SQL injection safety, not authentication quality.",
        "source": "https://github.com/adeyosemanputra/pygoat/blob/19d17cc8874861142b330636d068bbde54e86b85/introduction/views.py#L299",
        "status": "scored",
        "detected": false,
        "outcome": "tn"
      },
      {
        "id": "pygoat-12",
        "path": "introduction/views.py",
        "startLine": 342,
        "endLine": 381,
        "cwe": "CWE-89",
        "vulnerable": false,
        "crossFile": false,
        "rationale": "Django filter uses bound ORM values. Other access-control defects are outside this case.",
        "source": "https://github.com/adeyosemanputra/pygoat/blob/19d17cc8874861142b330636d068bbde54e86b85/introduction/views.py#L342",
        "status": "scored",
        "detected": false,
        "outcome": "tn"
      },
      {
        "id": "pygoat-13",
        "path": "challenge/views.py",
        "startLine": 27,
        "endLine": 64,
        "cwe": "CWE-78",
        "vulnerable": false,
        "crossFile": true,
        "rationale": "get_free_port in challenge/utility.py returns an integer from range; subprocess gets split argv with shell=False. Label concerns shell injection only.",
        "source": "https://github.com/adeyosemanputra/pygoat/blob/19d17cc8874861142b330636d068bbde54e86b85/challenge/views.py#L27",
        "status": "scored",
        "detected": false,
        "outcome": "tn"
      },
      {
        "id": "pygoat-14",
        "path": "introduction/playground/A6/utility.py",
        "startLine": 4,
        "endLine": 15,
        "cwe": "CWE-918",
        "vulnerable": false,
        "crossFile": true,
        "rationale": "Caller introduction/apis.py Dependency_lab supplies module versions; requests URL host is fixed to pypi.org, input occurs only in URL path.",
        "source": "https://github.com/adeyosemanputra/pygoat/blob/19d17cc8874861142b330636d068bbde54e86b85/introduction/playground/A6/utility.py#L4",
        "status": "scored",
        "detected": false,
        "outcome": "tn"
      }
    ],
    "secretCases": [
      {
        "id": "form-fields",
        "path": "introduction/forms.py",
        "startLine": 1,
        "endLine": 20,
        "vulnerable": false,
        "rationale": "Password field names are schema declarations, not credential literals.",
        "detected": false,
        "outcome": "tn"
      },
      {
        "id": "model-fields",
        "path": "introduction/models.py",
        "startLine": 1,
        "endLine": 400,
        "vulnerable": false,
        "rationale": "Model password fields describe storage, not committed literal credential values.",
        "detected": false,
        "outcome": "tn"
      },
      {
        "id": "settings-key",
        "path": "pygoat/settings.py",
        "startLine": 25,
        "endLine": 25,
        "vulnerable": true,
        "rationale": "Hardcoded Django SECRET_KEY is a signing credential even in this intentionally insecure training app.",
        "detected": false,
        "outcome": "fn"
      }
    ],
    "files": {
      "totalText": 267,
      "scored": 85,
      "unsupported": 182,
      "failed": 0,
      "binaryExcluded": 9
    },
    "durationMs": 447,
    "runtime": {
      "bun": "1.3.11",
      "platform": "darwin",
      "arch": "arm64"
    },
    "paidModelCalls": 0,
    "modelCostUsd": 0,
    "protocol": {
      "frozenAt": "2026-10-22T01:08:40.221Z",
      "scannerRevision": "a77eb589877e74046bc3334b82ac4ee605bf4f4f",
      "repositoryRevision": "19d17cc8874861142b330636d068bbde54e86b85",
      "source": [
        {
          "path": "apps/scan-cli/src/analysis-cache.ts",
          "sha256": "d0baba6157b77cf5cba8f8f6ac59d7929442ca9f144081b3622af80fac1f147f"
        },
        {
          "path": "apps/scan-cli/src/analysisCoverage.ts",
          "sha256": "e3e0ba94e08f15d16db22214b3169798241d27ace83e9c2b3339ac2fde0f8ae4"
        },
        {
          "path": "apps/scan-cli/src/appmodel.ts",
          "sha256": "11cb10ad4dc07e45360addf350638c231942a34c8a94cb56dffd687d40658f9c"
        },
        {
          "path": "apps/scan-cli/src/batching.ts",
          "sha256": "70bb6ae15948ac1bd35c6534b885783cc14eb5bdc91fa4d99cb055bbe1e9b7b3"
        },
        {
          "path": "apps/scan-cli/src/bench.ts",
          "sha256": "ab27ed544a3cab9d34bad1525bf3667c6604a7bd8ff32f2ab1c81211f2686162"
        },
        {
          "path": "apps/scan-cli/src/benchmark-scorecard.ts",
          "sha256": "025b9f1a2fa845985d9fafbb6e84e6a39557eb73eba6064fcc2486b9a45979ee"
        },
        {
          "path": "apps/scan-cli/src/cassette.ts",
          "sha256": "a811a8a9037156049094648cddb02ea0fd28938e4d5d7f9ba7a5d520d8ddb1c2"
        },
        {
          "path": "apps/scan-cli/src/context.ts",
          "sha256": "26e02925eb5f20405171950bb35d20aaf71aa67eade8482ea70e4c89ced0ac1e"
        },
        {
          "path": "apps/scan-cli/src/coverage.ts",
          "sha256": "10c0366ba24dfeb8792f4e1b817293186c6f1b6471cc4d01b2dc4096abc9e910"
        },
        {
          "path": "apps/scan-cli/src/coverageReport.ts",
          "sha256": "e8eed15e9df0baefcd94ace34fcf0e63119e87ac4bea3595c2a279a060687a19"
        },
        {
          "path": "apps/scan-cli/src/deepdive.ts",
          "sha256": "49c5913019358f87477bc93cab3daaa391beb8ebc307b55637d8f1c9234d8de9"
        },
        {
          "path": "apps/scan-cli/src/deepseek.ts",
          "sha256": "b922cbf013b81ed1c3d682ce6e67868a3526034efd011ca6eb78dfc7e1ad8543"
        },
        {
          "path": "apps/scan-cli/src/defences.ts",
          "sha256": "fb11f03b658d149a5e74bd8a18c74f27dc74aa24152d301703a1126c5723478f"
        },
        {
          "path": "apps/scan-cli/src/depGraph.ts",
          "sha256": "b2e354315743883ed58cdcb22b3e242267e27ad3745ae11903f5d93c278be1f0"
        },
        {
          "path": "apps/scan-cli/src/dependency-observations.ts",
          "sha256": "d8c14d1d944f1870602d35ec2d2e5b297e161423a0ed242256c60927b922f02a"
        },
        {
          "path": "apps/scan-cli/src/depth.ts",
          "sha256": "3d3a5bbcfae2360b1b8045c5bf997523ce289835d17cef5752732bb895fb6405"
        },
        {
          "path": "apps/scan-cli/src/envNames.ts",
          "sha256": "97071edd26823ab361d481785c04066eedabe6a5866c425562f089b4c7cc2c69"
        },
        {
          "path": "apps/scan-cli/src/finding-response.ts",
          "sha256": "645faff3e3e6f9bd1d7bb7a7f93dab6bdb3f28787f08a6b97670193b5af1dc4a"
        },
        {
          "path": "apps/scan-cli/src/fingerprint.ts",
          "sha256": "058ef82e52a20e2207d5c356bf8780a4bb8c02e88873be4bc079539c77225306"
        },
        {
          "path": "apps/scan-cli/src/gates.ts",
          "sha256": "cc1f057e50be79d3fd397994dfc1df202812f05cf117b0145716c9c86d02e377"
        },
        {
          "path": "apps/scan-cli/src/gitleaks.ts",
          "sha256": "3b45e13abb74de4f204acb29c82b3c8a3c6628373fe91c590bd4ea377f9bec38"
        },
        {
          "path": "apps/scan-cli/src/helpers.ts",
          "sha256": "ae9c19d7ff10118b3089d4709a04f0cc749083dfe23d3e0c865b692ac32cc4b6"
        },
        {
          "path": "apps/scan-cli/src/iac.ts",
          "sha256": "78011b64b0c4da54861405f19b9e33fe9f5b42f5c2108330c9fe46f17fd033ed"
        },
        {
          "path": "apps/scan-cli/src/image.ts",
          "sha256": "a7aa4b3605587ec02c07116058a720c7b894b34b000598010f67061bbc9e2e22"
        },
        {
          "path": "apps/scan-cli/src/imports.ts",
          "sha256": "37e654e1643d66d1b4b3dd08a71f029c85221f24bc1857a52f4c289e536de42a"
        },
        {
          "path": "apps/scan-cli/src/independent-benchmark.ts",
          "sha256": "879e9770d53240ba9b59bb4928256f2d27bddbcfc5fa9ff048b8372477c137d4"
        },
        {
          "path": "apps/scan-cli/src/index.ts",
          "sha256": "28244b9a65713e5d5f4e5a5581de5302372e1a5436870f1543dc5936805fd632"
        },
        {
          "path": "apps/scan-cli/src/intelligence.ts",
          "sha256": "93bfb294b41bdf1616533ac6445c271430497e0def81e6443ef723c6a35efc90"
        },
        {
          "path": "apps/scan-cli/src/kernel.ts",
          "sha256": "18f2d1eeeeacc4b528e343c91cae0b08bc6e252427e886af5470730d8774d4f0"
        },
        {
          "path": "apps/scan-cli/src/logger.ts",
          "sha256": "3d53733daa48af057f2709b29af2d0e506af3f62764ea64cd1b5758be0ba8582"
        },
        {
          "path": "apps/scan-cli/src/manifests.ts",
          "sha256": "bb1672c1bd3c1d399c16878572874efbe5e648e33b88e61455ba98b574d04af7"
        },
        {
          "path": "apps/scan-cli/src/mapFinding.ts",
          "sha256": "be3ec1f53d70c7f6021ad695ffc37363e46d2dd34b047c14ade59dce2401459a"
        },
        {
          "path": "apps/scan-cli/src/noise.ts",
          "sha256": "5d30d0453a93bd04a4bc10be6692d8a9813677dee35c7c3ba7af12ee7fb16bfa"
        },
        {
          "path": "apps/scan-cli/src/oci.ts",
          "sha256": "c5600f5dbeb7e786ebcf0a75cf1d24c35314af3fcdcdc681feac7ad1154f7277"
        },
        {
          "path": "apps/scan-cli/src/openapi.ts",
          "sha256": "6223b8611795454a8f0f52ec1f7bb577f19b144d41cb19dd226dc6c7168328c9"
        },
        {
          "path": "apps/scan-cli/src/osdb.ts",
          "sha256": "cd464bb11b5953068934c17cde3f10bedaeaaed03fdf6d85cf267a2df0145e6b"
        },
        {
          "path": "apps/scan-cli/src/prefilter.ts",
          "sha256": "53571e87886dbc160b0d64cac8a485c84d539c34e2a67bc07262350c2b83176f"
        },
        {
          "path": "apps/scan-cli/src/prompts.ts",
          "sha256": "779e2bf648450965965cb690bca7cdf64dd584dfc1e2a6b29e56bd1b95e4eb01"
        },
        {
          "path": "apps/scan-cli/src/pullRequest.ts",
          "sha256": "2fbfa5525a0a9e9e0f9f35348429f397cc37bf22a897f779ea83e31a3d7c31bd"
        },
        {
          "path": "apps/scan-cli/src/python-config.ts",
          "sha256": "cbd69945e59780938e88bbd3ba594696ad7c4fcfe00550e4a07102bd685e4065"
        },
        {
          "path": "apps/scan-cli/src/python-flow.ts",
          "sha256": "e706085a42a71f4d4a83f8b5078f197887d35d3679bfa5029187502e79952699"
        },
        {
          "path": "apps/scan-cli/src/quality.ts",
          "sha256": "7b69ff447ff7d673420eb84fc13c19b8b3a779f18bc01feb3c5c44166bcce40e"
        },
        {
          "path": "apps/scan-cli/src/reachGraph.ts",
          "sha256": "099e451f8b1cf41d631d2831dba4629e4bc7ea0c31ce6b1291571e4f602dbd04"
        },
        {
          "path": "apps/scan-cli/src/reachability.ts",
          "sha256": "fa01a82a0bca1a3ba67faca4f6fdc209fc0b81f099b59f70ead33dc6a1d5c24a"
        },
        {
          "path": "apps/scan-cli/src/recovery.ts",
          "sha256": "c51f097dc8f7dfa1f0576c9c66fc459acb615122ad9e9d78b7ecad124b6c7e98"
        },
        {
          "path": "apps/scan-cli/src/relatedSpans.ts",
          "sha256": "b455844c8a2dd2c8a91e56a291920ed34c7a3fb003c6cb285a82f2c5a92aaf2e"
        },
        {
          "path": "apps/scan-cli/src/repoSecrets.ts",
          "sha256": "071dd5a1b259aa2cbf7adcd32b5a6010c69a8601711ae5a3f74117df35611d0f"
        },
        {
          "path": "apps/scan-cli/src/reporter.ts",
          "sha256": "7c1ee9071898d0c47eb79c6542c7bd677933eda9f159f0dea9fcdcafc28bcbd6"
        },
        {
          "path": "apps/scan-cli/src/repository-benchmark.ts",
          "sha256": "5ce88982c3eefdf7b3ed59ea1dbb41ae22fe4b3ab1ebe85859752f45252d6c7e"
        },
        {
          "path": "apps/scan-cli/src/rule-defenses.ts",
          "sha256": "02e15e50eeefe594378f0cf7e9925d651df06561e64fe06365c7bcfdb3dcf1a1"
        },
        {
          "path": "apps/scan-cli/src/rules.ts",
          "sha256": "ff75d156666d75359a1e581a10fa75f51983016e08236f2eb748f8c6c220aee0"
        },
        {
          "path": "apps/scan-cli/src/sbom.ts",
          "sha256": "2f76a139d11e49b67a826603881cbf81ffc4474bc4bd9fde6506e0c558c8f0d9"
        },
        {
          "path": "apps/scan-cli/src/scan.ts",
          "sha256": "08bb268416d4ecd05ccf874844decaebd25fbc7f6b341e314cb5fb74c2df056b"
        },
        {
          "path": "apps/scan-cli/src/scanVersions.ts",
          "sha256": "5e3991039c32835b23767c90aafaa33ab15a6e61f7e01a9b0d3ab5683c602653"
        },
        {
          "path": "apps/scan-cli/src/search.ts",
          "sha256": "f9db1c3b5fe9900a6e4f4335d53ada9083e2ae932ebcee853b56f527ba95f219"
        },
        {
          "path": "apps/scan-cli/src/silence.ts",
          "sha256": "8c65ac7f0df90c9c15394ac6de861f86ce3d89a2930a8ebe7445d63eaa5e2787"
        },
        {
          "path": "apps/scan-cli/src/spread.ts",
          "sha256": "2d80502b0d1b0d453aa0e2da7513fefdf75755a37d5af1e3cf6a5cb08b12d9d0"
        },
        {
          "path": "apps/scan-cli/src/stability.ts",
          "sha256": "61012aae5957361f46a8f15413ea429e7350fefabce4e9e0e6fa972278cc34e7"
        },
        {
          "path": "apps/scan-cli/src/stop.ts",
          "sha256": "d35e4491a63e6792342b8b5deea342a2b4bbe22975aeb6f26c51537e2275fd6f"
        },
        {
          "path": "apps/scan-cli/src/sweep.ts",
          "sha256": "356678c7373530b517e05ab46e58d09df0eb7484a8bcca6f2b7b50a5753abc2b"
        },
        {
          "path": "apps/scan-cli/src/tar.ts",
          "sha256": "2c80b52c78e9c75185ed90b3cd4f4a6bca969fe0d1c736f15f8b72e47773e6f6"
        },
        {
          "path": "apps/scan-cli/src/tools.ts",
          "sha256": "cf9de13aa44e1550fdeedfba7e25ac7ccf36b289825a8eaf3f1928cf8b5df3d8"
        },
        {
          "path": "apps/scan-cli/src/trivy.ts",
          "sha256": "150153c1b23996bc0f8a32301c65d0bff0be1fa2fae6cb7eb0f5c581c700c236"
        },
        {
          "path": "apps/scan-cli/src/verdict-contract.ts",
          "sha256": "e24ab43d9f4cc96ebd2e3948286779b2e0b0390f42106f14b3b7eef3bcee9d61"
        },
        {
          "path": "apps/scan-cli/src/verify.ts",
          "sha256": "71d0315264ad5afc61d8c0fef34b366db38477eac30767b9ac0137fc61129e7b"
        },
        {
          "path": "apps/scan-cli/src/walk.ts",
          "sha256": "3d2a350dfe6e25403e50eefa3a0dbaebe275b422950717fc438be3bd5c74d097"
        }
      ],
      "schemas": [
        {
          "path": "packages/schemas/src/billing.test.ts",
          "sha256": "401e00c36536fc926b648ce59d423c130769c53d7f019b50180233797bff0ce1"
        },
        {
          "path": "packages/schemas/src/billing.ts",
          "sha256": "7ae419533da6bc2a20ad243b33b452dcd25d7dd67fe6c4b89c7d44193818322e"
        },
        {
          "path": "packages/schemas/src/careers.ts",
          "sha256": "c367f27b05dfdc9d57e25fe9987bf21e78f3f65ea9556afccea999cbfc068c46"
        },
        {
          "path": "packages/schemas/src/dependencyObservations.ts",
          "sha256": "d5a641b059b22592c692d3283502b9d77213ec42e77e03e600d0a20ee72d4038"
        },
        {
          "path": "packages/schemas/src/findings.ts",
          "sha256": "a12c3448f1e41d2eda5313f9b9a8fcf64ed2b77ebc80e5e22a7c682060878a38"
        },
        {
          "path": "packages/schemas/src/fingerprintSymbol.test.ts",
          "sha256": "e82eefb55e0c5bcd6afc5bb45d267e67b75ff01ba156a140e2cf728870455ade"
        },
        {
          "path": "packages/schemas/src/immunity.ts",
          "sha256": "cbe2557cc42d164e9d677f92ab8e26ce12762b4b2f60d5a3f2430b59a793abce"
        },
        {
          "path": "packages/schemas/src/index.ts",
          "sha256": "dc8572d1089083d76301bdf8634bfe9565973f00e6cc49beca1101df17ec4cbe"
        },
        {
          "path": "packages/schemas/src/investigation.ts",
          "sha256": "0a4a6a4370ff428910b2fb0ef53450fae064392dc58e341f8eb33da2252300b5"
        },
        {
          "path": "packages/schemas/src/ir.ts",
          "sha256": "c1b1d0766b20e4830a9a6ab35d27ba16dc676f9a4c2a9badebd4fdbd17919df8"
        },
        {
          "path": "packages/schemas/src/knowledge.ts",
          "sha256": "74488c0199366e71df6c2a83e71333317392e6b010e88f6beb66b935cec4bc85"
        },
        {
          "path": "packages/schemas/src/notifications.test.ts",
          "sha256": "37e385a265cfe33c545c2a0350415150a8affca5c4e6c5485ec29dc7b9c568cd"
        },
        {
          "path": "packages/schemas/src/notifications.ts",
          "sha256": "994d00573e810665c4379c2cb86147d28ac588ffca1b7f5c305cbd3ee98578c9"
        },
        {
          "path": "packages/schemas/src/packages.test.ts",
          "sha256": "01dfe561cb5d533d21109a17eea0a39f53f6a00b7b8ab897a60648ba4fde0ab3"
        },
        {
          "path": "packages/schemas/src/packages.ts",
          "sha256": "cabe240416e6c35be7baae9e776017e272f03efc5c4bcac3db05b3c11fa75d7e"
        },
        {
          "path": "packages/schemas/src/proof.ts",
          "sha256": "80dcb156960b75ec0dee7e607fba08229ddc0cccb5c8951e813274b27340953f"
        },
        {
          "path": "packages/schemas/src/reachability.test.ts",
          "sha256": "3252919fa6c1d35f1f90af335edc4e8832b7c48578888dac6ad6d0a2042744ed"
        },
        {
          "path": "packages/schemas/src/reachability.ts",
          "sha256": "6f78887ccf9f09df85e9cad8b5c271fd036782846bcdd301de44e85645f86b39"
        },
        {
          "path": "packages/schemas/src/reachabilityLabels.test.ts",
          "sha256": "2e0f8bd28ab72ab7bb09152cc58ca8e54b06bda14e6e2afe0a005bf5a7768b13"
        },
        {
          "path": "packages/schemas/src/reproduction.ts",
          "sha256": "ef08346d379d5f325bd579a7536679fef7d09fab7f4925392c55c55fd3aa7ab5"
        },
        {
          "path": "packages/schemas/src/scanCompletion.ts",
          "sha256": "881dd9263b32be386c364e8595562cadf7e9cbda9efe5aa64abac11b798c7e8f"
        },
        {
          "path": "packages/schemas/src/scanPullRequest.ts",
          "sha256": "09e56c5771b087884f735f69a3f3cb625f99e7aab1a867fd1f469fd1906ba2b6"
        },
        {
          "path": "packages/schemas/src/scanReasons.test.ts",
          "sha256": "01b6dde3a2b3c73993f196dd0feefdbfa38700b6d28a6b4b1d447e80193b7a2f"
        },
        {
          "path": "packages/schemas/src/scanReasons.ts",
          "sha256": "fba539e6d3c2140db2a329a6be9ce53e7ed0f6dc4437f085d2ce014be71d200a"
        },
        {
          "path": "packages/schemas/src/schemas.test.ts",
          "sha256": "76f30c08b7b291b0aaff817f216ab1d6c2abedf96cab319406a3192caab41c03"
        },
        {
          "path": "packages/schemas/src/secretRepair.ts",
          "sha256": "463cd65df478f18bcefb992ff06b279fc74737d95205af2ea552ef4ad4e30e38"
        },
        {
          "path": "packages/schemas/src/secrets.test.ts",
          "sha256": "b9ad3a12c0bcf243db65975600bf3c134b6030fee372cf39153832c96bb84368"
        },
        {
          "path": "packages/schemas/src/secrets.ts",
          "sha256": "173c025ddd2fc9d6fc70e6978138737f7132129ee0fb8a11145f5c8cd7b61b33"
        },
        {
          "path": "packages/schemas/src/security.ts",
          "sha256": "311afcee8ce9a869a622a19e2b1db1e57e003ace1f655921760ec21689a46f44"
        },
        {
          "path": "packages/schemas/src/states.ts",
          "sha256": "540c39ae578d9f7cae4ab84e5e183852e6eb84ae49d1d992c2cbf8c2e81a66b6"
        },
        {
          "path": "packages/schemas/src/wire.ts",
          "sha256": "b0c21292deadef07a17133b79eb89e4d3dc3dd6bfd165f61653efb699d9d6c3d"
        },
        {
          "path": "packages/schemas/src/workspace.ts",
          "sha256": "17a5fab2b0f41f698fbe2f1eceb055c035ae04bec35f547c03531d2e0eefbf42"
        }
      ],
      "rules": [
        {
          "path": "rulepacks/common/ANGULAR-TRUST-001/rule.yaml",
          "sha256": "add1d0987ffcb76cf8286d4da2210674893a8a8c693c9afacb5f4adbbfc7f73d"
        },
        {
          "path": "rulepacks/common/ANGULAR-TRUST-001/tests/safe/sanitized_html.ts",
          "sha256": "0d602cd9ae708c8060652de16f1c361a5522dc81d81624e8bdaaaae2664457d2"
        },
        {
          "path": "rulepacks/common/ANGULAR-TRUST-001/tests/vulnerable/bypass_trust_html.ts",
          "sha256": "dda816ef1b3d98aa23f109516466c901b66bee2cc3c4742f997ddbf75dac2165"
        },
        {
          "path": "rulepacks/common/CLEARTEXT-001/rule.yaml",
          "sha256": "19d83cbe5fabd840248811236a6426d860695cc99d57105d7f67d71b46cfb809"
        },
        {
          "path": "rulepacks/common/CLEARTEXT-001/tests/safe/https_endpoint.ts",
          "sha256": "c497ad77c81fd53d387c2b5b10161388c87628740d0b678891581d330ab1ca03"
        },
        {
          "path": "rulepacks/common/CLEARTEXT-001/tests/vulnerable/ftp_endpoint.ts",
          "sha256": "c3a6c3a828cc4cdca45bbdf486c6c2856066163884baa74f760a91e896f11870"
        },
        {
          "path": "rulepacks/common/CMDI-001/rule.yaml",
          "sha256": "76a524d4596595bec3d2b8550e593f8f73b2c463c594bb7a70f2cb8c3ea9346c"
        },
        {
          "path": "rulepacks/common/CMDI-001/tests/safe/exec_quoted.py",
          "sha256": "55ffe5f84c6711ba04bb88b1c5cf723e0f6c547bd71b17683a4ccae49263114d"
        },
        {
          "path": "rulepacks/common/CMDI-001/tests/vulnerable/exec_concat.py",
          "sha256": "8b98cd6a13e1b2e4970341498162b6222b44ea2fb872f4af940f75062f24f397"
        },
        {
          "path": "rulepacks/common/CODE-001/rule.yaml",
          "sha256": "313aa196ab864dd25536b018605c1c3b36f18956a367376ee0e005bb319f58be"
        },
        {
          "path": "rulepacks/common/CODE-001/tests/safe/comment_mentions_eval.ts",
          "sha256": "a47f8173953238cb60d08856a1b037366fbe536a88da34b23c643e9cad35d572"
        },
        {
          "path": "rulepacks/common/CODE-001/tests/safe/literal_mentions_eval.ts",
          "sha256": "3d09dab28d07ba35d263943091655822f5f5d217b2d6fccbbf3f9cb435bacfc2"
        },
        {
          "path": "rulepacks/common/CODE-001/tests/vulnerable/eval_query.ts",
          "sha256": "e3f4f0d3c518040aa2696ea7f76ff19db67601d38be08b42373615b3ded3dae0"
        },
        {
          "path": "rulepacks/common/DESER-001/rule.yaml",
          "sha256": "20b2f7b0d2b0a0dbf7d8725589a031e8d7cb58d318d151d099bfc1c2e484dd79"
        },
        {
          "path": "rulepacks/common/DESER-001/tests/safe/yaml_safe_load.ts",
          "sha256": "7aaaf0beb687fdadfafbc7d6d1a952647353a222571032ea59242f87bf33dba9"
        },
        {
          "path": "rulepacks/common/DESER-001/tests/vulnerable/yaml_load_body.ts",
          "sha256": "f108c65e1710a394fa1785691e1cb6d621e3e0b778da96403788137e3156453a"
        },
        {
          "path": "rulepacks/common/PATH-001/rule.yaml",
          "sha256": "b45b1cfe6d8c5af96ec1e8a1c837feeb8ddc239424adca3c188a64c161a00d2f"
        },
        {
          "path": "rulepacks/common/PATH-001/tests/safe/read_normalized_path.ts",
          "sha256": "de57b93ba7c7f086a1a9de7d2872628ccb63d84da3fb2fa1ef195bf58b0d2ca6"
        },
        {
          "path": "rulepacks/common/PATH-001/tests/safe/template_allowlisted.ts",
          "sha256": "d1d539bba782f1be978bfc1758690d38426278adaf1a44dbf76705e47ce6618b"
        },
        {
          "path": "rulepacks/common/PATH-001/tests/vulnerable/read_user_path.ts",
          "sha256": "f1b1f2b69e5992f4004d8a30d0e696fb19d21cd1cb02927e61687e5991d7569d"
        },
        {
          "path": "rulepacks/common/REDIR-001/rule.yaml",
          "sha256": "ebaba25880fec0039dad28bd24cbdd36541ab08036ce72527d31363ba37551f7"
        },
        {
          "path": "rulepacks/common/REDIR-001/tests/safe/redirect_allowlist.ts",
          "sha256": "903c9879c7b4b35624849633a17e8a34a86dc25f4526cc3df5342b5bb0e49bde"
        },
        {
          "path": "rulepacks/common/REDIR-001/tests/vulnerable/open_redirect.ts",
          "sha256": "efd4e225c944fb8647054fa952e40f0d6f3b3b905e22a6bf89f4b2c310daf363"
        },
        {
          "path": "rulepacks/common/SQLI-001/rule.yaml",
          "sha256": "3e64945a2e853ae7bbd868a110edbca234966a170a03f3dfe6f49de7077c6fcc"
        },
        {
          "path": "rulepacks/common/SQLI-001/tests/safe/drizzle_where.ts",
          "sha256": "106f09d70c246f993c7098b5d059bea9b836d1d025154d2c21b2b330519e7ceb"
        },
        {
          "path": "rulepacks/common/SQLI-001/tests/safe/identifier_allowlist.ts",
          "sha256": "bca1e858b9fda6aff77dc1334c96e61446966250ab503c5832c0ef2919ce8436"
        },
        {
          "path": "rulepacks/common/SQLI-001/tests/safe/parameterized_query.ts",
          "sha256": "bc711ba097116beaedf72e93c7b3b20b961a2d1258948ecb0dbe6e0ab8831a4c"
        },
        {
          "path": "rulepacks/common/SQLI-001/tests/vulnerable/concat_query.ts",
          "sha256": "a2429d8b1f611d41495a356ac305368dc5b78092e491a43bedf6a0f663b6ecb8"
        },
        {
          "path": "rulepacks/common/SSRF-001/rule.yaml",
          "sha256": "86bbbbd1f8bfe819cb8af8bde8ca5e43e038979c728fa8ad030641777a631f3e"
        },
        {
          "path": "rulepacks/common/SSRF-001/tests/safe/express_proxy_allowlist.ts",
          "sha256": "571f26fc750cdb14b72c7803cd2dd50d62acd806d1677dd5165aa92060ecd21f"
        },
        {
          "path": "rulepacks/common/SSRF-001/tests/vulnerable/express_proxy.ts",
          "sha256": "e4f646374bcb08c30fb8af627a91668f4841512cebe1bf804f79c0c4cc2229ab"
        },
        {
          "path": "rulepacks/common/SSTI-001/rule.yaml",
          "sha256": "1cf2a5878dad69f9adf9cad88ea2000064898a51447e053a47ef05581954edde"
        },
        {
          "path": "rulepacks/common/SSTI-001/tests/safe/precompiled_template.ts",
          "sha256": "0d5febf5ff8f2070115eaeba0870cdfcd392a2dd142487f0a996b04cc491a6e1"
        },
        {
          "path": "rulepacks/common/SSTI-001/tests/vulnerable/handlebars_compile.ts",
          "sha256": "4b04998aa32236b06404c7c9aaf2674d01173576b2401efd4904166a4f30fd5f"
        },
        {
          "path": "rulepacks/common/UPLOAD-001/rule.yaml",
          "sha256": "e5d8812fab296e63bb94fed6486797995e830fd2feedb5e4ac567bb7e904600b"
        },
        {
          "path": "rulepacks/common/UPLOAD-001/tests/safe/mime_checked_upload.ts",
          "sha256": "e020db518e233ac8433f5237c1744d70d6854bd802dbd232f6377d1e03c9aa77"
        },
        {
          "path": "rulepacks/common/UPLOAD-001/tests/vulnerable/unchecked_upload.ts",
          "sha256": "c2c4629e3af2db831f72d99572b49c758174bb224e4a2f4abb88ab82f12a3967"
        },
        {
          "path": "rulepacks/common/XSS-001/rule.yaml",
          "sha256": "4eafa1e0a5329f76ec075e03d6bf756570cd1643ec4b1aaff9f4ae8960073237"
        },
        {
          "path": "rulepacks/common/XSS-001/tests/safe/escaped_html.ts",
          "sha256": "199162c065905fc36a12bae5eedef52093de52b6faea7189b26c94fc4b297fd0"
        },
        {
          "path": "rulepacks/common/XSS-001/tests/safe/jquery_hash_text.js",
          "sha256": "444b7e3c66c70ffedc419ea0e8e00d765964bc62e02b6bc7bdb6810e8e31cfe4"
        },
        {
          "path": "rulepacks/common/XSS-001/tests/vulnerable/inner_html.ts",
          "sha256": "9bc3e7f70495dec60e4fae6e44c6525d1f7eed9eaab34f1b7f0c2f62ee334865"
        },
        {
          "path": "rulepacks/common/XSS-001/tests/vulnerable/jquery_hash_html.js",
          "sha256": "e90787da428b6edc0fee61dfc8bd079fcfff45bdcf54e55b2577f7aa60555a23"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/rule.yaml",
          "sha256": "ec140652bbbf75b9ac7abf0491617a7b2fedafec6b01e061afcc455fd46dfab2"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/safe/execfile_argv_export.js",
          "sha256": "c36f60fc7cb772ae724f024550104463cb7715914ff021a3a1b8f70dcd66d190"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/safe/shell-no-shell-data.js",
          "sha256": "2795e97e1692e600623f2011a4e88f7db6d5be3c31668b7f4c95cc938ac5ebdd"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/safe/spawn_argv_export.js",
          "sha256": "79a4e7b621e9f7c9e73bd2eb2904a4eef151ea45f7fe05dabffc6a8609926ee4"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/safe/spawn_shell_false_export.js",
          "sha256": "9a28aec735bb33aea479da9f8fbcdea3ea340e4fdfb5d1b8ea60d57a00db4b0a"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/vulnerable/exec_concat_comment_claiming_safety.js",
          "sha256": "7ac5b4dfbe1bc3ea61f2b256bd34b310ca2d0690aee8a1f7339d94ad27fec847"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/vulnerable/exec_concat_export.js",
          "sha256": "275d8bc62de5103c813fc75d1d03bb03a637cfcd4ff57e03681b272f50696cf2"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/vulnerable/shell-interpreter-argv.js",
          "sha256": "dba75bb9609c263b03773c8f3ace4dcb1c0702f9d380d754a986ba6e917d8dea"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/vulnerable/spawn_shell_true_export.js",
          "sha256": "2399e875e0801f760ef923db719dd4b2d51ba785e13fba5d7207191a8470f77e"
        },
        {
          "path": "rulepacks/javascript/CODE-002/rule.yaml",
          "sha256": "5fba2995a7c08491b7fce10659cff11e00d9197bf59a5d3a38f93403ca398b63"
        },
        {
          "path": "rulepacks/javascript/CODE-002/tests/safe/allowlist_table_export.js",
          "sha256": "85869a3b0814860009545f5da55fe63518b9c17b8cbf59d819beecea904fa706"
        },
        {
          "path": "rulepacks/javascript/CODE-002/tests/vulnerable/eval_export.js",
          "sha256": "ae60852aa9bc8760e4d3701940685ae52258960802d7f7826562dd28b710e310"
        },
        {
          "path": "rulepacks/javascript/PATH-002/rule.yaml",
          "sha256": "6cd1dcc2bd021b507e56eda1048e2d556a7f2d63e174a387c55654dfd32b2fc1"
        },
        {
          "path": "rulepacks/javascript/PATH-002/tests/safe/contained_read_export.js",
          "sha256": "472c240fcecb888932368d9ac76e6872fa996792833b27603edf78064d6df30b"
        },
        {
          "path": "rulepacks/javascript/PATH-002/tests/vulnerable/join_read_export.js",
          "sha256": "20507cd856657419f07cc9d57385ac0199ec4f9b0e462bb891c10ac96025c754"
        },
        {
          "path": "rulepacks/javascript/PROTO-001/rule.yaml",
          "sha256": "bf376e71fc05a878df13da0e52dad459fb0c3fd64022d8a69733f3714f6c0ee7"
        },
        {
          "path": "rulepacks/javascript/PROTO-001/tests/safe/picked_fields.js",
          "sha256": "8d915a5bcf94d0a9ce002f204cedd8debee71a799ec8b4ab3a0ab413144adf27"
        },
        {
          "path": "rulepacks/javascript/PROTO-001/tests/vulnerable/deep_merge.js",
          "sha256": "97b4a460cc326981a23344127f06023cce4c7195e91e33188fcc416376ab4db4"
        },
        {
          "path": "rulepacks/javascript/PROTO-002/rule.yaml",
          "sha256": "a33eb6189979feb4815736b9b41878181409cb6582bcbc84cf8b570a8ca6fdde"
        },
        {
          "path": "rulepacks/javascript/PROTO-002/tests/safe/unflatten_guarded_export.js",
          "sha256": "a8f82389db43a60343ee060f87e4a22fc806541bb9930b27133798a4f8ea1c1b"
        },
        {
          "path": "rulepacks/javascript/PROTO-002/tests/vulnerable/unflatten_export.js",
          "sha256": "5397ad7af5a07d9101fcaedc754d6fcefd64b14ecfe03e47886b1de7f2d03d2e"
        },
        {
          "path": "rulepacks/javascript/REDOS-001/rule.yaml",
          "sha256": "b20709f91bfe5bc2b834174a53fb2d0aa2772fd21838191273c117a662d7fbbc"
        },
        {
          "path": "rulepacks/javascript/REDOS-001/tests/safe/linear_regex.js",
          "sha256": "a9cff969079a95187fb874a9cd45fd323e27d936e16787a2cd0017b2eaa430fe"
        },
        {
          "path": "rulepacks/javascript/REDOS-001/tests/safe/redos-effective-length.js",
          "sha256": "b89100f7da1bf4dfa4174bf118757b4b16b7606a71a190dc9df4d803726aa9e0"
        },
        {
          "path": "rulepacks/javascript/REDOS-001/tests/vulnerable/nested_quantifier.js",
          "sha256": "7920ee95f0caf7a78d0cd31a99a6ba78e71d67b4f51267b91dbcfa02385ce71d"
        },
        {
          "path": "rulepacks/javascript/REDOS-001/tests/vulnerable/redos-log-only-length.js",
          "sha256": "fcf564ffc5b17680ee66e004e5b1245af26fa730c39738e6837b06a0f9c2003e"
        },
        {
          "path": "rulepacks/javascript/REDOS-001/tests/vulnerable/redos-unrelated-length.js",
          "sha256": "f15da1e79e6647d9637f8f86186eb2957ba0185b85a892c8454a99154a0fd6ef"
        },
        {
          "path": "rulepacks/javascript/REDOS-002/rule.yaml",
          "sha256": "96c5b0ca1b87ccfd62d47a5cdf0333b9aeb8af676e57db2cb1bf51071a01f128"
        },
        {
          "path": "rulepacks/javascript/REDOS-002/tests/safe/anchored_repetition.js",
          "sha256": "8fa107f69e124073c70a243d4ba8cf42e3baf6ff1a85728c4e90aaaca3f9de7c"
        },
        {
          "path": "rulepacks/javascript/REDOS-002/tests/safe/exact_count.js",
          "sha256": "85f3770d53e3c837a9893af66608801071e279a7fd40e524718b3e92f713c009"
        },
        {
          "path": "rulepacks/javascript/REDOS-002/tests/vulnerable/bounded_nesting.js",
          "sha256": "704567ef1e945b22e884a421d91cdebafc56a32057c66d64d5adf6500229fb99"
        },
        {
          "path": "rulepacks/javascript/REDOS-003/rule.yaml",
          "sha256": "1cc53d782185aed8c25f674342c6e25c26bf4fe7d28c11149cd7d4e6c00591b1"
        },
        {
          "path": "rulepacks/javascript/REDOS-003/tests/safe/string_built_linear.js",
          "sha256": "507ffc34c8b0de6fe2836dc76727272b795be938a762a27b9d8e3d5aa230c362"
        },
        {
          "path": "rulepacks/javascript/REDOS-003/tests/vulnerable/string_built_nesting.js",
          "sha256": "57c1f8d65d22e1e73219e296dc6a3261f86faa2e4564bb592e1c0f66471ad01d"
        },
        {
          "path": "rulepacks/javascript/REDOS-004/rule.yaml",
          "sha256": "4fc5fa489991681c7b6c7c8fdab2271f0e482c5bdf65cbdb1a5ed14fcc79fefa"
        },
        {
          "path": "rulepacks/javascript/REDOS-004/tests/safe/header_literal_split.js",
          "sha256": "2d05c9372eae684a32a51fa3608c62f1b3a262d62660bfa40e778a9fe8652d2e"
        },
        {
          "path": "rulepacks/javascript/REDOS-004/tests/vulnerable/header_regex_split.js",
          "sha256": "299f3862184b888dd6db84b50f1b94131b39df2189c0a7897d71fa3a01cd6498"
        },
        {
          "path": "rulepacks/javascript/XSS-002/rule.yaml",
          "sha256": "265b5dddc5503e3cfede82589a20346e7111aee234aae699bd72010284ab4819"
        },
        {
          "path": "rulepacks/javascript/XSS-002/tests/safe/html-whole-escape.js",
          "sha256": "2ba3ca2673b1e9cee7fc2b825cfc350951c5dc400fcd4530da274d47e5b1a91e"
        },
        {
          "path": "rulepacks/javascript/XSS-002/tests/safe/stored_profile_text.js",
          "sha256": "00b74d4ae94fc2c7af691afd78ca4834c85bf7cbb789d6c4bc42d86b0f1a9ee3"
        },
        {
          "path": "rulepacks/javascript/XSS-002/tests/vulnerable/html-discarded-escape.js",
          "sha256": "78e0100d92680afb5c379c10568f32a5513e66a0cf1e23b9f647c1959b41b3bf"
        },
        {
          "path": "rulepacks/javascript/XSS-002/tests/vulnerable/html-overwritten-escape.js",
          "sha256": "06b413b915b10c22e187b39f8c7ffd40ce94538df84eaf26ec0239e801bc4c6b"
        },
        {
          "path": "rulepacks/javascript/XSS-002/tests/vulnerable/html-partial-escape.js",
          "sha256": "d6b1b267de5f4630775d7f2545fea52433910233517c33d05a7748ab8cc174c7"
        },
        {
          "path": "rulepacks/javascript/XSS-002/tests/vulnerable/stored_profile_html.js",
          "sha256": "dd0e8a86c73974539e46b0acc340e7f19bd08778c7fc174de236a4df296e4673"
        },
        {
          "path": "rulepacks/python/COOKIE-001/rule.yaml",
          "sha256": "e96b7b90b587fa6d110a094a04a62e892ea7c3e568dc3348cb91152dc31b28eb"
        },
        {
          "path": "rulepacks/python/COOKIE-001/tests/safe/security_use.py",
          "sha256": "36232350c4ae6a4eabb43698a64e29a6f96681feb114e9634fb8e7f0771324c0"
        },
        {
          "path": "rulepacks/python/COOKIE-001/tests/vulnerable/security_use.py",
          "sha256": "1a2fedf4a92e6084c7f1d2d30c30b505edb987586506c809b295d652f1a7c9ec"
        },
        {
          "path": "rulepacks/python/DESER-002/rule.yaml",
          "sha256": "a77cd0730f50c608ddaa4d8446adb7b728522990b1cd772a96648113e522c731"
        },
        {
          "path": "rulepacks/python/DESER-002/tests/safe/json_body.py",
          "sha256": "b870d59e6a36b5c007f9b8db0f644589f1b35317ebf256ef820421f3f4b87c7d"
        },
        {
          "path": "rulepacks/python/DESER-002/tests/vulnerable/pickle_body.py",
          "sha256": "bc3ffd740c598790f2e1e6cd4d33e7e4fc4194606cca7c04ed9b6329d3fe803f"
        },
        {
          "path": "rulepacks/python/HASH-001/rule.yaml",
          "sha256": "e73bc710813e3432d33ebd5c3009af465ff431828a6f62023f8134284cb2952c"
        },
        {
          "path": "rulepacks/python/HASH-001/tests/safe/security_use.py",
          "sha256": "7dd2d78c7a7005038c32765fc0e57ac5763539fffafda7cdb100abca2706120f"
        },
        {
          "path": "rulepacks/python/HASH-001/tests/vulnerable/security_use.py",
          "sha256": "da09cde958525ff193c071da85ccaf90c210c4248921cdcc45b053dd1ea14ed6"
        },
        {
          "path": "rulepacks/python/LDAP-001/rule.yaml",
          "sha256": "ba5af874b16aced31442688c2696bdce5d653e06777cb8405ba4827fe81299d9"
        },
        {
          "path": "rulepacks/python/LDAP-001/tests/safe/example.py",
          "sha256": "cdeadf5cc35f95087984229e70a93acfb5fd15ff87159d78da56102c32549ef7"
        },
        {
          "path": "rulepacks/python/LDAP-001/tests/vulnerable/example.py",
          "sha256": "81ea19fcefe0229b53692e1a8813e6d6d602b964731857adf7c7827e3d62933b"
        },
        {
          "path": "rulepacks/python/PYEXEC-001/rule.yaml",
          "sha256": "e894bf53024edc28c99465d76e0ba6cf0041a365c3e47d886f8fa2d4bb9d978f"
        },
        {
          "path": "rulepacks/python/PYEXEC-001/tests/safe/example.py",
          "sha256": "b0987f8a75a6ef0f04626162629eb0ea116e4ca88fa060c2aecc34187a5cae6f"
        },
        {
          "path": "rulepacks/python/PYEXEC-001/tests/vulnerable/example.py",
          "sha256": "97db9745b502b8ac176393c11ac84203a5ef47c2250ad9c7f3e95279d91147ba"
        },
        {
          "path": "rulepacks/python/RANDOM-001/rule.yaml",
          "sha256": "cc5ef82221e457cd3735ddf1a2460f0ad1b4c0a42d8d046dc6eb8826c8a4401e"
        },
        {
          "path": "rulepacks/python/RANDOM-001/tests/safe/security_use.py",
          "sha256": "af026cd1cb696c62afd0a09b6d886ae62b7e42876da4692a60c4f115c7911ca1"
        },
        {
          "path": "rulepacks/python/RANDOM-001/tests/vulnerable/security_use.py",
          "sha256": "0a5c3b2dc3063e44f1707c8237116a3c73b6b90bff021a553aa26e239d759d36"
        },
        {
          "path": "rulepacks/python/SQLI-002/rule.yaml",
          "sha256": "8870d9e0c8e50ef1e98bdd0a5d340a993fd08bb79c99b83ab0d5d428532efd3c"
        },
        {
          "path": "rulepacks/python/SQLI-002/tests/safe/bound_parameter.py",
          "sha256": "f59ad09d5622601478728d738f82e771a04ef649bc287a6d98fb6ccbdad3c9a8"
        },
        {
          "path": "rulepacks/python/SQLI-002/tests/vulnerable/model_method.py",
          "sha256": "f5b72f7df4bb62bffccff279f4bd3861b94e3d5fb2a3b235beba67f8bb7323f0"
        },
        {
          "path": "rulepacks/python/SSTI-002/rule.yaml",
          "sha256": "9eaef2a4dd0a2a05427b38d57224363493ae4d6084de444cb972abe363b4a7e5"
        },
        {
          "path": "rulepacks/python/SSTI-002/tests/safe/render_file.py",
          "sha256": "27f43756ac0694b7f32b4a3c8354c7cc26b603a417a5edd353db62d9968203cf"
        },
        {
          "path": "rulepacks/python/SSTI-002/tests/vulnerable/render_string.py",
          "sha256": "4bd606000d080233cc84818ee75c20d451c0618e837364e0e6042334ef20ec94"
        },
        {
          "path": "rulepacks/python/TRUST-001/rule.yaml",
          "sha256": "951696eaf7ece7422b37a1fa86d5985f8d3b128d583ce50df98520a877896372"
        },
        {
          "path": "rulepacks/python/TRUST-001/tests/safe/example.py",
          "sha256": "84b4eadbd97c147afede3c94d45eefee81f6c9a285d099897547252f86601e05"
        },
        {
          "path": "rulepacks/python/TRUST-001/tests/vulnerable/example.py",
          "sha256": "e8746c4d0b1abfa238fb0986594cb89110a52f61c53fdd0bd40786fe650e7393"
        },
        {
          "path": "rulepacks/python/XPATH-001/rule.yaml",
          "sha256": "17604e33d66d6d7e378932a5979beba8bd09166a0c9bb9fe298cd448ba34d43b"
        },
        {
          "path": "rulepacks/python/XPATH-001/tests/safe/example.py",
          "sha256": "fd62cbe7fd076c640544152051bc8cb122a9039158b95a38bfa1bd17ab837f14"
        },
        {
          "path": "rulepacks/python/XPATH-001/tests/vulnerable/example.py",
          "sha256": "9519ae17a6895888d7949e8214de5e7c21ca8ae19aab6f69fffc61e213a0b5ba"
        },
        {
          "path": "rulepacks/python/XXE-001/rule.yaml",
          "sha256": "560eadedab50b15f003f19895559b947ef17958200940ab1099a351b3278bc4d"
        },
        {
          "path": "rulepacks/python/XXE-001/tests/safe/security_use.py",
          "sha256": "a72dfe53e9dc9bcd36404965ad208ec7a48dabf6a0cc0e570bdfc739873cd264"
        },
        {
          "path": "rulepacks/python/XXE-001/tests/vulnerable/security_use.py",
          "sha256": "362c78ea6b0ee92a418bfa22012f584ffc58c6b24396e79e1224db166237b48c"
        }
      ],
      "repository": [
        {
          "path": ".all-contributorsrc",
          "sha256": "2b174d904ba08fea5a7cc007b29503280cc618d0fbc4a2705f7186b09bfb33c3"
        },
        {
          "path": ".github/workflows/flake8.yml",
          "sha256": "ca90b578bf9b1f58fe5bc1765fa009fcb6bd2eae715f288ad23ab6cb73788e93"
        },
        {
          "path": ".github/workflows/hadolint.yml",
          "sha256": "33e706e2d8c27de797c2363c8edbd868eb76dbaef3b94f30d36d972041f80eba"
        },
        {
          "path": ".gitignore",
          "sha256": "1ba81a3af2268021abda79ef1f31040932899a9372852d5738fcf4904259141c"
        },
        {
          "path": ".vscode/settings.json",
          "sha256": "1dfdc6c65b625765d00a098889062a1158d5a9e747b7ef2f8eaeaf9e3366b4ce"
        },
        {
          "path": "CHANGELOG.md",
          "sha256": "fd6042bcd0b8780035e94b404e37286e13f570b4c164e9fe77aebfd8d777047e"
        },
        {
          "path": "Dockerfile",
          "sha256": "3312494071f8f6d4e9586e97e9a4bb3928340e647ee53c1c972c9e7849b28d83"
        },
        {
          "path": "LICENSE.md",
          "sha256": "f3e0249f489c8823e83c5f6e4a65795e624ef9024381722f21592134dcab611f"
        },
        {
          "path": "Procfile",
          "sha256": "8c6808132556c2f7e518ba19087d42734b2c8ac00410fefe4f3ac9f0352c8ed1"
        },
        {
          "path": "PyGoatBot.py",
          "sha256": "1db02208295a9c3b92c67844596703d0593468d25ea45e9533558ed31dfff1ff"
        },
        {
          "path": "README.md",
          "sha256": "3d19c9325dc141ee830688afc9607ff6854ba7643e2a5b1c87b9a75a4e1928f5"
        },
        {
          "path": "Solutions/img/img4.png",
          "sha256": "42334deb0d323c8f55b6ea085c59b757876a76daaa1597cde09d15389aa13183"
        },
        {
          "path": "Solutions/img/pic1.png",
          "sha256": "5630292120d9f22e1ab61bd924433d0932f6a8e5fc7eede7124d8752b0dba595"
        },
        {
          "path": "Solutions/img/pic2.png",
          "sha256": "5e96fe553eff3a81809efdfc72004e5ce5babba9f8581aab5ff3a064831037dd"
        },
        {
          "path": "Solutions/img/pic3.png",
          "sha256": "65bc31f8f5d8fc72acd3d3f99e207cd1ff839d4538536ebc002c03a101909414"
        },
        {
          "path": "Solutions/solution.md",
          "sha256": "816763310a90bdf41403bde7cd445fb0ccc9a5b97e1700a97f8340150093f095"
        },
        {
          "path": "challenge/README.md",
          "sha256": "906528d65e91dc555dcb4a691adbd04a010993e095b68d443418474ede72a6e3"
        },
        {
          "path": "challenge/__init__.py",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
        },
        {
          "path": "challenge/admin.py",
          "sha256": "49dc2ef5a3173d655f409495630f0d0abdceb4d705b4d63c28fd14201eb50fdd"
        },
        {
          "path": "challenge/apps.py",
          "sha256": "1f3195b9554667d28342b854082f6f9c52b4a0842178be53d648ff60b8b4a445"
        },
        {
          "path": "challenge/challenge.json",
          "sha256": "8062440ece5350c087c68c5266d7ef85904995296d684274830d372d3ac97fb1"
        },
        {
          "path": "challenge/management/commands/populate_challenge.py",
          "sha256": "c5f188e0c7c8ac031d6d4f0e528753dbc697acedd6221346cdc9a776f5ffa782"
        },
        {
          "path": "challenge/management/commands/populate_challenges.py",
          "sha256": "4ea5dcc37003e2d9be8503d84fe48d3cb45f3ba88427948035c6658a51dc6643"
        },
        {
          "path": "challenge/migrations/0001_initial.py",
          "sha256": "a5bd5f567022e59e210dd4be0aaba176cacfd366465d427209416dd31100fa15"
        },
        {
          "path": "challenge/migrations/0002_challenge_docker_port.py",
          "sha256": "7bae91f01efe515ed30f9e26aabaad2783efad92a544d6403b983240dd34caf0"
        },
        {
          "path": "challenge/migrations/0003_alter_challenge_docker_image_alter_challenge_id_and_more.py",
          "sha256": "5a0809e5c7b25cbf2aab4dce25f8ad5af6724c09df02cfe8698f5e0b25780c37"
        },
        {
          "path": "challenge/migrations/__init__.py",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
        },
        {
          "path": "challenge/models.py",
          "sha256": "f04b7d610fc7fef1c4d45825b25fc4b5bd5c22d98e759cb48bc3580a9a157a10"
        },
        {
          "path": "challenge/templates/chal-not-found.html",
          "sha256": "d288c5a6ffc9ce5ddab5a19f2ef9af832f3b0cb9bfc1fe5717494db0a8f60bf5"
        },
        {
          "path": "challenge/templates/challenge.html",
          "sha256": "977c305784ff6bb4fb6843014ad32ed4191b2ae26f54d8609eaef5bf97b5288f"
        },
        {
          "path": "challenge/tests.py",
          "sha256": "9ab6c6191360e63c1b4c9b5659aef348a743c9e078be68190917369e4e9563e8"
        },
        {
          "path": "challenge/urls.py",
          "sha256": "3bf53e36052a1e979c66554693b5294823a8e34873a696da984101c008bc4342"
        },
        {
          "path": "challenge/utility.py",
          "sha256": "fa4c6895479ec9c3bbb10f3ab3e059b1607e0ba9136280a1792280ca6d2ff8ec"
        },
        {
          "path": "challenge/views.py",
          "sha256": "15e22f431a68cd4dfd965c0b10081ba99190415ebd2f2fd984a7e8cff22128ba"
        },
        {
          "path": "chatbot/README.md",
          "sha256": "b1d91c0a68d32dd7b1a358e20d04f8c47f8bb17e907f9ef655fafe4b1076cc4f"
        },
        {
          "path": "chatbot/pygoatbot.ipynb",
          "sha256": "eacacc7c529109cd701e20f0ff0e85066b879defd3d506fe05dfae57b1eb2bec"
        },
        {
          "path": "docker-compose.yml",
          "sha256": "16f382de71c1c93c8ccdda27a19f167a1533de300f29d3e6f8fbdb38cfb39f81"
        },
        {
          "path": "dockerized_labs/broken_auth_lab/Dockerfile",
          "sha256": "ab7d4ff35dcdf7dcb052328279c045384850832224048d8d960c218235a1de03"
        },
        {
          "path": "dockerized_labs/broken_auth_lab/README.md",
          "sha256": "fe6b96ce3d56ee63e62ac1aba1e2f04dc2428fa89b5c15a28c05e20340e186d8"
        },
        {
          "path": "dockerized_labs/broken_auth_lab/app.py",
          "sha256": "55f63916cc90227e9f675e422bd2565b2156993f0431561d40038e7c3a9393ef"
        },
        {
          "path": "dockerized_labs/broken_auth_lab/docker-compose.yml",
          "sha256": "702aa6edf0e76732f3e599b6ccf152838925c2f202b05be754900cc76ba66f05"
        },
        {
          "path": "dockerized_labs/broken_auth_lab/requirements.txt",
          "sha256": "3691e2bd2f4cde9be8f4025de9e7fa703b0f6b2acb967a9a8f7554c774a292ef"
        },
        {
          "path": "dockerized_labs/broken_auth_lab/static/style.css",
          "sha256": "924f7af3e30e7d98a4e6cdd1dc7468d47a9429bd7993788e4475222ce527976d"
        },
        {
          "path": "dockerized_labs/broken_auth_lab/templates/base.html",
          "sha256": "e844ed5c0e9306cdf9472be4286035f6528aed7be7d805af2a12240d214bbcfa"
        },
        {
          "path": "dockerized_labs/broken_auth_lab/templates/dashboard.html",
          "sha256": "607fb33a6988c6fef4bac3d3ee7bba9af5524245b108ecbc09708e443de16a31"
        },
        {
          "path": "dockerized_labs/broken_auth_lab/templates/index.html",
          "sha256": "e50f907aee10ce9ecb18fa9b8d42b637735b84353b7f86281b8406017ab51425"
        },
        {
          "path": "dockerized_labs/broken_auth_lab/templates/lab.html",
          "sha256": "93ac2a594d64d6d1fc6a9b8bb6c21410276e6af985a2e1092c7238bac4ba3bd3"
        },
        {
          "path": "dockerized_labs/broken_auth_lab/templates/reset.html",
          "sha256": "38c8bed393ef49f8ee38af2eee00c77833b960f0d2aea62d635bdd8bc76fa6f6"
        },
        {
          "path": "dockerized_labs/insec_des_lab/.dockerignore",
          "sha256": "a586f40b698a2b1410d9b69a9708daca7b860f2dc10fd4ea885fb4e9407629ba"
        },
        {
          "path": "dockerized_labs/insec_des_lab/Dockerfile",
          "sha256": "341bfddcd9b7bbd0810125bc71e88446942cb9696f3b26e9a175324baa2a775f"
        },
        {
          "path": "dockerized_labs/insec_des_lab/README.md",
          "sha256": "57179d00172fae2ab69d531c9d7a34741f55faa3da52c93699a040a54b23d7b8"
        },
        {
          "path": "dockerized_labs/insec_des_lab/docker-compose.yml",
          "sha256": "e434f039eaf50660f11b748be5236211b75acd29d1cc9360dd92d5e40e055ed3"
        },
        {
          "path": "dockerized_labs/insec_des_lab/main.py",
          "sha256": "070993efd2dca7d9c39c83c5f17230279a103ddc7aacc0e3ba6ce4214c5ed21a"
        },
        {
          "path": "dockerized_labs/insec_des_lab/requirements.txt",
          "sha256": "9192de47c423852e57959ef0d902a4073959967d8d47a38e1844c2297cb8e3c8"
        },
        {
          "path": "dockerized_labs/insec_des_lab/static/style.css",
          "sha256": "b49846db4d59a22af023d1b10cc0f3b596bdfe95ed2abc81ff07f051bfcd4d9c"
        },
        {
          "path": "dockerized_labs/insec_des_lab/templates/base.html",
          "sha256": "e42e5249f51a8d1a1659e7f695cee33a5287e7198e5259363e99014aa07282cc"
        },
        {
          "path": "dockerized_labs/insec_des_lab/templates/index.html",
          "sha256": "7474a51c1bc7bdf691d7b2a0041c035cedd7d7e0aa5e1b55c84ae5f5f9a747a9"
        },
        {
          "path": "dockerized_labs/insec_des_lab/templates/result.html",
          "sha256": "145d378df312d3bac8a1085d6dd8688d8b91a31ff511e0cee2b4cf4dd2b31ebd"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/Dockerfile",
          "sha256": "007de200786f943a4905cf245a4049fe403848b14122a9ef728c2c0697da31da"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/README.md",
          "sha256": "b9d313bcaf7e05365f9345daf6b88720515d5d20f505bc925a6aa497697fbec9"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/dataexposure/__init__.py",
          "sha256": "595028648c667137ea5f36f48385e6eab10cfb9bb4a2b0068aecabc11af5e8a9"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/dataexposure/forms.py",
          "sha256": "0db1b9aea3347105c9c56246cf0dcec9be66d736fe22560a4a2108c7edfb3219"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/dataexposure/migrations/0001_initial.py",
          "sha256": "4b07ec870defc9ab6ec53974e1a04c63edf8ca2ba914c67745bcf57a8684fc48"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/dataexposure/migrations/__init__.py",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/dataexposure/models.py",
          "sha256": "58f1d21d044c985d3a6539aa64019e2cd6fa99e2fad37aa7f45cd8cbbfb7c119"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/dataexposure/urls.py",
          "sha256": "f7962d4ab21a0f98b89c40f3d818713a614a8112aca542fd0edc63d598044ba3"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/dataexposure/views.py",
          "sha256": "458b2a920c4d32653e57a62f60c0a723e7fc4a8324ef0eb400f8afc5febf9e15"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/docker-compose.yml",
          "sha256": "d19ac30fea6f29000cae4c028afbdeea9bc6bd94f4d3dce991779100e147d6f3"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/entrypoint.sh",
          "sha256": "4541d884503bd86e0091acae911a2fd8987b0e561b0884a0ea49c384bbb40cbb"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/manage.py",
          "sha256": "415943f334b248eca8fca6c29110e15bd0653aeb36ece515dc43db461ad92e11"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/requirements.txt",
          "sha256": "645eeaa08c92d7d209e6919a6fc8c28265f2b5c5014484d79892c26e3d5e9a00"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/sensitive_data_lab/__init__.py",
          "sha256": "595028648c667137ea5f36f48385e6eab10cfb9bb4a2b0068aecabc11af5e8a9"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/sensitive_data_lab/settings.py",
          "sha256": "9b236e5d1f20943718ed20952060f1ee63edc569255909a016c7a193406f1191"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/sensitive_data_lab/urls.py",
          "sha256": "9b42bf19d6c5806b72e30636cbb14619fe5ddfebc804f44a05f98d835c5b6831"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/sensitive_data_lab/wsgi.py",
          "sha256": "ae0dbf9138bf51ba26693e5487ca2c1eb87f4af95edd9239b14302bd8022ada7"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/templates/about.html",
          "sha256": "786a0a8eac86988ba3f52d2f3807be09eb717135995403c98325f719eaacc7d8"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/templates/base.html",
          "sha256": "071074a03817d5b94cf38ea6ff82490f10c692097840668d6a4558555a1f512f"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/templates/index.html",
          "sha256": "47c3dcb640db1804741c82e4b763654129bbdbdbc66094462970187b7273954d"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/templates/lesson.html",
          "sha256": "afaa933bf61274b222c89fbace3137bb43c4d03a34ddf88881553bfd1307cc6d"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/templates/login.html",
          "sha256": "bf5bb06e9f15fcf9716bf721aba9573592e233617d53ca586cad74e0ecaaa338"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/templates/profile.html",
          "sha256": "0e0186bdb0dc2b1d80a6d6ffeb874242f270723629fd0f68fa67e19ceeaafc46"
        },
        {
          "path": "dockerized_labs/sensitive_data_exposure/templates/register.html",
          "sha256": "ccfefef363726479b8ed0533cf02bf8442418c19cb799412fa5769d2fed1de2e"
        },
        {
          "path": "docs/dev_guide.md",
          "sha256": "671b8695105bcbbc5dc2ebf155d39ffb4af6f4c86edbc6b3163dc0b63f64d61c"
        },
        {
          "path": "gh-md-toc",
          "sha256": "b583232b2912deee929b82c0ae40e9fcea4fd8f31370b5332cd86f33239f888d"
        },
        {
          "path": "installer.sh",
          "sha256": "1fdf03b066e53bceb8084411e09c42563fcee8716816a934a49c110048452177"
        },
        {
          "path": "introduction/__init__.py",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
        },
        {
          "path": "introduction/admin.py",
          "sha256": "2c6609afc59169f7837b5eb14192ddb0b45b7b988d63cc09b0a3050514d11866"
        },
        {
          "path": "introduction/apis.py",
          "sha256": "c1300593b48c40903a9165699f167a6af47783f7bc427d58d9a3e99b6b7b0413"
        },
        {
          "path": "introduction/apps.py",
          "sha256": "0b0a167fb960652c2cf030622bc33811ea49824dc4506d2fb56d5837e9e9ab1f"
        },
        {
          "path": "introduction/forms.py",
          "sha256": "c4e77768b1e47ce81c047c231069543dd903fe940da0e49d6527fc8c5d7bc9a8"
        },
        {
          "path": "introduction/lab_code/test.py",
          "sha256": "a94a1877f99430a84625ed69b07317673a50ddb68b61a0c42965a7a93e1f65b8"
        },
        {
          "path": "introduction/migrations/0001_initial.py",
          "sha256": "8c27dc38c97d4a1338ae9a2e7f4f34a31a0ca75205a0056ce31a742c6eb2c879"
        },
        {
          "path": "introduction/migrations/0002_auto_20210414_1510.py",
          "sha256": "63bce1409b79d2d9746b3ca587df5107f73c06bb1c1b5bdd9f05f758c4bb6446"
        },
        {
          "path": "introduction/migrations/0003_password_user.py",
          "sha256": "b0e108d549178eb7b887a31925f231cab6cbb9d8d53d9b3267e11b1bcbe25233"
        },
        {
          "path": "introduction/migrations/0004_auto_20210415_1722.py",
          "sha256": "dc5869393ac479d605a4c11a2fc7975cb5965f06eda3edaf6468d2954c4c4d88"
        },
        {
          "path": "introduction/migrations/0005_auto_20210415_1748.py",
          "sha256": "5272dfdebbb737265d85891f5e1d4be78582746c38a67b396ebdc5dd01a6a988"
        },
        {
          "path": "introduction/migrations/0006_comments.py",
          "sha256": "60d85d42091b001da32fd2e46fedab9a608311579be846a94ccef967dce20dd7"
        },
        {
          "path": "introduction/migrations/0007_auto_20210418_0022.py",
          "sha256": "46f8089cc4fcb7cae38155378519c54678e4fecd1ea982b645e729ac40c76dd4"
        },
        {
          "path": "introduction/migrations/0008_otp.py",
          "sha256": "d9228c2459fcf46f9587987bb1ece28f513b474be8c09a73b1fc482c41e98fb1"
        },
        {
          "path": "introduction/migrations/0009_auto_20210517_2047.py",
          "sha256": "483f1da5a0aa6c21e5be556c9b398d6cbd533453ec7ef45cee77453fcea3f5c8"
        },
        {
          "path": "introduction/migrations/0010_authlogin.py",
          "sha256": "733c84b808f814f9ea2dcaeb97b6159123b7e091417acdc627fea27a18634a5c"
        },
        {
          "path": "introduction/migrations/0011_tickits.py",
          "sha256": "1a7cf0014980b0b91b6772a51035f29877cf81dd9040821fce2ad8e5316d93ba"
        },
        {
          "path": "introduction/migrations/0012_alter_tickits_user.py",
          "sha256": "35c9f038b6680ab9460030c4901578be2f3f50f3ddefb1b17908e087e7076263"
        },
        {
          "path": "introduction/migrations/0013_alter_comments_id_alter_faang_id_alter_info_id_and_more.py",
          "sha256": "d67af45986d1783d0344c255e30a99b695cc9ecbb5b2356281218ca403d321f0"
        },
        {
          "path": "introduction/migrations/0014_sql_lab_table.py",
          "sha256": "a3efffe0e611bc45856d7bc290d50c1b6ef30bfc5bab5e135f720a7928362465"
        },
        {
          "path": "introduction/migrations/0015_blogs.py",
          "sha256": "f324417f5f20c8aeb16667c9175e57237a46e2da10af0d22f3f1238c9cc6fa40"
        },
        {
          "path": "introduction/migrations/0016_alter_blogs_blog_id.py",
          "sha256": "4cf216d6ae998fe02625aee7affa056e5883afb2c96f5bcd196ccdad8f87f4de"
        },
        {
          "path": "introduction/migrations/0017_cf_user.py",
          "sha256": "0219715d88ff892c5994b21e2ceed8aaecd9c5cd66c0b04b636b00b43204f6ae"
        },
        {
          "path": "introduction/migrations/0018_cf_user_password2.py",
          "sha256": "f44abf0e2abc69e4abf23577cdae9a1ad84dc0df6f0c90d6d91a0112c5e39463"
        },
        {
          "path": "introduction/migrations/0019_af_admin.py",
          "sha256": "8c8cc2ccbccd7f960bc82fd17a12d90c2ad27ef44dc42a19ed7d4cbe3e931244"
        },
        {
          "path": "introduction/migrations/0020_af_session_id_alter_af_admin_lockout_cooldown.py",
          "sha256": "1601ab3ab251d9e7a32ab09c290d4a5d55ba4e37c4042e41f8b32d1cc5672e64"
        },
        {
          "path": "introduction/migrations/0021_csrf_user_tbl.py",
          "sha256": "d72ca61e9d6964a20649ff937b4573dabd1c6d7f5491510b2015d6a60e1106b5"
        },
        {
          "path": "introduction/migrations/__init__.py",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
        },
        {
          "path": "introduction/mitre.py",
          "sha256": "c785e0e8c05d4d75d6b74fd6acd7003aea91d8c2bc2b644c9b51b7ee407e4300"
        },
        {
          "path": "introduction/models.py",
          "sha256": "b680d03edc35369579f840fbbdd8840ffbe452c093ec941372fbd0a265f375d0"
        },
        {
          "path": "introduction/playground/A6/soln.py",
          "sha256": "9b130d0fe13fea99600b3d9db83ec2460efb3fa76ef35aaa33e1e6926499e3ee"
        },
        {
          "path": "introduction/playground/A6/utility.py",
          "sha256": "bc9cf9841f947e110ad51c15eb0a380eb209dcb4f7ec7350bf253f2e2bf62439"
        },
        {
          "path": "introduction/playground/A9/api.py",
          "sha256": "aaf2cf863921cee738811cbf661d901bcd1a626c19011f4feb53d857fe757136"
        },
        {
          "path": "introduction/playground/A9/archive.py",
          "sha256": "947542763bf298754da74f9d5263c45436ee112a8ea7938d329960aec09cba1c"
        },
        {
          "path": "introduction/playground/A9/main.py",
          "sha256": "b501457ee2145ef17913d50ba781017d717a3892ac92ed5a68da6d64e747640c"
        },
        {
          "path": "introduction/playground/__init__.py",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
        },
        {
          "path": "introduction/playground/readme.md",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
        },
        {
          "path": "introduction/playground/ssrf/__init__.py",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
        },
        {
          "path": "introduction/playground/ssrf/main.py",
          "sha256": "53825da4e0e6081d8c0adb611d0caa40672b2e93eedf1a9fc9385e27201f5a79"
        },
        {
          "path": "introduction/playground/ssrf/secret.txt",
          "sha256": "031a8f0f659df890dfd53c92e45295b0f14c997185bae46e168831e403b273f7"
        },
        {
          "path": "introduction/playground/ssrf/templates/Lab/ssrf/blogs/blog1.txt",
          "sha256": "6235b7f9e398f0bf1e5a507faf5c5fb74ba738f95d4b15602d13a6b72aa943fc"
        },
        {
          "path": "introduction/playground/ssrf/templates/Lab/ssrf/blogs/blog2.txt",
          "sha256": "db605a264953727da48ed61de984a7298b8fefdd4ccf28ebdf658ef036ba8263"
        },
        {
          "path": "introduction/playground/ssrf/templates/Lab/ssrf/blogs/blog3.txt",
          "sha256": "14c009fbeeec47e44fb873e5b2d70281acb680b3643939e6a6924a8ef7cd0c93"
        },
        {
          "path": "introduction/playground/ssrf/templates/Lab/ssrf/blogs/blog4.txt",
          "sha256": "a1d3809da857a59e247db588b35224e8c6eef156c7b1bf2924a9db46bda73e6d"
        },
        {
          "path": "introduction/playground/ssrf/test.py",
          "sha256": "3c1695ff96ed302830f044e044fdbeaa10c8f571cfa58708e29aa2a880902754"
        },
        {
          "path": "introduction/static/Lab/icons/pygoat-mini.png",
          "sha256": "b96d1865b8b95c4c076b5fd10edc392c668b516caec0e562770eb1a615bfa32e"
        },
        {
          "path": "introduction/static/Lab/icons/pygoat-mini.svg",
          "sha256": "6e0e6f5011db0bcae6ea1702486081629b93dc6fc59ea23dc66a01d985238ff8"
        },
        {
          "path": "introduction/static/Lab/icons/pygoat-small.png",
          "sha256": "8a2a29f185af9f2b0d42e5239e723ac196feace5f5999ff99787b0503e87e8c2"
        },
        {
          "path": "introduction/static/Lab/icons/pygoat-small.svg",
          "sha256": "91463f9c930fe1eaa60ca2231b6669ff9254bdfaa4a5a01c8291d03a462652ee"
        },
        {
          "path": "introduction/static/Lab/icons/pygoat.png",
          "sha256": "258018561045be9a033f3396e660d0f9a33db0c119523c19bbe49cfa4b025773"
        },
        {
          "path": "introduction/static/Lab/icons/pygoat.svg",
          "sha256": "b094b484fc7a06989976afc1c94703b956ca49716852d086be3575bd8940c8b4"
        },
        {
          "path": "introduction/static/Lab/image/xxe.jpg",
          "sha256": "8c9d7b0ac1231f681d980471282d2845a59198edba933c6302764f4a919285c1"
        },
        {
          "path": "introduction/static/Lab/ssrf.css",
          "sha256": "374e21e676a0403df4549f2d70a6d2d323bf0708b45c290f0fb8251652e1ced8"
        },
        {
          "path": "introduction/static/Lab/ssrf.js",
          "sha256": "73cc98f0ac5647a768710028d0c0f4a85b10b17b3a8c6cc74055fd963192cca8"
        },
        {
          "path": "introduction/static/Lab/ssti.css",
          "sha256": "5bbc59f51c83599ed3660ae6417ce0c0b1ac73923ae5c9e3645312508b00b7d9"
        },
        {
          "path": "introduction/static/Lab/xss.js",
          "sha256": "7fba32638f23dfa6696f563edf6cbfbca47f7069c16c04691c2ae700ac2531c8"
        },
        {
          "path": "introduction/static/css/common.css",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
        },
        {
          "path": "introduction/static/css/dark-challenges.css",
          "sha256": "7ca8d945df885aa958801b2bdaafd09155118498bc1a63d7fc72101044bf23df"
        },
        {
          "path": "introduction/static/css/dark-theme.css",
          "sha256": "4b62dc233cb278fec2d771015eab44dca43bd96c07175bf8a63c34dbc544d441"
        },
        {
          "path": "introduction/static/css/home.css",
          "sha256": "0e6f2c5717131ffefa3568e7252a0390ef09519a3ea8fa3253055d47fdd78a01"
        },
        {
          "path": "introduction/static/css/light.css",
          "sha256": "bd0544c26e910b709ed813b9094c4c61272a1f704de66686fe3473b13090844f"
        },
        {
          "path": "introduction/static/css/playground.css",
          "sha256": "5ca39a8a3eef85379a5d774afd4771b2365977cf22a046d399c9b8e2fba19bbe"
        },
        {
          "path": "introduction/static/css/style.css",
          "sha256": "b05f414e61218682f665239eccc2de0f88535b64f54bb67524d860719cb0a890"
        },
        {
          "path": "introduction/static/fake.txt",
          "sha256": "7f91a6bf2ebd692b02b442f1eb447bafca17b3f8d37331cd7cfcc68e3d2f23f7"
        },
        {
          "path": "introduction/static/google.jpg",
          "sha256": "6f4556cd70e9b8affb2d4d76688facd67866e0110ef8e1021b61e0e2113ec495"
        },
        {
          "path": "introduction/static/js/a6.js",
          "sha256": "5c90ed9ae6b42ba4ed547f95d45ea2974783a8e39e9724ae06f7dbf20b4846e2"
        },
        {
          "path": "introduction/static/js/a7.js",
          "sha256": "c83bc8eb6513f491cc89e95ff7ec8714552c4621e3a20b56a3f3d1ea0d75b9ee"
        },
        {
          "path": "introduction/static/js/a9.js",
          "sha256": "e26fc1392a600878087a79485a234e4a451295f96e44170afaec635b790049e2"
        },
        {
          "path": "introduction/static/real.txt",
          "sha256": "773ff9dfab2f6568bcce2b8f3a8db4e5c6f6962b187e65e5b0896c7cf2cfa777"
        },
        {
          "path": "introduction/templates/Lab/A10/a10.html",
          "sha256": "a2e97dbc268806e1018e7ce14c32cbc6ac878a039876a398c0cd06adeb6087be"
        },
        {
          "path": "introduction/templates/Lab/A10/a10_lab.html",
          "sha256": "06e2b0da7fe344a8bf57cbf545c5ff237538fae529a881c5972386eea4bd95c3"
        },
        {
          "path": "introduction/templates/Lab/A10/a10_lab2.html",
          "sha256": "8932460729828d29e60feddd8480db441a07a1eeb15844c12336b44e5eaad79d"
        },
        {
          "path": "introduction/templates/Lab/A10/debug.log",
          "sha256": "8560539911444e48ee201234a2d03fa182d13df48accc2e86c8988d7854b941c"
        },
        {
          "path": "introduction/templates/Lab/A11/a11.html",
          "sha256": "23effea179d677faee57967d6e4ceab5588f47555e80e1ad95e0e515ea743ac8"
        },
        {
          "path": "introduction/templates/Lab/A11/a11_lab.html",
          "sha256": "62bd77f2eab907c8a6ae9c7d6afef8bd49cf58eeebad47b2a376b1c05e3351e0"
        },
        {
          "path": "introduction/templates/Lab/A9/a9.html",
          "sha256": "399cbc7076b2a3a5043f6959eed7789070df16182c8275914f05f30b77285c77"
        },
        {
          "path": "introduction/templates/Lab/A9/a9_lab.html",
          "sha256": "06537cb2f822ad25f6d8c00db463fd073412790a83dbaca183cae8ffd30e082b"
        },
        {
          "path": "introduction/templates/Lab/A9/a9_lab2.html",
          "sha256": "f95410c34d0751215d4c275706581d0a226323f159e2d99958db8989e7d0a892"
        },
        {
          "path": "introduction/templates/Lab/AUTH/auth_home.html",
          "sha256": "979c295f94b6ac80c438d3320c5037ae7e89397f8f327ba4f0778f88a1f6f92b"
        },
        {
          "path": "introduction/templates/Lab/AUTH/auth_lab.html",
          "sha256": "017b9116fdd1ec8bb15ab7699759e5c5d4b3bed8c2e78182dbe45353b5f92f2f"
        },
        {
          "path": "introduction/templates/Lab/AUTH/auth_lab_login.html",
          "sha256": "806270ddbd6fd5f8e730c9dccf85511c8425eea01a3c5ee4eef56688ebb8975e"
        },
        {
          "path": "introduction/templates/Lab/AUTH/auth_lab_signup.html",
          "sha256": "13d970254cc1dc3a76e09aeb0b1b88343321885fb1ca30c39eb4bb648d13514a"
        },
        {
          "path": "introduction/templates/Lab/AUTH/auth_success.html",
          "sha256": "902bc4b0882a842e8da47d5c30da6ac7d87b4831dcc2cc35aab359999b1879f0"
        },
        {
          "path": "introduction/templates/Lab/BrokenAccess/ba.html",
          "sha256": "111d8af72f576aaac1f4a9c61580edd616c3fa05dfad5915fe500c7bfa01c1e4"
        },
        {
          "path": "introduction/templates/Lab/BrokenAccess/ba_lab.html",
          "sha256": "9fa366d9faf2e7af4d9bf1929e0a7307e76680926cb089f3a915e7c9a9ea858a"
        },
        {
          "path": "introduction/templates/Lab/BrokenAuth/bau.html",
          "sha256": "75c287149557ac7be02a13fb63bc35bd2614bf1bf494064c0b043545e1442d0f"
        },
        {
          "path": "introduction/templates/Lab/BrokenAuth/bau_lab.html",
          "sha256": "eece666364a2350d8b86731be6141fceb44b815a78929052d2fbe4be9f631339"
        },
        {
          "path": "introduction/templates/Lab/BrokenAuth/otp.html",
          "sha256": "95eec36f0d1879b07328ea0bab7d69d2bfaddf931bb2c27256ea6e45640e34d0"
        },
        {
          "path": "introduction/templates/Lab/CMD/cmd.html",
          "sha256": "95a5c10c823456e946b2b6bea8e0f8e970a61daeacefb1390869ae657a5a9d76"
        },
        {
          "path": "introduction/templates/Lab/CMD/cmd_lab.html",
          "sha256": "4137a21a1ba4cf6bcfd988d787430976bdc73c1f9def93d42feca95752e01a12"
        },
        {
          "path": "introduction/templates/Lab/CMD/cmd_lab2.html",
          "sha256": "4adc1815260b5171c2b1f4692ce9125cfe4114cf759d23a840371755f68940d5"
        },
        {
          "path": "introduction/templates/Lab/DataExp/data_exp.html",
          "sha256": "bf2b7e4429578b9d0a49f9fdf88f0bcc82946ba1b707804525b5b3bfe9b86def"
        },
        {
          "path": "introduction/templates/Lab/DataExp/data_exp_lab.html",
          "sha256": "189bf3bf66d055d4f30c9916d1e80d08253487e60e4421c6025948ba489fac40"
        },
        {
          "path": "introduction/templates/Lab/DataExp/robots.txt",
          "sha256": "f7e976510dca7377cb46083e4949eaf038f22393aaf4e19f26bd568a861a3b96"
        },
        {
          "path": "introduction/templates/Lab/SQL/sql.html",
          "sha256": "c829d9d7c291b14d58d1c83cb1a90d51688978866a9256d0827646dc7d4ed290"
        },
        {
          "path": "introduction/templates/Lab/SQL/sql_lab.html",
          "sha256": "70d96da35ad0af216b39e4c2dbe9265a476b40e972a1a2c7f2a00b5b4b310842"
        },
        {
          "path": "introduction/templates/Lab/XSS/xss.html",
          "sha256": "8e9c2a502825813dbb9e28a3f10017e4ee059a9dbc641090f64c5d2e21dd0b6e"
        },
        {
          "path": "introduction/templates/Lab/XSS/xss_lab.html",
          "sha256": "22bd467a3554568325043236bd8c6d2cad61e511fa1b1a77c2f377c4cef84a22"
        },
        {
          "path": "introduction/templates/Lab/XSS/xss_lab_2.html",
          "sha256": "ba54a8e13f61ea52d50cd9c57940948f467fd0d337d2fd5ecb0d643d3c8b2d99"
        },
        {
          "path": "introduction/templates/Lab/XSS/xss_lab_3.html",
          "sha256": "fbd0d1a5dc91e7637d5cd6fcaad45f3b9d2752e80d6d1325028a0c12c473f88b"
        },
        {
          "path": "introduction/templates/Lab/XXE/xxe.html",
          "sha256": "e2cd6b3b13fccabf0a871b3d003a0b9c854a5c81738f06af8692b297c7b0842a"
        },
        {
          "path": "introduction/templates/Lab/XXE/xxe_lab.html",
          "sha256": "497d2407ff84fcf744e1b08048e2e9e5754516128a55cb2adc97b54a69c793c2"
        },
        {
          "path": "introduction/templates/Lab/insec_des/insec_des.html",
          "sha256": "4bca9b917ae03e6aa30d067a3b999a35db7ddf932440de0e620163b8c4d7b347"
        },
        {
          "path": "introduction/templates/Lab/insec_des/insec_des_lab.html",
          "sha256": "b32b38cc30d10cfd44910bf2aba2ba1f1ebcf55c11830fb9174a9094f16291c2"
        },
        {
          "path": "introduction/templates/Lab/sec_mis/sec_mis.html",
          "sha256": "09b5a2eaf9eba9ae94cfca6a865ff2faf0ea42ae04876db5c6b7851bc408556c"
        },
        {
          "path": "introduction/templates/Lab/sec_mis/sec_mis_lab.html",
          "sha256": "2462dbb5efa87e8cf16ec2c2cdceb3fc7d7b130dd1f572849c5ee8a24e82fed5"
        },
        {
          "path": "introduction/templates/Lab/sec_mis/sec_mis_lab3.html",
          "sha256": "cfb2b59d4eb52ac1baa70b8fba295e6f77eade103f68e8e45174327f432f1e7a"
        },
        {
          "path": "introduction/templates/Lab/ssrf/blogs/blog1.txt",
          "sha256": "7b96491308849ce256f69229728729f1a2bd5d7f3a17ea78944e579e35660dfe"
        },
        {
          "path": "introduction/templates/Lab/ssrf/blogs/blog2.txt",
          "sha256": "d4593889dc6d6109f133d86b6b9e513a38b9e0b02439961c18d8b8b02ddf1723"
        },
        {
          "path": "introduction/templates/Lab/ssrf/blogs/blog3.txt",
          "sha256": "0ca40dc94df502d12ea2cd7b4224df65dbe5f608cbd09d4f92c1233f0fd9cfee"
        },
        {
          "path": "introduction/templates/Lab/ssrf/blogs/blog4.txt",
          "sha256": "eda01e132a92dd39e52cee59dbbd95fd0d52e98f6674e2579efce75324e29931"
        },
        {
          "path": "introduction/templates/Lab/ssrf/secret.txt",
          "sha256": "fdcf4254fc02e5e41e545599f0be4f9f65e8be431ebc1fd301a96ea88dd0d5d6"
        },
        {
          "path": "introduction/templates/Lab/ssrf/ssrf.html",
          "sha256": "6f1cb10971b833d41d6e9b41f4641402d4f3ecf0314c13e2f0dbdb5abc413a02"
        },
        {
          "path": "introduction/templates/Lab/ssrf/ssrf_discussion.html",
          "sha256": "4c512bd6a5f57acabcaa887916dc404632a212c00f9f6925406d9631c80033fb"
        },
        {
          "path": "introduction/templates/Lab/ssrf/ssrf_lab.html",
          "sha256": "284126fbdf3c1f0918ca838858a83c4a69bf646b67fa4f387651853ff02402e7"
        },
        {
          "path": "introduction/templates/Lab/ssrf/ssrf_lab2.html",
          "sha256": "6e31429c2353040e72efd8b7545b201dda02cacf54c203340cbf89403599a2ac"
        },
        {
          "path": "introduction/templates/Lab/ssrf/ssrf_target.html",
          "sha256": "c394250e00450f99304d1bc3eb20dcc40ea76cc3d52f2a535b0d08c33c22a069"
        },
        {
          "path": "introduction/templates/Lab_2021/A1_BrokenAccessControl/broken_access.html",
          "sha256": "9afe5152b3253995161f5ff23a3840b2daba5963a2c88d9c3ac835f664bfb90c"
        },
        {
          "path": "introduction/templates/Lab_2021/A1_BrokenAccessControl/broken_access_lab_1.html",
          "sha256": "bb258c0427908fc9f8c5bb3724dcfb84bdac78773a2a35cb58d5627e5a26aa18"
        },
        {
          "path": "introduction/templates/Lab_2021/A1_BrokenAccessControl/broken_access_lab_2.html",
          "sha256": "1f6aac67071df17da3e6812274c1f62c5fa1a49e403d4cc3b696c3dde54c638e"
        },
        {
          "path": "introduction/templates/Lab_2021/A1_BrokenAccessControl/broken_access_lab_3.html",
          "sha256": "6c6c4c5a69d72bfc12ff23f607d90a8a2b3e39e050929b816d5deb8de36c3f66"
        },
        {
          "path": "introduction/templates/Lab_2021/A1_BrokenAccessControl/secret.html",
          "sha256": "9c4ff9e5206d38593733209572e20fab9f723bffc562894052bcc3d3cf7e25ff"
        },
        {
          "path": "introduction/templates/Lab_2021/A2_Crypto_failur/crypto_failure.html",
          "sha256": "15116c8fbc87c6e4a0ff3d496622f2009f6a2cc1fac5ff5d6dc8ca6d0559817c"
        },
        {
          "path": "introduction/templates/Lab_2021/A2_Crypto_failur/crypto_failure_lab.html",
          "sha256": "5d8a4d1240278499647e6b97a5684858d8d06cf47ed486856c8b97e960f39c96"
        },
        {
          "path": "introduction/templates/Lab_2021/A2_Crypto_failur/crypto_failure_lab2.html",
          "sha256": "5d8a4d1240278499647e6b97a5684858d8d06cf47ed486856c8b97e960f39c96"
        },
        {
          "path": "introduction/templates/Lab_2021/A2_Crypto_failur/crypto_failure_lab3.html",
          "sha256": "43239feeaf2b1fd932e66fedeb192c488c264738a9ff3689668ad7bc7dcfe6a1"
        },
        {
          "path": "introduction/templates/Lab_2021/A3_Injection/Blogs/0db9c0e7093d.html",
          "sha256": "805726fbb43bd73a3ae20861865d7566c7aeed74cdd5792802e0ab88be0eab9a"
        },
        {
          "path": "introduction/templates/Lab_2021/A3_Injection/Blogs/9d73d120683d.html",
          "sha256": "2665f8cf4d22199fda9827d59887a5219a6d04807c1ccc6d81f5f87f1ab00504"
        },
        {
          "path": "introduction/templates/Lab_2021/A3_Injection/Blogs/a2538af1b5e4.html",
          "sha256": "bf514b228bd60aaa039a618cb1ec83a72a44ee6f6d4b97a42775308240d6a62a"
        },
        {
          "path": "introduction/templates/Lab_2021/A3_Injection/injection.html",
          "sha256": "ecb0003956da7af77a9ef934eca78569304a71b11b87f05457c1ec768e3aeac5"
        },
        {
          "path": "introduction/templates/Lab_2021/A3_Injection/sql_lab.html",
          "sha256": "1b209ef73f523ad64f4d70e7af893d9f09ab5ce85506d61e2e19c0b404888289"
        },
        {
          "path": "introduction/templates/Lab_2021/A3_Injection/ssti.html",
          "sha256": "b1b6ec27387a3c6141fb0e3188f75232c827ebf95980089b2f77db71d2415ed5"
        },
        {
          "path": "introduction/templates/Lab_2021/A3_Injection/ssti_lab.html",
          "sha256": "9bbb341c89df1d3fe5b3ab093b3b75a554a42187d428eb0853bd2ccfa292074c"
        },
        {
          "path": "introduction/templates/Lab_2021/A7_auth_failure/a7.html",
          "sha256": "cbd254a2b523e84b728be972799596c0914661a239c88b0a0d585a512e1b9184"
        },
        {
          "path": "introduction/templates/Lab_2021/A7_auth_failure/lab2.html",
          "sha256": "deef1555f5e16038d1f0b46d62327d45fede139c46322c24cc4878bd9ac5743f"
        },
        {
          "path": "introduction/templates/Lab_2021/A7_auth_failure/lab3.html",
          "sha256": "b1152d52da2680e706955ebfbffdc07ffda015f1f8387e93130e824e0a5e1fdd"
        },
        {
          "path": "introduction/templates/Lab_2021/A8_software_and_data_integrity_failure/desc.html",
          "sha256": "91a17aeca81ec13c3264330164bfe676119dc2bbdc9c7d2fe91bb0deceb0e244"
        },
        {
          "path": "introduction/templates/Lab_2021/A8_software_and_data_integrity_failure/lab2.html",
          "sha256": "9b4e23be8107d57b70a2a53754b1b3093cf1c30af795b007fa2db875d874fba9"
        },
        {
          "path": "introduction/templates/Lab_2021/A8_software_and_data_integrity_failure/lab3.html",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
        },
        {
          "path": "introduction/templates/introduction/base.html",
          "sha256": "dca3be7fbbb037b399ef293e404ffdf30560f294519fe8fb723aa414d7454cfe"
        },
        {
          "path": "introduction/templates/introduction/home.html",
          "sha256": "4a9fab1d6e54e658105f1ba8d56591d69047984b917966fd3bdb9c8becc397f1"
        },
        {
          "path": "introduction/templates/mitre/csrf_dashboard.html",
          "sha256": "a2fa1629a075bf1ec830470ed75a38ed3fb521be52fcdb7edcaa5c805c7c010b"
        },
        {
          "path": "introduction/templates/mitre/csrf_lab_login.html",
          "sha256": "b53d9ebbb1619d5a226c9090d3e47833a20d0890bf1d753144f9b4df48f983a4"
        },
        {
          "path": "introduction/templates/mitre/mitre_lab_17.html",
          "sha256": "e50bf403929e18bd3e82c5a6b98c1ee91f49f0cc78a733cb2404328fd968ebb0"
        },
        {
          "path": "introduction/templates/mitre/mitre_lab_25.html",
          "sha256": "59230d61a4f97cff9df519582b8a24bd62cdd5c047aab8ea854b00e28fe03aff"
        },
        {
          "path": "introduction/templates/mitre/mitre_top1.html",
          "sha256": "835586491680b4b5ab8cec65527aa93009c8cef9335509698e8f6599db666ae6"
        },
        {
          "path": "introduction/templates/mitre/mitre_top10.html",
          "sha256": "c25d6812e313ca901d4e5299b02fc9ea403121e6b2d3dbfa790a4b73a53896e4"
        },
        {
          "path": "introduction/templates/mitre/mitre_top11.html",
          "sha256": "66f22ab2c3d8747b6bb1e8a2e3ba0cdd6b5f3fe74fcdaf4accd10bdd1f002e72"
        },
        {
          "path": "introduction/templates/mitre/mitre_top12.html",
          "sha256": "9fa7a730d6f2e293064ba688c07e95e68bea3f3d962e72a78c04783d5ab9e874"
        },
        {
          "path": "introduction/templates/mitre/mitre_top13.html",
          "sha256": "23210304c067cb6e326547d3ed8fc102029b5a69f5789084b3d31b7b3d6c2f8d"
        },
        {
          "path": "introduction/templates/mitre/mitre_top14.html",
          "sha256": "652061e85c9c83f0f97bb88691ef9d51393650bf22f43eebbd8753de8d3141f9"
        },
        {
          "path": "introduction/templates/mitre/mitre_top15.html",
          "sha256": "25f87b422708bfddc00423fabdf66edd76bb71f7b71f63e190846f5befc5908e"
        },
        {
          "path": "introduction/templates/mitre/mitre_top16.html",
          "sha256": "8d84429c1c44b63070130984b0ddecadc62f1e6ee73ad00e29c042ad9a4013df"
        },
        {
          "path": "introduction/templates/mitre/mitre_top17.html",
          "sha256": "e54a1de81397d81abf73a02103027bb66c76895b3e198e14f1de6a4604d9d276"
        },
        {
          "path": "introduction/templates/mitre/mitre_top18.html",
          "sha256": "d7a80231c8606c3297abc01357cdb12390e2d92de6ada3346c74a57f85cee4b0"
        },
        {
          "path": "introduction/templates/mitre/mitre_top19.html",
          "sha256": "4d9e665bec05cc6a96113f7bdae7dfbb193681c7060124a7279b64e25d7982ef"
        },
        {
          "path": "introduction/templates/mitre/mitre_top2.html",
          "sha256": "7d17420665521d037022a556801199e47a04e0e994d14cd33d6f98bb163d5cc8"
        },
        {
          "path": "introduction/templates/mitre/mitre_top20.html",
          "sha256": "b5afed276e7d4f3dd2ba6a7828fbf141631bc54735fb902012fff74bb9d48ea0"
        },
        {
          "path": "introduction/templates/mitre/mitre_top21.html",
          "sha256": "0dd1b6a9597a8dc37425ea3a7cde3844b816e3c8bbdd3dbbd4cf5e2e34bffbdc"
        },
        {
          "path": "introduction/templates/mitre/mitre_top22.html",
          "sha256": "1e3a0b52f54e99f9d3156649a831c52d06416a5214a9c210e0df070041dbaa33"
        },
        {
          "path": "introduction/templates/mitre/mitre_top23.html",
          "sha256": "6ac57c47f45ae3fc00e3c55fda37fa483c51ea60426c618b19bf3095b97c10d7"
        },
        {
          "path": "introduction/templates/mitre/mitre_top24.html",
          "sha256": "085546ccb4d829fce5afc9a70818acc79140d142544c2e3ae46f61219d51bb98"
        },
        {
          "path": "introduction/templates/mitre/mitre_top25.html",
          "sha256": "e09eaea84da7db3e04014d93dc9c7624f16ed21783c43da527faa2c414cebfd0"
        },
        {
          "path": "introduction/templates/mitre/mitre_top3.html",
          "sha256": "854a5f6afe818acff94a3d9d99e077addc8bd816db9bc34412fd5c82b48cca6c"
        },
        {
          "path": "introduction/templates/mitre/mitre_top4.html",
          "sha256": "b3f1feabe9057013ff9a71ddb2aef84f3b0d303201894c7f41b9ca641f5d5c67"
        },
        {
          "path": "introduction/templates/mitre/mitre_top5.html",
          "sha256": "79322eb89eb958c5d89c1ae3c03fcf8c7203e73316497d5ef1a295ab23c32445"
        },
        {
          "path": "introduction/templates/mitre/mitre_top6.html",
          "sha256": "969b8a31f349cb513606648ce4355f3cc35e3bb4888e7e7d7d0a90356608dc77"
        },
        {
          "path": "introduction/templates/mitre/mitre_top7.html",
          "sha256": "d8fe3a434057d909798a6b661883702b525ccb3c0ada6248e3ded1f49988f876"
        },
        {
          "path": "introduction/templates/mitre/mitre_top8.html",
          "sha256": "b4cd239f24b3a3a5fcb47514d134e6767117e1a6f784809255e29eebc58c57a4"
        },
        {
          "path": "introduction/templates/mitre/mitre_top9.html",
          "sha256": "e7331eafecd72889d09435fbe26a9b3a67d4192ab454d0fc14da2144b8ecb2f2"
        },
        {
          "path": "introduction/templates/playground/A6/index.html",
          "sha256": "67026216849c235e3c4e48b81ff030f4c00d2a1ec9fed8779ceb88d2788f9e01"
        },
        {
          "path": "introduction/templates/playground/A7/index.html",
          "sha256": "c8da4e16aa97ad09e04c7ae6e82b013d3e4f79061ab76ad6eeba8d334e872d88"
        },
        {
          "path": "introduction/templates/playground/A9/index.html",
          "sha256": "7b02939589b9c8b837fcf7cabe0590c54adddb96a092fd8fb5f3b2db06f58049"
        },
        {
          "path": "introduction/templates/registration/login.html",
          "sha256": "60ee4ceb606a7d127074145af6be3f57958219ae59ef324f708a2497ec75e0f7"
        },
        {
          "path": "introduction/templates/registration/logout.html",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
        },
        {
          "path": "introduction/templates/registration/register.html",
          "sha256": "8477cfc7cf499793f5ab5f9584bd59db76bbf15cf754e910b716a2f2a0c48542"
        },
        {
          "path": "introduction/tests.py",
          "sha256": "9ab6c6191360e63c1b4c9b5659aef348a743c9e078be68190917369e4e9563e8"
        },
        {
          "path": "introduction/urls.py",
          "sha256": "84353e8899d9997d4d9b0d07d4565a5e92688ade0eeae481387f98c748c3bb11"
        },
        {
          "path": "introduction/utility.py",
          "sha256": "f50badcfba42a28516e078a1c8e5ba24a727c36dd522a4f0162e8a17735b4bd6"
        },
        {
          "path": "introduction/views.py",
          "sha256": "72fc98c98cab529f1d631d44ff980dbcb2017600c97be5a862164c8b0fd1714e"
        },
        {
          "path": "introduction/xee_see.txt",
          "sha256": "23d7d528493e0f528524ad68eb919d16c46e1b86d147c40f23b9af86335cc6d9"
        },
        {
          "path": "manage.py",
          "sha256": "0f325d3db369aff8fae40cde3c931fceb6b8396d3057191ab47cb25c566c32c5"
        },
        {
          "path": "pygoat/__init__.py",
          "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
        },
        {
          "path": "pygoat/asgi.py",
          "sha256": "7fa0190869a3b0df0142c5b2d2eb8a38d949a1dfb62cb85886122eba9d81b616"
        },
        {
          "path": "pygoat/settings.py",
          "sha256": "21a0f9b77548140e21d9afcc471d07903485fc07270b6da06ece6cc66de8a677"
        },
        {
          "path": "pygoat/urls.py",
          "sha256": "3f5f15a4954679565c4d6cec9935729a0be5bc48ff3ce7981b20ca54206e29e8"
        },
        {
          "path": "pygoat/wsgi.py",
          "sha256": "68ebb2e5ea4b9819dd59f5cc71d798f1102762964a3308156a5402ec31c825eb"
        },
        {
          "path": "requirements.txt",
          "sha256": "8b5ab4f5aa0f8843b02ae2f56f0306b81cb73292a2c74d0ceb40a257aec0a6ec"
        },
        {
          "path": "setup.py",
          "sha256": "3c20998e5d8f21dcf742bf95d5cd9afdfc7a87bacf1cfd6618eb678d13a03651"
        },
        {
          "path": "uninstaller.py",
          "sha256": "180a30400ada301d3027afdf2b8f84680d8f661303ed113ad2c876a3386e6dd7"
        },
        {
          "path": "uninstaller.sh",
          "sha256": "54fac24b70d6110540fd98697e642d788989bdbf18c9f274ee6b69fa33650bde"
        }
      ],
      "policy": "All repository Python/JavaScript/TypeScript files scored independently before label adjudication. Other text files receive native secret scanning but unsupported SAST status. No suite code execution, helper resolution, model, external secret tool or repair generation. Case credit requires exact CWE and finding start line within the adjudicated function range. File failures remain failures. Selection is one intentionally vulnerable Django training repository, not a representative customer sample. No detector tuning after freeze."
    },
    "protocolSha256": "8181b6b13e5ffe95fcace1a1fdecf7e4b579e212c2fc19cbbaeb1f37e1b0210a",
    "predictionSha256": "ba251b1129792e55662ade66ca21729b7f49cfc2c1f28473358333a1be80a4ba",
    "predictions": [
      {
        "path": ".all-contributorsrc",
        "sha256": "2b174d904ba08fea5a7cc007b29503280cc618d0fbc4a2705f7186b09bfb33c3",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": ".github/workflows/flake8.yml",
        "sha256": "ca90b578bf9b1f58fe5bc1765fa009fcb6bd2eae715f288ad23ab6cb73788e93",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": ".github/workflows/hadolint.yml",
        "sha256": "33e706e2d8c27de797c2363c8edbd868eb76dbaef3b94f30d36d972041f80eba",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": ".gitignore",
        "sha256": "1ba81a3af2268021abda79ef1f31040932899a9372852d5738fcf4904259141c",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": ".vscode/settings.json",
        "sha256": "1dfdc6c65b625765d00a098889062a1158d5a9e747b7ef2f8eaeaf9e3366b4ce",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "CHANGELOG.md",
        "sha256": "fd6042bcd0b8780035e94b404e37286e13f570b4c164e9fe77aebfd8d777047e",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "Dockerfile",
        "sha256": "3312494071f8f6d4e9586e97e9a4bb3928340e647ee53c1c972c9e7849b28d83",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "LICENSE.md",
        "sha256": "f3e0249f489c8823e83c5f6e4a65795e624ef9024381722f21592134dcab611f",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "Procfile",
        "sha256": "8c6808132556c2f7e518ba19087d42734b2c8ac00410fefe4f3ac9f0352c8ed1",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "PyGoatBot.py",
        "sha256": "1db02208295a9c3b92c67844596703d0593468d25ea45e9533558ed31dfff1ff",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "README.md",
        "sha256": "3d19c9325dc141ee830688afc9607ff6854ba7643e2a5b1c87b9a75a4e1928f5",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "Solutions/solution.md",
        "sha256": "816763310a90bdf41403bde7cd445fb0ccc9a5b97e1700a97f8340150093f095",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "challenge/README.md",
        "sha256": "906528d65e91dc555dcb4a691adbd04a010993e095b68d443418474ede72a6e3",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "challenge/__init__.py",
        "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "challenge/admin.py",
        "sha256": "49dc2ef5a3173d655f409495630f0d0abdceb4d705b4d63c28fd14201eb50fdd",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "challenge/apps.py",
        "sha256": "1f3195b9554667d28342b854082f6f9c52b4a0842178be53d648ff60b8b4a445",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "challenge/challenge.json",
        "sha256": "8062440ece5350c087c68c5266d7ef85904995296d684274830d372d3ac97fb1",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "challenge/management/commands/populate_challenge.py",
        "sha256": "c5f188e0c7c8ac031d6d4f0e528753dbc697acedd6221346cdc9a776f5ffa782",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "challenge/management/commands/populate_challenges.py",
        "sha256": "4ea5dcc37003e2d9be8503d84fe48d3cb45f3ba88427948035c6658a51dc6643",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "challenge/migrations/0001_initial.py",
        "sha256": "a5bd5f567022e59e210dd4be0aaba176cacfd366465d427209416dd31100fa15",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "challenge/migrations/0002_challenge_docker_port.py",
        "sha256": "7bae91f01efe515ed30f9e26aabaad2783efad92a544d6403b983240dd34caf0",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "challenge/migrations/0003_alter_challenge_docker_image_alter_challenge_id_and_more.py",
        "sha256": "5a0809e5c7b25cbf2aab4dce25f8ad5af6724c09df02cfe8698f5e0b25780c37",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "challenge/migrations/__init__.py",
        "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "challenge/models.py",
        "sha256": "f04b7d610fc7fef1c4d45825b25fc4b5bd5c22d98e759cb48bc3580a9a157a10",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "challenge/templates/chal-not-found.html",
        "sha256": "d288c5a6ffc9ce5ddab5a19f2ef9af832f3b0cb9bfc1fe5717494db0a8f60bf5",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "challenge/templates/challenge.html",
        "sha256": "977c305784ff6bb4fb6843014ad32ed4191b2ae26f54d8609eaef5bf97b5288f",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "challenge/tests.py",
        "sha256": "9ab6c6191360e63c1b4c9b5659aef348a743c9e078be68190917369e4e9563e8",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "challenge/urls.py",
        "sha256": "3bf53e36052a1e979c66554693b5294823a8e34873a696da984101c008bc4342",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "challenge/utility.py",
        "sha256": "fa4c6895479ec9c3bbb10f3ab3e059b1607e0ba9136280a1792280ca6d2ff8ec",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "challenge/views.py",
        "sha256": "15e22f431a68cd4dfd965c0b10081ba99190415ebd2f2fd984a7e8cff22128ba",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "chatbot/README.md",
        "sha256": "b1d91c0a68d32dd7b1a358e20d04f8c47f8bb17e907f9ef655fafe4b1076cc4f",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "chatbot/pygoatbot.ipynb",
        "sha256": "eacacc7c529109cd701e20f0ff0e85066b879defd3d506fe05dfae57b1eb2bec",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "docker-compose.yml",
        "sha256": "16f382de71c1c93c8ccdda27a19f167a1533de300f29d3e6f8fbdb38cfb39f81",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/broken_auth_lab/Dockerfile",
        "sha256": "ab7d4ff35dcdf7dcb052328279c045384850832224048d8d960c218235a1de03",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/broken_auth_lab/README.md",
        "sha256": "fe6b96ce3d56ee63e62ac1aba1e2f04dc2428fa89b5c15a28c05e20340e186d8",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/broken_auth_lab/app.py",
        "sha256": "55f63916cc90227e9f675e422bd2565b2156993f0431561d40038e7c3a9393ef",
        "status": "scored",
        "findings": [
          {
            "line": 49,
            "cwes": [
              "CWE-614"
            ],
            "rule": "COOKIE-001"
          },
          {
            "line": 86,
            "cwes": [
              "CWE-328"
            ],
            "rule": "HASH-001"
          }
        ],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/broken_auth_lab/docker-compose.yml",
        "sha256": "702aa6edf0e76732f3e599b6ccf152838925c2f202b05be754900cc76ba66f05",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/broken_auth_lab/requirements.txt",
        "sha256": "3691e2bd2f4cde9be8f4025de9e7fa703b0f6b2acb967a9a8f7554c774a292ef",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/broken_auth_lab/static/style.css",
        "sha256": "924f7af3e30e7d98a4e6cdd1dc7468d47a9429bd7993788e4475222ce527976d",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/broken_auth_lab/templates/base.html",
        "sha256": "e844ed5c0e9306cdf9472be4286035f6528aed7be7d805af2a12240d214bbcfa",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/broken_auth_lab/templates/dashboard.html",
        "sha256": "607fb33a6988c6fef4bac3d3ee7bba9af5524245b108ecbc09708e443de16a31",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/broken_auth_lab/templates/index.html",
        "sha256": "e50f907aee10ce9ecb18fa9b8d42b637735b84353b7f86281b8406017ab51425",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/broken_auth_lab/templates/lab.html",
        "sha256": "93ac2a594d64d6d1fc6a9b8bb6c21410276e6af985a2e1092c7238bac4ba3bd3",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/broken_auth_lab/templates/reset.html",
        "sha256": "38c8bed393ef49f8ee38af2eee00c77833b960f0d2aea62d635bdd8bc76fa6f6",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/insec_des_lab/.dockerignore",
        "sha256": "a586f40b698a2b1410d9b69a9708daca7b860f2dc10fd4ea885fb4e9407629ba",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/insec_des_lab/Dockerfile",
        "sha256": "341bfddcd9b7bbd0810125bc71e88446942cb9696f3b26e9a175324baa2a775f",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/insec_des_lab/README.md",
        "sha256": "57179d00172fae2ab69d531c9d7a34741f55faa3da52c93699a040a54b23d7b8",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/insec_des_lab/docker-compose.yml",
        "sha256": "e434f039eaf50660f11b748be5236211b75acd29d1cc9360dd92d5e40e055ed3",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/insec_des_lab/main.py",
        "sha256": "070993efd2dca7d9c39c83c5f17230279a103ddc7aacc0e3ba6ce4214c5ed21a",
        "status": "scored",
        "findings": [
          {
            "line": 36,
            "cwes": [
              "CWE-502"
            ],
            "rule": "DESER-001"
          },
          {
            "line": 36,
            "cwes": [
              "CWE-502"
            ],
            "rule": "DESER-002"
          }
        ],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/insec_des_lab/requirements.txt",
        "sha256": "9192de47c423852e57959ef0d902a4073959967d8d47a38e1844c2297cb8e3c8",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/insec_des_lab/static/style.css",
        "sha256": "b49846db4d59a22af023d1b10cc0f3b596bdfe95ed2abc81ff07f051bfcd4d9c",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/insec_des_lab/templates/base.html",
        "sha256": "e42e5249f51a8d1a1659e7f695cee33a5287e7198e5259363e99014aa07282cc",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/insec_des_lab/templates/index.html",
        "sha256": "7474a51c1bc7bdf691d7b2a0041c035cedd7d7e0aa5e1b55c84ae5f5f9a747a9",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/insec_des_lab/templates/result.html",
        "sha256": "145d378df312d3bac8a1085d6dd8688d8b91a31ff511e0cee2b4cf4dd2b31ebd",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/Dockerfile",
        "sha256": "007de200786f943a4905cf245a4049fe403848b14122a9ef728c2c0697da31da",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/README.md",
        "sha256": "b9d313bcaf7e05365f9345daf6b88720515d5d20f505bc925a6aa497697fbec9",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/dataexposure/__init__.py",
        "sha256": "595028648c667137ea5f36f48385e6eab10cfb9bb4a2b0068aecabc11af5e8a9",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/dataexposure/forms.py",
        "sha256": "0db1b9aea3347105c9c56246cf0dcec9be66d736fe22560a4a2108c7edfb3219",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/dataexposure/migrations/0001_initial.py",
        "sha256": "4b07ec870defc9ab6ec53974e1a04c63edf8ca2ba914c67745bcf57a8684fc48",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/dataexposure/migrations/__init__.py",
        "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/dataexposure/models.py",
        "sha256": "58f1d21d044c985d3a6539aa64019e2cd6fa99e2fad37aa7f45cd8cbbfb7c119",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/dataexposure/urls.py",
        "sha256": "f7962d4ab21a0f98b89c40f3d818713a614a8112aca542fd0edc63d598044ba3",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/dataexposure/views.py",
        "sha256": "458b2a920c4d32653e57a62f60c0a723e7fc4a8324ef0eb400f8afc5febf9e15",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/docker-compose.yml",
        "sha256": "d19ac30fea6f29000cae4c028afbdeea9bc6bd94f4d3dce991779100e147d6f3",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/entrypoint.sh",
        "sha256": "4541d884503bd86e0091acae911a2fd8987b0e561b0884a0ea49c384bbb40cbb",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/manage.py",
        "sha256": "415943f334b248eca8fca6c29110e15bd0653aeb36ece515dc43db461ad92e11",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/requirements.txt",
        "sha256": "645eeaa08c92d7d209e6919a6fc8c28265f2b5c5014484d79892c26e3d5e9a00",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/sensitive_data_lab/__init__.py",
        "sha256": "595028648c667137ea5f36f48385e6eab10cfb9bb4a2b0068aecabc11af5e8a9",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/sensitive_data_lab/settings.py",
        "sha256": "9b236e5d1f20943718ed20952060f1ee63edc569255909a016c7a193406f1191",
        "status": "scored",
        "findings": [],
        "secretLines": [
          8
        ]
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/sensitive_data_lab/urls.py",
        "sha256": "9b42bf19d6c5806b72e30636cbb14619fe5ddfebc804f44a05f98d835c5b6831",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/sensitive_data_lab/wsgi.py",
        "sha256": "ae0dbf9138bf51ba26693e5487ca2c1eb87f4af95edd9239b14302bd8022ada7",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/templates/about.html",
        "sha256": "786a0a8eac86988ba3f52d2f3807be09eb717135995403c98325f719eaacc7d8",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/templates/base.html",
        "sha256": "071074a03817d5b94cf38ea6ff82490f10c692097840668d6a4558555a1f512f",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/templates/index.html",
        "sha256": "47c3dcb640db1804741c82e4b763654129bbdbdbc66094462970187b7273954d",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/templates/lesson.html",
        "sha256": "afaa933bf61274b222c89fbace3137bb43c4d03a34ddf88881553bfd1307cc6d",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/templates/login.html",
        "sha256": "bf5bb06e9f15fcf9716bf721aba9573592e233617d53ca586cad74e0ecaaa338",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/templates/profile.html",
        "sha256": "0e0186bdb0dc2b1d80a6d6ffeb874242f270723629fd0f68fa67e19ceeaafc46",
        "status": "unsupported",
        "findings": [],
        "secretLines": [
          228
        ]
      },
      {
        "path": "dockerized_labs/sensitive_data_exposure/templates/register.html",
        "sha256": "ccfefef363726479b8ed0533cf02bf8442418c19cb799412fa5769d2fed1de2e",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "docs/dev_guide.md",
        "sha256": "671b8695105bcbbc5dc2ebf155d39ffb4af6f4c86edbc6b3163dc0b63f64d61c",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "gh-md-toc",
        "sha256": "b583232b2912deee929b82c0ae40e9fcea4fd8f31370b5332cd86f33239f888d",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "installer.sh",
        "sha256": "1fdf03b066e53bceb8084411e09c42563fcee8716816a934a49c110048452177",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/__init__.py",
        "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/admin.py",
        "sha256": "2c6609afc59169f7837b5eb14192ddb0b45b7b988d63cc09b0a3050514d11866",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/apis.py",
        "sha256": "c1300593b48c40903a9165699f167a6af47783f7bc427d58d9a3e99b6b7b0413",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/apps.py",
        "sha256": "0b0a167fb960652c2cf030622bc33811ea49824dc4506d2fb56d5837e9e9ab1f",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/forms.py",
        "sha256": "c4e77768b1e47ce81c047c231069543dd903fe940da0e49d6527fc8c5d7bc9a8",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/lab_code/test.py",
        "sha256": "a94a1877f99430a84625ed69b07317673a50ddb68b61a0c42965a7a93e1f65b8",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0001_initial.py",
        "sha256": "8c27dc38c97d4a1338ae9a2e7f4f34a31a0ca75205a0056ce31a742c6eb2c879",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0002_auto_20210414_1510.py",
        "sha256": "63bce1409b79d2d9746b3ca587df5107f73c06bb1c1b5bdd9f05f758c4bb6446",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0003_password_user.py",
        "sha256": "b0e108d549178eb7b887a31925f231cab6cbb9d8d53d9b3267e11b1bcbe25233",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0004_auto_20210415_1722.py",
        "sha256": "dc5869393ac479d605a4c11a2fc7975cb5965f06eda3edaf6468d2954c4c4d88",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0005_auto_20210415_1748.py",
        "sha256": "5272dfdebbb737265d85891f5e1d4be78582746c38a67b396ebdc5dd01a6a988",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0006_comments.py",
        "sha256": "60d85d42091b001da32fd2e46fedab9a608311579be846a94ccef967dce20dd7",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0007_auto_20210418_0022.py",
        "sha256": "46f8089cc4fcb7cae38155378519c54678e4fecd1ea982b645e729ac40c76dd4",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0008_otp.py",
        "sha256": "d9228c2459fcf46f9587987bb1ece28f513b474be8c09a73b1fc482c41e98fb1",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0009_auto_20210517_2047.py",
        "sha256": "483f1da5a0aa6c21e5be556c9b398d6cbd533453ec7ef45cee77453fcea3f5c8",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0010_authlogin.py",
        "sha256": "733c84b808f814f9ea2dcaeb97b6159123b7e091417acdc627fea27a18634a5c",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0011_tickits.py",
        "sha256": "1a7cf0014980b0b91b6772a51035f29877cf81dd9040821fce2ad8e5316d93ba",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0012_alter_tickits_user.py",
        "sha256": "35c9f038b6680ab9460030c4901578be2f3f50f3ddefb1b17908e087e7076263",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0013_alter_comments_id_alter_faang_id_alter_info_id_and_more.py",
        "sha256": "d67af45986d1783d0344c255e30a99b695cc9ecbb5b2356281218ca403d321f0",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0014_sql_lab_table.py",
        "sha256": "a3efffe0e611bc45856d7bc290d50c1b6ef30bfc5bab5e135f720a7928362465",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0015_blogs.py",
        "sha256": "f324417f5f20c8aeb16667c9175e57237a46e2da10af0d22f3f1238c9cc6fa40",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0016_alter_blogs_blog_id.py",
        "sha256": "4cf216d6ae998fe02625aee7affa056e5883afb2c96f5bcd196ccdad8f87f4de",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0017_cf_user.py",
        "sha256": "0219715d88ff892c5994b21e2ceed8aaecd9c5cd66c0b04b636b00b43204f6ae",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0018_cf_user_password2.py",
        "sha256": "f44abf0e2abc69e4abf23577cdae9a1ad84dc0df6f0c90d6d91a0112c5e39463",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0019_af_admin.py",
        "sha256": "8c8cc2ccbccd7f960bc82fd17a12d90c2ad27ef44dc42a19ed7d4cbe3e931244",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0020_af_session_id_alter_af_admin_lockout_cooldown.py",
        "sha256": "1601ab3ab251d9e7a32ab09c290d4a5d55ba4e37c4042e41f8b32d1cc5672e64",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/0021_csrf_user_tbl.py",
        "sha256": "d72ca61e9d6964a20649ff937b4573dabd1c6d7f5491510b2015d6a60e1106b5",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/migrations/__init__.py",
        "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/mitre.py",
        "sha256": "c785e0e8c05d4d75d6b74fd6acd7003aea91d8c2bc2b644c9b51b7ee407e4300",
        "status": "scored",
        "findings": [
          {
            "line": 218,
            "cwes": [
              "CWE-94"
            ],
            "rule": "PYEXEC-001"
          },
          {
            "line": 218,
            "cwes": [
              "CWE-95"
            ],
            "rule": "CODE-001"
          },
          {
            "line": 233,
            "cwes": [
              "CWE-78"
            ],
            "rule": "CMDI-001"
          },
          {
            "line": 161,
            "cwes": [
              "CWE-328"
            ],
            "rule": "HASH-001"
          }
        ],
        "secretLines": []
      },
      {
        "path": "introduction/models.py",
        "sha256": "b680d03edc35369579f840fbbdd8840ffbe452c093ec941372fbd0a265f375d0",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/playground/A6/soln.py",
        "sha256": "9b130d0fe13fea99600b3d9db83ec2460efb3fa76ef35aaa33e1e6926499e3ee",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/playground/A6/utility.py",
        "sha256": "bc9cf9841f947e110ad51c15eb0a380eb209dcb4f7ec7350bf253f2e2bf62439",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/playground/A9/api.py",
        "sha256": "aaf2cf863921cee738811cbf661d901bcd1a626c19011f4feb53d857fe757136",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/playground/A9/archive.py",
        "sha256": "947542763bf298754da74f9d5263c45436ee112a8ea7938d329960aec09cba1c",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/playground/A9/main.py",
        "sha256": "b501457ee2145ef17913d50ba781017d717a3892ac92ed5a68da6d64e747640c",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/playground/__init__.py",
        "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/playground/readme.md",
        "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/playground/ssrf/__init__.py",
        "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/playground/ssrf/main.py",
        "sha256": "53825da4e0e6081d8c0adb611d0caa40672b2e93eedf1a9fc9385e27201f5a79",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/playground/ssrf/secret.txt",
        "sha256": "031a8f0f659df890dfd53c92e45295b0f14c997185bae46e168831e403b273f7",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/playground/ssrf/templates/Lab/ssrf/blogs/blog1.txt",
        "sha256": "6235b7f9e398f0bf1e5a507faf5c5fb74ba738f95d4b15602d13a6b72aa943fc",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/playground/ssrf/templates/Lab/ssrf/blogs/blog2.txt",
        "sha256": "db605a264953727da48ed61de984a7298b8fefdd4ccf28ebdf658ef036ba8263",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/playground/ssrf/templates/Lab/ssrf/blogs/blog3.txt",
        "sha256": "14c009fbeeec47e44fb873e5b2d70281acb680b3643939e6a6924a8ef7cd0c93",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/playground/ssrf/templates/Lab/ssrf/blogs/blog4.txt",
        "sha256": "a1d3809da857a59e247db588b35224e8c6eef156c7b1bf2924a9db46bda73e6d",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/playground/ssrf/test.py",
        "sha256": "3c1695ff96ed302830f044e044fdbeaa10c8f571cfa58708e29aa2a880902754",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/static/Lab/icons/pygoat-mini.svg",
        "sha256": "6e0e6f5011db0bcae6ea1702486081629b93dc6fc59ea23dc66a01d985238ff8",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/static/Lab/icons/pygoat-small.svg",
        "sha256": "91463f9c930fe1eaa60ca2231b6669ff9254bdfaa4a5a01c8291d03a462652ee",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/static/Lab/icons/pygoat.svg",
        "sha256": "b094b484fc7a06989976afc1c94703b956ca49716852d086be3575bd8940c8b4",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/static/Lab/ssrf.css",
        "sha256": "374e21e676a0403df4549f2d70a6d2d323bf0708b45c290f0fb8251652e1ced8",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/static/Lab/ssrf.js",
        "sha256": "73cc98f0ac5647a768710028d0c0f4a85b10b17b3a8c6cc74055fd963192cca8",
        "status": "scored",
        "findings": [
          {
            "line": 63,
            "cwes": [
              "CWE-79"
            ],
            "rule": "XSS-001"
          }
        ],
        "secretLines": []
      },
      {
        "path": "introduction/static/Lab/ssti.css",
        "sha256": "5bbc59f51c83599ed3660ae6417ce0c0b1ac73923ae5c9e3645312508b00b7d9",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/static/Lab/xss.js",
        "sha256": "7fba32638f23dfa6696f563edf6cbfbca47f7069c16c04691c2ae700ac2531c8",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/static/css/common.css",
        "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/static/css/dark-challenges.css",
        "sha256": "7ca8d945df885aa958801b2bdaafd09155118498bc1a63d7fc72101044bf23df",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/static/css/dark-theme.css",
        "sha256": "4b62dc233cb278fec2d771015eab44dca43bd96c07175bf8a63c34dbc544d441",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/static/css/home.css",
        "sha256": "0e6f2c5717131ffefa3568e7252a0390ef09519a3ea8fa3253055d47fdd78a01",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/static/css/light.css",
        "sha256": "bd0544c26e910b709ed813b9094c4c61272a1f704de66686fe3473b13090844f",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/static/css/playground.css",
        "sha256": "5ca39a8a3eef85379a5d774afd4771b2365977cf22a046d399c9b8e2fba19bbe",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/static/css/style.css",
        "sha256": "b05f414e61218682f665239eccc2de0f88535b64f54bb67524d860719cb0a890",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/static/fake.txt",
        "sha256": "7f91a6bf2ebd692b02b442f1eb447bafca17b3f8d37331cd7cfcc68e3d2f23f7",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/static/js/a6.js",
        "sha256": "5c90ed9ae6b42ba4ed547f95d45ea2974783a8e39e9724ae06f7dbf20b4846e2",
        "status": "scored",
        "findings": [
          {
            "line": 6,
            "cwes": [
              "CWE-79"
            ],
            "rule": "XSS-001"
          }
        ],
        "secretLines": []
      },
      {
        "path": "introduction/static/js/a7.js",
        "sha256": "c83bc8eb6513f491cc89e95ff7ec8714552c4621e3a20b56a3f3d1ea0d75b9ee",
        "status": "scored",
        "findings": [
          {
            "line": 8,
            "cwes": [
              "CWE-79"
            ],
            "rule": "XSS-001"
          }
        ],
        "secretLines": [
          4
        ]
      },
      {
        "path": "introduction/static/js/a9.js",
        "sha256": "e26fc1392a600878087a79485a234e4a451295f96e44170afaec635b790049e2",
        "status": "scored",
        "findings": [
          {
            "line": 22,
            "cwes": [
              "CWE-79"
            ],
            "rule": "XSS-001"
          }
        ],
        "secretLines": [
          18
        ]
      },
      {
        "path": "introduction/static/real.txt",
        "sha256": "773ff9dfab2f6568bcce2b8f3a8db4e5c6f6962b187e65e5b0896c7cf2cfa777",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/A10/a10.html",
        "sha256": "a2e97dbc268806e1018e7ce14c32cbc6ac878a039876a398c0cd06adeb6087be",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/A10/a10_lab.html",
        "sha256": "06e2b0da7fe344a8bf57cbf545c5ff237538fae529a881c5972386eea4bd95c3",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/A10/a10_lab2.html",
        "sha256": "8932460729828d29e60feddd8480db441a07a1eeb15844c12336b44e5eaad79d",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/A10/debug.log",
        "sha256": "8560539911444e48ee201234a2d03fa182d13df48accc2e86c8988d7854b941c",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/A11/a11.html",
        "sha256": "23effea179d677faee57967d6e4ceab5588f47555e80e1ad95e0e515ea743ac8",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/A11/a11_lab.html",
        "sha256": "62bd77f2eab907c8a6ae9c7d6afef8bd49cf58eeebad47b2a376b1c05e3351e0",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/A9/a9.html",
        "sha256": "399cbc7076b2a3a5043f6959eed7789070df16182c8275914f05f30b77285c77",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/A9/a9_lab.html",
        "sha256": "06537cb2f822ad25f6d8c00db463fd073412790a83dbaca183cae8ffd30e082b",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/A9/a9_lab2.html",
        "sha256": "f95410c34d0751215d4c275706581d0a226323f159e2d99958db8989e7d0a892",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/AUTH/auth_home.html",
        "sha256": "979c295f94b6ac80c438d3320c5037ae7e89397f8f327ba4f0778f88a1f6f92b",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/AUTH/auth_lab.html",
        "sha256": "017b9116fdd1ec8bb15ab7699759e5c5d4b3bed8c2e78182dbe45353b5f92f2f",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/AUTH/auth_lab_login.html",
        "sha256": "806270ddbd6fd5f8e730c9dccf85511c8425eea01a3c5ee4eef56688ebb8975e",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/AUTH/auth_lab_signup.html",
        "sha256": "13d970254cc1dc3a76e09aeb0b1b88343321885fb1ca30c39eb4bb648d13514a",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/AUTH/auth_success.html",
        "sha256": "902bc4b0882a842e8da47d5c30da6ac7d87b4831dcc2cc35aab359999b1879f0",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/BrokenAccess/ba.html",
        "sha256": "111d8af72f576aaac1f4a9c61580edd616c3fa05dfad5915fe500c7bfa01c1e4",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/BrokenAccess/ba_lab.html",
        "sha256": "9fa366d9faf2e7af4d9bf1929e0a7307e76680926cb089f3a915e7c9a9ea858a",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/BrokenAuth/bau.html",
        "sha256": "75c287149557ac7be02a13fb63bc35bd2614bf1bf494064c0b043545e1442d0f",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/BrokenAuth/bau_lab.html",
        "sha256": "eece666364a2350d8b86731be6141fceb44b815a78929052d2fbe4be9f631339",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/BrokenAuth/otp.html",
        "sha256": "95eec36f0d1879b07328ea0bab7d69d2bfaddf931bb2c27256ea6e45640e34d0",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/CMD/cmd.html",
        "sha256": "95a5c10c823456e946b2b6bea8e0f8e970a61daeacefb1390869ae657a5a9d76",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/CMD/cmd_lab.html",
        "sha256": "4137a21a1ba4cf6bcfd988d787430976bdc73c1f9def93d42feca95752e01a12",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/CMD/cmd_lab2.html",
        "sha256": "4adc1815260b5171c2b1f4692ce9125cfe4114cf759d23a840371755f68940d5",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/DataExp/data_exp.html",
        "sha256": "bf2b7e4429578b9d0a49f9fdf88f0bcc82946ba1b707804525b5b3bfe9b86def",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/DataExp/data_exp_lab.html",
        "sha256": "189bf3bf66d055d4f30c9916d1e80d08253487e60e4421c6025948ba489fac40",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/DataExp/robots.txt",
        "sha256": "f7e976510dca7377cb46083e4949eaf038f22393aaf4e19f26bd568a861a3b96",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/SQL/sql.html",
        "sha256": "c829d9d7c291b14d58d1c83cb1a90d51688978866a9256d0827646dc7d4ed290",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/SQL/sql_lab.html",
        "sha256": "70d96da35ad0af216b39e4c2dbe9265a476b40e972a1a2c7f2a00b5b4b310842",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/XSS/xss.html",
        "sha256": "8e9c2a502825813dbb9e28a3f10017e4ee059a9dbc641090f64c5d2e21dd0b6e",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/XSS/xss_lab.html",
        "sha256": "22bd467a3554568325043236bd8c6d2cad61e511fa1b1a77c2f377c4cef84a22",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/XSS/xss_lab_2.html",
        "sha256": "ba54a8e13f61ea52d50cd9c57940948f467fd0d337d2fd5ecb0d643d3c8b2d99",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/XSS/xss_lab_3.html",
        "sha256": "fbd0d1a5dc91e7637d5cd6fcaad45f3b9d2752e80d6d1325028a0c12c473f88b",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/XXE/xxe.html",
        "sha256": "e2cd6b3b13fccabf0a871b3d003a0b9c854a5c81738f06af8692b297c7b0842a",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/XXE/xxe_lab.html",
        "sha256": "497d2407ff84fcf744e1b08048e2e9e5754516128a55cb2adc97b54a69c793c2",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/insec_des/insec_des.html",
        "sha256": "4bca9b917ae03e6aa30d067a3b999a35db7ddf932440de0e620163b8c4d7b347",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/insec_des/insec_des_lab.html",
        "sha256": "b32b38cc30d10cfd44910bf2aba2ba1f1ebcf55c11830fb9174a9094f16291c2",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/sec_mis/sec_mis.html",
        "sha256": "09b5a2eaf9eba9ae94cfca6a865ff2faf0ea42ae04876db5c6b7851bc408556c",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/sec_mis/sec_mis_lab.html",
        "sha256": "2462dbb5efa87e8cf16ec2c2cdceb3fc7d7b130dd1f572849c5ee8a24e82fed5",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/sec_mis/sec_mis_lab3.html",
        "sha256": "cfb2b59d4eb52ac1baa70b8fba295e6f77eade103f68e8e45174327f432f1e7a",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/ssrf/blogs/blog1.txt",
        "sha256": "7b96491308849ce256f69229728729f1a2bd5d7f3a17ea78944e579e35660dfe",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/ssrf/blogs/blog2.txt",
        "sha256": "d4593889dc6d6109f133d86b6b9e513a38b9e0b02439961c18d8b8b02ddf1723",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/ssrf/blogs/blog3.txt",
        "sha256": "0ca40dc94df502d12ea2cd7b4224df65dbe5f608cbd09d4f92c1233f0fd9cfee",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/ssrf/blogs/blog4.txt",
        "sha256": "eda01e132a92dd39e52cee59dbbd95fd0d52e98f6674e2579efce75324e29931",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/ssrf/secret.txt",
        "sha256": "fdcf4254fc02e5e41e545599f0be4f9f65e8be431ebc1fd301a96ea88dd0d5d6",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/ssrf/ssrf.html",
        "sha256": "6f1cb10971b833d41d6e9b41f4641402d4f3ecf0314c13e2f0dbdb5abc413a02",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/ssrf/ssrf_discussion.html",
        "sha256": "4c512bd6a5f57acabcaa887916dc404632a212c00f9f6925406d9631c80033fb",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/ssrf/ssrf_lab.html",
        "sha256": "284126fbdf3c1f0918ca838858a83c4a69bf646b67fa4f387651853ff02402e7",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/ssrf/ssrf_lab2.html",
        "sha256": "6e31429c2353040e72efd8b7545b201dda02cacf54c203340cbf89403599a2ac",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab/ssrf/ssrf_target.html",
        "sha256": "c394250e00450f99304d1bc3eb20dcc40ea76cc3d52f2a535b0d08c33c22a069",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A1_BrokenAccessControl/broken_access.html",
        "sha256": "9afe5152b3253995161f5ff23a3840b2daba5963a2c88d9c3ac835f664bfb90c",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A1_BrokenAccessControl/broken_access_lab_1.html",
        "sha256": "bb258c0427908fc9f8c5bb3724dcfb84bdac78773a2a35cb58d5627e5a26aa18",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A1_BrokenAccessControl/broken_access_lab_2.html",
        "sha256": "1f6aac67071df17da3e6812274c1f62c5fa1a49e403d4cc3b696c3dde54c638e",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A1_BrokenAccessControl/broken_access_lab_3.html",
        "sha256": "6c6c4c5a69d72bfc12ff23f607d90a8a2b3e39e050929b816d5deb8de36c3f66",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A1_BrokenAccessControl/secret.html",
        "sha256": "9c4ff9e5206d38593733209572e20fab9f723bffc562894052bcc3d3cf7e25ff",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A2_Crypto_failur/crypto_failure.html",
        "sha256": "15116c8fbc87c6e4a0ff3d496622f2009f6a2cc1fac5ff5d6dc8ca6d0559817c",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A2_Crypto_failur/crypto_failure_lab.html",
        "sha256": "5d8a4d1240278499647e6b97a5684858d8d06cf47ed486856c8b97e960f39c96",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A2_Crypto_failur/crypto_failure_lab2.html",
        "sha256": "5d8a4d1240278499647e6b97a5684858d8d06cf47ed486856c8b97e960f39c96",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A2_Crypto_failur/crypto_failure_lab3.html",
        "sha256": "43239feeaf2b1fd932e66fedeb192c488c264738a9ff3689668ad7bc7dcfe6a1",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A3_Injection/Blogs/0db9c0e7093d.html",
        "sha256": "805726fbb43bd73a3ae20861865d7566c7aeed74cdd5792802e0ab88be0eab9a",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A3_Injection/Blogs/9d73d120683d.html",
        "sha256": "2665f8cf4d22199fda9827d59887a5219a6d04807c1ccc6d81f5f87f1ab00504",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A3_Injection/Blogs/a2538af1b5e4.html",
        "sha256": "bf514b228bd60aaa039a618cb1ec83a72a44ee6f6d4b97a42775308240d6a62a",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A3_Injection/injection.html",
        "sha256": "ecb0003956da7af77a9ef934eca78569304a71b11b87f05457c1ec768e3aeac5",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A3_Injection/sql_lab.html",
        "sha256": "1b209ef73f523ad64f4d70e7af893d9f09ab5ce85506d61e2e19c0b404888289",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A3_Injection/ssti.html",
        "sha256": "b1b6ec27387a3c6141fb0e3188f75232c827ebf95980089b2f77db71d2415ed5",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A3_Injection/ssti_lab.html",
        "sha256": "9bbb341c89df1d3fe5b3ab093b3b75a554a42187d428eb0853bd2ccfa292074c",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A7_auth_failure/a7.html",
        "sha256": "cbd254a2b523e84b728be972799596c0914661a239c88b0a0d585a512e1b9184",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A7_auth_failure/lab2.html",
        "sha256": "deef1555f5e16038d1f0b46d62327d45fede139c46322c24cc4878bd9ac5743f",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A7_auth_failure/lab3.html",
        "sha256": "b1152d52da2680e706955ebfbffdc07ffda015f1f8387e93130e824e0a5e1fdd",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A8_software_and_data_integrity_failure/desc.html",
        "sha256": "91a17aeca81ec13c3264330164bfe676119dc2bbdc9c7d2fe91bb0deceb0e244",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A8_software_and_data_integrity_failure/lab2.html",
        "sha256": "9b4e23be8107d57b70a2a53754b1b3093cf1c30af795b007fa2db875d874fba9",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/Lab_2021/A8_software_and_data_integrity_failure/lab3.html",
        "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/introduction/base.html",
        "sha256": "dca3be7fbbb037b399ef293e404ffdf30560f294519fe8fb723aa414d7454cfe",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/introduction/home.html",
        "sha256": "4a9fab1d6e54e658105f1ba8d56591d69047984b917966fd3bdb9c8becc397f1",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/csrf_dashboard.html",
        "sha256": "a2fa1629a075bf1ec830470ed75a38ed3fb521be52fcdb7edcaa5c805c7c010b",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/csrf_lab_login.html",
        "sha256": "b53d9ebbb1619d5a226c9090d3e47833a20d0890bf1d753144f9b4df48f983a4",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_lab_17.html",
        "sha256": "e50bf403929e18bd3e82c5a6b98c1ee91f49f0cc78a733cb2404328fd968ebb0",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_lab_25.html",
        "sha256": "59230d61a4f97cff9df519582b8a24bd62cdd5c047aab8ea854b00e28fe03aff",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top1.html",
        "sha256": "835586491680b4b5ab8cec65527aa93009c8cef9335509698e8f6599db666ae6",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top10.html",
        "sha256": "c25d6812e313ca901d4e5299b02fc9ea403121e6b2d3dbfa790a4b73a53896e4",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top11.html",
        "sha256": "66f22ab2c3d8747b6bb1e8a2e3ba0cdd6b5f3fe74fcdaf4accd10bdd1f002e72",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top12.html",
        "sha256": "9fa7a730d6f2e293064ba688c07e95e68bea3f3d962e72a78c04783d5ab9e874",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top13.html",
        "sha256": "23210304c067cb6e326547d3ed8fc102029b5a69f5789084b3d31b7b3d6c2f8d",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top14.html",
        "sha256": "652061e85c9c83f0f97bb88691ef9d51393650bf22f43eebbd8753de8d3141f9",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top15.html",
        "sha256": "25f87b422708bfddc00423fabdf66edd76bb71f7b71f63e190846f5befc5908e",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top16.html",
        "sha256": "8d84429c1c44b63070130984b0ddecadc62f1e6ee73ad00e29c042ad9a4013df",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top17.html",
        "sha256": "e54a1de81397d81abf73a02103027bb66c76895b3e198e14f1de6a4604d9d276",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top18.html",
        "sha256": "d7a80231c8606c3297abc01357cdb12390e2d92de6ada3346c74a57f85cee4b0",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top19.html",
        "sha256": "4d9e665bec05cc6a96113f7bdae7dfbb193681c7060124a7279b64e25d7982ef",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top2.html",
        "sha256": "7d17420665521d037022a556801199e47a04e0e994d14cd33d6f98bb163d5cc8",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top20.html",
        "sha256": "b5afed276e7d4f3dd2ba6a7828fbf141631bc54735fb902012fff74bb9d48ea0",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top21.html",
        "sha256": "0dd1b6a9597a8dc37425ea3a7cde3844b816e3c8bbdd3dbbd4cf5e2e34bffbdc",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top22.html",
        "sha256": "1e3a0b52f54e99f9d3156649a831c52d06416a5214a9c210e0df070041dbaa33",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top23.html",
        "sha256": "6ac57c47f45ae3fc00e3c55fda37fa483c51ea60426c618b19bf3095b97c10d7",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top24.html",
        "sha256": "085546ccb4d829fce5afc9a70818acc79140d142544c2e3ae46f61219d51bb98",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top25.html",
        "sha256": "e09eaea84da7db3e04014d93dc9c7624f16ed21783c43da527faa2c414cebfd0",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top3.html",
        "sha256": "854a5f6afe818acff94a3d9d99e077addc8bd816db9bc34412fd5c82b48cca6c",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top4.html",
        "sha256": "b3f1feabe9057013ff9a71ddb2aef84f3b0d303201894c7f41b9ca641f5d5c67",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top5.html",
        "sha256": "79322eb89eb958c5d89c1ae3c03fcf8c7203e73316497d5ef1a295ab23c32445",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top6.html",
        "sha256": "969b8a31f349cb513606648ce4355f3cc35e3bb4888e7e7d7d0a90356608dc77",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top7.html",
        "sha256": "d8fe3a434057d909798a6b661883702b525ccb3c0ada6248e3ded1f49988f876",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top8.html",
        "sha256": "b4cd239f24b3a3a5fcb47514d134e6767117e1a6f784809255e29eebc58c57a4",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/mitre/mitre_top9.html",
        "sha256": "e7331eafecd72889d09435fbe26a9b3a67d4192ab454d0fc14da2144b8ecb2f2",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/playground/A6/index.html",
        "sha256": "67026216849c235e3c4e48b81ff030f4c00d2a1ec9fed8779ceb88d2788f9e01",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/playground/A7/index.html",
        "sha256": "c8da4e16aa97ad09e04c7ae6e82b013d3e4f79061ab76ad6eeba8d334e872d88",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/playground/A9/index.html",
        "sha256": "7b02939589b9c8b837fcf7cabe0590c54adddb96a092fd8fb5f3b2db06f58049",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/registration/login.html",
        "sha256": "60ee4ceb606a7d127074145af6be3f57958219ae59ef324f708a2497ec75e0f7",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/registration/logout.html",
        "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/templates/registration/register.html",
        "sha256": "8477cfc7cf499793f5ab5f9584bd59db76bbf15cf754e910b716a2f2a0c48542",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/tests.py",
        "sha256": "9ab6c6191360e63c1b4c9b5659aef348a743c9e078be68190917369e4e9563e8",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/urls.py",
        "sha256": "84353e8899d9997d4d9b0d07d4565a5e92688ade0eeae481387f98c748c3bb11",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/utility.py",
        "sha256": "f50badcfba42a28516e078a1c8e5ba24a727c36dd522a4f0162e8a17735b4bd6",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "introduction/views.py",
        "sha256": "72fc98c98cab529f1d631d44ff980dbcb2017600c97be5a862164c8b0fd1714e",
        "status": "scored",
        "findings": [
          {
            "line": 162,
            "cwes": [
              "CWE-89"
            ],
            "rule": "SQLI-001"
          },
          {
            "line": 214,
            "cwes": [
              "CWE-502"
            ],
            "rule": "DESER-001"
          },
          {
            "line": 214,
            "cwes": [
              "CWE-502"
            ],
            "rule": "DESER-002"
          },
          {
            "line": 430,
            "cwes": [
              "CWE-78"
            ],
            "rule": "CMDI-001"
          },
          {
            "line": 460,
            "cwes": [
              "CWE-94"
            ],
            "rule": "PYEXEC-001"
          },
          {
            "line": 460,
            "cwes": [
              "CWE-95"
            ],
            "rule": "CODE-001"
          },
          {
            "line": 927,
            "cwes": [
              "CWE-22"
            ],
            "rule": "PATH-001"
          },
          {
            "line": 291,
            "cwes": [
              "CWE-614"
            ],
            "rule": "COOKIE-001"
          },
          {
            "line": 496,
            "cwes": [
              "CWE-330"
            ],
            "rule": "RANDOM-001"
          },
          {
            "line": 1026,
            "cwes": [
              "CWE-328"
            ],
            "rule": "HASH-001"
          }
        ],
        "secretLines": [
          866
        ]
      },
      {
        "path": "introduction/xee_see.txt",
        "sha256": "23d7d528493e0f528524ad68eb919d16c46e1b86d147c40f23b9af86335cc6d9",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "manage.py",
        "sha256": "0f325d3db369aff8fae40cde3c931fceb6b8396d3057191ab47cb25c566c32c5",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "pygoat/__init__.py",
        "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "pygoat/asgi.py",
        "sha256": "7fa0190869a3b0df0142c5b2d2eb8a38d949a1dfb62cb85886122eba9d81b616",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "pygoat/settings.py",
        "sha256": "21a0f9b77548140e21d9afcc471d07903485fc07270b6da06ece6cc66de8a677",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "pygoat/urls.py",
        "sha256": "3f5f15a4954679565c4d6cec9935729a0be5bc48ff3ce7981b20ca54206e29e8",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "pygoat/wsgi.py",
        "sha256": "68ebb2e5ea4b9819dd59f5cc71d798f1102762964a3308156a5402ec31c825eb",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "requirements.txt",
        "sha256": "8b5ab4f5aa0f8843b02ae2f56f0306b81cb73292a2c74d0ceb40a257aec0a6ec",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "setup.py",
        "sha256": "3c20998e5d8f21dcf742bf95d5cd9afdfc7a87bacf1cfd6618eb678d13a03651",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "uninstaller.py",
        "sha256": "180a30400ada301d3027afdf2b8f84680d8f661303ed113ad2c876a3386e6dd7",
        "status": "scored",
        "findings": [],
        "secretLines": []
      },
      {
        "path": "uninstaller.sh",
        "sha256": "54fac24b70d6110540fd98697e642d788989bdbf18c9f274ee6b69fa33650bde",
        "status": "unsupported",
        "findings": [],
        "secretLines": []
      }
    ],
    "labelSha256": "9b8133f3dd3f0be3d1d4c751f5aa2312d8ad4cafce24658cec2fa37efa550a38",
    "limitations": "No detector tuning. This public training repository was newly selected during this task; prior maintainer familiarity and model-training contamination are unknown. Labels are agent-adjudicated from source, not an independent audit. Exact sink matching does not establish that the scanner reconstructs caller chains. Function/CWE labels are a purposive subset, not full-repository correctness."
  },
  "repair": {
    "schemaVersion": 1,
    "generatedAt": "2026-10-22T01:22:16.334Z",
    "frozenAt": "2026-10-22T01:22:16.233Z",
    "identity": [
      {
        "path": "apps/backend/src/fix/secret.ts",
        "sha256": "5087229952518fb6560ea5c7c5dce04ce0893e66dd6299af1293514850601f82"
      },
      {
        "path": "apps/backend/src/fix/publish.ts",
        "sha256": "b9d8d89a43fb29e921897bd3f4b891838294fb688c67edb56b367dccd3b121f8"
      },
      {
        "path": "packages/schemas/src/secretRepair.ts",
        "sha256": "f139123f488ba9a19e2a22bcd02544986d0e056358876a3db51655f7d5a99be2"
      },
      {
        "path": "packages/schemas/src/secrets.ts",
        "sha256": "173c025ddd2fc9d6fc70e6978138737f7132129ee0fb8a11145f5c8cd7b61b33"
      },
      {
        "path": "apps/scan-cli/tools/repair-outcomes.ts",
        "sha256": "be80290b1188f58d8557a1e25eaa8c8ba87a32f1e2499214ea9854820640095d"
      }
    ],
    "fixtureClass": "Maintainer-authored synthetic consumer regressions, not unseen repository repairs",
    "generatedPatches": 2,
    "cases": [
      {
        "id": "js-configured",
        "kind": "generated_consumer_behavior",
        "passed": true,
        "detail": "Configured generated JavaScript consumer returns the same synthetic result as the original."
      },
      {
        "id": "js-missing-config",
        "kind": "generated_consumer_behavior",
        "passed": true,
        "detail": "Missing JavaScript runtime configuration fails closed instead of returning an empty credential."
      },
      {
        "id": "python-configured",
        "kind": "generated_consumer_behavior",
        "passed": true,
        "detail": "Configured generated Python consumer preserves the synthetic output in an isolated Python process."
      },
      {
        "id": "python-missing-config",
        "kind": "generated_consumer_behavior",
        "passed": true,
        "detail": "Missing Python runtime configuration raises instead of silently replacing behavior."
      },
      {
        "id": "json-cursor-abstention",
        "kind": "safety_gate",
        "passed": true,
        "detail": "No deterministic patch emitted for an input needing semantic review or a runtime import."
      },
      {
        "id": "json-credential-abstention",
        "kind": "safety_gate",
        "passed": true,
        "detail": "No deterministic patch emitted for an input needing semantic review or a runtime import."
      },
      {
        "id": "python-import-abstention",
        "kind": "safety_gate",
        "passed": true,
        "detail": "No deterministic patch emitted for an input needing semantic review or a runtime import."
      },
      {
        "id": "browser-abstention",
        "kind": "safety_gate",
        "passed": true,
        "detail": "No deterministic patch emitted for an input needing semantic review or a runtime import."
      },
      {
        "id": "unknown-js-runtime-abstention",
        "kind": "safety_gate",
        "passed": true,
        "detail": "No deterministic patch emitted for an input needing semantic review or a runtime import."
      },
      {
        "id": "python-nested-import-abstention",
        "kind": "safety_gate",
        "passed": true,
        "detail": "No deterministic patch emitted for an input needing semantic review or a runtime import."
      },
      {
        "id": "python-late-import-abstention",
        "kind": "safety_gate",
        "passed": true,
        "detail": "No deterministic patch emitted for an input needing semantic review or a runtime import."
      },
      {
        "id": "saved-placeholder-block",
        "kind": "safety_gate",
        "passed": true,
        "detail": "Historical pagination placeholder artifact cannot pass the publication policy."
      },
      {
        "id": "runtime-patch-policy",
        "kind": "safety_gate",
        "passed": true,
        "detail": "A configured source lookup passes the original-source publication policy for further review; this is not a verification verdict."
      },
      {
        "id": "unchanged-cursor-publication",
        "kind": "safety_gate",
        "passed": true,
        "detail": "A separate unchanged pagination cursor does not block a credential repair when the changed-source diff is recomputed from original source."
      },
      {
        "id": "missing-original-publication",
        "kind": "safety_gate",
        "passed": true,
        "detail": "Publication with unavailable original source remains unknown and blocked."
      }
    ],
    "passed": 15,
    "failed": 0,
    "durationMs": 101,
    "paidModelCalls": 0,
    "modelCostUsd": 0,
    "limits": "No external application executed. Consumer fixtures validate synthetic configuration behavior and abstention only, not exploit closure, deployed configuration, model-generated correctness, provider rotation, PR creation or after-merge verification."
  },
  "unmeasured": [
    {
      "id": "model-assisted",
      "name": "Model-assisted detection",
      "status": "not_measured",
      "executed": 0,
      "passed": null,
      "failed": null,
      "latencyMs": null,
      "costUsd": null,
      "reason": "No paid model evaluation was run."
    },
    {
      "id": "external-repair",
      "name": "External repository repair correctness and behavior preservation",
      "status": "not_measured",
      "executed": 0,
      "passed": null,
      "failed": null,
      "latencyMs": null,
      "costUsd": null,
      "reason": "External applications and their tests were not executed; the measured repair consumers are authored regressions only."
    },
    {
      "id": "pr-preparation",
      "name": "Provider pull request preparation",
      "status": "not_measured",
      "executed": 0,
      "passed": null,
      "failed": null,
      "latencyMs": null,
      "costUsd": null,
      "reason": "No provider write was made; local safety-gate outcomes do not establish successful PR creation."
    },
    {
      "id": "after-merge",
      "name": "After-merge repository verification",
      "status": "not_measured",
      "executed": 0,
      "passed": null,
      "failed": null,
      "latencyMs": null,
      "costUsd": null,
      "reason": "No merge or production scan was started."
    },
    {
      "id": "hosted-cost",
      "name": "Hosted latency and complete scan cost",
      "status": "not_measured",
      "executed": 0,
      "passed": null,
      "failed": null,
      "latencyMs": null,
      "costUsd": null,
      "reason": "Only local deterministic time and zero model calls were measured."
    }
  ],
  "process": {
    "detectorFreeze": {
      "frozenAt": "2026-10-22T01:05:49.932370+00:00",
      "revision": "a77eb589877e74046bc3334b82ac4ee605bf4f4f",
      "inventory": [
        {
          "path": "apps/scan-cli/package.json",
          "sha256": "cc9d0ae3f24a0f1a2858e9ff0663c4804b88c77f8e2b8cf8a8b1082dc0e3d024"
        },
        {
          "path": "apps/scan-cli/src/analysis-cache.ts",
          "sha256": "d0baba6157b77cf5cba8f8f6ac59d7929442ca9f144081b3622af80fac1f147f"
        },
        {
          "path": "apps/scan-cli/src/analysisCoverage.ts",
          "sha256": "e3e0ba94e08f15d16db22214b3169798241d27ace83e9c2b3339ac2fde0f8ae4"
        },
        {
          "path": "apps/scan-cli/src/appmodel.ts",
          "sha256": "11cb10ad4dc07e45360addf350638c231942a34c8a94cb56dffd687d40658f9c"
        },
        {
          "path": "apps/scan-cli/src/batching.ts",
          "sha256": "70bb6ae15948ac1bd35c6534b885783cc14eb5bdc91fa4d99cb055bbe1e9b7b3"
        },
        {
          "path": "apps/scan-cli/src/bench.ts",
          "sha256": "ab27ed544a3cab9d34bad1525bf3667c6604a7bd8ff32f2ab1c81211f2686162"
        },
        {
          "path": "apps/scan-cli/src/benchmark-scorecard.ts",
          "sha256": "025b9f1a2fa845985d9fafbb6e84e6a39557eb73eba6064fcc2486b9a45979ee"
        },
        {
          "path": "apps/scan-cli/src/cassette.ts",
          "sha256": "a811a8a9037156049094648cddb02ea0fd28938e4d5d7f9ba7a5d520d8ddb1c2"
        },
        {
          "path": "apps/scan-cli/src/context.ts",
          "sha256": "26e02925eb5f20405171950bb35d20aaf71aa67eade8482ea70e4c89ced0ac1e"
        },
        {
          "path": "apps/scan-cli/src/coverage.ts",
          "sha256": "10c0366ba24dfeb8792f4e1b817293186c6f1b6471cc4d01b2dc4096abc9e910"
        },
        {
          "path": "apps/scan-cli/src/coverageReport.ts",
          "sha256": "e8eed15e9df0baefcd94ace34fcf0e63119e87ac4bea3595c2a279a060687a19"
        },
        {
          "path": "apps/scan-cli/src/deepdive.ts",
          "sha256": "49c5913019358f87477bc93cab3daaa391beb8ebc307b55637d8f1c9234d8de9"
        },
        {
          "path": "apps/scan-cli/src/deepseek.ts",
          "sha256": "b922cbf013b81ed1c3d682ce6e67868a3526034efd011ca6eb78dfc7e1ad8543"
        },
        {
          "path": "apps/scan-cli/src/defences.ts",
          "sha256": "fb11f03b658d149a5e74bd8a18c74f27dc74aa24152d301703a1126c5723478f"
        },
        {
          "path": "apps/scan-cli/src/depGraph.ts",
          "sha256": "b2e354315743883ed58cdcb22b3e242267e27ad3745ae11903f5d93c278be1f0"
        },
        {
          "path": "apps/scan-cli/src/dependency-observations.ts",
          "sha256": "d8c14d1d944f1870602d35ec2d2e5b297e161423a0ed242256c60927b922f02a"
        },
        {
          "path": "apps/scan-cli/src/depth.ts",
          "sha256": "3d3a5bbcfae2360b1b8045c5bf997523ce289835d17cef5752732bb895fb6405"
        },
        {
          "path": "apps/scan-cli/src/envNames.ts",
          "sha256": "97071edd26823ab361d481785c04066eedabe6a5866c425562f089b4c7cc2c69"
        },
        {
          "path": "apps/scan-cli/src/finding-response.ts",
          "sha256": "645faff3e3e6f9bd1d7bb7a7f93dab6bdb3f28787f08a6b97670193b5af1dc4a"
        },
        {
          "path": "apps/scan-cli/src/fingerprint.ts",
          "sha256": "058ef82e52a20e2207d5c356bf8780a4bb8c02e88873be4bc079539c77225306"
        },
        {
          "path": "apps/scan-cli/src/gates.ts",
          "sha256": "cc1f057e50be79d3fd397994dfc1df202812f05cf117b0145716c9c86d02e377"
        },
        {
          "path": "apps/scan-cli/src/gitleaks.ts",
          "sha256": "3b45e13abb74de4f204acb29c82b3c8a3c6628373fe91c590bd4ea377f9bec38"
        },
        {
          "path": "apps/scan-cli/src/helpers.ts",
          "sha256": "ae9c19d7ff10118b3089d4709a04f0cc749083dfe23d3e0c865b692ac32cc4b6"
        },
        {
          "path": "apps/scan-cli/src/iac.ts",
          "sha256": "78011b64b0c4da54861405f19b9e33fe9f5b42f5c2108330c9fe46f17fd033ed"
        },
        {
          "path": "apps/scan-cli/src/image.ts",
          "sha256": "a7aa4b3605587ec02c07116058a720c7b894b34b000598010f67061bbc9e2e22"
        },
        {
          "path": "apps/scan-cli/src/imports.ts",
          "sha256": "37e654e1643d66d1b4b3dd08a71f029c85221f24bc1857a52f4c289e536de42a"
        },
        {
          "path": "apps/scan-cli/src/independent-benchmark.ts",
          "sha256": "879e9770d53240ba9b59bb4928256f2d27bddbcfc5fa9ff048b8372477c137d4"
        },
        {
          "path": "apps/scan-cli/src/index.ts",
          "sha256": "28244b9a65713e5d5f4e5a5581de5302372e1a5436870f1543dc5936805fd632"
        },
        {
          "path": "apps/scan-cli/src/intelligence.ts",
          "sha256": "93bfb294b41bdf1616533ac6445c271430497e0def81e6443ef723c6a35efc90"
        },
        {
          "path": "apps/scan-cli/src/kernel.ts",
          "sha256": "18f2d1eeeeacc4b528e343c91cae0b08bc6e252427e886af5470730d8774d4f0"
        },
        {
          "path": "apps/scan-cli/src/logger.ts",
          "sha256": "3d53733daa48af057f2709b29af2d0e506af3f62764ea64cd1b5758be0ba8582"
        },
        {
          "path": "apps/scan-cli/src/manifests.ts",
          "sha256": "bb1672c1bd3c1d399c16878572874efbe5e648e33b88e61455ba98b574d04af7"
        },
        {
          "path": "apps/scan-cli/src/mapFinding.ts",
          "sha256": "be3ec1f53d70c7f6021ad695ffc37363e46d2dd34b047c14ade59dce2401459a"
        },
        {
          "path": "apps/scan-cli/src/noise.ts",
          "sha256": "5d30d0453a93bd04a4bc10be6692d8a9813677dee35c7c3ba7af12ee7fb16bfa"
        },
        {
          "path": "apps/scan-cli/src/oci.ts",
          "sha256": "c5600f5dbeb7e786ebcf0a75cf1d24c35314af3fcdcdc681feac7ad1154f7277"
        },
        {
          "path": "apps/scan-cli/src/openapi.ts",
          "sha256": "6223b8611795454a8f0f52ec1f7bb577f19b144d41cb19dd226dc6c7168328c9"
        },
        {
          "path": "apps/scan-cli/src/osdb.ts",
          "sha256": "cd464bb11b5953068934c17cde3f10bedaeaaed03fdf6d85cf267a2df0145e6b"
        },
        {
          "path": "apps/scan-cli/src/prefilter.ts",
          "sha256": "53571e87886dbc160b0d64cac8a485c84d539c34e2a67bc07262350c2b83176f"
        },
        {
          "path": "apps/scan-cli/src/prompts.ts",
          "sha256": "779e2bf648450965965cb690bca7cdf64dd584dfc1e2a6b29e56bd1b95e4eb01"
        },
        {
          "path": "apps/scan-cli/src/pullRequest.ts",
          "sha256": "2fbfa5525a0a9e9e0f9f35348429f397cc37bf22a897f779ea83e31a3d7c31bd"
        },
        {
          "path": "apps/scan-cli/src/python-config.ts",
          "sha256": "cbd69945e59780938e88bbd3ba594696ad7c4fcfe00550e4a07102bd685e4065"
        },
        {
          "path": "apps/scan-cli/src/python-flow.ts",
          "sha256": "e706085a42a71f4d4a83f8b5078f197887d35d3679bfa5029187502e79952699"
        },
        {
          "path": "apps/scan-cli/src/quality.ts",
          "sha256": "7b69ff447ff7d673420eb84fc13c19b8b3a779f18bc01feb3c5c44166bcce40e"
        },
        {
          "path": "apps/scan-cli/src/reachGraph.ts",
          "sha256": "099e451f8b1cf41d631d2831dba4629e4bc7ea0c31ce6b1291571e4f602dbd04"
        },
        {
          "path": "apps/scan-cli/src/reachability.ts",
          "sha256": "cac19da717bdc5a526fa5c8e8ae75978f53f815551ba35f0c35cf759504a334d"
        },
        {
          "path": "apps/scan-cli/src/recovery.ts",
          "sha256": "c51f097dc8f7dfa1f0576c9c66fc459acb615122ad9e9d78b7ecad124b6c7e98"
        },
        {
          "path": "apps/scan-cli/src/relatedSpans.ts",
          "sha256": "b455844c8a2dd2c8a91e56a291920ed34c7a3fb003c6cb285a82f2c5a92aaf2e"
        },
        {
          "path": "apps/scan-cli/src/repoSecrets.ts",
          "sha256": "071dd5a1b259aa2cbf7adcd32b5a6010c69a8601711ae5a3f74117df35611d0f"
        },
        {
          "path": "apps/scan-cli/src/reporter.ts",
          "sha256": "7c1ee9071898d0c47eb79c6542c7bd677933eda9f159f0dea9fcdcafc28bcbd6"
        },
        {
          "path": "apps/scan-cli/src/rule-defenses.ts",
          "sha256": "02e15e50eeefe594378f0cf7e9925d651df06561e64fe06365c7bcfdb3dcf1a1"
        },
        {
          "path": "apps/scan-cli/src/rules.ts",
          "sha256": "ff75d156666d75359a1e581a10fa75f51983016e08236f2eb748f8c6c220aee0"
        },
        {
          "path": "apps/scan-cli/src/sbom.ts",
          "sha256": "2f76a139d11e49b67a826603881cbf81ffc4474bc4bd9fde6506e0c558c8f0d9"
        },
        {
          "path": "apps/scan-cli/src/scan.ts",
          "sha256": "08bb268416d4ecd05ccf874844decaebd25fbc7f6b341e314cb5fb74c2df056b"
        },
        {
          "path": "apps/scan-cli/src/scanVersions.ts",
          "sha256": "5e3991039c32835b23767c90aafaa33ab15a6e61f7e01a9b0d3ab5683c602653"
        },
        {
          "path": "apps/scan-cli/src/search.ts",
          "sha256": "f9db1c3b5fe9900a6e4f4335d53ada9083e2ae932ebcee853b56f527ba95f219"
        },
        {
          "path": "apps/scan-cli/src/silence.ts",
          "sha256": "8c65ac7f0df90c9c15394ac6de861f86ce3d89a2930a8ebe7445d63eaa5e2787"
        },
        {
          "path": "apps/scan-cli/src/spread.ts",
          "sha256": "2d80502b0d1b0d453aa0e2da7513fefdf75755a37d5af1e3cf6a5cb08b12d9d0"
        },
        {
          "path": "apps/scan-cli/src/stability.ts",
          "sha256": "61012aae5957361f46a8f15413ea429e7350fefabce4e9e0e6fa972278cc34e7"
        },
        {
          "path": "apps/scan-cli/src/stop.ts",
          "sha256": "d35e4491a63e6792342b8b5deea342a2b4bbe22975aeb6f26c51537e2275fd6f"
        },
        {
          "path": "apps/scan-cli/src/sweep.ts",
          "sha256": "356678c7373530b517e05ab46e58d09df0eb7484a8bcca6f2b7b50a5753abc2b"
        },
        {
          "path": "apps/scan-cli/src/tar.ts",
          "sha256": "2c80b52c78e9c75185ed90b3cd4f4a6bca969fe0d1c736f15f8b72e47773e6f6"
        },
        {
          "path": "apps/scan-cli/src/tools.ts",
          "sha256": "cf9de13aa44e1550fdeedfba7e25ac7ccf36b289825a8eaf3f1928cf8b5df3d8"
        },
        {
          "path": "apps/scan-cli/src/trivy.ts",
          "sha256": "150153c1b23996bc0f8a32301c65d0bff0be1fa2fae6cb7eb0f5c581c700c236"
        },
        {
          "path": "apps/scan-cli/src/verdict-contract.ts",
          "sha256": "e24ab43d9f4cc96ebd2e3948286779b2e0b0390f42106f14b3b7eef3bcee9d61"
        },
        {
          "path": "apps/scan-cli/src/verify.ts",
          "sha256": "71d0315264ad5afc61d8c0fef34b366db38477eac30767b9ac0137fc61129e7b"
        },
        {
          "path": "apps/scan-cli/src/walk.ts",
          "sha256": "3d2a350dfe6e25403e50eefa3a0dbaebe275b422950717fc438be3bd5c74d097"
        },
        {
          "path": "bun.lock",
          "sha256": "14b55bb0ae964bab83edb70d146e5e5eac16a7ef7418b4bd94842a5335edbbbd"
        },
        {
          "path": "package.json",
          "sha256": "0c61121892bbd320487234c977f0e12f550a611adcb621d86d138c60cf0f6422"
        },
        {
          "path": "packages/schemas/src/billing.ts",
          "sha256": "7ae419533da6bc2a20ad243b33b452dcd25d7dd67fe6c4b89c7d44193818322e"
        },
        {
          "path": "packages/schemas/src/careers.ts",
          "sha256": "c367f27b05dfdc9d57e25fe9987bf21e78f3f65ea9556afccea999cbfc068c46"
        },
        {
          "path": "packages/schemas/src/dependencyObservations.ts",
          "sha256": "d5a641b059b22592c692d3283502b9d77213ec42e77e03e600d0a20ee72d4038"
        },
        {
          "path": "packages/schemas/src/findings.ts",
          "sha256": "a12c3448f1e41d2eda5313f9b9a8fcf64ed2b77ebc80e5e22a7c682060878a38"
        },
        {
          "path": "packages/schemas/src/immunity.ts",
          "sha256": "cbe2557cc42d164e9d677f92ab8e26ce12762b4b2f60d5a3f2430b59a793abce"
        },
        {
          "path": "packages/schemas/src/index.ts",
          "sha256": "678efe8deaa791e6415b3b47c939affc69fecd88c4cb87d576033cbf89268dcb"
        },
        {
          "path": "packages/schemas/src/investigation.ts",
          "sha256": "0a4a6a4370ff428910b2fb0ef53450fae064392dc58e341f8eb33da2252300b5"
        },
        {
          "path": "packages/schemas/src/ir.ts",
          "sha256": "c1b1d0766b20e4830a9a6ab35d27ba16dc676f9a4c2a9badebd4fdbd17919df8"
        },
        {
          "path": "packages/schemas/src/knowledge.ts",
          "sha256": "74488c0199366e71df6c2a83e71333317392e6b010e88f6beb66b935cec4bc85"
        },
        {
          "path": "packages/schemas/src/notifications.ts",
          "sha256": "994d00573e810665c4379c2cb86147d28ac588ffca1b7f5c305cbd3ee98578c9"
        },
        {
          "path": "packages/schemas/src/packages.ts",
          "sha256": "cabe240416e6c35be7baae9e776017e272f03efc5c4bcac3db05b3c11fa75d7e"
        },
        {
          "path": "packages/schemas/src/proof.ts",
          "sha256": "80dcb156960b75ec0dee7e607fba08229ddc0cccb5c8951e813274b27340953f"
        },
        {
          "path": "packages/schemas/src/reachability.ts",
          "sha256": "6f78887ccf9f09df85e9cad8b5c271fd036782846bcdd301de44e85645f86b39"
        },
        {
          "path": "packages/schemas/src/reproduction.ts",
          "sha256": "ef08346d379d5f325bd579a7536679fef7d09fab7f4925392c55c55fd3aa7ab5"
        },
        {
          "path": "packages/schemas/src/scanCompletion.ts",
          "sha256": "881dd9263b32be386c364e8595562cadf7e9cbda9efe5aa64abac11b798c7e8f"
        },
        {
          "path": "packages/schemas/src/scanPullRequest.ts",
          "sha256": "09e56c5771b087884f735f69a3f3cb625f99e7aab1a867fd1f469fd1906ba2b6"
        },
        {
          "path": "packages/schemas/src/scanReasons.ts",
          "sha256": "fba539e6d3c2140db2a329a6be9ce53e7ed0f6dc4437f085d2ce014be71d200a"
        },
        {
          "path": "packages/schemas/src/secrets.ts",
          "sha256": "173c025ddd2fc9d6fc70e6978138737f7132129ee0fb8a11145f5c8cd7b61b33"
        },
        {
          "path": "packages/schemas/src/security.ts",
          "sha256": "311afcee8ce9a869a622a19e2b1db1e57e003ace1f655921760ec21689a46f44"
        },
        {
          "path": "packages/schemas/src/states.ts",
          "sha256": "540c39ae578d9f7cae4ab84e5e183852e6eb84ae49d1d992c2cbf8c2e81a66b6"
        },
        {
          "path": "packages/schemas/src/wire.ts",
          "sha256": "b0c21292deadef07a17133b79eb89e4d3dc3dd6bfd165f61653efb699d9d6c3d"
        },
        {
          "path": "packages/schemas/src/workspace.ts",
          "sha256": "17a5fab2b0f41f698fbe2f1eceb055c035ae04bec35f547c03531d2e0eefbf42"
        },
        {
          "path": "rulepacks/common/ANGULAR-TRUST-001/rule.yaml",
          "sha256": "add1d0987ffcb76cf8286d4da2210674893a8a8c693c9afacb5f4adbbfc7f73d"
        },
        {
          "path": "rulepacks/common/ANGULAR-TRUST-001/tests/safe/sanitized_html.ts",
          "sha256": "0d602cd9ae708c8060652de16f1c361a5522dc81d81624e8bdaaaae2664457d2"
        },
        {
          "path": "rulepacks/common/ANGULAR-TRUST-001/tests/vulnerable/bypass_trust_html.ts",
          "sha256": "dda816ef1b3d98aa23f109516466c901b66bee2cc3c4742f997ddbf75dac2165"
        },
        {
          "path": "rulepacks/common/CLEARTEXT-001/rule.yaml",
          "sha256": "19d83cbe5fabd840248811236a6426d860695cc99d57105d7f67d71b46cfb809"
        },
        {
          "path": "rulepacks/common/CLEARTEXT-001/tests/safe/https_endpoint.ts",
          "sha256": "c497ad77c81fd53d387c2b5b10161388c87628740d0b678891581d330ab1ca03"
        },
        {
          "path": "rulepacks/common/CLEARTEXT-001/tests/vulnerable/ftp_endpoint.ts",
          "sha256": "c3a6c3a828cc4cdca45bbdf486c6c2856066163884baa74f760a91e896f11870"
        },
        {
          "path": "rulepacks/common/CMDI-001/rule.yaml",
          "sha256": "76a524d4596595bec3d2b8550e593f8f73b2c463c594bb7a70f2cb8c3ea9346c"
        },
        {
          "path": "rulepacks/common/CMDI-001/tests/safe/exec_quoted.py",
          "sha256": "55ffe5f84c6711ba04bb88b1c5cf723e0f6c547bd71b17683a4ccae49263114d"
        },
        {
          "path": "rulepacks/common/CMDI-001/tests/vulnerable/exec_concat.py",
          "sha256": "8b98cd6a13e1b2e4970341498162b6222b44ea2fb872f4af940f75062f24f397"
        },
        {
          "path": "rulepacks/common/CODE-001/rule.yaml",
          "sha256": "313aa196ab864dd25536b018605c1c3b36f18956a367376ee0e005bb319f58be"
        },
        {
          "path": "rulepacks/common/CODE-001/tests/safe/comment_mentions_eval.ts",
          "sha256": "a47f8173953238cb60d08856a1b037366fbe536a88da34b23c643e9cad35d572"
        },
        {
          "path": "rulepacks/common/CODE-001/tests/safe/literal_mentions_eval.ts",
          "sha256": "3d09dab28d07ba35d263943091655822f5f5d217b2d6fccbbf3f9cb435bacfc2"
        },
        {
          "path": "rulepacks/common/CODE-001/tests/vulnerable/eval_query.ts",
          "sha256": "e3f4f0d3c518040aa2696ea7f76ff19db67601d38be08b42373615b3ded3dae0"
        },
        {
          "path": "rulepacks/common/DESER-001/rule.yaml",
          "sha256": "20b2f7b0d2b0a0dbf7d8725589a031e8d7cb58d318d151d099bfc1c2e484dd79"
        },
        {
          "path": "rulepacks/common/DESER-001/tests/safe/yaml_safe_load.ts",
          "sha256": "7aaaf0beb687fdadfafbc7d6d1a952647353a222571032ea59242f87bf33dba9"
        },
        {
          "path": "rulepacks/common/DESER-001/tests/vulnerable/yaml_load_body.ts",
          "sha256": "f108c65e1710a394fa1785691e1cb6d621e3e0b778da96403788137e3156453a"
        },
        {
          "path": "rulepacks/common/PATH-001/rule.yaml",
          "sha256": "b45b1cfe6d8c5af96ec1e8a1c837feeb8ddc239424adca3c188a64c161a00d2f"
        },
        {
          "path": "rulepacks/common/PATH-001/tests/safe/read_normalized_path.ts",
          "sha256": "de57b93ba7c7f086a1a9de7d2872628ccb63d84da3fb2fa1ef195bf58b0d2ca6"
        },
        {
          "path": "rulepacks/common/PATH-001/tests/safe/template_allowlisted.ts",
          "sha256": "d1d539bba782f1be978bfc1758690d38426278adaf1a44dbf76705e47ce6618b"
        },
        {
          "path": "rulepacks/common/PATH-001/tests/vulnerable/read_user_path.ts",
          "sha256": "f1b1f2b69e5992f4004d8a30d0e696fb19d21cd1cb02927e61687e5991d7569d"
        },
        {
          "path": "rulepacks/common/REDIR-001/rule.yaml",
          "sha256": "ebaba25880fec0039dad28bd24cbdd36541ab08036ce72527d31363ba37551f7"
        },
        {
          "path": "rulepacks/common/REDIR-001/tests/safe/redirect_allowlist.ts",
          "sha256": "903c9879c7b4b35624849633a17e8a34a86dc25f4526cc3df5342b5bb0e49bde"
        },
        {
          "path": "rulepacks/common/REDIR-001/tests/vulnerable/open_redirect.ts",
          "sha256": "efd4e225c944fb8647054fa952e40f0d6f3b3b905e22a6bf89f4b2c310daf363"
        },
        {
          "path": "rulepacks/common/SQLI-001/rule.yaml",
          "sha256": "3e64945a2e853ae7bbd868a110edbca234966a170a03f3dfe6f49de7077c6fcc"
        },
        {
          "path": "rulepacks/common/SQLI-001/tests/safe/drizzle_where.ts",
          "sha256": "106f09d70c246f993c7098b5d059bea9b836d1d025154d2c21b2b330519e7ceb"
        },
        {
          "path": "rulepacks/common/SQLI-001/tests/safe/identifier_allowlist.ts",
          "sha256": "bca1e858b9fda6aff77dc1334c96e61446966250ab503c5832c0ef2919ce8436"
        },
        {
          "path": "rulepacks/common/SQLI-001/tests/safe/parameterized_query.ts",
          "sha256": "bc711ba097116beaedf72e93c7b3b20b961a2d1258948ecb0dbe6e0ab8831a4c"
        },
        {
          "path": "rulepacks/common/SQLI-001/tests/vulnerable/concat_query.ts",
          "sha256": "a2429d8b1f611d41495a356ac305368dc5b78092e491a43bedf6a0f663b6ecb8"
        },
        {
          "path": "rulepacks/common/SSRF-001/rule.yaml",
          "sha256": "86bbbbd1f8bfe819cb8af8bde8ca5e43e038979c728fa8ad030641777a631f3e"
        },
        {
          "path": "rulepacks/common/SSRF-001/tests/safe/express_proxy_allowlist.ts",
          "sha256": "571f26fc750cdb14b72c7803cd2dd50d62acd806d1677dd5165aa92060ecd21f"
        },
        {
          "path": "rulepacks/common/SSRF-001/tests/vulnerable/express_proxy.ts",
          "sha256": "e4f646374bcb08c30fb8af627a91668f4841512cebe1bf804f79c0c4cc2229ab"
        },
        {
          "path": "rulepacks/common/SSTI-001/rule.yaml",
          "sha256": "1cf2a5878dad69f9adf9cad88ea2000064898a51447e053a47ef05581954edde"
        },
        {
          "path": "rulepacks/common/SSTI-001/tests/safe/precompiled_template.ts",
          "sha256": "0d5febf5ff8f2070115eaeba0870cdfcd392a2dd142487f0a996b04cc491a6e1"
        },
        {
          "path": "rulepacks/common/SSTI-001/tests/vulnerable/handlebars_compile.ts",
          "sha256": "4b04998aa32236b06404c7c9aaf2674d01173576b2401efd4904166a4f30fd5f"
        },
        {
          "path": "rulepacks/common/UPLOAD-001/rule.yaml",
          "sha256": "e5d8812fab296e63bb94fed6486797995e830fd2feedb5e4ac567bb7e904600b"
        },
        {
          "path": "rulepacks/common/UPLOAD-001/tests/safe/mime_checked_upload.ts",
          "sha256": "e020db518e233ac8433f5237c1744d70d6854bd802dbd232f6377d1e03c9aa77"
        },
        {
          "path": "rulepacks/common/UPLOAD-001/tests/vulnerable/unchecked_upload.ts",
          "sha256": "c2c4629e3af2db831f72d99572b49c758174bb224e4a2f4abb88ab82f12a3967"
        },
        {
          "path": "rulepacks/common/XSS-001/rule.yaml",
          "sha256": "4eafa1e0a5329f76ec075e03d6bf756570cd1643ec4b1aaff9f4ae8960073237"
        },
        {
          "path": "rulepacks/common/XSS-001/tests/safe/escaped_html.ts",
          "sha256": "199162c065905fc36a12bae5eedef52093de52b6faea7189b26c94fc4b297fd0"
        },
        {
          "path": "rulepacks/common/XSS-001/tests/safe/jquery_hash_text.js",
          "sha256": "444b7e3c66c70ffedc419ea0e8e00d765964bc62e02b6bc7bdb6810e8e31cfe4"
        },
        {
          "path": "rulepacks/common/XSS-001/tests/vulnerable/inner_html.ts",
          "sha256": "9bc3e7f70495dec60e4fae6e44c6525d1f7eed9eaab34f1b7f0c2f62ee334865"
        },
        {
          "path": "rulepacks/common/XSS-001/tests/vulnerable/jquery_hash_html.js",
          "sha256": "e90787da428b6edc0fee61dfc8bd079fcfff45bdcf54e55b2577f7aa60555a23"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/rule.yaml",
          "sha256": "ec140652bbbf75b9ac7abf0491617a7b2fedafec6b01e061afcc455fd46dfab2"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/safe/execfile_argv_export.js",
          "sha256": "c36f60fc7cb772ae724f024550104463cb7715914ff021a3a1b8f70dcd66d190"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/safe/shell-no-shell-data.js",
          "sha256": "2795e97e1692e600623f2011a4e88f7db6d5be3c31668b7f4c95cc938ac5ebdd"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/safe/spawn_argv_export.js",
          "sha256": "79a4e7b621e9f7c9e73bd2eb2904a4eef151ea45f7fe05dabffc6a8609926ee4"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/safe/spawn_shell_false_export.js",
          "sha256": "9a28aec735bb33aea479da9f8fbcdea3ea340e4fdfb5d1b8ea60d57a00db4b0a"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/vulnerable/exec_concat_comment_claiming_safety.js",
          "sha256": "7ac5b4dfbe1bc3ea61f2b256bd34b310ca2d0690aee8a1f7339d94ad27fec847"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/vulnerable/exec_concat_export.js",
          "sha256": "275d8bc62de5103c813fc75d1d03bb03a637cfcd4ff57e03681b272f50696cf2"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/vulnerable/shell-interpreter-argv.js",
          "sha256": "dba75bb9609c263b03773c8f3ace4dcb1c0702f9d380d754a986ba6e917d8dea"
        },
        {
          "path": "rulepacks/javascript/CMDI-002/tests/vulnerable/spawn_shell_true_export.js",
          "sha256": "2399e875e0801f760ef923db719dd4b2d51ba785e13fba5d7207191a8470f77e"
        },
        {
          "path": "rulepacks/javascript/CODE-002/rule.yaml",
          "sha256": "5fba2995a7c08491b7fce10659cff11e00d9197bf59a5d3a38f93403ca398b63"
        },
        {
          "path": "rulepacks/javascript/CODE-002/tests/safe/allowlist_table_export.js",
          "sha256": "85869a3b0814860009545f5da55fe63518b9c17b8cbf59d819beecea904fa706"
        },
        {
          "path": "rulepacks/javascript/CODE-002/tests/vulnerable/eval_export.js",
          "sha256": "ae60852aa9bc8760e4d3701940685ae52258960802d7f7826562dd28b710e310"
        },
        {
          "path": "rulepacks/javascript/PATH-002/rule.yaml",
          "sha256": "6cd1dcc2bd021b507e56eda1048e2d556a7f2d63e174a387c55654dfd32b2fc1"
        },
        {
          "path": "rulepacks/javascript/PATH-002/tests/safe/contained_read_export.js",
          "sha256": "472c240fcecb888932368d9ac76e6872fa996792833b27603edf78064d6df30b"
        },
        {
          "path": "rulepacks/javascript/PATH-002/tests/vulnerable/join_read_export.js",
          "sha256": "20507cd856657419f07cc9d57385ac0199ec4f9b0e462bb891c10ac96025c754"
        },
        {
          "path": "rulepacks/javascript/PROTO-001/rule.yaml",
          "sha256": "bf376e71fc05a878df13da0e52dad459fb0c3fd64022d8a69733f3714f6c0ee7"
        },
        {
          "path": "rulepacks/javascript/PROTO-001/tests/safe/picked_fields.js",
          "sha256": "8d915a5bcf94d0a9ce002f204cedd8debee71a799ec8b4ab3a0ab413144adf27"
        },
        {
          "path": "rulepacks/javascript/PROTO-001/tests/vulnerable/deep_merge.js",
          "sha256": "97b4a460cc326981a23344127f06023cce4c7195e91e33188fcc416376ab4db4"
        },
        {
          "path": "rulepacks/javascript/PROTO-002/rule.yaml",
          "sha256": "a33eb6189979feb4815736b9b41878181409cb6582bcbc84cf8b570a8ca6fdde"
        },
        {
          "path": "rulepacks/javascript/PROTO-002/tests/safe/unflatten_guarded_export.js",
          "sha256": "a8f82389db43a60343ee060f87e4a22fc806541bb9930b27133798a4f8ea1c1b"
        },
        {
          "path": "rulepacks/javascript/PROTO-002/tests/vulnerable/unflatten_export.js",
          "sha256": "5397ad7af5a07d9101fcaedc754d6fcefd64b14ecfe03e47886b1de7f2d03d2e"
        },
        {
          "path": "rulepacks/javascript/REDOS-001/rule.yaml",
          "sha256": "b20709f91bfe5bc2b834174a53fb2d0aa2772fd21838191273c117a662d7fbbc"
        },
        {
          "path": "rulepacks/javascript/REDOS-001/tests/safe/linear_regex.js",
          "sha256": "a9cff969079a95187fb874a9cd45fd323e27d936e16787a2cd0017b2eaa430fe"
        },
        {
          "path": "rulepacks/javascript/REDOS-001/tests/safe/redos-effective-length.js",
          "sha256": "b89100f7da1bf4dfa4174bf118757b4b16b7606a71a190dc9df4d803726aa9e0"
        },
        {
          "path": "rulepacks/javascript/REDOS-001/tests/vulnerable/nested_quantifier.js",
          "sha256": "7920ee95f0caf7a78d0cd31a99a6ba78e71d67b4f51267b91dbcfa02385ce71d"
        },
        {
          "path": "rulepacks/javascript/REDOS-001/tests/vulnerable/redos-log-only-length.js",
          "sha256": "fcf564ffc5b17680ee66e004e5b1245af26fa730c39738e6837b06a0f9c2003e"
        },
        {
          "path": "rulepacks/javascript/REDOS-001/tests/vulnerable/redos-unrelated-length.js",
          "sha256": "f15da1e79e6647d9637f8f86186eb2957ba0185b85a892c8454a99154a0fd6ef"
        },
        {
          "path": "rulepacks/javascript/REDOS-002/rule.yaml",
          "sha256": "96c5b0ca1b87ccfd62d47a5cdf0333b9aeb8af676e57db2cb1bf51071a01f128"
        },
        {
          "path": "rulepacks/javascript/REDOS-002/tests/safe/anchored_repetition.js",
          "sha256": "8fa107f69e124073c70a243d4ba8cf42e3baf6ff1a85728c4e90aaaca3f9de7c"
        },
        {
          "path": "rulepacks/javascript/REDOS-002/tests/safe/exact_count.js",
          "sha256": "85f3770d53e3c837a9893af66608801071e279a7fd40e524718b3e92f713c009"
        },
        {
          "path": "rulepacks/javascript/REDOS-002/tests/vulnerable/bounded_nesting.js",
          "sha256": "704567ef1e945b22e884a421d91cdebafc56a32057c66d64d5adf6500229fb99"
        },
        {
          "path": "rulepacks/javascript/REDOS-003/rule.yaml",
          "sha256": "1cc53d782185aed8c25f674342c6e25c26bf4fe7d28c11149cd7d4e6c00591b1"
        },
        {
          "path": "rulepacks/javascript/REDOS-003/tests/safe/string_built_linear.js",
          "sha256": "507ffc34c8b0de6fe2836dc76727272b795be938a762a27b9d8e3d5aa230c362"
        },
        {
          "path": "rulepacks/javascript/REDOS-003/tests/vulnerable/string_built_nesting.js",
          "sha256": "57c1f8d65d22e1e73219e296dc6a3261f86faa2e4564bb592e1c0f66471ad01d"
        },
        {
          "path": "rulepacks/javascript/REDOS-004/rule.yaml",
          "sha256": "4fc5fa489991681c7b6c7c8fdab2271f0e482c5bdf65cbdb1a5ed14fcc79fefa"
        },
        {
          "path": "rulepacks/javascript/REDOS-004/tests/safe/header_literal_split.js",
          "sha256": "2d05c9372eae684a32a51fa3608c62f1b3a262d62660bfa40e778a9fe8652d2e"
        },
        {
          "path": "rulepacks/javascript/REDOS-004/tests/vulnerable/header_regex_split.js",
          "sha256": "299f3862184b888dd6db84b50f1b94131b39df2189c0a7897d71fa3a01cd6498"
        },
        {
          "path": "rulepacks/javascript/XSS-002/rule.yaml",
          "sha256": "265b5dddc5503e3cfede82589a20346e7111aee234aae699bd72010284ab4819"
        },
        {
          "path": "rulepacks/javascript/XSS-002/tests/safe/html-whole-escape.js",
          "sha256": "2ba3ca2673b1e9cee7fc2b825cfc350951c5dc400fcd4530da274d47e5b1a91e"
        },
        {
          "path": "rulepacks/javascript/XSS-002/tests/safe/stored_profile_text.js",
          "sha256": "00b74d4ae94fc2c7af691afd78ca4834c85bf7cbb789d6c4bc42d86b0f1a9ee3"
        },
        {
          "path": "rulepacks/javascript/XSS-002/tests/vulnerable/html-discarded-escape.js",
          "sha256": "78e0100d92680afb5c379c10568f32a5513e66a0cf1e23b9f647c1959b41b3bf"
        },
        {
          "path": "rulepacks/javascript/XSS-002/tests/vulnerable/html-overwritten-escape.js",
          "sha256": "06b413b915b10c22e187b39f8c7ffd40ce94538df84eaf26ec0239e801bc4c6b"
        },
        {
          "path": "rulepacks/javascript/XSS-002/tests/vulnerable/html-partial-escape.js",
          "sha256": "d6b1b267de5f4630775d7f2545fea52433910233517c33d05a7748ab8cc174c7"
        },
        {
          "path": "rulepacks/javascript/XSS-002/tests/vulnerable/stored_profile_html.js",
          "sha256": "dd0e8a86c73974539e46b0acc340e7f19bd08778c7fc174de236a4df296e4673"
        },
        {
          "path": "rulepacks/python/COOKIE-001/rule.yaml",
          "sha256": "e96b7b90b587fa6d110a094a04a62e892ea7c3e568dc3348cb91152dc31b28eb"
        },
        {
          "path": "rulepacks/python/COOKIE-001/tests/safe/security_use.py",
          "sha256": "36232350c4ae6a4eabb43698a64e29a6f96681feb114e9634fb8e7f0771324c0"
        },
        {
          "path": "rulepacks/python/COOKIE-001/tests/vulnerable/security_use.py",
          "sha256": "1a2fedf4a92e6084c7f1d2d30c30b505edb987586506c809b295d652f1a7c9ec"
        },
        {
          "path": "rulepacks/python/DESER-002/rule.yaml",
          "sha256": "a77cd0730f50c608ddaa4d8446adb7b728522990b1cd772a96648113e522c731"
        },
        {
          "path": "rulepacks/python/DESER-002/tests/safe/json_body.py",
          "sha256": "b870d59e6a36b5c007f9b8db0f644589f1b35317ebf256ef820421f3f4b87c7d"
        },
        {
          "path": "rulepacks/python/DESER-002/tests/vulnerable/pickle_body.py",
          "sha256": "bc3ffd740c598790f2e1e6cd4d33e7e4fc4194606cca7c04ed9b6329d3fe803f"
        },
        {
          "path": "rulepacks/python/HASH-001/rule.yaml",
          "sha256": "e73bc710813e3432d33ebd5c3009af465ff431828a6f62023f8134284cb2952c"
        },
        {
          "path": "rulepacks/python/HASH-001/tests/safe/security_use.py",
          "sha256": "7dd2d78c7a7005038c32765fc0e57ac5763539fffafda7cdb100abca2706120f"
        },
        {
          "path": "rulepacks/python/HASH-001/tests/vulnerable/security_use.py",
          "sha256": "da09cde958525ff193c071da85ccaf90c210c4248921cdcc45b053dd1ea14ed6"
        },
        {
          "path": "rulepacks/python/LDAP-001/rule.yaml",
          "sha256": "ba5af874b16aced31442688c2696bdce5d653e06777cb8405ba4827fe81299d9"
        },
        {
          "path": "rulepacks/python/LDAP-001/tests/safe/example.py",
          "sha256": "cdeadf5cc35f95087984229e70a93acfb5fd15ff87159d78da56102c32549ef7"
        },
        {
          "path": "rulepacks/python/LDAP-001/tests/vulnerable/example.py",
          "sha256": "81ea19fcefe0229b53692e1a8813e6d6d602b964731857adf7c7827e3d62933b"
        },
        {
          "path": "rulepacks/python/PYEXEC-001/rule.yaml",
          "sha256": "e894bf53024edc28c99465d76e0ba6cf0041a365c3e47d886f8fa2d4bb9d978f"
        },
        {
          "path": "rulepacks/python/PYEXEC-001/tests/safe/example.py",
          "sha256": "b0987f8a75a6ef0f04626162629eb0ea116e4ca88fa060c2aecc34187a5cae6f"
        },
        {
          "path": "rulepacks/python/PYEXEC-001/tests/vulnerable/example.py",
          "sha256": "97db9745b502b8ac176393c11ac84203a5ef47c2250ad9c7f3e95279d91147ba"
        },
        {
          "path": "rulepacks/python/RANDOM-001/rule.yaml",
          "sha256": "cc5ef82221e457cd3735ddf1a2460f0ad1b4c0a42d8d046dc6eb8826c8a4401e"
        },
        {
          "path": "rulepacks/python/RANDOM-001/tests/safe/security_use.py",
          "sha256": "af026cd1cb696c62afd0a09b6d886ae62b7e42876da4692a60c4f115c7911ca1"
        },
        {
          "path": "rulepacks/python/RANDOM-001/tests/vulnerable/security_use.py",
          "sha256": "0a5c3b2dc3063e44f1707c8237116a3c73b6b90bff021a553aa26e239d759d36"
        },
        {
          "path": "rulepacks/python/SQLI-002/rule.yaml",
          "sha256": "8870d9e0c8e50ef1e98bdd0a5d340a993fd08bb79c99b83ab0d5d428532efd3c"
        },
        {
          "path": "rulepacks/python/SQLI-002/tests/safe/bound_parameter.py",
          "sha256": "f59ad09d5622601478728d738f82e771a04ef649bc287a6d98fb6ccbdad3c9a8"
        },
        {
          "path": "rulepacks/python/SQLI-002/tests/vulnerable/model_method.py",
          "sha256": "f5b72f7df4bb62bffccff279f4bd3861b94e3d5fb2a3b235beba67f8bb7323f0"
        },
        {
          "path": "rulepacks/python/SSTI-002/rule.yaml",
          "sha256": "9eaef2a4dd0a2a05427b38d57224363493ae4d6084de444cb972abe363b4a7e5"
        },
        {
          "path": "rulepacks/python/SSTI-002/tests/safe/render_file.py",
          "sha256": "27f43756ac0694b7f32b4a3c8354c7cc26b603a417a5edd353db62d9968203cf"
        },
        {
          "path": "rulepacks/python/SSTI-002/tests/vulnerable/render_string.py",
          "sha256": "4bd606000d080233cc84818ee75c20d451c0618e837364e0e6042334ef20ec94"
        },
        {
          "path": "rulepacks/python/TRUST-001/rule.yaml",
          "sha256": "951696eaf7ece7422b37a1fa86d5985f8d3b128d583ce50df98520a877896372"
        },
        {
          "path": "rulepacks/python/TRUST-001/tests/safe/example.py",
          "sha256": "84b4eadbd97c147afede3c94d45eefee81f6c9a285d099897547252f86601e05"
        },
        {
          "path": "rulepacks/python/TRUST-001/tests/vulnerable/example.py",
          "sha256": "e8746c4d0b1abfa238fb0986594cb89110a52f61c53fdd0bd40786fe650e7393"
        },
        {
          "path": "rulepacks/python/XPATH-001/rule.yaml",
          "sha256": "17604e33d66d6d7e378932a5979beba8bd09166a0c9bb9fe298cd448ba34d43b"
        },
        {
          "path": "rulepacks/python/XPATH-001/tests/safe/example.py",
          "sha256": "fd62cbe7fd076c640544152051bc8cb122a9039158b95a38bfa1bd17ab837f14"
        },
        {
          "path": "rulepacks/python/XPATH-001/tests/vulnerable/example.py",
          "sha256": "9519ae17a6895888d7949e8214de5e7c21ca8ae19aab6f69fffc61e213a0b5ba"
        },
        {
          "path": "rulepacks/python/XXE-001/rule.yaml",
          "sha256": "560eadedab50b15f003f19895559b947ef17958200940ab1099a351b3278bc4d"
        },
        {
          "path": "rulepacks/python/XXE-001/tests/safe/security_use.py",
          "sha256": "a72dfe53e9dc9bcd36404965ad208ec7a48dabf6a0cc0e570bdfc739873cd264"
        },
        {
          "path": "rulepacks/python/XXE-001/tests/vulnerable/security_use.py",
          "sha256": "362c78ea6b0ee92a418bfa22012f584ffc58c6b24396e79e1224db166237b48c"
        }
      ],
      "sha256": "ba37ec2ff5a63d0780b145365c2c6b7a9b5fc10a9f39dabaa525ae31b5baeec8",
      "policy": "Before selecting or reading external repository code or labels. Deterministic matcher only. Reachability presentation may change separately and is not used in scoring. No detector tuning after this freeze."
    },
    "adapterFreeze": {
      "frozenAt": "2026-10-22T01:09:07.033706+00:00",
      "adapterSha256": "5ce88982c3eefdf7b3ed59ea1dbb41ae22fe4b3ab1ebe85859752f45252d6c7e",
      "selection": "No second repository chosen or read yet. All predictions will be sealed before adjudication."
    },
    "predictionSeal": {
      "sealedAt": "2026-10-22T01:09:28.080087+00:00",
      "sha256": "af7fb712ecf9d30ca38ef745e2eda614a36ce7ca5738321ed170b87155f54bd7",
      "labelsViewed": false,
      "outcomesViewed": false
    },
    "adapterCorrection": "Initial PyGoat adapter serialized EngineMatch as FindingInput, losing line/CWE fields. Invalid predictions and protocol are retained internally. Corrected adapter rerun is disclosed as post-label development evidence. Corrected adapter then frozen before DVPWA selection, prediction seal and label adjudication. No detector tuning.",
    "metadataCorrection": "The generic frozen protocol refers to a Django training repository; DVPWA actually uses aiohttp. Repository revision/inventory identify the actual input. This text metadata does not enter scoring."
  },
  "limits": "One newly selected public Python training repository does not estimate customer accuracy or language coverage. No JavaScript/TypeScript repository holdout. Native secret scanner only, without gitleaks or live provider validity checks. Do not combine holdout, development rerun and authored repair rates."
}
