{
  "ml": {
    "v": "7",
    "eng": "2.3.1-beta.0",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.45861283,
        "rte": "az",
        "prob": 0.45861283
      },
      {
        "cls": 0,
        "raw": 0.273363,
        "rte": "az/zip",
        "prob": 0.273363
      }
    ],
    "prob": 0.45861283,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.4586128294467926,
        "type": "zip"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.28270769119262695,
        "type": "zip"
      },
      {
        "id": 2,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013401110663835425,
        "type": "github_actions"
      },
      {
        "id": 3,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000015576681107631885,
        "type": "github_actions"
      },
      {
        "id": 4,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013689200386579614,
        "type": "markdown"
      },
      {
        "id": 5,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001181165407615481,
        "type": "markdown"
      },
      {
        "id": 6,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000014096498489379883,
        "type": "text"
      },
      {
        "id": 7,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000016510486602783203,
        "type": "makefile"
      },
      {
        "id": 8,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000014116366401140112,
        "type": "markdown"
      },
      {
        "id": 9,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013907750144426245,
        "type": "markdown"
      },
      {
        "id": 10,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000014136235222395044,
        "type": "text"
      },
      {
        "id": 11,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000014523665413435083,
        "type": "text"
      },
      {
        "id": 12,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001231829355674563,
        "type": "markdown"
      },
      {
        "id": 13,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013520319953386206,
        "type": "lua"
      },
      {
        "id": 14,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000015467405319213867,
        "type": "lua"
      },
      {
        "id": 15,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000014692544937133789,
        "type": "lua"
      },
      {
        "id": 16,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013728936210100073,
        "type": "lua"
      },
      {
        "id": 17,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001385807991027832,
        "type": "lua"
      },
      {
        "id": 18,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013907750144426245,
        "type": "lua"
      },
      {
        "id": 19,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013420979485090356,
        "type": "lua"
      },
      {
        "id": 20,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000015109777450561523,
        "type": "lua"
      },
      {
        "id": 21,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012695789337158203,
        "type": "lua"
      },
      {
        "id": 22,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013301770195539575,
        "type": "lua"
      },
      {
        "id": 23,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013947486877441406,
        "type": "lua"
      },
      {
        "id": 24,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013530254364013672,
        "type": "lua"
      },
      {
        "id": 25,
        "lvl": -1,
        "conf": 0,
        "prob": 0.0000129242735056323,
        "type": "lua"
      },
      {
        "id": 26,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000016262134522548877,
        "type": "text"
      },
      {
        "id": 27,
        "lvl": -1,
        "conf": 0,
        "prob": 0.021283647045493126,
        "type": "lua"
      },
      {
        "id": 28,
        "lvl": -1,
        "conf": 0,
        "prob": 0.04728199169039726,
        "type": "npm"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-07-17T11:32:16Z"
  },
  "path": "ballerina.nvim-0.2.2-1.src.rock",
  "raw": {
    "fetched": [
      {
        "kind": "command",
        "cached": false,
        "locator": "pkg:npm/ballerina.config",
        "outcome": "unresolved",
        "fetched_at": 0,
        "source_offset": 147,
        "source_sha256": "404208fe096e4d1500b05301dd957fc84523bbcb6c10f80ada2e81254d206853"
      },
      {
        "kind": "command",
        "cached": false,
        "locator": "pkg:npm/ballerina.format",
        "outcome": "unresolved",
        "fetched_at": 0,
        "source_offset": 1124,
        "source_sha256": "404208fe096e4d1500b05301dd957fc84523bbcb6c10f80ada2e81254d206853"
      },
      {
        "kind": "command",
        "cached": false,
        "locator": "pkg:npm/ballerina.cli",
        "outcome": "unresolved",
        "fetched_at": 0,
        "source_offset": 2372,
        "source_sha256": "404208fe096e4d1500b05301dd957fc84523bbcb6c10f80ada2e81254d206853"
      },
      {
        "kind": "command",
        "cached": false,
        "locator": "pkg:npm/ballerina.dap",
        "outcome": "unresolved",
        "fetched_at": 0,
        "source_offset": 2605,
        "source_sha256": "404208fe096e4d1500b05301dd957fc84523bbcb6c10f80ada2e81254d206853"
      },
      {
        "kind": "command",
        "cached": false,
        "locator": "pkg:npm/ballerina.util",
        "outcome": "unresolved",
        "fetched_at": 0,
        "source_offset": 607,
        "source_sha256": "6d85b7dce8fbc2a7c959f9cae46e8aa60aab3bb86e931ed370e4164f047660c9"
      },
      {
        "kind": "command",
        "cached": false,
        "locator": "pkg:npm/ballerina.lsp",
        "outcome": "unresolved",
        "fetched_at": 0,
        "source_offset": 178,
        "source_sha256": "546dbac53df328caede6374ccb9f78088cb1b90240f1aec620f08f101aae1169"
      },
      {
        "kind": "command",
        "cached": false,
        "locator": "pkg:npm/ballerina.lsp_watch",
        "outcome": "unresolved",
        "fetched_at": 0,
        "source_offset": 1422,
        "source_sha256": "0a10e4c0ce99aaedb7e2095d515a6639e7b5a909a5d28cc0ca7b361cb60223a0"
      },
      {
        "kind": "command",
        "size": 2815,
        "cached": true,
        "status": 200,
        "headers": [
          [
            "date",
            "Fri, 17 Jul 2026 10:12:00 GMT"
          ],
          [
            "content-type",
            "application/octet-stream"
          ],
          [
            "content-length",
            "2815"
          ],
          [
            "connection",
            "keep-alive"
          ],
          [
            "set-cookie",
            "__cf_bm=57bQhZC3bA0dmT6_PaJjzd1Z1L0jH.Qtrn_ILoCg4Go-1784283119.9925728-1.0.1.1-nFhcPOaY_i1VlE4XNJcPhPxCcA5AXYguwbYnwHX53EKRhLdleQbX5joV1sQC___yNc6E4ijFNag8wtAbKzs153sm2Cs_6HlzRu0wH_IVymB7sqClPVHPPPAL26EtFxdK; HttpOnly; SameSite=None; Secure; Path=/; Domain=npmjs.org; Expires=Fri, 17 Jul 2026 10:42:00 GMT"
          ],
          [
            "set-cookie",
            "_cfuvid=BbSob4Z1J6SV6UIv.ju0PONxSJoL_L_4EVl0gmzUx50-1784283119.9925728-1.0.1.1-WLnHBtR3YpBZYze.Nhu3lh9SwvjO1QL8x0Q.v.xdkh4; HttpOnly; SameSite=None; Secure; Path=/; Domain=npmjs.org"
          ],
          [
            "cf-ray",
            "a1c8773bfb46cd76-IAD"
          ],
          [
            "cf-cache-status",
            "HIT"
          ],
          [
            "accept-ranges",
            "bytes"
          ],
          [
            "access-control-allow-origin",
            "*"
          ],
          [
            "age",
            "1520071"
          ],
          [
            "cache-control",
            "public, immutable, max-age=31557600"
          ],
          [
            "etag",
            "\"b51bee56afb96a535cafc60e8d75696b\""
          ],
          [
            "last-modified",
            "Tue, 04 Dec 2018 00:08:44 GMT"
          ],
          [
            "server",
            "cloudflare"
          ]
        ],
        "locator": "pkg:npm/bit@1.0.20",
        "outcome": "ok",
        "final_url": "https://registry.npmjs.org/bit/-/bit-1.0.20.tgz",
        "fetched_at": 1784283120,
        "resolved_url": "https://registry.npmjs.org/bit/-/bit-1.0.20.tgz",
        "source_offset": 598,
        "source_sha256": "4bdd04877198d129fe63820a90cdba63adcc01cfda21c79540d5b5ea034ccad1",
        "content_sha256": "5c7b88ebe2b417b6390348ca5b79d396f1eab868825781f6ad1969295ec75932"
      },
      {
        "kind": "command",
        "cached": false,
        "locator": "pkg:npm/vim.lsp.protocol",
        "outcome": "unresolved",
        "fetched_at": 0,
        "source_offset": 630,
        "source_sha256": "4bdd04877198d129fe63820a90cdba63adcc01cfda21c79540d5b5ea034ccad1"
      },
      {
        "kind": "command",
        "cached": false,
        "locator": "pkg:npm/vim.lsp._watchfiles",
        "outcome": "unresolved",
        "fetched_at": 0,
        "source_offset": 677,
        "source_sha256": "4bdd04877198d129fe63820a90cdba63adcc01cfda21c79540d5b5ea034ccad1"
      },
      {
        "kind": "command",
        "cached": false,
        "locator": "pkg:npm/ballerina.indent",
        "outcome": "unresolved",
        "fetched_at": 0,
        "source_offset": 9406,
        "source_sha256": "39ac746cce1e965b705e24d968885ed12063ccd487487bf85bb95304abce1983"
      }
    ],
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "p!H([6Awak2MTB0[MWd\u003cfP!Z70058-0018v8#%CRy\u00260W6x(muizGY-heIF!je\u002621ke]\u003e(uyJBDav]VFm00x.xt57LUt55h83JHhg\u003e(Q[=1Nc0*0f{FSyUQPPZ3w+zo!Db+Yzp88Ku#O[G%?bMtl{c/8RVEAQ!m}Rzq1%CK)Q#2nH:5y/C-8GC@a]*WnKwd(:VT\u003c.4*{u",
            "n": [
              {
                "c": 2,
                "d": "Archive content mismatches filename extension",
                "i": "metadata/file/extension/identity::archive-content-extension-mismatch",
                "o": 0,
                "z": 64,
                "cf": 0.949999988079071
              }
            ],
            "ln": 0
          }
        ],
        "mol": "O(P)Md(Bk)",
        "sha": "bd9a7ab4f21b9b43a6002b1f3ed0d32c33c675ce48311e6f1129ae154fa6e856",
        "path": "/data/samples/unknown/foraged/lua/luarocks.org/_/ballerina.nvim/ballerina.nvim-0.2.2-1.src.rock",
        "risk": 38,
        "size": 61315,
        "type": "zip",
        "facts": {
          "metrics": {
            "file": {
              "size": 61315.0,
              "entropy": 7.86,
              "size_bytes": 61315.0
            },
            "binary": {
              "overall_entropy": 7.86,
              "peak_region_bytes": 54272.0,
              "peak_region_entropy": 7.83
            },
            "archive": {
              "file_count": 2.0,
              "member_count": 2.0,
              "script_count": 0.0,
              "zip_bomb_ratio": 2.02,
              "directory_count": 0.0,
              "executable_count": 0.0,
              "extra_field_size": 48.0,
              "noise_file_count": 0.0,
              "total_compressed": 60887.0,
              "compression.ratio": 0.99,
              "hidden_file_count": 0.0,
              "total_uncompressed": 61476.0,
              "crc_collision_count": 0.0,
              "entry_comment_count": 0.0,
              "max_filename_length": 44.0,
              "rtlo_filename_count": 0.0,
              "format.regular_count": 2.0,
              "nested_archive_count": 1.0,
              "path_traversal_count": 0.0,
              "symlink_escape_count": 0.0,
              "security.setgid_count": 0.0,
              "security.setuid_count": 0.0,
              "security.sticky_count": 0.0,
              "double_extension_count": 0.0,
              "duplicate_member_count": 0.0,
              "security.symlink_count": 0.0,
              "unicode_filename_count": 0.0,
              "homoglyph_filename_count": 0.0,
              "security.encrypted_count": 0.0,
              "timing.mtime_unique_count": 1.0,
              "timing.mtime_unique_ratio": 0.5,
              "misplaced_executable_count": 0.0,
              "timing.mtime_dominant_count": 2.0,
              "timing.mtime_spread_seconds": 0.0,
              "timing.sentinel_mtime_count": 0.0,
              "security.world_writable_count": 0.0,
              "timing.mtime_dominant_fraction": 1.0,
              "compression.method_counts.stored": 1.0,
              "compression.method_counts.deflate": 1.0
            },
            "consistency": {
              "extension_content_mismatch": 1.0,
              "extension_content_mismatch.archive_as_unknown": 1.0
            }
          }
        },
        "traits": [
          {
            "id": "metadata/package/testing/presence/harness::test-directory-path",
            "conf": 1.0,
            "crit": 1,
            "desc": "File is in common test directory",
            "from": [
              {
                "file": 27
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/spawn::bin-sh",
            "atk": "T1059.004",
            "mbc": "E1059.004",
            "conf": 0.6000000238418579,
            "crit": 3,
            "desc": "References /bin/sh shell executable",
            "from": [
              {
                "file": 27
              }
            ]
          },
          {
            "id": "objectives/persistence/system/network-appliance::lua-rc-local-inject",
            "atk": "T1037",
            "conf": 0.8999999761581421,
            "crit": 4,
            "desc": "Lua rc.local boot injection",
            "from": [
              {
                "file": 27
              }
            ]
          },
          {
            "id": "metadata/package/testing/presence/harness::test-directory",
            "conf": 1.0,
            "crit": 2,
            "desc": "File in a test directory",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/build/github-actions::contents-write-permission",
            "conf": 0.9200000166893005,
            "crit": 3,
            "desc": "GitHub Actions contents write permission"
          }
        ]
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 60308.0,
              "entropy": 7.87,
              "size_bytes": 60308.0
            },
            "binary": {
              "overall_entropy": 7.87,
              "peak_region_bytes": 53248.0,
              "peak_region_entropy": 7.83
            },
            "archive": {
              "file_count": 29.0,
              "has_comment": 1.0,
              "comment_size": 40.0,
              "member_count": 43.0,
              "script_count": 14.0,
              "zip_bomb_ratio": 3.42,
              "directory_count": 14.0,
              "executable_count": 0.0,
              "extra_field_size": 387.0,
              "noise_file_count": 0.0,
              "total_compressed": 50070.0,
              "compression.ratio": 0.4,
              "hidden_file_count": 6.0,
              "total_uncompressed": 125012.0,
              "crc_collision_count": 0.0,
              "entry_comment_count": 0.0,
              "max_filename_length": 95.0,
              "rtlo_filename_count": 0.0,
              "format.regular_count": 29.0,
              "nested_archive_count": 0.0,
              "path_traversal_count": 0.0,
              "symlink_escape_count": 0.0,
              "security.setgid_count": 0.0,
              "security.setuid_count": 0.0,
              "security.sticky_count": 0.0,
              "double_extension_count": 0.0,
              "duplicate_member_count": 0.0,
              "format.directory_count": 14.0,
              "security.symlink_count": 0.0,
              "unicode_filename_count": 0.0,
              "homoglyph_filename_count": 0.0,
              "security.encrypted_count": 0.0,
              "timing.mtime_unique_count": 1.0,
              "timing.mtime_unique_ratio": 0.02,
              "misplaced_executable_count": 0.0,
              "timing.mtime_dominant_count": 43.0,
              "timing.mtime_spread_seconds": 0.0,
              "timing.sentinel_mtime_count": 0.0,
              "security.world_writable_count": 0.0,
              "timing.mtime_dominant_fraction": 1.0,
              "compression.method_counts.stored": 15.0,
              "compression.method_counts.deflate": 28.0
            }
          }
        },
        "id": 1,
        "mol": "O(P)Md(Bk)",
        "path": "/data/samples/unknown/foraged/lua/luarocks.org/_/ballerina.nvim/ballerina.nvim-0.2.2-1.src.rock!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip",
        "pid": 0,
        "risk": 38,
        "sha": "a1d609f00eea4dc3fd5a823901295fd34d0549e0145d8c658a39405f9bb7135f",
        "size": 60308,
        "traits": [
          {
            "id": "objectives/persistence/system/network-appliance::lua-rc-local-inject",
            "atk": "T1037",
            "conf": 0.8999999761581421,
            "crit": 4,
            "desc": "Lua rc.local boot injection",
            "from": [
              {
                "file": 27
              }
            ]
          },
          {
            "id": "metadata/package/testing/presence/harness::test-directory",
            "conf": 1.0,
            "crit": 2,
            "desc": "File in a test directory",
            "from": [
              {
                "file": 27
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/spawn::bin-sh",
            "atk": "T1059.004",
            "mbc": "E1059.004",
            "conf": 0.6000000238418579,
            "crit": 3,
            "desc": "References /bin/sh shell executable",
            "from": [
              {
                "file": 27
              }
            ]
          },
          {
            "id": "metadata/package/testing/presence/harness::test-directory-path",
            "conf": 1.0,
            "crit": 1,
            "desc": "File is in common test directory",
            "from": [
              {
                "file": 27
              }
            ]
          },
          {
            "id": "metadata/build/github-actions::contents-write-permission",
            "conf": 0.9200000166893005,
            "crit": 3,
            "desc": "GitHub Actions contents write permission"
          }
        ],
        "type": "zip"
      },
      {
        "analysis_gaps": [
          "embedded-source-incomplete"
        ],
        "ctx": [
          {
            "b": "xL}Zko(C5+vqZxAB98XzBZV\u003egv@#B6zA@w43lQDlarR^HaA}KwxGuFyarR^HarR^HaARKqwO%KKbZT\u003eXB7F\u003c4wPR#Cm[DVJryg4(pFjbKaBOUBarR^HarR^HarU\u0026sA=U@kzAn[Rvru74Bp6ckarR^HarR^Hvrc14iV{1av}YB-yANCovixf7AboVfx(k59ByX%8wN/*8y\u0026:LrBy/JnA%-l%az=gev}YB-yDq!BarR!AvqPNpaz=gev}YB-yyhgbarUYEzGvyF",
            "ln": 525,
            "col": 17,
            "line": 29
          }
        ],
        "depth": 2,
        "facts": {
          "metrics": {
            "file": {
              "size": 900,
              "entropy": 4.32
            },
            "binary": {
              "peak_region_bytes": 900,
              "peak_region_entropy": 4.32
            }
          }
        },
        "id": 2,
        "mol": "Md₂(Bk₃)",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/.github/workflows/ci.yml",
        "pid": 1,
        "refs": [
          {
            "to": "pkg:github/actions/checkout@v4",
            "off": 249,
            "kind": "dependency"
          },
          {
            "to": "pkg:github/rhysd/action-setup-vim@v1",
            "off": 283,
            "kind": "dependency"
          },
          {
            "to": "pkg:github/actions/checkout@v4",
            "off": 489,
            "kind": "dependency"
          },
          {
            "to": "pkg:github/JohnnyMorganz/stylua-action@v4",
            "off": 523,
            "kind": "dependency"
          },
          {
            "to": "pkg:github/actions/checkout@v4",
            "off": 779,
            "kind": "dependency"
          },
          {
            "to": "pkg:github/lunarmodules/luacheck@v1",
            "off": 813,
            "kind": "dependency"
          }
        ],
        "risk": 2,
        "sha": "2ff3a8550b2c8c3e9261c968d6cb94ffbc6fd8d08bf22fb07c2ccbf6415f8de6",
        "size": 900,
        "traits": [
          {
            "id": "metadata/build/ci/github-actions::workflow-definition-path",
            "conf": 0.99,
            "crit": 3,
            "desc": "GitHub Actions workflow definition path"
          },
          {
            "id": "metadata/build/ci/secret::action-secret-input",
            "conf": 0.95,
            "crit": 3,
            "desc": "Action input references workflow secret"
          },
          {
            "id": "metadata/build/ci/secret::github-token-secret",
            "conf": 0.88,
            "crit": 3,
            "desc": "References Actions-provided GITHUB_TOKEN",
            "spans": [
              [
                589,
                20
              ]
            ]
          },
          {
            "id": "metadata/build/ci/secret::step-token-input-secret-reference",
            "conf": 0.95,
            "crit": 3,
            "desc": "Step token input references an Actions secret"
          },
          {
            "id": "metadata/file/string/cicd::github-workflow-file-path",
            "conf": 0.98,
            "crit": 3,
            "desc": "GitHub Actions workflow file path"
          },
          {
            "id": "metadata/build/ci/step::mutable-version-action-ref",
            "conf": 0.9,
            "crit": 3,
            "desc": "Workflow action uses mutable version tag"
          }
        ],
        "type": "github_actions"
      },
      {
        "analysis_gaps": [
          "embedded-source-incomplete"
        ],
        "ctx": [
          {
            "b": "diJOzv@3cdB-nEExK#i}azC{uy?mj2aA7\u003e7e^=G8zdL:JqE%VQvrk#!3u6/y3lQEnz/PS9y\u0026sJ8wnca7vru0)iTM#LarUxoAclnziTM#LarR^HC4CYnx(v(I3lQDlarR^Hay]58v@=p5BzkVhiV]REwPz\u003caz/cXtzY\u003c7iy?m3@wGSygy*?i%auZ\u0026RB.#7uBzbkdy*?A%B95KDve",
            "ln": 787,
            "col": 23,
            "line": 13
          },
          {
            "b": "3lQDlarR^HaAzQxiV@!SarR^HarR^HarUrhBrC7izF0P}aA.:pAXqlrzdK?lxk8E3BZ=}hv@#B6zGx2\u003ez//ne3lQDlarR^HarR!tx(\u003eFcz/ff3xcqtrwPxzmzddc{ar\u0026S%i5@@Ni5i0%x([3hvL81#BzkVhB6A9(Bx}dOB7Gxke]CPFwPhEhe[X)uxMW=pv@Did3jl",
            "ln": 2368,
            "col": 28,
            "line": 65
          }
        ],
        "depth": 2,
        "facts": {
          "metrics": {
            "file": {
              "size": 4133,
              "entropy": 4.65
            },
            "binary": {
              "peak_region_bytes": 4096,
              "peak_region_entropy": 4.8
            }
          }
        },
        "id": 3,
        "mol": "H(Po)Md₂(Bk₄)",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/.github/workflows/release.yml",
        "pid": 1,
        "refs": [
          {
            "to": "pkg:github/actions/checkout@v4",
            "off": 1287,
            "kind": "dependency"
          },
          {
            "to": "pkg:github/nvim-neorocks/luarocks-tag-release@v7",
            "off": 3547,
            "kind": "dependency"
          }
        ],
        "risk": 3,
        "sha": "3ab2b6c26fa1b0f3fb0bd19c50a21ad97bf56e6bafa5668fe20c5637a8383f05",
        "size": 4133,
        "traits": [
          {
            "id": "metadata/build/ci/github-actions::workflow-definition-path",
            "conf": 0.99,
            "crit": 3,
            "desc": "GitHub Actions workflow definition path"
          },
          {
            "id": "metadata/build/ci/permission::contents-write-permission",
            "conf": 0.92,
            "crit": 3,
            "desc": "GitHub Actions contents write permission"
          },
          {
            "id": "metadata/build/ci/secret::step-environment-secret-reference",
            "conf": 0.95,
            "crit": 3,
            "desc": "Step environment references an Actions secret"
          },
          {
            "id": "metadata/file/string/cicd::github-workflow-file-path",
            "conf": 0.98,
            "crit": 3,
            "desc": "GitHub Actions workflow file path"
          },
          {
            "id": "micro-behaviors/process/create/shell/git::github-actions-git-push",
            "conf": 0.9,
            "crit": 3,
            "desc": "GitHub Actions pushes a git ref"
          },
          {
            "id": "micro-behaviors/process/create/shell/git::github-actions-git-tag",
            "conf": 0.9,
            "crit": 3,
            "desc": "GitHub Actions creates a git tag"
          },
          {
            "id": "metadata/build/ci/step::mutable-version-action-ref",
            "conf": 0.9,
            "crit": 3,
            "desc": "Workflow action uses mutable version tag"
          },
          {
            "id": "micro-behaviors/process/create/shell/git::github-actions-git-tag-and-push",
            "conf": 0.94,
            "crit": 3,
            "desc": "GitHub Actions creates and pushes a tag",
            "uses": [
              4,
              5
            ]
          }
        ],
        "type": "github_actions"
      },
      {
        "id": 4,
        "sha": "e1ba30cfb820734c99c291d78d8833413777cb6c9d499f148e9cdd7d118454bd",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/CHANGELOG.md",
        "risk": 1,
        "size": 3906,
        "type": "markdown",
        "depth": 2
      },
      {
        "id": 5,
        "sha": "335e946de59105a740db47427fab2d65023ef3eef2af246e303b2e2da75d1a8b",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/CONTRIBUTING.md",
        "risk": 1,
        "size": 1779,
        "type": "markdown",
        "depth": 2
      },
      {
        "id": 6,
        "sha": "6c694a80412fd81a5e2dab6e26d96537329ab42142f128d8f7a10b7f87928fa0",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/LICENSE",
        "risk": 1,
        "size": 1071,
        "type": "text",
        "depth": 2
      },
      {
        "id": 7,
        "sha": "e957e3e67df851bbdf4502860bb0c6b2bce245c1e6cf4caba42d8f2449f06edb",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/Makefile",
        "size": 202,
        "type": "makefile",
        "depth": 2
      },
      {
        "id": 8,
        "sha": "dc2ae2e092fa9db5f8f3f447ecaefb39c7162049d67e4c93a535bf95816fda4c",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/README.md",
        "risk": 1,
        "size": 11232,
        "type": "markdown",
        "depth": 2
      },
      {
        "id": 9,
        "sha": "567ebda8eb70165bff4fe75885fce06eefb4d5919a0a6e5221cf1638406cd0df",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/REVIEW.md",
        "risk": 1,
        "size": 18583,
        "type": "markdown",
        "depth": 2
      },
      {
        "id": 10,
        "sha": "36d6ef641fd83b9ffc4de4766aabd4c37087545349cbefad10879f2ba93c72de",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/compiler/ballerina.vim",
        "size": 527,
        "type": "text",
        "depth": 2
      },
      {
        "id": 11,
        "sha": "bfc0fc380033788df8dbc68950b254f4305c28e28b4a7a16a6cc13a23b3c9184",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/doc/ballerina.txt",
        "risk": 1,
        "size": 8172,
        "type": "text",
        "depth": 2
      },
      {
        "id": 12,
        "sha": "c28db2f7d52a6507400ba00e61bca0dcee9ef312845b14a865ed326f30a225cb",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/docs/proposals/scoped-lsp-file-watch.md",
        "risk": 1,
        "size": 16321,
        "type": "markdown",
        "depth": 2
      },
      {
        "id": 13,
        "sha": "d07ca2a57afdf951e9d815922d12943017957e873b699928d2c198e4df1b7052",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/ftdetect/ballerina.lua",
        "risk": 1,
        "size": 600,
        "type": "lua",
        "depth": 2
      },
      {
        "id": 14,
        "sha": "404208fe096e4d1500b05301dd957fc84523bbcb6c10f80ada2e81254d206853",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/ftplugin/ballerina.lua",
        "risk": 1,
        "size": 3173,
        "type": "lua",
        "depth": 2
      },
      {
        "id": 15,
        "sha": "6d85b7dce8fbc2a7c959f9cae46e8aa60aab3bb86e931ed370e4164f047660c9",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/lsp/ballerina.lua",
        "risk": 1,
        "size": 938,
        "type": "lua",
        "depth": 2
      },
      {
        "id": 16,
        "sha": "371541b3e9cadebbb729dd56e6462f4e2edce22d432a4124ca8a9abdb4e8ce31",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/lua/ballerina/cli.lua",
        "risk": 1,
        "size": 4326,
        "type": "lua",
        "depth": 2
      },
      {
        "id": 17,
        "sha": "d1b2d233b20f99f16f4203d443607b79b175dc2daab5dd8fb4e046c0981d8760",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/lua/ballerina/config.lua",
        "risk": 1,
        "size": 2482,
        "type": "lua",
        "depth": 2
      },
      {
        "id": 18,
        "sha": "c29bb621e29b04b8c4106cb01e3e90057762e74cb4b56b52a6d0ed0b56b8345b",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/lua/ballerina/dap.lua",
        "risk": 1,
        "size": 3789,
        "type": "lua",
        "depth": 2
      },
      {
        "id": 19,
        "sha": "951ebbb0ac637af68f1b343b3dbeca4d504683efde9f7f1dbf870d0ce7328617",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/lua/ballerina/format.lua",
        "risk": 1,
        "size": 6360,
        "type": "lua",
        "depth": 2
      },
      {
        "id": 20,
        "sha": "5e73d7ce4958ef02467f250db4d6ed39798ae88d432117aae0f737eed4d19427",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/lua/ballerina/health.lua",
        "risk": 1,
        "size": 1801,
        "type": "lua",
        "depth": 2
      },
      {
        "id": 21,
        "sha": "fb497f684cd223849272e32f38be7ceb24e2d3040307c86e0cbe661e8e0a0a15",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/lua/ballerina/indent.lua",
        "risk": 1,
        "size": 1845,
        "type": "lua",
        "depth": 2
      },
      {
        "id": 22,
        "sha": "546dbac53df328caede6374ccb9f78088cb1b90240f1aec620f08f101aae1169",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/lua/ballerina/init.lua",
        "risk": 1,
        "size": 225,
        "type": "lua",
        "depth": 2
      },
      {
        "id": 23,
        "sha": "0a10e4c0ce99aaedb7e2095d515a6639e7b5a909a5d28cc0ca7b361cb60223a0",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/lua/ballerina/lsp.lua",
        "risk": 1,
        "size": 1637,
        "type": "lua",
        "depth": 2
      },
      {
        "id": 24,
        "sha": "4bdd04877198d129fe63820a90cdba63adcc01cfda21c79540d5b5ea034ccad1",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/lua/ballerina/lsp_watch.lua",
        "risk": 1,
        "size": 13065,
        "type": "lua",
        "depth": 2
      },
      {
        "id": 25,
        "sha": "d7965c6a340de34d3c1d21c914e17c80b24d420286ef9e0605f36b082d0e467a",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/lua/ballerina/util.lua",
        "risk": 1,
        "size": 1998,
        "type": "lua",
        "depth": 2
      },
      {
        "id": 26,
        "sha": "504c1305e567b713bd116b5f22e3b511f23cc6b0c612399212c685c29a4c3561",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/syntax/ballerina.vim",
        "size": 4413,
        "type": "text",
        "depth": 2
      },
      {
        "ctx": [
          {
            "b": "eIe8GwPzYvwmYZ\u003ezE^r@v%GhswPI@oA=(nqwPxsAwQ4=@B-.h9aA}KwxGvmUzGY-hat4yLBy/JnB1.MRzz2:Fvg1OrasH\u0026xz/3RsxK@rbwPhNex([olC{4cCz/!5-Bzbkdo\u003c}*Gw[=6)ayGq5B97!jByxi5wPP59z!i#jBzbxfdj$@mC4\u003e!Cz/x!JA=(nwx(dB2vrufzAb]JewO#3bC4\u003e!Cw]oklwPRBawge(Q3jpP/v{%f@w)]y\u0026wN(]Datscfy\u0026r/(y-)tjzEW^5z/cXtwPI@wzEEx[efFLx",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "arS6Rc39TxAaJK3wN(]fB1wCDz/^9FB0r4]w]zZbvrr[8arR^HarR^Hzf6tjvqYP#c#B3ratbn?b03?\u003cdiJLHar\u00260X3lQDlarR^HaA?Eoe[]iAAaJK3c$NTxwN/*[wgo5parR^HarR^HC4\u003e!Cx(n0hwN/*gvpKz4vqEw1arR^HarS9:3lQDlarR^",
            "ln": 507,
            "col": 5,
            "line": 21
          },
          {
            "b": "eIeLaeIeLaeIeLaeIeLaeIeLaeG!LwzF0P}at2eL3t:S\u003cvqE5@z/ff3xcotWA+flkx(W=kb4s$%y?mT3zECecz/ff3xcF=i3uP\u003c2Bsntyz/ff3xf4eCwObv[y\u0026\u003c.xefFLEzEW^5z/c%L3lQE5Avt{HB.99Dv@Dl%x\u003eG5pAcb/jzGvBxz/PY6Bye%7uVPU0wHN%eaz2KvBAhInefFCvzu",
            "ln": 719,
            "col": 47,
            "line": 31
          },
          {
            "b": "dgdguvrlH3A=-ZEz/^auyB*OLwQ5f9v@#o)ayMyovqGT*vruj4zxJIhA=k$vw]zYjw]zZbvrt\u003c{zEmD[C4z^VaszCCB0\u0026dX3lQEfyAL+.Aarr)y:-!izF0P}e]$PCB-n(ODMV^ay*QW?wfs2Tg+{h4dgdguvrlH3A=-ZEz/^auyB*OLwQ5f9v@#o)ayMyovqGT*vruj4zxJIhA=k$vw]zYjvQT7Wv@k-",
            "ln": 1547,
            "col": 60,
            "line": 53
          },
          {
            "b": "A=SvBxK@q@z/ff3xcqbowPz*9wmV@oazb+lv@#B6zyu}varUfjzF0P}e]$PCB-n:QayX+}uT)}-auZ?\u003efk\u003e/KfjPcCBz(1HvQT6%aBLWCarUlnc)yr.Ac9:yB-RUyz7/vby:7zMA+flkx(W=kb4s$%y?mT3zECeuBzkLndk27ry*QW?wge(Q3lQE3z/ff3xd!mpBAIKJDWNsIwO#3c3jp(^B95/OB-.tliV})uy*QW?wftF)y\u00261envQS+ZaARJAbTK^\u003coHR\u0026Jpc\u0026kTpFBnhvRGZkvQT6",
            "ln": 1862,
            "col": 25,
            "line": 62
          },
          {
            "b": "efDcQa$i\u003cwaz+$avqE5#vqxA%jS[ARzdK?xe*8t\u003evRGZkvQT6%3lQEmx(bFmzz3cNx()]#x(4ueDMTHSaUNqszzc6Aa$K\u0026XwQ4{hats#ZEjMHMvqxB63lQEmx(bFBB$NxFuT)+^z!7ndvqxB9at=8mdiHh]att-ih3$DGy\u0026r/(y-)!cC4Ch\u003eAa9\u003c4efG1xC4Ch\u003exM4:0auZ\u0026\u003cx(bFlzGWTek#ZxaaA?Eoe[F{ze\u003c.\u0026$oHR\u0026Jpc\u0026kTpFBm+",
            "ln": 2237,
            "col": 30,
            "line": 71
          },
          {
            "b": "v]u(Jx(!xpvruj4zxZROw{503BzkVhc[bGCay/tcw[+)gB7GDoA436YdgdguA+flkx(W=kb4s$%y?mT3zECelB8SrLe]$PCB-n-T3lQE5AvqeparR!GA=\u003e}A3lQDlaA?Eoe]kPFe[n*qw[+)gvQT7?wPzH5vj(4#Aa9i\u0026y?X09wPGFFz/PSmAa9l/e[wWblUG[CxjUdMByO#}wju",
            "ln": 3281,
            "col": 51,
            "line": 100
          },
          {
            "b": "eIeLaeIe8YB8UGgvru0)at2eL3t:S\u003cvqE65B8UGgvru0)auZ\u0026/wPq\u003cbA+cTyvQT7?wPzH5vj(wqA9)/$ByO#ddgczleG!2awGUMevpKy4A+e($B98ChBzkVhay!\u00260BAIRnwftG8z/3Q-vqG:\u003eA+PA1awtYRgbpKre?]dmg:1hBCvtwioKRZF3n0?LrD8FSBy=NHgBTEaFrRe",
            "ln": 3896,
            "col": 61,
            "line": 120
          },
          {
            "b": "B7]lid0(pzarR!NazkIevO*GPBy/GgauZ\u0026]ayX=2wMr++auZ?\u003ew[=6)iXJctBzU$vefF[uBAz8mzxI7+a$t5}dLtgsy:70IefF.xzE:\u003eMau7A\u003eed9HxEjkHCaz2Kvf!sB(A=l8xwN)AozFKcdCwX\u0026pwO#3c3jp(^B95/Oy\u0026:M5CvtP6xGvnDwObu",
            "ln": 5750,
            "col": 32,
            "line": 173
          },
          {
            "b": "eIeLaeIeLaeIeLaeIeLaeIe8Py?U1zeEz\u00263z!0i(ay/k4auZ\u0026/wPq\u003cbA+cTyvQT7?wPzH5vj(5ax^a#k3uP\u003c2Bsntyy?U{MvS=y3wm5?-wfu8gBz8!mzY\u0026FexlbmFazb+lv@#B6zyu}varUlnd0)6XvQT6%efDcCB.LV5a%qp+ay/k4e[e%qy?c).zdC4svQT6%ec",
            "ln": 6134,
            "col": 53,
            "line": 184
          },
          {
            "b": "zGl\u003c.aA?Eoe[5Zke]C\u0026Dzc{^[wNPW(uT!d\u0026c$V[7B7D)BBAhIndgdguC4\u003e!Cvq]{kzGY-huT!d\u0026uT)IXy:-+nw]qSuazb+lv@#B6zyu}varR^HC4\u003e!Cv@k:8b4CLdAa]",
            "ln": 7859,
            "col": 12,
            "line": 237
          },
          {
            "b": "uU0O:auZ\u0026^vpK7YxjSYiz^^f/wlQl*vq)z@3jm)#vrlH3A=-ZIwPq\u003cbA+cTyvQT7?wPzH5vj(80A3u.-B7GDoA40d^ar\u003e(rBAIKJdiJXBz/](baAz4jz/P}xB9g#5wPI]pdgdguvrlH3A=-ZKD2Nsyw)]E^uU0O:e[5p0AcbViB1Q{gy\u00260W6x(mudau.\u003egb4+$nv/",
            "ln": 8421,
            "col": 13,
            "line": 250
          },
          {
            "b": "b4kOnvpJ%{efFwyBywV)e]\u003eJyB.bSodgdguwPoaxf!$WufFk4if^nd\u003evruQ1v}WG9wNY^{xjUTBz/Z1H3lQEgvpK7YxjSYiz^^f/wlQl*vq)z@auZ\u0026+x(1b/zE+g63n0?YeD",
            "ln": 9211,
            "col": 6,
            "line": 271
          },
          {
            "b": "eIeLaeIeLaeIeLaazC.7wO#PjeIdqpy\u0026r/(y-)CfwmYU2auZ\u0026/wPq\u003cbA+cTyvQT7?wPzH5vj(niwmYU2a$i\u003cay\u0026r/(y-)tjzEW^5z/cXizE^r@ByeS#AWU:rzE)(r3lQEcz!0i(ayYF9zGl\u003c.aA?Eoe[5Zke]C\u0026Dzc{^[wNPW(uT!d\u0026c$V[7B7D)BBAhIndgdguC4\u003e!C",
            "ln": 9367,
            "col": 56,
            "line": 276
          },
          {
            "b": "uT!d\u0026uT)IXy:-+nw]qSuazb+lv@#B6zyu}varR^HA+frmy\u0026*^.azC.7wO#Pxx(mD)zGGDmAb)uKy?W=#B14Csaz2C3dgdguC4\u003e!Cvq]{kzGY-huT!d\u0026uU0.:wPRGivS=p2",
            "ln": 9638,
            "col": 15,
            "line": 285
          },
          {
            "b": "B7]e@ayMymwO(y5vru66B98CpzF7dA3lQDlaz++fwPF$SaBtjPxKL^?y?k25xMOuniXJc{u[rBEa$K\u0026XC{jwVed9HxarU(pzGE0:at+RRarV7-3lQEr3lQDlaz$R8wGTbUb57Xcz/PAgayYw1v}xZ7x(n0awmV((aAhd9x(k5mBAh8kxcF(larR^Hy?W=#",
            "ln": 10609,
            "col": 26,
            "line": 325
          },
          {
            "b": "Ab]VgBsnKYtY7\u0026#aARgoBsqhVazb4@y?mc3dlq6VA=2lbc$V[4y?mcadgdguz/WKxCXImFf!0DvzE:8[A+PAkc)z]lvqG:5By/JnB0bBgB8$]6a$i\u003c",
            "ln": 11153,
            "col": 3,
            "line": 350
          }
        ],
        "depth": 2,
        "facts": {
          "imp": [
            [
              "",
              "vim.fn.getcwd"
            ],
            [
              "",
              "pcall"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "tostring"
            ],
            [
              "",
              "vim.deep_equal"
            ],
            [
              "",
              "error"
            ],
            [
              "",
              "vim.inspect"
            ],
            [
              "",
              "vim.inspect"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "config.setup"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "config.setup"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "pcall"
            ],
            [
              "",
              "assert"
            ],
            [
              "",
              "pcall"
            ],
            [
              "",
              "assert"
            ],
            [
              "",
              "config.setup"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "config.setup"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "require.bal_cmd"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "config.setup"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "vim.fn.tempname"
            ],
            [
              "",
              "vim.fn.mkdir"
            ],
            [
              "",
              "vim.fn.writefile"
            ],
            [
              "",
              "vim.uv.fs_chmod"
            ],
            [
              "",
              "require.bal_cmd"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "vim.fn.tempname"
            ],
            [
              "",
              "vim.fn.mkdir"
            ],
            [
              "",
              "vim.fn.writefile"
            ],
            [
              "",
              "vim.uv.fs_chmod"
            ],
            [
              "",
              "require.bal_cmd"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "config.setup"
            ],
            [
              "",
              "require.setup"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "config.setup"
            ],
            [
              "",
              "require.setup"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "config.setup"
            ],
            [
              "",
              "require.setup"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "lsp_watch.classify"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "lsp_watch.classify"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "lsp_watch.classify"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "lsp_watch.classify"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "cli.build_cmd"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "cli.build_cmd"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "cli.build_cmd"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "cli.build_cmd"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "cli.build_cmd"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "vim.fn.getqflist"
            ],
            [
              "",
              "vim.tbl_filter"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "eq"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "vim.api.nvim_create_buf"
            ],
            [
              "",
              "vim.api.nvim_buf_call"
            ],
            [
              "",
              "vim.cmd"
            ],
            [
              "",
              "vim.api.nvim_buf_delete"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "assert"
            ],
            [
              "",
              "require.setup"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "assert"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "config.setup"
            ],
            [
              "",
              "fake_dap.adapters.ballerina"
            ],
            [
              "",
              "config.setup"
            ],
            [
              "",
              "tonumber"
            ],
            [
              "",
              "assert"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "vim.api.nvim_create_buf"
            ],
            [
              "",
              "vim.api.nvim_buf_set_lines"
            ],
            [
              "",
              "vim.api.nvim_buf_call"
            ],
            [
              "",
              "indent.indentexpr"
            ],
            [
              "",
              "vim.api.nvim_buf_delete"
            ],
            [
              "",
              "ipairs"
            ],
            [
              "",
              "test"
            ],
            [
              "",
              "indent_for"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "os.exit"
            ],
            [
              "",
              "print"
            ],
            [
              "",
              "ballerina.cli"
            ],
            [
              "",
              "ballerina.config"
            ],
            [
              "",
              "ballerina.dap"
            ],
            [
              "",
              "ballerina.indent"
            ],
            [
              "",
              "ballerina.lsp"
            ],
            [
              "",
              "ballerina.lsp_watch"
            ],
            [
              "",
              "ballerina.util"
            ]
          ],
          "mbr": [
            "adapter.executable",
            "adapter.executable.args",
            "adapter.executable.command",
            "adapter.port",
            "adapter.type",
            "attach.debuggeeHost",
            "attach.request",
            "case.lines",
            "case.name",
            "case.want",
            "cli.build_cmd",
            "cli.errorformat",
            "config.options",
            "config.options.bal_cmd",
            "config.options.format_on_save",
            "config.options.indent",
            "config.options.lsp",
            "config.options.lsp.enabled",
            "config.options.lsp.file_watch",
            "config.options.lsp.root_markers",
            "config.setup",
            "fake_dap.adapters",
            "fake_dap.adapters.ballerina",
            "fake_dap.configurations",
            "fake_dap.configurations.ballerina",
            "indent.indentexpr",
            "item.valid",
            "lsp_watch.classify",
            "os.exit",
            "package.loaded",
            "parsed.items",
            "require.bal_cmd",
            "require.setup",
            "routed.generated",
            "routed.modules",
            "routed.root_dir_events",
            "routed.root_direct",
            "routed.unknown",
            "vim.api",
            "vim.api.nvim_buf_call",
            "vim.api.nvim_buf_delete",
            "vim.api.nvim_buf_set_lines",
            "vim.api.nvim_create_buf",
            "vim.bo",
            "vim.bo.errorformat",
            "vim.cmd",
            "vim.deep_equal",
            "vim.env",
            "vim.env.BALLERINA_HOME",
            "vim.env.PATH",
            "vim.fn",
            "vim.fn.getcwd",
            "vim.fn.getqflist",
            "vim.fn.mkdir",
            "vim.fn.tempname",
            "vim.fn.writefile",
            "vim.inspect",
            "vim.lsp",
            "vim.lsp.config",
            "vim.lsp.config.ballerina",
            "vim.lsp.config.ballerina.capabilities",
            "vim.lsp.config.ballerina.capabilities.workspace",
            "vim.lsp.config.ballerina.capabilities.workspace.didChangeWatchedFiles",
            "vim.lsp.config.ballerina.capabilities.workspace.didChangeWatchedFiles.dynamicRegistration",
            "vim.o",
            "vim.o.makeprg",
            "vim.opt",
            "vim.opt.runtimepath",
            "vim.opt_local",
            "vim.opt_local.errorformat",
            "vim.tbl_filter",
            "vim.uv",
            "vim.uv.fs_chmod"
          ],
          "tgt": [
            "assert",
            "cli.build_cmd",
            "config.setup",
            "eq",
            "error",
            "fake_dap.adapters.ballerina",
            "indent.indentexpr",
            "indent_for",
            "ipairs",
            "lsp_watch.classify",
            "os.exit",
            "pcall",
            "print",
            "require",
            "require.bal_cmd",
            "require.setup",
            "test",
            "tonumber",
            "tostring",
            "type",
            "vim.api.nvim_buf_call",
            "vim.api.nvim_buf_delete",
            "vim.api.nvim_buf_set_lines",
            "vim.api.nvim_create_buf",
            "vim.cmd",
            "vim.deep_equal",
            "vim.fn.getcwd",
            "vim.fn.getqflist",
            "vim.fn.mkdir",
            "vim.fn.tempname",
            "vim.fn.writefile",
            "vim.inspect",
            "vim.tbl_filter",
            "vim.uv.fs_chmod"
          ],
          "funcs": [
            [
              "test",
              204
            ],
            [
              "eq",
              404
            ],
            [
              "indent_for",
              9435
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 2,
              "op.gt": 2,
              "op.add": 1,
              "op.lor": 2,
              "op.sub": 1,
              "op.land": 3,
              "op.lnot": 3,
              "max_depth": 17,
              "call_count": 151,
              "node_count": 3812,
              "member_count": 73,
              "max_array_len": 10,
              "op_density.eq": 0,
              "op_density.gt": 0,
              "op_density.add": 0,
              "op_density.lor": 0,
              "op_density.sub": 0,
              "op_density.land": 0,
              "op_density.lnot": 0,
              "max_concat_chain": 2,
              "member_depth_max": 8
            },
            "file": {
              "size": 11244,
              "entropy": 4.95
            },
            "text": {
              "lines": 353,
              "top_char": 101,
              "max_ws_run": 6,
              "digit_ratio": 0.02,
              "space_count": 1666,
              "char_entropy": 4.95,
              "unique_chars": 85,
              "top_char_null": 0,
              "string_density": 0.53,
              "top_char_ratio": 0.07,
              "ascii_art_lines": 8,
              "avg_line_length": 30.85,
              "max_line_length": 97,
              "non_ascii_ratio": 0,
              "empty_line_ratio": 0.13,
              "last_line_length": 27,
              "whitespace_ratio": 0.18,
              "identifier_density": 1.65,
              "line_length_stddev": 26.55,
              "normalized_string_count": 9.95,
              "repeated_char_sequences": 8,
              "suspicious_string_ratio": 0.04,
              "suspicious_comment_ratio": 0.06,
              "suspicious_identifier_ratio": 0.02,
              "normalized_unique_identifiers": 14.65
            },
            "binds": {
              "count": 38
            },
            "binary": {
              "peak_region_bytes": 10240,
              "peak_region_entropy": 5.09
            },
            "source": {
              "function_count": 3
            },
            "imports": {
              "count": 7,
              "third_party_count": 7,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 3086,
              "count": 187,
              "shell": 4,
              "ip_count": 1,
              "url_count": 1,
              "avg_length": 16.5,
              "max_length": 78,
              "path_count": 21,
              "avg_entropy": 2.61,
              "empty_count": 2,
              "entropy_stddev": 1.27,
              "embedded_code_candidates": 3
            },
            "comments": {
              "chars": 979,
              "count": 17,
              "lines": 17,
              "high_entropy": 1,
              "to_code_ratio": 0.05
            },
            "functions": {
              "count": 3
            },
            "identifiers": {
              "count": 581,
              "unique": 124,
              "avg_length": 7.01,
              "max_length": 21,
              "min_length": 1,
              "avg_entropy": 2.36,
              "reuse_ratio": 0.21,
              "length_stddev": 3.91,
              "sequential_names": 2,
              "single_char_count": 3,
              "single_char_ratio": 0.02,
              "high_entropy_count": 3,
              "high_entropy_ratio": 0.02,
              "all_lowercase_ratio": 0.94,
              "all_uppercase_ratio": 0.02,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 27,
        "mol": "H(F)",
        "path": "aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!!aeec91ca252777312ebc5148d9fa76e8afd4a816.zip!ballerina.nvim-aeec91ca252777312ebc5148d9fa76e8afd4a816/tests/run.lua",
        "pid": 1,
        "risk": 2,
        "sha": "39ac746cce1e965b705e24d968885ed12063ccd487487bf85bb95304abce1983",
        "size": 11244,
        "traits": [
          {
            "id": "metadata/import/lua/ballerina/cli::ballerina/cli",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ballerina.cli",
            "spans": [
              [
                6182,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/ballerina/config::ballerina/config",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ballerina.config",
            "spans": [
              [
                776,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/ballerina/dap::ballerina/dap",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ballerina.dap",
            "spans": [
              [
                8469,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/ballerina/indent::ballerina/indent",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ballerina.indent",
            "spans": [
              [
                9415,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/ballerina/lsp::ballerina/lsp",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ballerina.lsp",
            "spans": [
              [
                3338,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/ballerina/lsp_watch::ballerina/lsp_watch",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ballerina.lsp_watch",
            "spans": [
              [
                3944,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/lua/ballerina/util::ballerina/util",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ballerina.util",
            "spans": [
              [
                1979,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/string/file::tmp",
            "conf": 0.2,
            "crit": 1,
            "desc": "tmp keyword",
            "spans": [
              [
                5798,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                79,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                555,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                1595,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                41,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                132,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/testing/presence/harness::test-directory-path",
            "conf": 1.0,
            "crit": 2,
            "desc": "File is in common test directory"
          },
          {
            "id": "micro-behaviors/fs/path/application/prefix::container-app-root-path",
            "conf": 0.9,
            "crit": 3,
            "desc": "Absolute container application root path",
            "spans": [
              [
                1926,
                5
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/interpreter/shell::bin-sh",
            "conf": 0.6,
            "crit": 3,
            "desc": "/bin/sh shell interpreter path reference",
            "spans": [
              [
                2301,
                8
              ]
            ]
          },
          {
            "id": "metadata/package/testing/presence/harness::test-directory",
            "conf": 1.0,
            "crit": 2,
            "desc": "File identified as a test by path or name",
            "uses": [
              13
            ]
          }
        ],
        "type": "lua"
      },
      {
        "ctx": [
          {
            "b": "abZy80000002a-qyG5$U[\u0026(wvBI8*kisap+a?tFQ(\u003e{wJiB/WqV:*^zqNec+Mb]a:bsw%(}}Fr3x7N?.VBtbeuzj8UN^6n8{HvsV=iFZo(pZ%8E9XOSfjjG*g-BYik7#.%{+S{0*\u003co",
            "n": [
              {
                "c": 2,
                "d": "Archive container path",
                "i": "metadata/package/files/included::archive-container-path",
                "o": 0,
                "z": 14,
                "cf": 0.949999988079071
              }
            ],
            "ln": 0
          }
        ],
        "depth": 3,
        "facts": {
          "metrics": {
            "file": {
              "size": 2815.0,
              "entropy": 7.94,
              "size_bytes": 2815.0
            },
            "parse": {
              "error_count": 1.0
            },
            "binary": {
              "overall_entropy": 7.94,
              "peak_region_bytes": 2815.0,
              "peak_region_entropy": 7.83
            }
          }
        },
        "id": 28,
        "ident": {
          "name": {
            "value": "bit",
            "source": "npm.name",
            "verified": false
          },
          "urls": [
            {
              "url": "git://github.com/sevifives/bit",
              "kind": "repository",
              "source": "npm.repository.url"
            }
          ],
          "trust": "unsigned",
          "emails": [
            "jd@sevif.me"
          ],
          "authors": [
            {
              "name": "Jason Dooley",
              "role": "author",
              "email": "jd@sevif.me",
              "source": "npm.author"
            }
          ],
          "version": {
            "value": "1.0.20",
            "source": "npm.version",
            "verified": false
          },
          "identifier": {
            "value": "bit",
            "source": "npm.name",
            "verified": false
          }
        },
        "mol": "H₂(FPo₂)Md(Pa)",
        "path": "bit-1.0.20.tgz",
        "refs": [
          {
            "to": "git://github.com/sevifives/bit",
            "off": 0,
            "kind": "repository"
          }
        ],
        "risk": 4,
        "sha": "5c7b88ebe2b417b6390348ca5b79d396f1eab868825781f6ad1969295ec75932",
        "size": 2815,
        "traits": [
          {
            "id": "micro-behaviors/process/create/shell/bridge::child-process-inline-member-require",
            "atk": "T1059",
            "mbc": "C0017",
            "conf": 0.8999999761581421,
            "crit": 3,
            "desc": "Accesses child_process from inline require()",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/bridge::child-process-require-call",
            "atk": "T1059",
            "mbc": "C0017",
            "conf": 0.800000011920929,
            "crit": 3,
            "desc": "Loads Node.js child_process with require()",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/io/stream::process-stdout-data-listener",
            "conf": 0.8999999761581421,
            "crit": 3,
            "desc": "Registers a process stdout data listener",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/package/manifest/repository::has-repository-field",
            "conf": 0.8999999761581421,
            "crit": 2,
            "desc": "package.json declares repository metadata"
          },
          {
            "id": "micro-behaviors/fs/file/read::readfilesync-call",
            "conf": 0.8999999761581421,
            "crit": 3,
            "desc": "Calls readFileSync",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/bridge::child-process-require",
            "atk": "T1059",
            "mbc": "C0017",
            "conf": 0.800000011920929,
            "crit": 3,
            "desc": "Imports the Node.js child_process module",
            "from": [
              {
                "off": 2739,
                "file": 1,
                "line": 106
              }
            ]
          },
          {
            "id": "metadata/package/manifest/entrypoint::pkg-main-field",
            "conf": 0.6000000238418579,
            "crit": 2,
            "desc": "package.json declares a main entry point"
          },
          {
            "id": "micro-behaviors/fs/file/read::read-node",
            "conf": 0.8999999761581421,
            "crit": 3,
            "desc": "Reads files with Node.js",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/package/manifest/publishing::has-publish-config",
            "conf": 0.8500000238418579,
            "crit": 3,
            "desc": "npm manifest declares publishConfig"
          }
        ],
        "type": "npm"
      }
    ],
    "omitted_files": 23,
    "rev": "a8715",
    "v": "8"
  }
}