{
  "ml": {
    "v": "7",
    "eng": "2.9.1",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.018013269,
        "rte": "az",
        "prob": 0.018013269
      },
      {
        "cls": 0,
        "raw": 0.011174659,
        "rte": "az/python_sdist",
        "prob": 0.011174659
      }
    ],
    "prob": 0.018013269,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.01801326870918274,
        "type": "python_sdist"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000011126200661237817,
        "type": "pkg_info"
      },
      {
        "id": 12,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000011752049431379419,
        "type": "python"
      },
      {
        "id": 19,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013192494407121558,
        "type": "python"
      },
      {
        "id": 20,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000010033448234025855,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-12T13:15:07Z"
  },
  "path": "comment_parser-1.2.3.tar.gz",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "abZygHDh$N0@(!BB966Bz/6u5zGGl8vrcB2AXf0#ga\u003evnByxg\u0026)oL6.*CVwa?#1gAY/?P?IlXzIpit7eRJfbKh?4pH*4DyEsewFVvNuhda9Me*}}S[f4?:oNwY)\u0026%0h\u003e/B5%6\u003ep01w0G0f0k\u003e}Q.eh}4)\u0026",
            "ln": 0
          }
        ],
        "mol": "H₂(Cm₂Db)Md(Bk)",
        "sha": "32bf6fedb3115d2063c0f621b30a5bdbec06905d230d927202990c8a6a6aa539",
        "path": "comment_parser-1.2.3.tar.gz",
        "risk": 5,
        "size": 8370,
        "type": "python_sdist",
        "facts": {
          "metrics": {
            "file": {
              "size": 8370,
              "entropy": 7.95
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 8192,
              "peak_region_entropy": 7.81
            },
            "consistency": {
              "cloned_summary": 0,
              "name_typosquat": 0,
              "self_dependency": 0,
              "metadata_identity_mismatch": 0
            }
          }
        },
        "ident": {
          "name": {
            "value": "comment_parser",
            "source": "python.name",
            "verified": false
          },
          "urls": [
            {
              "url": "http://github.com/jeanralphaviles/comment_parser",
              "kind": "homepage",
              "source": "python.homepage"
            }
          ],
          "trust": "unsigned",
          "emails": [
            "jeanralph.aviles+pypi@gmail.com"
          ],
          "authors": [
            {
              "name": "Jean-Ralph Aviles",
              "role": "author",
              "email": "jeanralph.aviles+pypi@gmail.com",
              "source": "python.author"
            }
          ],
          "version": {
            "value": "1.2.3",
            "source": "python.version",
            "verified": false
          },
          "identifier": {
            "value": "comment_parser",
            "source": "python.name",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "micro-behaviors/communications/email/address::google-consumer-email-domain-suffix",
            "conf": 0.55,
            "crit": 3,
            "desc": "Gmail consumer email domain suffix",
            "from": [
              {
                "file": 19
              }
            ]
          },
          {
            "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": 4
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-summary-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package summary",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/package/manifest/author/domain::generic-email",
            "conf": 0.6,
            "crit": 3,
            "desc": "Generic email address",
            "from": [
              {
                "file": 19
              }
            ]
          },
          {
            "id": "metadata/build/pip::root-setup-py-path",
            "conf": 0.98,
            "crit": 1,
            "desc": "Shallow setup.py path candidate",
            "from": [
              {
                "file": 19
              }
            ]
          },
          {
            "id": "metadata/build/pip::packaging-setuptools-import",
            "conf": 0.95,
            "crit": 3,
            "desc": "setuptools packaging import",
            "from": [
              {
                "file": 19
              }
            ]
          },
          {
            "id": "metadata/build/pip::root-setup-py",
            "conf": 0.98,
            "crit": 3,
            "desc": "Root Python setup.py packaging file",
            "from": [
              {
                "file": 19
              }
            ],
            "uses": [
              4,
              16
            ]
          },
          {
            "id": "metadata/build/pip::packaging-setuptools-imported-setup-call",
            "conf": 0.95,
            "crit": 3,
            "desc": "Imported setuptools setup call",
            "from": [
              {
                "file": 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"
          },
          {
            "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": 19
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-name-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package name",
            "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": "metadata/package/manifest/ecosystem::pkginfo-version-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package version",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/data/runtime/keywords::pipe-to-ruby",
            "conf": 0.88,
            "crit": 1,
            "desc": "Pipe to Ruby interpreter token",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "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": 12
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-core-metadata",
            "conf": 1.0,
            "crit": 1,
            "desc": "Declares Python Core Metadata version",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/build/pip::packaging-setup-api-import",
            "conf": 0.95,
            "crit": 3,
            "desc": "Packaging setup API import or call",
            "from": [
              {
                "file": 19
              }
            ],
            "uses": [
              5
            ]
          }
        ]
      },
      {
        "ctx": [
          {
            "b": "o\u003ewAPwmoN*eMMC6B7]MgiV{ggf:ZV:zdL:Jv@Dj3wO#P%Aa9^dwPwbUwPz\u003caz/dPUf!Ljlgyv66zeAZ4C@^6AvrcB2ay/tbzdNQbB0b7nz/3Ruvrc72B-OWDz/{8gwGUP0y?mVu3p]8LwI4\u003efxjTaDxMOuniXJd0x([3hvLheez7/TnvqZ9]y\u0026B5@C4\u003e=7B1.3wzeA\u003c4Bye#}A=U/j3pe/RxM4]LawciNzy[:{y\u0026B5gl3u%UwPFhAB-.qnAXg\u003ct",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "arR^HarR^HtoNiEC#d6PB97\u0026jB-Q?pxMOunB2\u003e%cx(dGnB7/o0y?dPtx(tUzD2NEJB97\u0026jB-PiCz/6u5zGGl8vrcB2AXqARxdmamxMOunB2\u003e%cAcVzpe]V8TxM4=vz/PFzAcVzpfjK",
            "ln": 454,
            "col": 1,
            "line": 12
          },
          {
            "b": "CYUP-ePt#SxM4=harR^HarR^HarR!O3lQDlarR^HaBCqfBZ/RsarR^HarR!OaARgtBt4\u003e\u003cA=\u003e\u0026parR^HarR^HarR^HarV4sarR^HarR^HD(#v3wO=f9arR^HarV4OBy/W",
            "ln": 5506,
            "col": 27,
            "line": 161
          },
          {
            "b": "auzLapG6?cl2Z^-z*2Y5auzLao?wqboLF0FzGxv@l$HBHA+PGmx(v(vlVl\u003c:wO#Pwrc-B]iV@JQCYUPQvrcc]z*c7a",
            "ln": 6001,
            "col": 20,
            "line": 174
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 6073,
              "entropy": 4.2
            },
            "binary": {
              "peak_region_bytes": 1024,
              "peak_region_entropy": 4.84
            }
          }
        },
        "id": 1,
        "path": "comment_parser-1.2.3.tar.gz!!comment_parser-1.2.3/PKG-INFO",
        "pid": 0,
        "risk": 1,
        "sha": "089d35d85f9c7f7624d961407710c53cc14fb0ee0a2ed9f3bf3bdb59fdcce5e3",
        "size": 6073,
        "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": [
              [
                58,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-version-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package version",
            "spans": [
              [
                43,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/dependencies/manifest::pypi-no-runtime-deps",
            "conf": 0.7,
            "crit": 2,
            "desc": "PyPI metadata omits runtime dependencies"
          },
          {
            "id": "micro-behaviors/data/runtime/keywords::pipe-to-ruby",
            "conf": 0.88,
            "crit": 1,
            "desc": "Pipe to Ruby interpreter token",
            "spans": [
              [
                5538,
                0
              ]
            ]
          },
          {
            "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": [
              [
                58,
                0
              ]
            ]
          }
        ],
        "type": "pkg_info"
      },
      {
        "ctx": [
          {
            "b": "boXZ.B8\u0026{yx(kOyD30.rzvdNib2\u0026k\u0026B0bsrwozZ1aAhvtC4\u003eF#B0bshBzbP6B0b7kAV/sfA=U@jxcpY5zeA\u003c4BAnNpA=k!qqGVC]ay/t2wIbeJa{[V\u003eze:AlBrCQn3tar%z6iq4B7F\u003c6azCXiz/P}xvRG){v@#6]wOc2\u003ew].*bay/tbzdNQbuVoB]B7GwAAa9^dwPz\u0026mx(d*cA=-Blz/6ufzvcZTwmYu}wQ5rqvpKy^v@Dj3wO#Qhc$vgawHPUEarR\u003cLb1l-#A:-E1B0a)ly?W%jaA7\u003cmv@Dj3wO#QhazbUjz6i}lwGUS1C4CLlqGVC]aAIEzA:@V6v@C)?e^.}davy6:zdNQbB0a[iwGV28Ab]JhwO#Q3wfu8gBz8!sxK@qNz/6u5zGE1hy*?yaazbLmzE:(7zxK4mwGUG3zeBieaz(4cB.\u003eRw3jm)#qGVC]ay/tbzdNQbB0bKCvrcDjCwhejayMxubpsQzxKL{\u0026v@#p5ayPd#aAzQxaARJABzbkdwO#33z!pblxK@r5x(mGk3lQE8BAzE.fe4u*vTfLoz^$zfz/4drz!0\u0026wp\u0026ZF!A:-*4x(mMYBZ/RG3jm)#l2{QViTM#LarUfjwmW!Aq/)4]zF784z/fV9x(mT5xcpY5wmV)9zY\u0026RoBAg/1BrC7izeA\u003c4BAnNpA=k!E3lQD?wPS6nzGv\u0026CarR^Hp\u003cEd@z/cXlx(!wsz!pb4z/6ufzz1p{zeA\u003c4BrCpnaARpdaA8phwPw]nxKM09BzblhayPkdwNPQ4x(k5nxK@q@z!9Aie^-Zza%FirarUSiBAz8mzxI7+AV#XK3lQDlasGDJjzX.NwPzi}j%hmTtP$L3djuPei:t]{gjgGmiW^iotRW-Se?5m",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "e(\u003ezslqHJGaBCqLwIcXSoJjOSnLRY63jm)#y?W=#B6\u0026T0wmZ0%B09Q*tu}NUazbLjaz\u003eLev}W00zxJ$he[O*nwncc%AWU@LbQa=Zv@C)?efF$Ae\u003e)=Q3lQDlaz++fwPIi)zE^s6wPGFjAbYxawghq6ByO#pB97\u0026hBsnN!3jm)#v@Dj3wO#QhauZ\u0026Kt).X%w]zYjzd9",
            "ln": 789,
            "col": 36,
            "line": 26
          },
          {
            "b": "efG1QvrcD%v}Yp\u003evpKy\u003cAW.t5arR^Hx\u003ewG6x(mD7jV%]iB7]J8y?j!K3lQDlarR!pz/6u5zGGk}z/fVdzGE0:az\u003eLev}WGcA=l8tc)A.DzF9=%uT[1(By/uia$i\u003cwarR^Hay/r",
            "ln": 1082,
            "col": 40,
            "line": 37
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "re.compile"
            ],
            [
              "",
              "re.finditer"
            ],
            [
              "",
              "lines_indexes.append"
            ],
            [
              "",
              "match.start"
            ],
            [
              "",
              "compiled.finditer"
            ],
            [
              "",
              "match.start"
            ],
            [
              "",
              "bisect_left"
            ],
            [
              "",
              "match.group"
            ],
            [
              "",
              "common.Comment"
            ],
            [
              "",
              "comments.append"
            ],
            [
              "",
              "bisect"
            ],
            [
              "",
              "bisect_left"
            ],
            [
              "",
              "comment_parser.parsers"
            ],
            [
              "",
              "common"
            ],
            [
              "",
              "re"
            ]
          ],
          "mbr": [
            "comments.append",
            "common.Comment",
            "compiled.finditer",
            "lines_indexes.append",
            "match.group",
            "match.lastgroup",
            "match.start",
            "re.M",
            "re.MULTILINE",
            "re.VERBOSE",
            "re.compile",
            "re.finditer"
          ],
          "tgt": [
            "bisect_left",
            "comments.append",
            "common.Comment",
            "compiled.finditer",
            "lines_indexes.append",
            "match.group",
            "match.start",
            "re.compile",
            "re.finditer"
          ],
          "funcs": [
            [
              "extract_comments",
              176
            ]
          ],
          "metrics": {
            "ast": {
              "op.add": 1,
              "op.bor": 1,
              "max_depth": 12,
              "call_count": 10,
              "node_count": 234,
              "member_count": 12,
              "op_density.add": 0,
              "op_density.bor": 0,
              "max_concat_chain": 2,
              "member_depth_max": 2
            },
            "file": {
              "size": 1292,
              "entropy": 4.8
            },
            "text": {
              "lines": 44,
              "top_char": 101,
              "max_ws_run": 1,
              "digit_ratio": 0,
              "space_count": 195,
              "char_entropy": 4.8,
              "unique_chars": 65,
              "top_char_null": 0,
              "escape_density": 0.23,
              "string_density": 0.14,
              "top_char_ratio": 0.08,
              "avg_line_length": 28.36,
              "max_line_length": 77,
              "empty_line_ratio": 0.25,
              "last_line_length": 17,
              "whitespace_ratio": 0.18,
              "identifier_density": 1.27,
              "line_length_stddev": 25.14,
              "octal_escape_count": 3,
              "normalized_string_count": 0.9,
              "suspicious_string_ratio": 0.33,
              "suspicious_identifier_ratio": 0.04,
              "normalized_unique_identifiers": 5.13
            },
            "binds": {
              "count": 9
            },
            "binary": {
              "peak_region_bytes": 1024,
              "peak_region_entropy": 4.86
            },
            "source": {
              "function_count": 1
            },
            "imports": {
              "count": 5,
              "stdlib_count": 1,
              "stdlib_ratio": 0.2,
              "third_party_count": 4,
              "third_party_ratio": 0.8
            },
            "strings": {
              "sql": 1,
              "bytes": 619,
              "count": 6,
              "avg_length": 103.17,
              "max_length": 423,
              "avg_entropy": 3.18,
              "entropy_stddev": 1.59,
              "embedded_code_candidates": 1
            },
            "comments": {
              "chars": 16,
              "count": 1,
              "lines": 1,
              "to_code_ratio": 0.02
            },
            "functions": {
              "count": 1,
              "density": 2.27,
              "avg_params": 1,
              "code_ratio": 0.82,
              "max_params": 1,
              "avg_name_length": 16,
              "avg_length_lines": 36,
              "max_length_lines": 36,
              "min_length_lines": 36,
              "avg_param_name_length": 4
            },
            "identifiers": {
              "count": 56,
              "unique": 28,
              "avg_length": 7.82,
              "max_length": 16,
              "min_length": 1,
              "avg_entropy": 2.45,
              "reuse_ratio": 0.5,
              "length_stddev": 3.76,
              "sequential_names": 1,
              "single_char_count": 1,
              "single_char_ratio": 0.04,
              "all_lowercase_ratio": 0.86,
              "all_uppercase_ratio": 0.11
            }
          }
        },
        "id": 12,
        "mol": "H(Cm)",
        "path": "comment_parser-1.2.3.tar.gz!!comment_parser-1.2.3/comment_parser/parsers/ruby_parser.py",
        "pid": 0,
        "risk": 1,
        "sha": "03ae6c50a4b64e8be59ff4d53b41027e5244217be016401b4707028cd4fbd1b7",
        "size": 1292,
        "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",
            "spans": [
              [
                427,
                41
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "w].*baAIaoB-qCvz!%Fqx(d*cA=-BBwPS6l3jmbJwO969wNPa^wHF#*3lQEnx([2hz/xo9c)}[Yk$1Boe]tbDdiJ5uaAz44wnL)+w[=6)iTM#LarUYoBAIRwaAz44wnL)+w[=6)e]\u003eJiwge(l3jp\u0026=BAIKJ3lQDlaz$R8wJ.zJz/6u5zGGl8vrcB2AWJyBarR^HC4CYnx(v(LcOWkee\u0026a\u003ea3lQDlay]58v@=p5BzkVhjTT6mA=U!mv@Dj3wO#QhazbUjz6j1gA+PDmB0bKxB-H#6azbt7wPGEKed9HxarUfgvrlH7w[+*%B3i.marR^HarR^HcQ.J?wO=p7zdNQbax9w\u003cBAITEiYXxvat1ZjA=kGhv@#B6zza}gvpB4:cObPEarR^HarR^Op\u0026ZF!A:-*4x(mMaoKR*KBZX]]auzLap\u003cEd@z/cWUiV{jaed9HxarR^HarS4hz/xA2auzLaq/un\u0026CvtJ6avG^:wO=p7zdNQbauzLal#MNTzdNQbvruj4zyl$xarR^HarR^HcROk:wO#N2auzLapG6?cl2Z^-z*2Y5auzLao?wqboLF0FzGxwp3lQDlaycJ9arR^HB-IpYcUNQzA5]T9xk8E3BZ=$kz/4dxwNPE%vqG)@vrMv3wPGImz/6u5zGGl8vrcB2AWJyBarR^HvrDW9z/N#*n[zBGeMc1[Aa*vWC4\u003e=7B0\u0026HCarR^HvrDW9z/Ph@zddc{jTT#QvqZ9]y\u0026B5uvrMv3wPGwvD2NE.xkI6\u003ey+xjoz6{\u003ewarR^Hy?Wx\u003czGxwLcRWficObPEarR!yz/fh{wmY*(A+PGmx(v(LA+eV\u0026zdLaAed9HxarUGszF9r!wPIv4x(Ffdz/e](z/fVdzGGlcD2NsTcV\u0026{ABt4GtA+/i7CwX=V3lQDlaAg+0yHH\u003c!B3i.Pv@Dj3wO#P%z#",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "asyVqzeA\u003c4Bye#}A=U/je]UltB7GxkcTwngarR^Hx(n0lvqG:!A+flkx(W^ajZfpMD30.rzy]Zlxk7\u003csjUOGBe?]skt}us9arR!GwPI%2B9hhswJ.zUz/YFxv@Dg1wN/?2AWJyBarR^HBy+",
            "ln": 744,
            "col": 32,
            "line": 25
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "open"
            ],
            [
              "",
              "readme_file.read"
            ],
            [
              "",
              "setup"
            ],
            [
              "",
              "readme"
            ],
            [
              "",
              "setup"
            ],
            [
              "",
              "setuptools"
            ]
          ],
          "mbr": [
            "readme_file.read"
          ],
          "tgt": [
            "open",
            "readme",
            "readme_file.read",
            "setup"
          ],
          "funcs": [
            [
              "readme",
              31
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 10,
              "call_count": 4,
              "node_count": 200,
              "member_count": 1,
              "max_array_len": 4,
              "member_depth_max": 2
            },
            "file": {
              "size": 900,
              "entropy": 4.85
            },
            "text": {
              "lines": 29,
              "top_char": 101,
              "max_ws_run": 1,
              "digit_ratio": 0.02,
              "space_count": 138,
              "char_entropy": 4.85,
              "unique_chars": 62,
              "top_char_null": 0,
              "string_density": 0.62,
              "top_char_ratio": 0.08,
              "avg_line_length": 30.03,
              "max_line_length": 60,
              "empty_line_ratio": 0.14,
              "last_line_length": 19,
              "whitespace_ratio": 0.19,
              "identifier_density": 0.83,
              "line_length_stddev": 19.67,
              "normalized_string_count": 3.34,
              "normalized_unique_identifiers": 4.32
            },
            "binary": {
              "peak_region_bytes": 900,
              "peak_region_entropy": 4.85
            },
            "source": {
              "function_count": 1
            },
            "imports": {
              "count": 2,
              "third_party_count": 2,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 417,
              "count": 18,
              "url_count": 1,
              "avg_length": 23.17,
              "max_length": 48,
              "avg_entropy": 3.41,
              "email_count": 1,
              "entropy_stddev": 0.8
            },
            "functions": {
              "count": 1,
              "density": 3.45,
              "code_ratio": 0.1,
              "avg_name_length": 6,
              "no_params_count": 1,
              "avg_length_lines": 3,
              "max_length_lines": 3,
              "min_length_lines": 3
            },
            "identifiers": {
              "count": 24,
              "unique": 21,
              "avg_length": 9.57,
              "max_length": 29,
              "min_length": 3,
              "avg_entropy": 2.72,
              "reuse_ratio": 0.88,
              "length_stddev": 5.71,
              "high_entropy_count": 2,
              "high_entropy_ratio": 0.1,
              "all_lowercase_ratio": 1
            }
          }
        },
        "id": 19,
        "mol": "H₂(Cm₂Db)Md(Bk)",
        "path": "comment_parser-1.2.3.tar.gz!!comment_parser-1.2.3/setup.py",
        "pid": 0,
        "risk": 5,
        "sha": "d6e328233fb4590d218e4334dd59dbe00fcaa4b62dd84469d551e3f1440765a2",
        "size": 900,
        "traits": [
          {
            "id": "metadata/build/pip::packaging-setuptools-import",
            "conf": 0.95,
            "crit": 3,
            "desc": "setuptools packaging import",
            "spans": [
              [
                0,
                15
              ]
            ]
          },
          {
            "id": "metadata/build/pip::packaging-setuptools-imported-setup-call",
            "conf": 0.95,
            "crit": 3,
            "desc": "Imported setuptools setup call",
            "spans": [
              [
                0,
                124
              ]
            ]
          },
          {
            "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": [
              [
                564,
                45
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/email/address::google-consumer-email-domain-suffix",
            "conf": 0.55,
            "crit": 3,
            "desc": "Gmail consumer email domain suffix",
            "spans": [
              [
                599,
                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": [
              [
                477,
                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": [
              [
                52,
                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": [
              [
                108,
                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": [
              [
                477,
                48
              ]
            ]
          },
          {
            "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": [
              [
                118,
                103
              ]
            ]
          },
          {
            "id": "metadata/build/pip::packaging-setup-api-import",
            "conf": 0.95,
            "crit": 3,
            "desc": "Packaging setup API import or call",
            "uses": [
              0
            ],
            "spans": [
              [
                0,
                15
              ]
            ]
          },
          {
            "id": "metadata/build/pip::root-setup-py",
            "conf": 0.98,
            "crit": 3,
            "desc": "Root Python setup.py packaging file",
            "uses": [
              2,
              10
            ],
            "spans": [
              [
                0,
                29
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "DM)3hz/ZhBBy/qkiWeJ*Aa{HEb5Q?awG\u003ceVv@Dj3wO#PwAa9^dwPw$Cb6EKrB7]Mgb03]5e\u002624na$K{SBZ/f3B7/b}uTX42iX-JDhzD)yg=Noxb4ka}uU0O\u003cB0rT",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 863,
              "entropy": 4.78
            },
            "binary": {
              "peak_region_bytes": 863,
              "peak_region_entropy": 4.78
            },
            "registry": {
              "age_days": 2119,
              "published_at": 1606105483,
              "releases_24h": 0,
              "releases_48h": 0,
              "is_deprecated": 0,
              "release_count": 23,
              "package_age_days": 4030,
              "first_published_at": 1440980974,
              "vulnerability_count": 0,
              "previous_published_at": 1599102856,
              "days_since_previous_release": 81
            }
          }
        },
        "id": 20,
        "path": "comment-parser@1.2.3.registry.json",
        "pid": 0,
        "rel": "registry",
        "role": "sidecar",
        "sha": "8ab6c9dd3c2a9ba1ae8cafdca47c9968ffd6551dc830df182f8f813e94a3ce18",
        "size": 863,
        "traits": [
          {
            "id": "metadata/registry::established-package",
            "conf": 1.0,
            "crit": 1,
            "desc": "Package is at least one year old",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/registry::many-releases",
            "conf": 1.0,
            "crit": 1,
            "desc": "Twenty or more releases",
            "spans": [
              [
                0,
                0
              ]
            ]
          }
        ],
        "type": "registry"
      }
    ],
    "rev": "c7f7e",
    "v": "8"
  }
}