{
  "llm": {
    "conf": 0.37397984,
    "grade": "benign",
    "model": "Qwen/Qwen3.6-27B",
    "outcome": "benign",
    "interpretation": "Standard Ruby FFI library code"
  },
  "ml": {
    "v": "7",
    "eng": "2.3.0-beta.1",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.10568547,
        "rte": "az",
        "prob": 0.10568547
      }
    ],
    "prob": 0.10568547,
    "skip": [
      {
        "rte": "az/gem",
        "why": "unavailable"
      },
      {
        "rte": "az/gem",
        "why": "unavailable"
      }
    ],
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.10568547248840332,
        "type": "gem"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.0018452703952789307,
        "type": "tar.gz"
      },
      {
        "id": 2,
        "lvl": -1,
        "conf": 0,
        "prob": 0.01287466287612915,
        "type": "ruby"
      },
      {
        "id": 3,
        "lvl": -1,
        "conf": 0,
        "prob": 0.0006661117076873779,
        "type": "ruby"
      },
      {
        "id": 4,
        "lvl": -1,
        "conf": 0,
        "prob": 0.011974960565567017,
        "type": "markdown"
      },
      {
        "id": 5,
        "lvl": -1,
        "conf": 0,
        "prob": 0.10568547248840332,
        "type": "gz"
      },
      {
        "id": 6,
        "lvl": -1,
        "conf": 0,
        "prob": 0.008222907781600952,
        "type": "ruby"
      },
      {
        "id": 7,
        "lvl": -1,
        "conf": 0,
        "prob": 0.009753435850143433,
        "type": "ruby"
      },
      {
        "id": 8,
        "lvl": -1,
        "conf": 0,
        "prob": 0.010087937116622925,
        "type": "ruby"
      },
      {
        "id": 9,
        "lvl": -1,
        "conf": 0,
        "prob": 0.008222907781600952,
        "type": "ruby"
      },
      {
        "id": 10,
        "lvl": -1,
        "conf": 0,
        "prob": 0.009029895067214966,
        "type": "ruby"
      },
      {
        "id": 11,
        "lvl": -1,
        "conf": 0,
        "prob": 0.10568547248840332,
        "type": "ruby"
      },
      {
        "id": 12,
        "lvl": -1,
        "conf": 0,
        "prob": 0.10568547248840332,
        "type": "ruby"
      },
      {
        "id": 13,
        "lvl": -1,
        "conf": 0,
        "prob": 0.10568547248840332,
        "type": "gz"
      },
      {
        "id": 14,
        "lvl": -1,
        "conf": 0,
        "prob": 0.10568547248840332,
        "type": "pkg_info"
      },
      {
        "id": 15,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00734373927116394,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-07-10T08:27:26Z"
  },
  "path": "rockbox_ffi-0.1.2.gem",
  "raw": {
    "fetched": [
      {
        "size": 3115,
        "cached": false,
        "status": 200,
        "headers": [
          [
            "date",
            "Fri, 10 Jul 2026 08:27:25 GMT"
          ],
          [
            "content-type",
            "application/octet-stream"
          ],
          [
            "content-length",
            "3115"
          ],
          [
            "connection",
            "keep-alive"
          ],
          [
            "set-cookie",
            "_cfuvid=xyj6HZisKjdHUgS7ZNncms29PuIoNo6eGsR4iZLiUCM-1783672045.9397202-1.0.1.1-sfx78_VxXh0_tq3pVCiYs5wDDkG3Iv9u6i9p9_g1D6Q; HttpOnly; SameSite=None; Secure; Path=/; Domain=npmjs.org"
          ],
          [
            "cf-ray",
            "a18e306f1c50f83a-IAD"
          ],
          [
            "cf-cache-status",
            "HIT"
          ],
          [
            "accept-ranges",
            "bytes"
          ],
          [
            "access-control-allow-origin",
            "*"
          ],
          [
            "age",
            "1318483"
          ],
          [
            "cache-control",
            "public, immutable, max-age=31557600"
          ],
          [
            "etag",
            "\"7f6e0dcd96fa721087d3d684aabb70e6\""
          ],
          [
            "last-modified",
            "Sun, 27 May 2018 00:37:03 GMT"
          ],
          [
            "server",
            "cloudflare"
          ]
        ],
        "locator": "pkg:npm/fiddle@0.0.1",
        "outcome": "ok",
        "final_url": "https://registry.npmjs.org/fiddle/-/fiddle-0.0.1.tgz",
        "fetched_at": 1783672045,
        "resolved_url": "https://registry.npmjs.org/fiddle/-/fiddle-0.0.1.tgz",
        "source_offset": 376,
        "source_sha256": "2acf32767699ec3c17032ece0a0d462b4d28c620d2796f3c16f075a8a987d8c1",
        "content_sha256": "7ccce8db39eb3b9247b1523fd8ed0b608ea36f055980726b08bdfea38ede37ce"
      },
      {
        "size": 36766,
        "cached": false,
        "status": 200,
        "headers": [
          [
            "date",
            "Fri, 10 Jul 2026 08:27:25 GMT"
          ],
          [
            "content-type",
            "application/octet-stream"
          ],
          [
            "content-length",
            "36766"
          ],
          [
            "connection",
            "keep-alive"
          ],
          [
            "set-cookie",
            "_cfuvid=ntaQQfgH2OJo_9PIRji0520UYMfZonWfABVsGIF3H.8-1783672045.9786732-1.0.1.1-ceAWYg6k4Gmr2uSFGkJNPN9MxPJsSaGQJ7wvcmhYgo0; HttpOnly; SameSite=None; Secure; Path=/; Domain=npmjs.org"
          ],
          [
            "cf-ray",
            "a18e306f5cc5f83a-IAD"
          ],
          [
            "cf-cache-status",
            "HIT"
          ],
          [
            "accept-ranges",
            "bytes"
          ],
          [
            "access-control-allow-origin",
            "*"
          ],
          [
            "age",
            "1902830"
          ],
          [
            "cache-control",
            "public, immutable, max-age=31557600"
          ],
          [
            "etag",
            "\"da31381e9b7b085a8780cba51ae98a64\""
          ],
          [
            "last-modified",
            "Tue, 27 Apr 2021 02:28:01 GMT"
          ],
          [
            "server",
            "cloudflare"
          ]
        ],
        "locator": "pkg:npm/json@11.0.0",
        "outcome": "ok",
        "final_url": "https://registry.npmjs.org/json/-/json-11.0.0.tgz",
        "fetched_at": 1783672045,
        "resolved_url": "https://registry.npmjs.org/json/-/json-11.0.0.tgz",
        "source_offset": 31,
        "source_sha256": "422f6b7852035e4c85b2ec77b8f9b5f346f016fcfdf56f2d49e2fecd75d05f72",
        "content_sha256": "cf9adea69034d7b05bf7a76604eed743d98579d4ccb368184c2594588d85cdc0"
      },
      {
        "cached": false,
        "locator": "pkg:npm/rockbox_ffi",
        "outcome": "unresolved",
        "fetched_at": 0,
        "source_offset": 223,
        "source_sha256": "215c838c07ce682aa059202069aeea0f5c36c9bf1851eafe923a73ec3a7df6e4"
      }
    ],
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "zdN/$wmoN*e[YFg000000000000000000000000000000000000000000000000000000000000000000000",
            "n": [
              {
                "c": 2,
                "d": "Rubygem internal archive structure file",
                "i": "metadata/package/files/name::rubygem-archive",
                "o": 0,
                "z": 21,
                "cf": 0.9800000190734863
              }
            ],
            "ln": 0
          }
        ],
        "mol": "H(Ds)",
        "sha": "de1e8cc02fc98f3ee6fca57dbdf537a1354bc21b9fbcd3e39bcfa0d91bc584fa",
        "path": "rockbox_ffi-0.1.2.gem",
        "risk": 2,
        "size": 12800,
        "type": "gem",
        "facts": {
          "metrics": {
            "gem": {
              "dependency_count": 1.0,
              "runtime_dependency_count": 1.0,
              "development_dependency_count": 0.0
            },
            "file": {
              "size": 12800.0,
              "entropy": 6.7,
              "size_bytes": 12800.0
            },
            "binary": {
              "overall_entropy": 6.7,
              "peak_region_bytes": 8192.0,
              "peak_region_entropy": 7.83
            },
            "archive": {
              "file_count": 3.0,
              "member_count": 3.0,
              "script_count": 0.0,
              "directory_count": 0.0,
              "executable_count": 0.0,
              "hidden_file_count": 0.0,
              "total_uncompressed": 9246.0,
              "max_filename_length": 17.0,
              "rtlo_filename_count": 0.0,
              "format.regular_count": 3.0,
              "nested_archive_count": 3.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,
              "security.symlink_count": 0.0,
              "unicode_filename_count": 0.0,
              "homoglyph_filename_count": 0.0,
              "timing.mtime_unique_count": 1.0,
              "misplaced_executable_count": 0.0,
              "timing.mtime_spread_seconds": 0.0,
              "security.world_writable_count": 0.0
            }
          }
        },
        "ident": {
          "name": {
            "value": "rockbox_ffi",
            "source": "gem.name",
            "verified": false
          },
          "urls": [
            {
              "url": "https://github.com/tsirysndr/rockboxd",
              "kind": "homepage",
              "source": "gem.homepage"
            }
          ],
          "trust": "unsigned",
          "authors": [
            {
              "name": "Tsiry Sandratraina",
              "role": "author",
              "source": "gem.authors"
            }
          ],
          "version": {
            "value": "0.1.2",
            "source": "gem.version",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "micro-behaviors/fs/path/extension::dll-dup",
            "crit": 2,
            "desc": ".dll extension reference",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "micro-behaviors/dylib/load/ffi::fiddle-dlopen",
            "atk": "T1059",
            "conf": 0.75,
            "crit": 3,
            "desc": "Fiddle dynamic library loading",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "objectives/impact/destroy/keywords::target-codebase--repo",
            "conf": 0.8799999952316284,
            "crit": 1,
            "desc": "Codebase/repository target word: repo",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "metadata/build/package::ruby-version-file",
            "conf": 0.8999999761581421,
            "crit": 2,
            "desc": "Ruby package version file basename",
            "from": [
              {
                "file": 2
              }
            ]
          }
        ]
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 8220.0,
              "entropy": 7.97,
              "size_bytes": 8220.0
            },
            "parse": {
              "error_count": 1.0
            },
            "binary": {
              "overall_entropy": 7.97,
              "peak_region_bytes": 8192.0,
              "peak_region_entropy": 7.83
            }
          }
        },
        "id": 1,
        "mol": "H(Ds)",
        "path": "rockbox_ffi-0.1.2.gem!!data.tar.gz",
        "pid": 0,
        "risk": 2,
        "sha": "620692c18aada83e7aa9b1d1e282f159fd804a9db0e2303677f825a04367fa81",
        "size": 8220,
        "traits": [
          {
            "id": "objectives/impact/destroy/keywords::target-codebase--repo",
            "conf": 0.8799999952316284,
            "crit": 1,
            "desc": "Codebase/repository target word: repo",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/path/extension::dll-dup",
            "crit": 2,
            "desc": ".dll extension reference",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "micro-behaviors/dylib/load/ffi::fiddle-dlopen",
            "atk": "T1059",
            "conf": 0.75,
            "crit": 3,
            "desc": "Fiddle dynamic library loading",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "metadata/build/package::ruby-version-file",
            "conf": 0.8999999761581421,
            "crit": 2,
            "desc": "Ruby package version file basename",
            "from": [
              {
                "file": 2
              }
            ]
          }
        ],
        "type": "tar.gz"
      },
      {
        "ctx": [
          {
            "b": "boQPsz*C#juVQsfx(mM\u003cy?X05A:-=BaARTDwD",
            "n": [
              {
                "c": 3,
                "d": "Recognized domain reference marker",
                "i": "objectives/command-and-control/infrastructure/domain/tld::recognized-reference-marker",
                "o": 0,
                "z": 10,
                "cf": 0.8999999761581421
              }
            ],
            "ln": 1,
            "addr": 0
          },
          {
            "b": "",
            "ln": 2,
            "addr": 30
          },
          {
            "b": "zeS%cy?j.!z!0M(z*j-vnD",
            "ln": 3,
            "addr": 31
          }
        ],
        "depth": 2,
        "facts": {
          "metrics": {
            "ast": {
              "max_depth": 5.0,
              "bind_count": 1.0,
              "call_count": 0.0,
              "node_count": 14.0,
              "identifier_count": 2.0,
              "string_literal_count": 1.0
            },
            "file": {
              "size": 73.0,
              "entropy": 4.94,
              "size_bytes": 73.0
            },
            "text": {
              "digit_ratio": 0.06,
              "space_count": 7.0,
              "total_lines": 5.0,
              "char_entropy": 4.94,
              "unique_chars": 38.0,
              "string_density": 0.2,
              "avg_line_length": 13.6,
              "max_line_length": 29.0,
              "empty_line_ratio": 0.2,
              "last_line_length": 3.0,
              "whitespace_ratio": 0.16,
              "most_common_ratio": 0.07,
              "identifier_density": 0.4,
              "line_length_stddev": 10.73,
              "normalized_string_count": 0.45,
              "most_common_char_is_null": 0.0,
              "max_inline_whitespace_run": 1.0,
              "most_common_char_codepoint": 101.0,
              "normalized_unique_identifiers": 0.86
            },
            "binds": {
              "count": 1.0
            },
            "binary": {
              "overall_entropy": 4.94,
              "peak_region_bytes": 73.0,
              "peak_region_entropy": 4.94
            },
            "source": {
              "class_count": 1.0
            },
            "strings": {
              "total": 1.0,
              "avg_length": 5.0,
              "max_length": 5.0,
              "avg_entropy": 1.92,
              "total_bytes": 5.0
            },
            "comments": {
              "chars": 28.0,
              "lines": 1.0,
              "total": 1.0,
              "to_code_ratio": 0.25
            },
            "functions": {
              "count": 1.0
            },
            "identifiers": {
              "count": 2.0,
              "total": 2.0,
              "avg_length": 8.5,
              "max_length": 10.0,
              "min_length": 7.0,
              "avg_entropy": 2.86,
              "reuse_ratio": 1.0,
              "unique_count": 2.0,
              "length_stddev": 1.5,
              "all_uppercase_ratio": 0.5
            }
          }
        },
        "id": 2,
        "path": "data.tar.gz!!data.tar.gz!lib/rockbox_ffi/version.rb",
        "risk": 1,
        "sha": "e884b14c1877edb9b5249db60922d81076000e915cbe1a5f14a0b85f580796fe",
        "size": 73,
        "traits": [
          {
            "id": "metadata/package/files/dependency::os-image-root-file-path",
            "conf": 0.9399999976158142,
            "crit": 1,
            "desc": "OS image root file path",
            "spans": [
              [
                0,
                26
              ]
            ]
          },
          {
            "id": "metadata/build/package::ruby-version-file",
            "conf": 0.8999999761581421,
            "crit": 2,
            "desc": "Ruby package version file basename",
            "spans": [
              [
                0,
                10
              ]
            ]
          },
          {
            "id": "metadata/file/metrics::low-overall-entropy-source",
            "conf": 0.8999999761581421,
            "crit": 2,
            "desc": "Script overall entropy stays low",
            "spans": [
              [
                0,
                29
              ]
            ]
          },
          {
            "id": "metadata/build/package::ruby-package-reference-context",
            "conf": 0.8999999761581421,
            "crit": 2,
            "desc": "Ruby package version or spec context",
            "spans": [
              [
                0,
                10
              ]
            ]
          }
        ],
        "type": "ruby"
      },
      {
        "ctx": [
          {
            "b": "zF9r)x(){bvqE$EBAhIn3jn12mRMyzy?j.qqGVC]aAITny?Wucaz+$8wmY^7w]zYjy?Wv0z!0M(z*kS3w[-\u003e8bmkUrl$G\u003eAvrb}2az2!av@#KjaARpdazb+lv@#B6zGu}AwGUF\u003ey?$k5zE:(2y\u0026so7zGu}xxK@r9A+eZ5x(4(lB7/05wN(b)az++3A::0laMv{oaz#9ulM*8:ay/tbAa%c1wftL%A+c\u003cCra]?=y?Wv0vrcSox(+zkz!0i$wN({bx\u003c\u0026caxK}",
            "ln": 13,
            "col": 14,
            "line": 1
          },
          {
            "b": "awDM\u003cA=k#tazC.6y\u0026%o1flg#vyHRjbuUi[:e[=x!FrRf(wO2*6x(k5mD2vamCwhejaARpdavvnqlp\u0026^p3uxY$B.L(car\u003eAiwmPH/a{@v4ADL#owGSgex\u003eg:\u003cwIm+mAbP=sa{[V]z!a0bwGT(?v@2K(CT+d]3lQDoawuY-vru66BzbkdAb]J0B.LVlaAIj8A+e=7y?Wv0vrcSCaw^8\u0026v}xgZzEWls3lQDoarR^Ye*a4/lRx:wsyjJ!nNCd.llG\u0026SB%7%pAV==wCYmFkv}*3cz*2YjA+P5}dgdgu",
            "ln": 311,
            "col": 13,
            "line": 8
          },
          {
            "b": "azttbwGSywwPhMgv}YB-yJ1uqatj\u003cFwP/HfarUiaw/#eay?tqox\u003c#9\u003eA^q2hvrue\u0026arR^HzEEx[B09Q*c3JNfx\u003c#a3v@2K(CWC5{x!A}wy?Wu3y?Wv0z!0M(z*kS3w[-(szY\u003c7sv@2K(CWC5{x!A}jy*vw\u003carR!GA+P8}auZ\u0026Kt)Z]YarR!vw/@HkzGWc=avP4atoV%vlRx:wsyjJ!nNCd.llYX:3lQDlarR!GA+P8}auR+ewO#U#arR^HarUYoBAIRwaz2ClazCBgmRMWIe[GowB96R{wO#Vu3lQDlaz2C33jm)#arR)KluJ",
            "ln": 663,
            "col": 44,
            "line": 17
          },
          {
            "b": "3lQDlaA?slwn=GhjS)jdy?kkgCYm8ewm6p:Bz96De?O!fe?.xVzE^Waa$K\u003czuU0\u003e\u003euTCk?arR^HzEEx[B1R3jv}V#}zY\u003cBBvqPO63lQDlarR!pvqYP#jS)jdy?kklz!T8qC4CM4",
            "ln": 976,
            "col": 72,
            "line": 27
          },
          {
            "b": "w/%MSy?kkgCXIkvkpy2IzE+g6arR^HwO#2=3lQDlar@1gvqGZ4B-nEnA=k!qBzbxfazbt7wGU/cz!\u003c68xcp/8AV/EjA+w%9flgSuwNPT\u003easInwAbM\u003eexK$W?z/{dJe^-ZzarUieAV^H/mRMWIe[GoDvqYQ.Aa9\u003c4c%{s(x(WM/dgdguarUGsz/u?fzWEQfarR^HA+f5fjS)jdy?kklz!T8qwnc6nar\u003e]oA+w%9a$K\u0026XA+f5#vrl07dgdguarR^Hx\u003ewFSx(4ukwnc6}v@#TfC%rY$wO-!5arR^HarR^HzEEx[B1R3jv}V#}zY\u003cBBvqPO63lQDlarR^HarR!pvqYP#jS)jdyY",
            "ln": 1133,
            "col": 20,
            "line": 32
          },
          {
            "b": "wftY5vSC)$C}HjrwPP4say2l@arR^HarR^HarR^HarR^HarR^Hb2Ri7of#ARuQ^HRuRB3TaA8oyA=(mxu$iR=xkX]4B.LV5at2f=wO+{^B7DECA3ctEtNzO@arR^HarR^HarR^HarR^HarR^JA=kD6vScGyw[C:+e*ablx\u003ep*otY7VbbysJMx\u003ep*cyhW*7c)z]larR\u003cSEiG1vaz2C33jm)#boP%0x(k4.x\u003eg:\u003cwGVhqvq{f%A=SvwC4y",
            "ln": 1667,
            "col": 60,
            "line": 52
          },
          {
            "b": "vp}1@arR^Hw]7)*au{#6auyS03lQE5zE:7YarR)KlVl{?ayMyawNPK2lM*C(A+PA7aAz4nB-IwhwftubaARpdaves=azC.nzY\u0026Ehq/)4]zF7HyBzbl6azbU9wGUYee^-Z",
            "ln": 5185,
            "col": 16,
            "line": 124
          }
        ],
        "depth": 2,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "exist?"
            ],
            [
              "",
              "expand_path"
            ],
            [
              "",
              "each"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "exist?"
            ],
            [
              "",
              "expand_path"
            ],
            [
              "",
              "loop"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "directory?"
            ],
            [
              "",
              "each"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "exist?"
            ],
            [
              "",
              "dirname"
            ],
            [
              "",
              "raise"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "extend"
            ],
            [
              "",
              "dlload"
            ],
            [
              "",
              "library_path"
            ],
            [
              "",
              "typealias"
            ],
            [
              "",
              "typealias"
            ],
            [
              "",
              "typealias"
            ],
            [
              "",
              "typealias"
            ],
            [
              "",
              "typealias"
            ],
            [
              "",
              "typealias"
            ],
            [
              "",
              "typealias"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "extern"
            ],
            [
              "",
              "null?"
            ],
            [
              "",
              "force_encoding"
            ],
            [
              "",
              "to_s"
            ],
            [
              "",
              "rb_string_free"
            ],
            [
              "",
              "fiddle"
            ],
            [
              "",
              "fiddle/import"
            ]
          ],
          "mbr": [
            "File.directory?",
            "File.dirname",
            "File.exist?",
            "File.expand_path",
            "File.join",
            "Lib.rb_string_free",
            "RockboxFFI.library_path",
            "names.each",
            "ptr.null?",
            "ptr.to_s",
            "ptr.to_s.force_encoding",
            "tried.join"
          ],
          "tgt": [
            "directory?",
            "dirname",
            "dlload",
            "each",
            "exist?",
            "expand_path",
            "extend",
            "extern",
            "force_encoding",
            "join",
            "library_path",
            "loop",
            "null?",
            "raise",
            "rb_string_free",
            "require",
            "to_s",
            "typealias"
          ],
          "funcs": [
            [
              "library_path",
              693
            ],
            [
              "b",
              5172
            ],
            [
              "take_string",
              5357
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 1,
              "op.shl": 3,
              "max_depth": 16,
              "op.concat": 18,
              "call_count": 72,
              "node_count": 771,
              "member_count": 12,
              "op_density.eq": 0,
              "op_density.shl": 0,
              "member_depth_max": 3,
              "op_density.concat": 0.02
            },
            "file": {
              "size": 5520,
              "entropy": 4.88
            },
            "text": {
              "lines": 139,
              "top_char": 101,
              "max_ws_run": 3,
              "digit_ratio": 0.03,
              "space_count": 953,
              "char_entropy": 4.88,
              "unique_chars": 85,
              "top_char_null": 0,
              "string_density": 0.47,
              "top_char_ratio": 0.07,
              "ascii_art_lines": 3,
              "avg_line_length": 38.71,
              "max_line_length": 148,
              "non_ascii_ratio": 0,
              "empty_line_ratio": 0.13,
              "last_line_length": 3,
              "whitespace_ratio": 0.2,
              "identifier_density": 0.99,
              "line_length_stddev": 28.11,
              "normalized_string_count": 5.6,
              "repeated_char_sequences": 8,
              "suspicious_string_ratio": 0.05,
              "suspicious_comment_ratio": 0.25,
              "suspicious_identifier_ratio": 0.03,
              "normalized_unique_identifiers": 5.48
            },
            "binds": {
              "count": 10
            },
            "binary": {
              "peak_region_bytes": 5520,
              "peak_region_entropy": 4.92
            },
            "source": {
              "class_count": 2,
              "function_count": 3
            },
            "imports": {
              "count": 2,
              "third_party_count": 2,
              "third_party_ratio": 1
            },
            "strings": {
              "sql": 1,
              "bytes": 2158,
              "count": 66,
              "shell": 2,
              "avg_length": 32.7,
              "max_length": 135,
              "path_count": 1,
              "avg_entropy": 3.62,
              "entropy_stddev": 0.83
            },
            "comments": {
              "chars": 1455,
              "count": 24,
              "empty": 1,
              "lines": 23,
              "high_entropy": 6,
              "to_code_ratio": 0.2
            },
            "functions": {
              "count": 5
            },
            "identifiers": {
              "count": 138,
              "unique": 39,
              "avg_length": 6.21,
              "max_length": 14,
              "min_length": 1,
              "avg_entropy": 2.24,
              "reuse_ratio": 0.28,
              "length_stddev": 3.14,
              "sequential_names": 1,
              "single_char_count": 1,
              "single_char_ratio": 0.03,
              "all_lowercase_ratio": 0.74,
              "all_uppercase_ratio": 0.03,
              "double_underscore_count": 1,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 3,
        "mol": "O(S)H₃(DbDsF)Md(In₂)",
        "path": "data.tar.gz!!data.tar.gz!lib/rockbox_ffi/ffi.rb",
        "pid": 1,
        "risk": 5,
        "sha": "2acf32767699ec3c17032ece0a0d462b4d28c620d2796f3c16f075a8a987d8c1",
        "size": 5520,
        "traits": [
          {
            "id": "metadata/import/ruby/fiddle::fiddle",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports fiddle",
            "spans": [
              [
                385,
                6
              ]
            ]
          },
          {
            "id": "metadata/import/ruby/fiddle/import::fiddle/import",
            "conf": 0.95,
            "crit": 3,
            "desc": "imports fiddle/import",
            "spans": [
              [
                402,
                13
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                102,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                124,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                61,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                359,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                1181,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/loop::block-unbounded-loop-header",
            "conf": 1.0,
            "crit": 3,
            "desc": "Contains an unbounded block loop",
            "spans": [
              [
                1271,
                11
              ]
            ]
          },
          {
            "id": "micro-behaviors/dylib/load/ffi::ruby-fiddle-require",
            "atk": "T1059",
            "conf": 0.75,
            "crit": 3,
            "desc": "Ruby requires the Fiddle native library",
            "spans": [
              [
                376,
                15
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/library::dylib-name-literal",
            "conf": 1.0,
            "crit": 3,
            "desc": "Literal references a .dylib name",
            "spans": [
              [
                727,
                58
              ],
              [
                730,
                20
              ]
            ]
          },
          {
            "id": "objectives/supply-chain/install-hook/extconf::extconf-build-toolchain-invocation",
            "conf": 0.9,
            "crit": 3,
            "desc": "extconf.rb invokes a native build toolchain",
            "spans": [
              [
                1731,
                6
              ]
            ]
          }
        ],
        "type": "ruby"
      },
      {
        "ctx": [
          {
            "b": "boR2Bv@2K(CWC5{x=[*4BZ/RB",
            "n": [
              {
                "c": 3,
                "d": "Recognized domain reference marker",
                "i": "objectives/command-and-control/infrastructure/domain/tld::recognized-reference-marker",
                "o": 0,
                "z": 9,
                "cf": 0.8999999761581421
              }
            ],
            "ln": 1,
            "addr": 0
          },
          {
            "b": "",
            "ln": 2,
            "addr": 21
          },
          {
            "b": "toNivwO\u003eZ3xMOunB2\u003e%cx(dGnB7/o0y?dPtx(tUqwO\u003c8zflg#vyHRjbuUi[:kwUmJz-@b-vThP$zf44uz!A#Qz!%ujj:gNNBy=[bc$)ZAAc15[flhhAD1QY9B1RxKxd)[ezf4vJz!0M(z*kS3w[-W",
            "ln": 3,
            "addr": 22
          },
          {
            "b": "aZmSOv}xL0wNcY$BAzFyiXJd2zd+FxxLz3]wofwqz.CNdwm]Eby?Wx\u003czGxwvm]h(heIX}jeIg)YeIg^EBy/FAvR*f#df",
            "ln": 6,
            "addr": 280
          },
          {
            "b": "",
            "ln": 7,
            "addr": 354
          },
          {
            "b": "qGVC]ayY55wnb{]B0b7kAV/EqwGT(?v@2K(CPXE=l@M]idL8X(dS5:svpS!*vjA-TayPd#asX\u003cWy*?P#vpK75dJ\u0026quxk8l{ec",
            "n": [
              {
                "c": 2,
                "d": "English language detection",
                "i": "metadata/file/profile/language::lang-english",
                "o": 369,
                "z": 3,
                "cf": 0.800000011920929
              }
            ],
            "ln": 8,
            "addr": 355
          },
          {
            "b": "C4\u003ewctvq5SwmPH/u%Lf]BAzFyiXJc%z!0\u0026vA=\u003e\u0026peO[\u003ckxd!ayxd)?lfkUcsBy/FCmRMyzy?kkjBzU?yasHcgvTf8qByYi4vKR",
            "ln": 9,
            "addr": 433
          },
          {
            "b": "z*2YjaARpdaAhvjvS=y3BrB$cx\u003c#a3v@2K(CWC5{x\u003c-68xKL{)wftY5vSC)$C}HjmzY\u0026}aBzk]faz2!twO#N6z/cXiA@",
            "ln": 10,
            "addr": 512
          }
        ],
        "depth": 2,
        "facts": {
          "metrics": {
            "file": {
              "size": 4031.0,
              "entropy": 5.24,
              "size_bytes": 4031.0
            },
            "text": {
              "digit_ratio": 0.02,
              "space_count": 551.0,
              "total_lines": 115.0,
              "char_entropy": 5.24,
              "unique_chars": 92.0,
              "ascii_art_lines": 2.0,
              "avg_line_length": 34.05,
              "high_byte_ratio": 0.0,
              "max_line_length": 119.0,
              "non_ascii_ratio": 0.0,
              "empty_line_ratio": 0.25,
              "last_line_length": 3.0,
              "long_token_count": 1.0,
              "whitespace_ratio": 0.17,
              "most_common_ratio": 0.07,
              "line_length_stddev": 33.77,
              "repeated_char_sequences": 12.0,
              "most_common_char_is_null": 0.0,
              "max_inline_whitespace_run": 58.0,
              "most_common_char_codepoint": 101.0
            },
            "binary": {
              "overall_entropy": 5.24,
              "peak_region_bytes": 4031.0,
              "peak_region_entropy": 5.17
            }
          }
        },
        "id": 4,
        "path": "data.tar.gz!!data.tar.gz!README.md",
        "risk": 1,
        "sha": "4cd432b09b8ce8f21c4620135614992d71cd361d59aabdcbd8f9a0ce85483ee7",
        "size": 4031,
        "traits": [
          {
            "id": "metadata/file/extension/identity::markdown-file-basename",
            "conf": 1.0,
            "crit": 1,
            "desc": "Markdown document file extension",
            "spans": [
              [
                0,
                9
              ]
            ]
          },
          {
            "id": "metadata/file/profile/language::lang-english",
            "conf": 0.800000011920929,
            "crit": 2,
            "desc": "English language detection",
            "spans": [
              [
                369,
                3
              ]
            ]
          },
          {
            "id": "metadata/file/extension/identity::doc-or-config-extension",
            "conf": 1.0,
            "crit": 1,
            "desc": "Document or config file extension",
            "spans": [
              [
                0,
                9
              ]
            ]
          }
        ],
        "type": "markdown"
      },
      {
        "id": 5,
        "sha": "875f6db2ba75997c464a39bdda7fa0d21dedefa57169f5a499627026adc52e09",
        "path": "rockbox_ffi-0.1.2.gem!!checksums.yaml.gz",
        "size": 297,
        "type": "gz",
        "depth": 1
      },
      {
        "id": 6,
        "sha": "422f6b7852035e4c85b2ec77b8f9b5f346f016fcfdf56f2d49e2fecd75d05f72",
        "path": "data.tar.gz!!data.tar.gz!lib/rockbox_ffi/player.rb",
        "risk": 1,
        "size": 4778,
        "type": "ruby",
        "depth": 2
      },
      {
        "id": 7,
        "sha": "0e7f473f7382fcccfce7c7431df728939e81345e83f10b967239946678e79676",
        "path": "data.tar.gz!!data.tar.gz!lib/rockbox_ffi/metadata.rb",
        "risk": 1,
        "size": 905,
        "type": "ruby",
        "depth": 2
      },
      {
        "id": 8,
        "sha": "c5a39ea9d06761888317399ae00b43b57242a7505db4b6fd799a361c34aa126f",
        "path": "data.tar.gz!!data.tar.gz!lib/rockbox_ffi/enums.rb",
        "risk": 1,
        "size": 698,
        "type": "ruby",
        "depth": 2
      },
      {
        "id": 9,
        "sha": "79665cafc98a4324f5fa44795bb541a7a06774591118d41c81c2b2e71c016e54",
        "path": "data.tar.gz!!data.tar.gz!lib/rockbox_ffi/dsp.rb",
        "risk": 1,
        "size": 5228,
        "type": "ruby",
        "depth": 2
      },
      {
        "id": 10,
        "sha": "215c838c07ce682aa059202069aeea0f5c36c9bf1851eafe923a73ec3a7df6e4",
        "path": "data.tar.gz!!data.tar.gz!lib/rockbox_ffi.rb",
        "risk": 1,
        "size": 546,
        "type": "ruby",
        "depth": 2
      },
      {
        "id": 11,
        "sha": "1e84b39de1888a3bf634f952196103f1d43e9612d64b5ff6306d41547151930a",
        "path": "data.tar.gz!!data.tar.gz!examples/smoke.rb",
        "risk": 1,
        "size": 2114,
        "type": "ruby",
        "depth": 2
      },
      {
        "id": 12,
        "sha": "dc94beb7a2794a9441bb41d41b07fef1985b3dd0582e013d0d65047691ca00cf",
        "path": "data.tar.gz!!data.tar.gz!examples/play.rb",
        "risk": 1,
        "size": 1286,
        "type": "ruby",
        "depth": 2
      },
      {
        "id": 13,
        "sha": "20f77ffe0b56e69c1749a47007c36837cd2b1a17a1c9cf36fd76a3ce42411af8",
        "path": "rockbox_ffi-0.1.2.gem!!metadata.gz",
        "size": 729,
        "type": "gz",
        "depth": 1
      },
      {
        "id": 14,
        "sha": "cb38847941707c5a20045cf855812c01ec8a9b8e9384706b5e80e1070b486577",
        "path": "metadata.gz!!metadata.gz!metadata",
        "size": 1844,
        "type": "pkg_info",
        "depth": 2
      },
      {
        "id": 15,
        "mol": "O(S)Md",
        "sha": "a53bc0e2c8e04abeb5203ba890bafe6593b12892196def5bebd6598ebf59fef8",
        "path": "rockbox_ffi@0.1.2.registry.json",
        "risk": 2,
        "size": 1036,
        "type": "registry",
        "depth": 1
      }
    ],
    "omitted_files": 11,
    "v": "8"
  }
}