{
  "ml": {
    "v": "7",
    "eng": "2.12.0-beta.2",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.1407181,
        "rte": "az",
        "prob": 0.1407181
      },
      {
        "cls": 0,
        "raw": 0.07892624,
        "rte": "az/whl",
        "prob": 0.07892624
      }
    ],
    "prob": 0.1407181,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.14071810245513916,
        "type": "whl"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000008990366950456519,
        "type": "python"
      },
      {
        "id": 2,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00000903010368347168,
        "type": "python"
      },
      {
        "id": 4,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000021825233488925733,
        "type": "pkg_info"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-10-03T23:27:42Z"
  },
  "path": "edison_tools-0.1.4-py3-none-any.whl",
  "raw": {
    "files": [
      {
        "id": 0,
        "mol": "O(S)H(Db)Md",
        "sha": "8e50a113e91a511d49e45e8938fca0ea9fa116d7c880c888ebd55d9bd3bb1dfc",
        "path": "/tmp/promoter-1870801103/8e50a113e91a511d49e45e8938fca0ea9fa116d7c880c888ebd55d9bd3bb1dfc/edison_tools-0.1.4-py3-none-any.whl",
        "risk": 4,
        "size": 1601,
        "type": "whl",
        "facts": {
          "metrics": {
            "whl": {
              "native_extension_count": 0
            },
            "file": {
              "size": 1601,
              "entropy": 6.54
            },
            "binary": {
              "peak_region_bytes": 1024,
              "peak_region_entropy": 7.06
            },
            "archive": {
              "file_count": 7,
              "member_count": 7,
              "script_count": 3,
              "zip_bomb_ratio": 1.59,
              "compressed_size": 623,
              "directory_count": 0,
              "executable_count": 0,
              "extra_field_size": 0,
              "noise_file_count": 0,
              "compression.ratio": 0.74,
              "hidden_file_count": 0,
              "uncompressed_size": 843,
              "crc_collision_count": 0,
              "entry_comment_count": 0,
              "max_filename_length": 42,
              "rtlo_filename_count": 0,
              "format.regular_count": 7,
              "nested_archive_count": 0,
              "path_traversal_count": 0,
              "symlink_escape_count": 0,
              "security.setgid_count": 0,
              "security.setuid_count": 0,
              "security.sticky_count": 0,
              "double_extension_count": 0,
              "duplicate_member_count": 0,
              "security.symlink_count": 0,
              "unicode_filename_count": 0,
              "homoglyph_filename_count": 0,
              "security.encrypted_count": 0,
              "timing.mtime_unique_count": 5,
              "timing.mtime_unique_ratio": 0.71,
              "misplaced_executable_count": 0,
              "timing.mtime_dominant_count": 3,
              "timing.mtime_spread_seconds": 78,
              "timing.sentinel_mtime_count": 0,
              "security.world_writable_count": 0,
              "timing.mtime_dominant_fraction": 0.43,
              "compression.method_counts.deflate": 7
            },
            "consistency": {
              "name_typosquat": 0,
              "metadata_identity_mismatch": 0
            }
          }
        },
        "ident": {
          "name": {
            "value": "edison_tools",
            "source": "whl.distribution",
            "verified": false
          },
          "trust": "unsigned",
          "version": {
            "value": "0.1.4",
            "source": "whl.version",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "objectives/supply-chain/impersonation/package/wheel-sdist::pkginfo-no-description",
            "conf": 0.7,
            "crit": 3,
            "desc": "PKG-INFO with empty or missing description",
            "from": [
              {
                "file": 4
              }
            ],
            "uses": [
              5
            ]
          },
          {
            "id": "metadata/package/dependencies/manifest/presence::pypi-no-runtime-deps",
            "conf": 0.7,
            "crit": 2,
            "desc": "PyPI metadata omits runtime dependencies"
          },
          {
            "id": "metadata/package/author/identity::pkginfo-no-author-email",
            "conf": 0.7,
            "crit": 2,
            "desc": "PKG-INFO missing Author-email field"
          },
          {
            "id": "metadata/file/size::small-no-imports",
            "conf": 0.75,
            "crit": 3,
            "desc": "Small Python source file with no imports",
            "from": [
              {
                "file": 2
              }
            ]
          },
          {
            "id": "metadata/package/files/archive-shape::pkginfo-tiny",
            "conf": 0.7,
            "crit": 2,
            "desc": "Extremely small PKG-INFO file"
          },
          {
            "id": "metadata/package/description/presence::pkginfo-missing-description",
            "conf": 0.7,
            "crit": 2,
            "desc": "PKG-INFO omits optional description fields"
          },
          {
            "id": "objectives/supply-chain/impersonation/package/wheel-sdist::pkginfo-no-summary",
            "atk": "T1036.005",
            "mbc": "F0004",
            "conf": 0.75,
            "crit": 3,
            "desc": "PKG-INFO missing Summary field"
          },
          {
            "id": "metadata/import/python/relative/1/main::relative/1/main",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports .main",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "objectives/supply-chain/impersonation/package/wheel-sdist::pypi-empty-skeleton-sparse-metadata",
            "atk": "T1195.002",
            "conf": 0.93,
            "crit": 3,
            "desc": "Tiny PyPI skeleton package with sparse metadata",
            "from": [
              {
                "file": 4
              }
            ],
            "uses": [
              1,
              2,
              4,
              6
            ]
          },
          {
            "id": "metadata/import/python/relative/1/data/request_response::request_response",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports .data.REQUEST_RESPONSE from .data",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "metadata/import/python/relative/1/main/query::query",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports .main.query from .main",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/import/python/relative/1/data::relative/1/data",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports .data",
            "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/ecosystem::wheel-archive-member",
            "conf": 0.98,
            "crit": 2,
            "desc": "Python wheel archive metadata"
          },
          {
            "id": "metadata/package/files/archive-shape::tiny-wheel-archive-content",
            "conf": 0.85,
            "crit": 2,
            "desc": "Tiny wheel uncompressed content"
          }
        ]
      },
      {
        "ctx": [
          {
            "b": "w].*batdItx(k5cze:AlBrCNCwPA56Ab]VgBsqcKwPA5AdjC",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "print"
            ],
            [
              "",
              "query"
            ],
            [
              "",
              ".main"
            ],
            [
              ".main",
              ".main.query"
            ]
          ],
          "tgt": [
            "print",
            "query"
          ],
          "metrics": {
            "ast": {
              "max_depth": 6,
              "call_count": 2,
              "node_count": 22
            },
            "file": {
              "size": 38,
              "entropy": 4.04
            },
            "text": {
              "lines": 2,
              "top_char": 114,
              "max_ws_run": 1,
              "space_count": 3,
              "char_entropy": 4.04,
              "unique_chars": 18,
              "top_char_null": 0,
              "top_char_ratio": 0.13,
              "avg_line_length": 18.5,
              "max_line_length": 23,
              "last_line_length": 14,
              "whitespace_ratio": 0.11,
              "identifier_density": 2,
              "line_length_stddev": 4.5,
              "normalized_unique_identifiers": 3
            },
            "binary": {
              "peak_region_bytes": 38,
              "peak_region_entropy": 4.04
            },
            "imports": {
              "count": 2,
              "relative": 2,
              "relative_ratio": 1,
              "third_party_count": 2,
              "third_party_ratio": 1
            },
            "identifiers": {
              "count": 4,
              "unique": 3,
              "avg_length": 4.67,
              "max_length": 5,
              "min_length": 4,
              "avg_entropy": 2.21,
              "reuse_ratio": 0.75,
              "length_stddev": 0.47,
              "all_lowercase_ratio": 1
            }
          }
        },
        "id": 1,
        "mol": "H(Db)",
        "path": "/tmp/promoter-1870801103/8e50a113e91a511d49e45e8938fca0ea9fa116d7c880c888ebd55d9bd3bb1dfc/edison_tools-0.1.4-py3-none-any.whl!!edison_tools/__init__.py",
        "pid": 0,
        "risk": 2,
        "sha": "afd2bbe36036956ada97c06c649e97559f0474ede43745c6b397b872a70eae54",
        "size": 38,
        "traits": [
          {
            "id": "metadata/import/python/relative/1/main::relative/1/main",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports .main",
            "spans": [
              [
                5,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/relative/1/main/query::query",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports .main.query from .main",
            "spans": [
              [
                18,
                0
              ]
            ]
          },
          {
            "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": [
              [
                24,
                14
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "ast": {
              "max_depth": 3,
              "call_count": 0,
              "node_count": 6
            },
            "file": {
              "size": 23,
              "entropy": 3.71
            },
            "text": {
              "lines": 1,
              "top_char": 69,
              "space_count": 2,
              "char_entropy": 3.71,
              "unique_chars": 15,
              "top_char_null": 0,
              "top_char_ratio": 0.17,
              "avg_line_length": 23,
              "max_line_length": 23,
              "last_line_length": 23,
              "whitespace_ratio": 0.09,
              "identifier_density": 1,
              "max_whitespace_run": 1
            },
            "binds": {
              "count": 1
            },
            "binary": {
              "peak_region_bytes": 23,
              "peak_region_entropy": 3.71
            },
            "identifiers": {
              "count": 1,
              "unique": 1,
              "avg_length": 16,
              "max_length": 16,
              "min_length": 16,
              "avg_entropy": 3.08,
              "reuse_ratio": 1,
              "all_uppercase_ratio": 1
            }
          }
        },
        "id": 2,
        "mol": "Md",
        "path": "/tmp/promoter-1870801103/8e50a113e91a511d49e45e8938fca0ea9fa116d7c880c888ebd55d9bd3bb1dfc/edison_tools-0.1.4-py3-none-any.whl!!edison_tools/data.py",
        "pid": 0,
        "risk": 1,
        "sha": "dad8acf011171fb2bbb21c27d2319606b7d192949a2d299f114034c602c18a46",
        "size": 23,
        "traits": [
          {
            "id": "metadata/file/size::small-no-imports",
            "conf": 0.75,
            "crit": 3,
            "desc": "Small Python source file with no imports"
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "o\u003ewAPwmoN*eMMC6B7]MgiV{gggZV#^zdL:JwN]H@z/e{7z/oDk3ry.UB7]MgiV{aef!Lo\u0026",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 56,
              "entropy": 4.37
            },
            "binary": {
              "peak_region_bytes": 56,
              "peak_region_entropy": 4.37
            }
          }
        },
        "id": 4,
        "mol": "O(S)",
        "path": "/tmp/promoter-1870801103/8e50a113e91a511d49e45e8938fca0ea9fa116d7c880c888ebd55d9bd3bb1dfc/edison_tools-0.1.4-py3-none-any.whl!!edison_tools-0.1.4.dist-info/METADATA",
        "pid": 0,
        "risk": 2,
        "sha": "a7effaa87f0e7cb5b7c3edc2c6194d9fa541c0eaf77976d29c2e1360098d9b8e",
        "size": 56,
        "traits": [
          {
            "id": "objectives/supply-chain/impersonation/package/wheel-sdist::pkginfo-no-summary",
            "atk": "T1036.005",
            "mbc": "F0004",
            "conf": 0.75,
            "crit": 3,
            "desc": "PKG-INFO missing Summary field"
          },
          {
            "id": "metadata/package/author/identity::pkginfo-no-author-email",
            "conf": 0.7,
            "crit": 2,
            "desc": "PKG-INFO missing Author-email field"
          },
          {
            "id": "metadata/package/dependencies/manifest/presence::pypi-no-runtime-deps",
            "conf": 0.7,
            "crit": 2,
            "desc": "PyPI metadata omits runtime dependencies"
          },
          {
            "id": "metadata/package/description/presence::pkginfo-missing-description",
            "conf": 0.7,
            "crit": 2,
            "desc": "PKG-INFO omits optional description fields"
          },
          {
            "id": "metadata/package/files/archive-shape::pkginfo-tiny",
            "conf": 0.7,
            "crit": 2,
            "desc": "Extremely small PKG-INFO file"
          },
          {
            "id": "objectives/supply-chain/impersonation/package/wheel-sdist::pkginfo-no-description",
            "conf": 0.7,
            "crit": 3,
            "desc": "PKG-INFO with empty or missing description",
            "uses": [
              3
            ]
          },
          {
            "id": "objectives/supply-chain/impersonation/package/wheel-sdist::pypi-empty-skeleton-sparse-metadata",
            "atk": "T1195.002",
            "conf": 0.93,
            "crit": 3,
            "desc": "Tiny PyPI skeleton package with sparse metadata",
            "uses": [
              0,
              1,
              2,
              4
            ]
          }
        ],
        "type": "pkg_info"
      }
    ],
    "rev": "c1ea9",
    "v": "8"
  }
}