{
  "ml": {
    "v": "7",
    "eng": "2.8.0",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.03238955,
        "rte": "az",
        "prob": 0.03238955
      },
      {
        "cls": 0,
        "raw": 0.11632689,
        "rte": "az/python_sdist",
        "prob": 0.11632689
      }
    ],
    "prob": 0.03238955,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.032389551401138306,
        "type": "python_sdist"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000009268522262573242,
        "type": "text"
      },
      {
        "id": 3,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000009248654350813013,
        "type": "python"
      },
      {
        "id": 9,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000009079773917619605,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-01T16:19:18Z"
  },
  "path": "xmlunittest-0.1.1.tar.gz",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "abZyg.mk?f0@(!BB966Wzesujx([DdB95#/e?[$ke{7Jx0pthIBk6fISj%%lmk3!MKspIHdCpfkU@[Zii{5[$rfwjGM2PUj/+yW}0r-\u003e}V74(HPk\u003ctS*H4nH^tXwqqJ@Z]Lu+yaNfp8%PfvXW@KOA[",
            "ln": 0
          }
        ],
        "mol": "H₂(Cm₂Db)Md(Bk)",
        "sha": "d36d4a5f1c7f8e85c0a82e10f30ca60c76f4b81fe468ca4bce3eee8f9f523919",
        "path": "xmlunittest-0.1.1.tar.gz",
        "risk": 5,
        "size": 9533,
        "type": "python_sdist",
        "facts": {
          "metrics": {
            "file": {
              "size": 9533,
              "entropy": 7.98
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 9216,
              "peak_region_entropy": 7.82
            }
          }
        },
        "ident": {
          "name": {
            "value": "xmlunittest",
            "source": "python.name",
            "verified": false
          },
          "urls": [
            {
              "url": "http://python-xmlunittest.readthedocs.org/en/latest/",
              "kind": "homepage",
              "source": "python.homepage"
            }
          ],
          "trust": "unsigned",
          "emails": [
            "florian.strzelecki@gmail.com"
          ],
          "authors": [
            {
              "name": "Florian Strzelecki",
              "role": "author",
              "email": "florian.strzelecki@gmail.com",
              "source": "python.author"
            }
          ],
          "version": {
            "value": "0.1.1",
            "source": "python.version",
            "verified": false
          },
          "identifier": {
            "value": "xmlunittest",
            "source": "python.name",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "micro-behaviors/communications/http/url/scheme::cleartext-http-url-code-literal",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.9,
            "crit": 3,
            "desc": "Code embeds cleartext HTTP URL literal",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/module-exec::module-level-side-effect-call",
            "conf": 0.82,
            "crit": 3,
            "desc": "Python module-level function call"
          },
          {
            "id": "metadata/package/manifest/author/domain::generic-email",
            "conf": 0.6,
            "crit": 3,
            "desc": "Generic email address",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "metadata/build/pip::root-setup-py",
            "conf": 0.98,
            "crit": 3,
            "desc": "Root Python setup.py packaging file",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-core-metadata",
            "conf": 1.0,
            "crit": 1,
            "desc": "Declares Python Core Metadata version",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/build/pip::packaging-distutils-import",
            "conf": 0.95,
            "crit": 3,
            "desc": "distutils packaging import",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/forge::public-code-forge-url",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a public code-forge URL",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/email/address::google-consumer-email-domain-suffix",
            "conf": 0.55,
            "crit": 3,
            "desc": "Gmail consumer email domain suffix",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "metadata/build/pip::root-setup-py-path",
            "conf": 0.98,
            "crit": 1,
            "desc": "Shallow setup.py path candidate",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/read/file::file-read-content",
            "atk": "T1005",
            "mbc": "E1005",
            "conf": 0.6,
            "crit": 2,
            "desc": "Reads file content (Python)",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-summary-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package summary",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/package/testing/presence/harness::unittest-module",
            "conf": 0.7,
            "crit": 2,
            "desc": "References the Python unittest module",
            "from": [
              {
                "file": 2
              }
            ]
          },
          {
            "id": "metadata/package/testing/harness/unit::python-unittest-import",
            "conf": 0.95,
            "crit": 1,
            "desc": "Python unittest import",
            "from": [
              {
                "file": 2
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-name-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package name",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-version-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package version",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/read/file::file-open-content",
            "atk": "T1005",
            "mbc": "E1005",
            "conf": 0.86,
            "crit": 2,
            "desc": "Opens file in default read mode"
          },
          {
            "id": "metadata/package/testing/harness/unit::python-unittest-testcase-marker",
            "conf": 0.95,
            "crit": 1,
            "desc": "Python unittest TestCase marker",
            "from": [
              {
                "file": 2
              }
            ]
          },
          {
            "id": "metadata/build/pip::packaging-setup-api-import",
            "conf": 0.95,
            "crit": 3,
            "desc": "Packaging setup API import or call",
            "from": [
              {
                "off": 296,
                "file": 3,
                "line": 11
              }
            ]
          }
        ]
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 2399,
              "entropy": 4.72
            },
            "binary": {
              "peak_region_bytes": 2399,
              "peak_region_entropy": 4.65
            }
          }
        },
        "id": 1,
        "path": "xmlunittest-0.1.1.tar.gz!!xmlunittest-0.1.1/README.txt",
        "pid": 0,
        "risk": 1,
        "sha": "1c56f2479d0a273056148e1b78658b3b894eef4ca75bbe5a57bd3f440bb79580",
        "size": 2399,
        "traits": [
          {
            "id": "metadata/file/profile/language::lang-english--atom-1",
            "conf": 0.8,
            "crit": 2,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                484,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/profile/language::lang-english--atom-2",
            "conf": 0.8,
            "crit": 2,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                245,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/profile/language::lang-english--atom-3",
            "conf": 0.8,
            "crit": 2,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                1141,
                0
              ]
            ]
          }
        ],
        "type": "text"
      },
      {
        "ctx": [
          {
            "b": "boOM/eG!Lwwnb{]iV@M!w?t$+eH\u0026sVa%FjcD30.rzy{9Iy\u0026%SfBAz8nBs)[cp\u003cEd@z/cXlx\u003c#9\u003eA^n^tz/M$yzFshABy/Jnx(mMaz!pa]o?VWuz!0{bwO#PjB-Rnmxcq2nzep*i3n0w*x(!xpx\u003c#jbx(v(Iazt\u003esAc15[fk#hQx!BvIBzbPge]L=yfk#hQx!KZFy\u0026%SfBAz8nBp6Pxl#MNTzdNQbvruj4zAn[NBAzE.fe4o\u0026BzbPgeQhbGB-7]nBy/Jne]\u003eJiwoqG@wn+$0e]L=yfj/2Oy*?A%B965xeG^#gB-H#6iV@9TBz#pZfe3%LBzb/ae[n*pfgyb1A+f5uAcVLsz/ddKzesujx([DdB94-@a%Firw].*bay]hcBAIXty\u0026.jsz/Pzix(d*cA=-BBwPS6l3jmb:x([2hz/xo9c)}[Yk$1Boe{8tWcN*fDB0b79iTM#LarUGszF9r!wPIv4x(Ffdz/cWXazbdpA+eV\u0026c[bGg3s^)XB8#5cx\u003eqsaauZ\u0026K3lQDlasxM*C4CGdAbxf7BrBI7vruTkauzLag:1v)ls\u003emEcObPEarR^OnP5SYzE^r?avgcXx\u003eqf(wGT2{avG^:wO=p7wPz\u0026ted9HxarS49x\u003e7Z(B7DEPiV}i%nGZrrAb](uwN(]AiV}c*r3j\u003eGv}xL0wHx2oarR^HcS1\u00264xl4A$ze0)2awuiYxlvS}wGT2{aw^u9xM4=hiYXxse\u0026Lde3lQDlasy0az!B90zeB08xco(RzFa92xjShDiV}mABzbPgauzLagCgEhed9Hxao",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "iYXx.wPI%czF7sF3lQDlasycbAa@/8iYXx.wQ5qtp\u0026ZF:wPI{bzF77MiV}d9A+//pauzLaswqEp3s9#CB7GDoA42QjzdL\u003cTCX}ntzFsimwPI@ved9HxarR^HC4CYnx(v(LcONece?[.83lQDlarR!qwPIv4x(Ffdz/dY=oLE%RvrcSoB-Rnmxcq2nzept6zE:(jzFsimwPI@ow]zYjB-7]naARgoBzkS9axRuie*\u0026gSarR^HarUGszF9r!wPIv4x(Ffdz/dZOz/fh{wmY*(A+PGmx(v(u3lQDlarR!nB-.qnAY\u003e^ty\u0026sudvqWh^BAhXsy?m9(x^UCsarR^HarU9nBzbPkuUa7.x(2{Ww]8yax\u003c\u003e)iB98CGwO+{/yIu4Dzddc{e[n*pcObPEarR^Haz++4wO#N2jTS@}r3%j7arR^HarU/Ey=%dVBAzE.fe4o\u0026BzbPgeQhbGB-7]nBy/Jne]\u003eJiwoqG@wn+$0e]L=yfj/2Oy*?A%B965.ed9HxarR^HAcU/cz!a0bwPH1scWoGAB-7]nBy/JncTwngarR^HarUfgvrlH7w[+*%B3j2HvrlH7w[+*%B14B",
            "ln": 729,
            "col": 36,
            "line": 25
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "open"
            ],
            [
              "",
              "fd.read"
            ],
            [
              "",
              "setup"
            ],
            [
              "",
              "distutils.core"
            ],
            [
              "",
              "setup"
            ]
          ],
          "mbr": [
            "fd.read"
          ],
          "tgt": [
            "fd.read",
            "open",
            "setup"
          ],
          "metrics": {
            "ast": {
              "max_depth": 8,
              "call_count": 3,
              "node_count": 175,
              "member_count": 1,
              "max_array_len": 8,
              "member_depth_max": 2
            },
            "file": {
              "size": 1196,
              "entropy": 4.93
            },
            "text": {
              "lines": 38,
              "top_char": 116,
              "max_ws_run": 1,
              "digit_ratio": 0.01,
              "space_count": 171,
              "char_entropy": 4.93,
              "unique_chars": 63,
              "top_char_null": 0,
              "string_density": 0.47,
              "top_char_ratio": 0.07,
              "avg_line_length": 30.47,
              "max_line_length": 74,
              "empty_line_ratio": 0.21,
              "last_line_length": 30,
              "whitespace_ratio": 0.17,
              "identifier_density": 0.58,
              "line_length_stddev": 22.52,
              "normalized_string_count": 2.92,
              "normalized_unique_identifiers": 3.05
            },
            "binds": {
              "count": 2
            },
            "binary": {
              "peak_region_bytes": 1196,
              "peak_region_entropy": 4.93
            },
            "imports": {
              "count": 2,
              "third_party_count": 2,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 774,
              "count": 18,
              "url_count": 1,
              "avg_length": 43,
              "max_length": 269,
              "avg_entropy": 3.59,
              "email_count": 1,
              "entropy_stddev": 0.84
            },
            "comments": {
              "chars": 22,
              "count": 1,
              "lines": 1,
              "to_code_ratio": 0.03
            },
            "identifiers": {
              "count": 22,
              "unique": 16,
              "avg_length": 7.19,
              "max_length": 16,
              "min_length": 2,
              "avg_entropy": 2.49,
              "reuse_ratio": 0.73,
              "length_stddev": 3.81,
              "high_entropy_count": 1,
              "high_entropy_ratio": 0.06,
              "all_lowercase_ratio": 1
            }
          }
        },
        "id": 3,
        "mol": "H₂(Cm₂Db)Md(Bk)",
        "path": "xmlunittest-0.1.1.tar.gz!!xmlunittest-0.1.1/setup.py",
        "pid": 0,
        "risk": 5,
        "sha": "af2475ab90f01ca2857e2bbe6d107ebc6a46dfe6d1eb3fb97e3ea088b9ae7813",
        "size": 1196,
        "traits": [
          {
            "id": "metadata/build/pip::packaging-distutils-import",
            "conf": 0.95,
            "crit": 3,
            "desc": "distutils packaging import",
            "spans": [
              [
                296,
                14
              ]
            ]
          },
          {
            "id": "metadata/build/pip::root-setup-py-path",
            "conf": 0.98,
            "crit": 1,
            "desc": "Shallow setup.py path candidate",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/manifest/author/domain::generic-email",
            "conf": 0.6,
            "crit": 3,
            "desc": "Generic email address",
            "spans": [
              [
                999,
                42
              ]
            ]
          },
          {
            "id": "metadata/package/testing/presence/harness::unittest-module",
            "conf": 0.7,
            "crit": 2,
            "desc": "References the Python unittest module",
            "spans": [
              [
                884,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/email/address::google-consumer-email-domain-suffix",
            "conf": 0.55,
            "crit": 3,
            "desc": "Gmail consumer email domain suffix",
            "spans": [
              [
                1031,
                10
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/forge::public-code-forge-url",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a public code-forge URL",
            "spans": [
              [
                246,
                19
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/read/file::file-open-content",
            "atk": "T1005",
            "mbc": "E1005",
            "conf": 0.86,
            "crit": 2,
            "desc": "Opens file in default read mode",
            "spans": [
              [
                341,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/read/file::file-read-content",
            "atk": "T1005",
            "mbc": "E1005",
            "conf": 0.6,
            "crit": 2,
            "desc": "Reads file content (Python)",
            "spans": [
              [
                387,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/scheme::cleartext-http-url-code-literal",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.9,
            "crit": 3,
            "desc": "Code embeds cleartext HTTP URL literal",
            "spans": [
              [
                183,
                52
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/module-exec::module-level-side-effect-call",
            "conf": 0.82,
            "crit": 3,
            "desc": "Python module-level function call",
            "spans": [
              [
                793,
                103
              ]
            ]
          },
          {
            "id": "metadata/build/pip::packaging-setup-api-import",
            "conf": 0.95,
            "crit": 3,
            "desc": "Packaging setup API import or call",
            "spans": [
              [
                296,
                14
              ]
            ]
          },
          {
            "id": "metadata/build/pip::root-setup-py",
            "conf": 0.98,
            "crit": 3,
            "desc": "Root Python setup.py packaging file",
            "spans": [
              [
                0,
                26
              ],
              [
                296,
                14
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "DM)3hz/ZhBBy/qkiWeJ*Aa{HEb5Q?awG\u003ceVCX}ntzFsimwPI@qefYmGA=U@kzx.a=fFk7jf^nd)AckSax(^%0wm5+!b04Cmi5JPMg=WxGefXInwNw$RD2\u003ee\u003cg=vh",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 811,
              "entropy": 4.72
            },
            "binary": {
              "peak_region_bytes": 811,
              "peak_region_entropy": 4.72
            },
            "registry": {
              "age_days": 4659,
              "published_at": 1385674943,
              "releases_24h": 0,
              "releases_48h": 0,
              "is_deprecated": 0,
              "release_count": 9,
              "package_age_days": 4659,
              "first_published_at": 1385674943,
              "vulnerability_count": 0
            }
          }
        },
        "id": 9,
        "path": "xmlunittest@0.1.1.registry.json",
        "pid": 0,
        "rel": "registry",
        "role": "sidecar",
        "sha": "8344af7d6c8e70e7224c5f9aae77da0a675dc3e071f88fb738f60a7c7d489ec1",
        "size": 811,
        "traits": [
          {
            "id": "metadata/registry::established-package",
            "conf": 1.0,
            "crit": 1,
            "desc": "Package is at least one year old",
            "spans": [
              [
                0,
                0
              ]
            ]
          }
        ],
        "type": "registry"
      }
    ],
    "rev": "01871",
    "v": "8"
  }
}