{
  "ml": {
    "v": "7",
    "eng": "2.9.1",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.00007976095,
        "rte": "az",
        "prob": 0.00007976095
      },
      {
        "cls": 0,
        "raw": 0.011271377,
        "rte": "az/python_sdist",
        "prob": 0.011271377
      }
    ],
    "prob": 0.00007976095,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00007976094639161602,
        "type": "python_sdist"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000010083119377668481,
        "type": "pkg_info"
      },
      {
        "id": 2,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001379847526550293,
        "type": "python"
      },
      {
        "id": 11,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000010033448234025855,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-10T23:40:31Z"
  },
  "path": "asciitree-0.3.1.tar.gz",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "abZygn?pJO0@(!BB966zB7n]#BAg@7eIF!ke?[#2vr8wnt\u003cUFAjqc?-@%A6e.ayak\u003em8q:LBk6{R!5F]1gm*t.X*u[5/nQl/!OU8DW\u003e{{b!}wO:WsgT]jR=u61$wEd@1:!d/*bN*ONdTo\u003cN6#T\u003e-",
            "ln": 0
          }
        ],
        "mol": "H₂(Cm₂Db)Md(Bk)",
        "sha": "8e3b1f269f0eac5ac5ac8c7e3c4729f77130585e706601b99f00fa5d21c64968",
        "path": "asciitree-0.3.1.tar.gz",
        "risk": 3,
        "size": 3265,
        "type": "python_sdist",
        "facts": {
          "metrics": {
            "file": {
              "size": 3265,
              "entropy": 7.92
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 3072,
              "peak_region_entropy": 7.78
            },
            "consistency": {
              "cloned_summary": 0,
              "name_typosquat": 0,
              "metadata_identity_mismatch": 0
            }
          }
        },
        "ident": {
          "name": {
            "value": "asciitree",
            "source": "python.name",
            "verified": false
          },
          "urls": [
            {
              "url": "http://github.com/mbr/asciitree",
              "kind": "homepage",
              "source": "python.homepage"
            }
          ],
          "trust": "unsigned",
          "emails": [
            "git@marcbrinkmann.de"
          ],
          "authors": [
            {
              "name": "Marc Brinkmann",
              "role": "author",
              "email": "git@marcbrinkmann.de",
              "source": "python.author"
            }
          ],
          "version": {
            "value": "0.3.1",
            "source": "python.version",
            "verified": false
          },
          "identifier": {
            "value": "asciitree",
            "source": "python.name",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-core-metadata",
            "conf": 1.0,
            "crit": 1,
            "desc": "Declares Python Core Metadata version",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "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": "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": 2
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-summary-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package summary",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/build/pip::packaging-setup-api-import",
            "conf": 0.95,
            "crit": 3,
            "desc": "Packaging setup API import or call",
            "from": [
              {
                "off": 57,
                "file": 2,
                "line": 5
              }
            ],
            "uses": [
              7
            ]
          },
          {
            "id": "metadata/build/pip::root-setup-py",
            "conf": 0.98,
            "crit": 3,
            "desc": "Root Python setup.py packaging file",
            "from": [
              {
                "file": 2
              }
            ],
            "uses": [
              4,
              13
            ]
          },
          {
            "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": 2
              }
            ]
          },
          {
            "id": "metadata/build/pip::packaging-setuptools-import",
            "conf": 0.95,
            "crit": 3,
            "desc": "setuptools packaging import",
            "from": [
              {
                "file": 2
              }
            ]
          },
          {
            "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": 2
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-name-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package name",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-version-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package version",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "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/build/pip::packaging-setuptools-imported-setup-call",
            "conf": 0.95,
            "crit": 3,
            "desc": "Imported setuptools setup call",
            "from": [
              {
                "file": 2
              }
            ]
          },
          {
            "id": "metadata/build/pip::root-setup-py-path",
            "conf": 0.98,
            "crit": 1,
            "desc": "Shallow setup.py path candidate",
            "from": [
              {
                "file": 2
              }
            ]
          }
        ]
      },
      {
        "ctx": [
          {
            "b": "o\u003ewAPwmoN*eMMC6B7]MgiV{dffByM-zdL:Jvrk{)x([xbwEqEHA=U@kzAn)]e\u0026bam3r87:zddEgiV{?hvrV=nk#QcxnG-a}wO2{n3p]8LwI4\u003efxjTaDxMOuniXJd0x([3hvLheez7/:nAXy\u003cxv}/U0A+e!?l3mo.z/N(Yo\u003c@6Lavp9.zFK8$zF/!EB-.qnAXg\u003ctvqfKsazkzgkY6}Iv}6E)zFK8$",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 1383,
              "entropy": 3.54
            },
            "binary": {
              "peak_region_bytes": 1024,
              "peak_region_entropy": 3.62
            }
          }
        },
        "id": 1,
        "path": "asciitree-0.3.1.tar.gz!!asciitree-0.3.1/PKG-INFO",
        "pid": 0,
        "risk": 1,
        "sha": "23c1438639a3d1069e5c044f9875c2bec0dbcf7accd83e736f56aa4dee01d22e",
        "size": 1383,
        "traits": [
          {
            "id": "metadata/package/files/wheel-sdist::unknown-platform",
            "conf": 0.7,
            "crit": 2,
            "desc": "PKG-INFO has UNKNOWN platform"
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-core-metadata",
            "conf": 1.0,
            "crit": 1,
            "desc": "Declares Python Core Metadata version",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-name-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package name",
            "spans": [
              [
                22,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-summary-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package summary",
            "spans": [
              [
                53,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-version-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package version",
            "spans": [
              [
                38,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/dependencies/manifest::pypi-no-runtime-deps",
            "conf": 0.7,
            "crit": 2,
            "desc": "PyPI metadata omits runtime dependencies"
          },
          {
            "id": "metadata/package/manifest/ecosystem::pypi-basic-metadata",
            "conf": 0.95,
            "crit": 2,
            "desc": "PyPI package declares name, version, summary",
            "uses": [
              1,
              2,
              3,
              4
            ],
            "spans": [
              [
                22,
                0
              ]
            ]
          }
        ],
        "type": "pkg_info"
      },
      {
        "ctx": [
          {
            "b": "boXZ.B8\u0026{yx(kOnzGWdwD30.rzvdQheH\u0026s{v@C)(zF80MB-.jEi3o!5eEz\u00260ze:AlBrCHy3jpx=z/3RrwPS6lBz(8lB0bglAbP=saAIaoB-n(Ow[=c[uVoB-yHH\u003c!A%-lYwmYu}A+eV\u0026c$Wv9zdLdS3lQDlaAz4nB-Ivxz/xo9c#TeVAa9\u003c4e]2rszyxBAe]UlvxF9?fA=br5wHH[)w[=6)uTClkazbI1zdLdBe]\u003eJiwge(l3jp\u0026=BAIKJ3lQDlaz$R8wJ.zHB7n]#BAg@7cObPEarR!IwPz\u003caz/dY=fFkdlf^!HVarR^HwmY*(A+PGmx(v(LcQ.#-Cxj()q:TbFaARTnwPGEKed9HxarUGszF9r!wPIv4x(Ffdz/dZUwNP9$cSix0l}{95A=VsIdj+/GarR!nB-.qnAY\u003e^Avrb\u003c2lul^TyI^G$zyl$xarR^HvrDW9z/Ph@zddc{jTT(RBu\u003cXKA:@N0x(mZ6vqY%nwmWbt3lQDlaA.ZvjTT]+Bz%n]fk20vxMW=pv@DiqzdmJsvrk{)x([xbwHx2oarR^Hy?Wx\u003czGxwLcRWficObPEarR!CvpK7YxjVcEw[=c[uVoB-yHH\u003c!B0$QAv@co#wJ:lBBy/JnB0\u003elxed9HxarUxoB97\u0026by*Ri]ADL#owPH1st}usi3i",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "open(os.path.join(os.path.dirname(__file__), fname)).read"
            ],
            [
              "",
              "open"
            ],
            [
              "",
              "os.path.join"
            ],
            [
              "",
              "os.path.dirname"
            ],
            [
              "",
              "setup"
            ],
            [
              "",
              "read"
            ],
            [
              "",
              "find_packages"
            ],
            [
              "",
              "find_packages"
            ],
            [
              "",
              "os"
            ],
            [
              "",
              "setup"
            ],
            [
              "",
              "setuptools"
            ]
          ],
          "mbr": [
            "open().read",
            "os.path",
            "os.path.dirname",
            "os.path.join"
          ],
          "tgt": [
            "find_packages",
            "open",
            "open().read",
            "os.path.dirname",
            "os.path.join",
            "read",
            "setup"
          ],
          "funcs": [
            [
              "read",
              104
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 13,
              "call_count": 7,
              "node_count": 166,
              "member_count": 4,
              "max_array_len": 1,
              "member_depth_max": 3
            },
            "file": {
              "size": 529,
              "entropy": 5
            },
            "text": {
              "lines": 24,
              "top_char": 101,
              "max_ws_run": 1,
              "digit_ratio": 0.01,
              "space_count": 60,
              "char_entropy": 5,
              "unique_chars": 57,
              "top_char_null": 0,
              "string_density": 0.38,
              "top_char_ratio": 0.07,
              "avg_line_length": 21.04,
              "max_line_length": 70,
              "empty_line_ratio": 0.25,
              "last_line_length": 1,
              "whitespace_ratio": 0.16,
              "identifier_density": 1.25,
              "line_length_stddev": 18.75,
              "normalized_string_count": 1.84,
              "normalized_unique_identifiers": 4.8
            },
            "binary": {
              "peak_region_bytes": 529,
              "peak_region_entropy": 5
            },
            "source": {
              "function_count": 1
            },
            "imports": {
              "count": 4,
              "stdlib_count": 1,
              "stdlib_ratio": 0.25,
              "third_party_count": 3,
              "third_party_ratio": 0.75
            },
            "strings": {
              "bytes": 115,
              "count": 9,
              "url_count": 1,
              "avg_length": 12.78,
              "max_length": 31,
              "avg_entropy": 2.81,
              "email_count": 1,
              "entropy_stddev": 0.87
            },
            "comments": {
              "chars": 42,
              "count": 2,
              "lines": 2,
              "to_code_ratio": 0.09
            },
            "functions": {
              "count": 1,
              "density": 4.17,
              "avg_params": 1,
              "code_ratio": 0.08,
              "max_params": 1,
              "avg_name_length": 4,
              "avg_length_lines": 2,
              "max_length_lines": 2,
              "min_length_lines": 2,
              "avg_param_name_length": 5
            },
            "identifiers": {
              "count": 30,
              "unique": 22,
              "avg_length": 7.41,
              "max_length": 16,
              "min_length": 2,
              "avg_entropy": 2.51,
              "reuse_ratio": 0.73,
              "length_stddev": 3.94,
              "high_entropy_count": 2,
              "high_entropy_ratio": 0.09,
              "all_lowercase_ratio": 1,
              "double_underscore_count": 1,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 2,
        "mol": "H₂(Cm₂Db)Md(Bk)",
        "path": "asciitree-0.3.1.tar.gz!!asciitree-0.3.1/setup.py",
        "pid": 0,
        "risk": 3,
        "sha": "691db3bfa1a9f6dabce264a573c4abf795a24ebf42b961edfdd36662d6ae860e",
        "size": 529,
        "traits": [
          {
            "id": "metadata/build/pip::packaging-setuptools-import",
            "conf": 0.95,
            "crit": 3,
            "desc": "setuptools packaging import",
            "spans": [
              [
                57,
                16
              ]
            ]
          },
          {
            "id": "metadata/build/pip::packaging-setuptools-imported-setup-call",
            "conf": 0.95,
            "crit": 3,
            "desc": "Imported setuptools setup call",
            "spans": [
              [
                57,
                143
              ]
            ]
          },
          {
            "id": "metadata/build/pip::root-setup-py-path",
            "conf": 0.98,
            "crit": 1,
            "desc": "Shallow setup.py path candidate",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/forge::public-code-forge-url",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a public code-forge URL",
            "spans": [
              [
                402,
                18
              ]
            ]
          },
          {
            "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": [
              [
                137,
                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": [
              [
                184,
                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": [
              [
                402,
                31
              ]
            ]
          },
          {
            "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": [
              [
                194,
                103
              ]
            ]
          },
          {
            "id": "metadata/build/pip::packaging-setup-api-import",
            "conf": 0.95,
            "crit": 3,
            "desc": "Packaging setup API import or call",
            "uses": [
              0
            ],
            "spans": [
              [
                57,
                16
              ]
            ]
          },
          {
            "id": "metadata/build/pip::root-setup-py",
            "conf": 0.98,
            "crit": 3,
            "desc": "Root Python setup.py packaging file",
            "uses": [
              2,
              8
            ],
            "spans": [
              [
                0,
                24
              ],
              [
                57,
                16
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "DM)3hz/ZhBBy/qkiWeJ*Aa{HEb5Q?awG\u003ceVvrk{)x([xbwG\u0026VHC4CYnx(v(kiWcmggCgyaefY4QvR/+1xK$ZYvrrXOf/gZyiwrcziwJcfvp%dUwmo+8b04Iuiw\u0026t",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 816,
              "entropy": 4.78
            },
            "binary": {
              "peak_region_bytes": 816,
              "peak_region_entropy": 4.78
            },
            "registry": {
              "age_days": 3995,
              "published_at": 1443900492,
              "releases_24h": 0,
              "releases_48h": 0,
              "is_deprecated": 0,
              "release_count": 6,
              "package_age_days": 4966,
              "first_published_at": 1359995828,
              "vulnerability_count": 0,
              "previous_published_at": 1425051567,
              "days_since_previous_release": 218
            }
          }
        },
        "id": 11,
        "path": "asciitree@0.3.1.registry.json",
        "pid": 0,
        "rel": "registry",
        "role": "sidecar",
        "sha": "c4ea26d122ada9cf39fd4044099cac3b2ebb6a47d9c860822df0d9fecf180f24",
        "size": 816,
        "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": "71e24",
    "v": "8"
  }
}