{
  "ml": {
    "v": "7",
    "eng": "2.12.0-beta.0",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.000057518482,
        "rte": "az",
        "prob": 0.000057518482
      },
      {
        "cls": 0,
        "raw": 0.00024864078,
        "rte": "az/tar",
        "prob": 0.00024864078
      }
    ],
    "prob": 0.000057518482,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00005751848220825195,
        "type": "crate"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000010053317055280786,
        "type": "json"
      },
      {
        "id": 4,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013828277587890625,
        "type": "rust"
      },
      {
        "id": 5,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000015854835510253906,
        "type": "rust"
      },
      {
        "id": 6,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013520319953386206,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-17T17:31:57Z"
  },
  "path": "libpfu-source-0.2.6.crate",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "abZyg000000@)7JvSk}4ePU\u0026MA:@VjfFkakhzeGWvru5X)vBb}8][lj@J2Y{vcGcSruX5YkE=M-J]Jak/sKSc:\u003e\u003e\u003eDrDiv$X\u003cY1fZ#cw)A}Ec7=/(qEGl-0ejKz@!h7L}5",
            "ln": 0
          }
        ],
        "mol": "H₂(Cm₃F)",
        "sha": "d93731b184c2c81e89750e9e3723545ec70ebc37cc5091e46d392ce79b58085a",
        "path": "libpfu-source-0.2.6.crate",
        "risk": 3,
        "size": 18897,
        "type": "crate",
        "facts": {
          "metrics": {
            "file": {
              "size": 18897,
              "entropy": 7.99
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 18897,
              "peak_region_entropy": 7.79
            }
          }
        },
        "ident": {
          "name": {
            "value": "libpfu-source",
            "source": "crate.name",
            "verified": false
          },
          "urls": [
            {
              "url": "https://github.com/AOSC-Dev/pfu.git",
              "kind": "repository",
              "source": "crate.repository"
            },
            {
              "url": "https://github.com/AOSC-Dev/pfu",
              "kind": "homepage",
              "source": "crate.homepage"
            }
          ],
          "trust": "unsigned",
          "emails": [
            "xtex@aosc.io"
          ],
          "authors": [
            {
              "name": "xtex",
              "role": "author",
              "email": "xtex@aosc.io",
              "source": "crate.authors"
            }
          ],
          "version": {
            "value": "0.2.6",
            "source": "crate.version",
            "verified": false
          },
          "identifier": {
            "value": "libpfu-source",
            "source": "crate.name",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "micro-behaviors/fs/file/open::native-open-file-call",
            "conf": 0.92,
            "crit": 3,
            "desc": "Calls native open or sys_open",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/download/handler::rust-reader-read-to-end",
            "atk": "T1105",
            "conf": 0.92,
            "crit": 3,
            "desc": "Rust reader fills a byte buffer",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/lib/reqwest::rust-reqwest",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.9,
            "crit": 3,
            "desc": "Makes HTTP requests using reqwest",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/package/name/convention::cargo-package-name",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has name"
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/package/name/convention::cargo-meaningful-description",
            "conf": 0.78,
            "crit": 2,
            "desc": "Cargo package has meaningful description"
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/package/name/convention::cargo-readme-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares readme"
          },
          {
            "id": "micro-behaviors/communications/http/lib/crate::reqwest-crate",
            "conf": 0.7,
            "crit": 3,
            "desc": "References reqwest Rust HTTP library",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/package/name/convention::cargo-repository-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares repository"
          },
          {
            "id": "metadata/package/name/convention::cargo-license-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares license"
          },
          {
            "id": "metadata/package/version::cargo-package-version",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has version"
          }
        ]
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 107,
              "entropy": 4.79
            },
            "json": {
              "parsed_bytes": 107,
              "parse_limit_bytes": 76800
            },
            "binary": {
              "peak_region_bytes": 107,
              "peak_region_entropy": 4.79
            }
          }
        },
        "id": 1,
        "path": "libpfu-source-0.2.6.crate!!libpfu-source-0.2.6/.cargo_vcs_info.json",
        "pid": 0,
        "risk": 1,
        "sha": "3e3d71294e1c0e470b88a3d735069f8148246f083d6de120c691fae8944dd8a5",
        "size": 107,
        "traits": [
          {
            "id": "metadata/file/extension/identity::web-asset-extension",
            "conf": 1.0,
            "crit": 2,
            "desc": "Common web or JSON file extension"
          },
          {
            "id": "metadata/file/format/conformance::json-document-opening",
            "conf": 0.95,
            "crit": 2,
            "desc": "File begins with a JSON document",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/format/structured::valid",
            "conf": 0.6,
            "crit": 2,
            "desc": "File contains valid JSON data"
          }
        ],
        "type": "json"
      },
      {
        "ctx": [
          {
            "b": "BAhU2vr(B8ed8Y8wPz%dv}xZxi^TwhBzb/aefEU#zeTDuEjL.Ni%{aKwGV28xjVrGi-oK4wQ3ozB-RapA+flmwPI@OiZWZ$wO#PRB.LV5wPx\u003ctB-RapBy/rdw[=6)iY.v]ze:93y?kWn3ugb%az(4caAhQBx/=UeB97\u0026jx\u003e5n-mmP^GuQ)T]rz(HKawui\u0026C$-c^yDLHaxjVrKauZ\u0026vvs0h)z!0Mzi=nIMd13y+DKp6SwOkO0iY.d\u0026Cpi^",
            "ln": 304,
            "col": 12,
            "line": 15
          },
          {
            "b": "k}MnEeNo\u003eQa%Or-3jec*2}*vrCxdbhc[bHKdlv\u003ezfe1$3nP5l:x\u003c\u003e*(Ds.duBzbkdB8Mhwv}u=)z!9A4vpJ!UB8@Eoz/M$eay/tcBy/Yse^=MuvJY92D2vamw]n-fAaJ]nv@#@Ravf%-y^SbUBy/YsdiHiaaw#=(B.(dZpJf(=vruBdj%kgV32Bf{aAINkB09Q*v@#@FA+eV\u0026c)zO/lSkfTe[]iBz^NNcA+PA7c[dj+32Bf{aA?spB7]MgauZ\u0026SBA/AUwNP9$b34cga$kcUzGG/7B98CpzF7vD",
            "ln": 565,
            "col": 63,
            "line": 26
          },
          {
            "b": "aAhQBx/Xp\u003ez^^f83jd1B2)*[+Aa9l(vp%d53jd1B2)*]Xzz2)Gz/xodBzkrce[X:qc)A?CA=U@kzxZIZB-8zzvq]N(AWSnTwPz\u003caz/d0P3jd1B2)\u00263/2)*[A2}/Ugvqf*B3jd1B34ic!2)(1!2)*]Bau.[hDKp5=2)\u003e/:A=93Gb6v^AB-qqrA=+(6ao",
            "ln": 1480,
            "col": 12,
            "line": 62
          },
          {
            "b": "x)a5gmPgBwA=k!qBzbkdxk8K2zxI}SoFcV9fe0U=fe1Cqz/M$iCWUDdy?kduBzbxfaA}Koy-)edBy/rdBrCWzaz2!tA:-E1av*c/noFw:A+fidB7]-mA^n^wzF0*czddK2z/b[nfe1CRzE:(1A+eW3wGUz7m})6oBZ=E.q.xg(xLzJgv{%l$vR3W8B7F(8Bz\u0026pgC5I89azthbx(mMaBz\u0026pjz*c8nz^^f0Bzbj)fe1$3Cw7]hwGV86A:\u0026D[y+u66B9RUkaz7",
            "ln": 1869,
            "col": 32,
            "line": 80
          },
          {
            "b": "a$kOX32Bf{ay/k4wO#PjjS[AWBz$O%y?WD#BsnO5i%(pgwPP5nwPI/kjS[lJx\u003eqg73jd1\u003ewQ4=@B-.gyv@b\u003c\u003czGEHzwPPsEB-IpEe[e%qy?a}ykpD{C2}/Ugvqf*F3jd1\u003ewPz*fA:JA%A:J)fvruTkc[dwx3jm8QwPP5nwNPaXAV^H/A+frhe[f9FwPGmGe[5%jx((M(A+eV\u0026wPxgFi%(pgwPP5bB09Q*vR/%)yHq0$c$dgxzET/oaz+$8wm2",
            "ln": 2812,
            "col": 35,
            "line": 113
          },
          {
            "b": "wPP5iB-X:nB.h:VaxA5-iY.F0Bzb2\u003evq]T+x([RGwO#QgC}KeLDsXGNayPslB-RnywHPXF2)*]HzGG]Ae]\u003eJiwm6B%uUaa=c)\u0026!NBrC4nw*]@a3jd1Bw]/OGA+PSbc\u003c*m!2)\u003eMVBz9pGz^NNcAWSvz2)*[A2}*diuVf%(wO=B0d13y+vqZv7z*9uMb57}rvqGT*azbt7wO${[wGUY8aAR4jvQT7?a$j%9ed8W\u00262)\u003e6-w?jn}2)\u00263/2)*[\u003cvrVc]Bu.?]2)(1!2(",
            "ln": 4914,
            "col": 5,
            "line": 188
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "std::sync::LazyLock::new"
            ],
            [
              "",
              "regex::Regex::new.unwrap"
            ],
            [
              "",
              "regex::Regex::new"
            ],
            [
              "",
              "ctx.read.into_string"
            ],
            [
              "",
              "ctx.read"
            ],
            [
              "",
              "ctx.read.into_string"
            ],
            [
              "",
              "ctx.read"
            ],
            [
              "",
              "libabbs::apml::value::array::StringArray::from"
            ],
            [
              "",
              "srcs.len"
            ],
            [
              "",
              "src.starts_with"
            ],
            [
              "",
              "src.starts_with"
            ],
            [
              "",
              "libabbs::apml::value::union::Union::try_from"
            ],
            [
              "",
              "libabbs::apml::value::union::Union::try_from"
            ],
            [
              "",
              "src.as_str"
            ],
            [
              "",
              "un.tag.as_str"
            ],
            [
              "",
              "find_alt_fs"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "fetch_tarball"
            ],
            [
              "",
              "find_alt_fs"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "pypi::load"
            ],
            [
              "",
              "un.properties.get.unwrap_or"
            ],
            [
              "",
              "un.properties.get"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "opendal::Operator::new"
            ],
            [
              "",
              "opendal::services::Memory::default"
            ],
            [
              "",
              "REGEX_GH_URL.captures"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "opendal::Operator::new"
            ],
            [
              "",
              "opendal::services::Github::default.owner.repo"
            ],
            [
              "",
              "opendal::services::Github::default.owner"
            ],
            [
              "",
              "opendal::services::Github::default"
            ],
            [
              "",
              "opendal::layers::RetryLayer::new"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "reqwest::ClientBuilder::new.user_agent.build"
            ],
            [
              "",
              "reqwest::ClientBuilder::new.user_agent"
            ],
            [
              "",
              "reqwest::ClientBuilder::new"
            ],
            [
              "",
              "http_client"
            ],
            [
              "",
              "client.execute"
            ],
            [
              "",
              "client.get.build"
            ],
            [
              "",
              "client.get"
            ],
            [
              "",
              "resp.bytes"
            ],
            [
              "",
              "futures::executor::block_on"
            ],
            [
              "",
              "load_compressed_tarball"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "name.ends_with"
            ],
            [
              "",
              "load_tarball"
            ],
            [
              "",
              "name.ends_with"
            ],
            [
              "",
              "name.ends_with"
            ],
            [
              "",
              "name.ends_with"
            ],
            [
              "",
              "flate2::read::GzDecoder::new"
            ],
            [
              "",
              "load_tarball"
            ],
            [
              "",
              "name.ends_with"
            ],
            [
              "",
              "xz2::read::XzDecoder::new"
            ],
            [
              "",
              "load_tarball"
            ],
            [
              "",
              "name.ends_with"
            ],
            [
              "",
              "name.ends_with"
            ],
            [
              "",
              "zstd::Decoder::new"
            ],
            [
              "",
              "load_tarball"
            ],
            [
              "",
              "name.ends_with"
            ],
            [
              "",
              "name.ends_with"
            ],
            [
              "",
              "name.ends_with"
            ],
            [
              "",
              "bzip2::read::BzDecoder::new"
            ],
            [
              "",
              "load_tarball"
            ],
            [
              "",
              "opendal::Operator::new"
            ],
            [
              "",
              "opendal::services::Memory::default"
            ],
            [
              "",
              "tempfile::tempfile"
            ],
            [
              "",
              "std::io::copy"
            ],
            [
              "",
              "tar::Archive::new"
            ],
            [
              "",
              "tar.entries"
            ],
            [
              "",
              "entry.header.entry_type"
            ],
            [
              "",
              "entry.header"
            ],
            [
              "",
              "fs.create_dir"
            ],
            [
              "",
              "entry.path"
            ],
            [
              "",
              "entry.path"
            ],
            [
              "",
              "path.parent"
            ],
            [
              "",
              "fs.create_dir"
            ],
            [
              "",
              "parent.to_str.ok_or_else"
            ],
            [
              "",
              "parent.to_str"
            ],
            [
              "",
              "Vec::with_capacity"
            ],
            [
              "",
              "entry.size"
            ],
            [
              "",
              "entry.read_to_end"
            ],
            [
              "",
              "fs.write"
            ],
            [
              "",
              "path.to_str.ok_or_else"
            ],
            [
              "",
              "path.to_str"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "std::io::Read"
            ],
            [
              "",
              "std::sync::LazyLock"
            ],
            [
              "",
              "anyhow::Result"
            ],
            [
              "",
              "anyhow::anyhow"
            ],
            [
              "",
              "anyhow::bail"
            ],
            [
              "",
              "bytes::Buf"
            ],
            [
              "",
              "futures::executor::block_on"
            ],
            [
              "",
              "libabbs::apml::ApmlContext"
            ],
            [
              "",
              "libabbs::apml::value::array::StringArray"
            ],
            [
              "",
              "libabbs::apml::value::union::Union"
            ],
            [
              "",
              "log::debug"
            ],
            [
              "",
              "log::info"
            ],
            [
              "",
              "log::warn"
            ],
            [
              "",
              "opendal::Operator"
            ],
            [
              "",
              "opendal::layers::RetryLayer"
            ],
            [
              "",
              "opendal::services::Github"
            ],
            [
              "",
              "opendal::services::Memory"
            ],
            [
              "",
              "regex::Regex"
            ],
            [
              "",
              "reqwest::ClientBuilder"
            ],
            [
              "",
              "tempfile::tempfile"
            ]
          ],
          "mbr": [
            "ClientBuilder::new.user_agent",
            "ClientBuilder::new.user_agent.build",
            "Github::default.owner",
            "Github::default.owner.repo",
            "REGEX_GH_URL.captures",
            "Regex::new.unwrap",
            "cap.repo",
            "cap.user",
            "client.execute",
            "client.get",
            "client.get.build",
            "ctx.read",
            "ctx.read.into_string",
            "entry.header",
            "entry.header.entry_type",
            "entry.path",
            "entry.read_to_end",
            "entry.size",
            "fs.create_dir",
            "fs.write",
            "name.ends_with",
            "parent.to_str",
            "parent.to_str.ok_or_else",
            "path.parent",
            "path.to_str",
            "path.to_str.ok_or_else",
            "resp.bytes",
            "src.as_str",
            "src.starts_with",
            "srcs.len",
            "tar.entries",
            "un.argument",
            "un.properties",
            "un.properties.get",
            "un.properties.get.unwrap_or",
            "un.tag",
            "un.tag.as_str"
          ],
          "tgt": [
            "Ok",
            "REGEX_GH_URL.captures",
            "Some",
            "Vec::with_capacity",
            "bzip2::read::BzDecoder::new",
            "client.execute",
            "client.get",
            "client.get.build",
            "ctx.read",
            "ctx.read.into_string",
            "entry.header",
            "entry.header.entry_type",
            "entry.path",
            "entry.read_to_end",
            "entry.size",
            "fetch_tarball",
            "find_alt_fs",
            "flate2::read::GzDecoder::new",
            "fs.create_dir",
            "fs.write",
            "futures::executor::block_on",
            "http_client",
            "libabbs::apml::value::array::StringArray::from",
            "libabbs::apml::value::union::Union::try_from",
            "load_compressed_tarball",
            "load_tarball",
            "name.ends_with",
            "opendal::Operator::new",
            "opendal::layers::RetryLayer::new",
            "opendal::services::Github::default",
            "opendal::services::Github::default.owner",
            "opendal::services::Github::default.owner.repo",
            "opendal::services::Memory::default",
            "parent.to_str",
            "parent.to_str.ok_or_else",
            "path.parent",
            "path.to_str",
            "path.to_str.ok_or_else",
            "pypi::load",
            "regex::Regex::new",
            "regex::Regex::new.unwrap",
            "reqwest::ClientBuilder::new",
            "reqwest::ClientBuilder::new.user_agent",
            "reqwest::ClientBuilder::new.user_agent.build",
            "resp.bytes",
            "src.as_str",
            "src.starts_with",
            "srcs.len",
            "std::io::copy",
            "std::sync::LazyLock::new",
            "tar.entries",
            "tar::Archive::new",
            "tempfile::tempfile",
            "un.properties.get",
            "un.properties.get.unwrap_or",
            "un.tag.as_str",
            "xz2::read::XzDecoder::new",
            "zstd::Decoder::new"
          ],
          "funcs": [
            [
              "open",
              651
            ],
            [
              "find_alt_fs",
              2072
            ],
            [
              "http_client",
              2462
            ],
            [
              "fetch_tarball",
              2720
            ],
            [
              "load_compressed_tarball",
              3118
            ],
            [
              "load_tarball",
              4190
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 2,
              "op.lor": 6,
              "max_depth": 26,
              "call_count": 99,
              "node_count": 1975,
              "member_count": 37,
              "op_density.eq": 0,
              "op_density.lor": 0,
              "member_depth_max": 4
            },
            "file": {
              "size": 5140,
              "entropy": 5.19
            },
            "text": {
              "lines": 200,
              "top_char": 101,
              "tab_count": 364,
              "max_ws_run": 1,
              "digit_ratio": 0,
              "space_count": 365,
              "char_entropy": 5.19,
              "unique_chars": 77,
              "top_char_null": 0,
              "string_density": 0.2,
              "top_char_ratio": 0.08,
              "avg_line_length": 24.7,
              "max_line_length": 76,
              "empty_line_ratio": 0.08,
              "last_line_length": 1,
              "whitespace_ratio": 0.18,
              "identifier_density": 1.69,
              "line_length_stddev": 20.36,
              "normalized_string_count": 2.76,
              "normalized_unique_identifiers": 16.09
            },
            "binds": {
              "count": 21
            },
            "binary": {
              "peak_region_bytes": 5120,
              "peak_region_entropy": 5.33
            },
            "source": {
              "function_count": 6
            },
            "imports": {
              "count": 20,
              "third_party_count": 20,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 675,
              "count": 39,
              "url_count": 2,
              "avg_length": 17.31,
              "max_length": 71,
              "avg_entropy": 2.99,
              "entropy_stddev": 0.93
            },
            "comments": {
              "chars": 453,
              "count": 10,
              "lines": 10,
              "to_code_ratio": 0.05
            },
            "functions": {
              "count": 6,
              "density": 3,
              "avg_params": 1,
              "code_ratio": 0.78,
              "max_params": 2,
              "length_stddev": 14.75,
              "avg_name_length": 12.33,
              "no_params_count": 1,
              "avg_length_lines": 26,
              "max_length_lines": 47,
              "min_length_lines": 8,
              "high_entropy_names": 1,
              "avg_param_name_length": 4.17
            },
            "identifiers": {
              "count": 338,
              "unique": 123,
              "avg_length": 6.41,
              "max_length": 23,
              "min_length": 2,
              "avg_entropy": 2.33,
              "reuse_ratio": 0.36,
              "length_stddev": 3.26,
              "has_digit_ratio": 0.02,
              "high_entropy_count": 1,
              "high_entropy_ratio": 0.01,
              "all_lowercase_ratio": 0.75,
              "all_uppercase_ratio": 0.01,
              "numeric_suffix_count": 3
            }
          }
        },
        "id": 4,
        "mol": "H₂(Cm₃F)",
        "path": "libpfu-source-0.2.6.crate!!libpfu-source-0.2.6/src/lib.rs",
        "pid": 0,
        "risk": 2,
        "sha": "edd4411f434add1f2f283c23e838617ef6da24c8712b7ec468718f0b349df811",
        "size": 5140,
        "traits": [
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                613,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                1980,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                636,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                1917,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/download/handler::rust-reader-read-to-end",
            "atk": "T1105",
            "conf": 0.92,
            "crit": 3,
            "desc": "Rust reader fills a byte buffer",
            "spans": [
              [
                4978,
                21
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/lib/crate::reqwest-crate",
            "conf": 0.7,
            "crit": 3,
            "desc": "References reqwest Rust HTTP library",
            "spans": [
              [
                368,
                7
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/file/open::native-open-file-call",
            "conf": 0.92,
            "crit": 3,
            "desc": "Calls native open or sys_open",
            "spans": [
              [
                664,
                5
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/lib/reqwest::rust-reqwest",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.9,
            "crit": 3,
            "desc": "Makes HTTP requests using reqwest",
            "spans": [
              [
                2876,
                10
              ]
            ]
          }
        ],
        "type": "rust"
      },
      {
        "ctx": [
          {
            "b": "wN/*?vqH3)xLzvaB0#0ov@2H=wHPluCvtickrxhUw]zYjxLzvaazCZoxLzvaB0b/p2)\u003erTaz+Rhax9h}wHIeidiH+@w[=c[uTW+)uUjvcctmahBsw?JCvtickoLp",
            "ln": 287,
            "col": 18,
            "line": 13
          },
          {
            "b": "x!BsAxd[jHAa{$LAa9l(vp%e1fktMDzxZI\u003e3jgJWBrCKyz!-S]B8L}sjS[lJx\u003eqg73jd1\u003ewQ4=@B-.gyv@b\u003c\u003czGEHzwPPsEB-IpEe[e%qy?a}ykpD{C2}/Ugvqf*F3jd1\u003ewPz*fA:JA%A:J)fvruTkc[dv/2)\u0026k0B8L}SiY{k:Aa@c?z!-\u0026[Bv{Q)zAYD$3jd1\u003evrVc]Bu.?]3jgJWBrCByBrCmhzGG}xjS)^pv(=U*wP]KKi%(paz/M%GyB/",
            "ln": 1062,
            "col": 32,
            "line": 44
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "collect_alt_hints"
            ],
            [
              "",
              "crate::find_alt_fs"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "package.chars.next.ok_or_else"
            ],
            [
              "",
              "package.chars.next"
            ],
            [
              "",
              "package.chars"
            ],
            [
              "",
              "crate::fetch_tarball"
            ],
            [
              "",
              "crate::http_client"
            ],
            [
              "",
              "client.execute"
            ],
            [
              "",
              "client.get.build"
            ],
            [
              "",
              "client.get"
            ],
            [
              "",
              "Vec::new"
            ],
            [
              "",
              "hints.push"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "std::collections::HashMap"
            ],
            [
              "",
              "anyhow::Result"
            ],
            [
              "",
              "anyhow::anyhow"
            ],
            [
              "",
              "log::debug"
            ],
            [
              "",
              "opendal::Operator"
            ],
            [
              "",
              "serde::Deserialize"
            ],
            [
              "",
              "crate::fetch_tarball"
            ],
            [
              "",
              "crate::find_alt_fs"
            ],
            [
              "",
              "crate::http_client"
            ]
          ],
          "mbr": [
            "client.execute",
            "client.get",
            "client.get.build",
            "hints.push",
            "package.chars",
            "package.chars.next",
            "package.chars.next.ok_or_else",
            "proj_json.info",
            "proj_json.info.project_urls"
          ],
          "tgt": [
            "Ok",
            "Vec::new",
            "client.execute",
            "client.get",
            "client.get.build",
            "collect_alt_hints",
            "crate::fetch_tarball",
            "crate::find_alt_fs",
            "crate::http_client",
            "hints.push",
            "package.chars",
            "package.chars.next",
            "package.chars.next.ok_or_else"
          ],
          "funcs": [
            [
              "load",
              200
            ],
            [
              "collect_alt_hints",
              641
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 22,
              "call_count": 16,
              "node_count": 496,
              "member_count": 9,
              "member_depth_max": 4
            },
            "file": {
              "size": 1414,
              "entropy": 5.23
            },
            "text": {
              "lines": 61,
              "top_char": 101,
              "tab_count": 63,
              "max_ws_run": 1,
              "space_count": 90,
              "char_entropy": 5.23,
              "unique_chars": 62,
              "top_char_null": 0,
              "string_density": 0.08,
              "top_char_ratio": 0.07,
              "avg_line_length": 22.18,
              "max_line_length": 81,
              "empty_line_ratio": 0.15,
              "last_line_length": 1,
              "whitespace_ratio": 0.15,
              "identifier_density": 1.51,
              "line_length_stddev": 20.41,
              "normalized_string_count": 0.64,
              "suspicious_identifier_ratio": 0.04,
              "normalized_unique_identifiers": 8.26
            },
            "binds": {
              "count": 7
            },
            "binary": {
              "peak_region_bytes": 1414,
              "peak_region_entropy": 5.21
            },
            "source": {
              "class_count": 2,
              "function_count": 2
            },
            "imports": {
              "count": 9,
              "third_party_count": 9,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 233,
              "count": 5,
              "url_count": 2,
              "avg_length": 46.6,
              "max_length": 77,
              "avg_entropy": 4.08,
              "entropy_stddev": 0.41
            },
            "comments": {
              "chars": 15,
              "count": 1,
              "lines": 1,
              "to_code_ratio": 0.02
            },
            "functions": {
              "count": 4,
              "density": 3.28,
              "avg_params": 1.5,
              "code_ratio": 0.8,
              "max_params": 2,
              "length_stddev": 7.5,
              "avg_name_length": 10.5,
              "avg_length_lines": 24.5,
              "max_length_lines": 32,
              "min_length_lines": 17,
              "avg_param_name_length": 7
            },
            "identifiers": {
              "count": 92,
              "unique": 49,
              "avg_length": 6.63,
              "max_length": 17,
              "min_length": 1,
              "avg_entropy": 2.3,
              "reuse_ratio": 0.53,
              "length_stddev": 3.92,
              "sequential_names": 2,
              "single_char_count": 2,
              "single_char_ratio": 0.04,
              "high_entropy_count": 2,
              "high_entropy_ratio": 0.04,
              "all_lowercase_ratio": 0.76
            }
          }
        },
        "id": 5,
        "mol": "H(Cm)",
        "path": "libpfu-source-0.2.6.crate!!libpfu-source-0.2.6/src/pypi.rs",
        "pid": 0,
        "risk": 1,
        "sha": "8bf7bd320d8b9354bf55f93c1ad00e39fd44db7969e1aab43d08d4789a7e17a7",
        "size": 1414,
        "traits": [
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                319,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/lib/reqwest::rust-reqwest",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.9,
            "crit": 3,
            "desc": "Makes HTTP requests using reqwest",
            "spans": [
              [
                1126,
                10
              ]
            ]
          }
        ],
        "type": "rust"
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 860,
              "entropy": 4.8
            },
            "binary": {
              "peak_region_bytes": 860,
              "peak_region_entropy": 4.8
            },
            "registry": {
              "age_days": 0,
              "published_at": 1789657996,
              "is_deprecated": 0,
              "downloads_total": 5222,
              "downloads_recent": 206
            }
          }
        },
        "id": 6,
        "mol": "Md(Re)",
        "path": "libpfu-source@0.2.6.registry.json",
        "pid": 0,
        "rel": "registry",
        "risk": 1,
        "role": "sidecar",
        "sha": "d6147dc8c96c51d0dfe51473b03a75080e4f6e43e41789f69ec4d45638967e48",
        "size": 860,
        "traits": [
          {
            "id": "metadata/registry::freshly-published",
            "conf": 1.0,
            "crit": 3,
            "desc": "Release published within seven days"
          }
        ],
        "type": "registry"
      }
    ],
    "rev": "e86a6",
    "v": "8"
  }
}