{
  "ml": {
    "v": "7",
    "eng": "2.9.1",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.000109136105,
        "rte": "az",
        "prob": 0.000109136105
      },
      {
        "cls": 0,
        "raw": 0.0011924505,
        "rte": "az/whl",
        "prob": 0.0011924505
      }
    ],
    "prob": 0.000109136105,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00010913610458374023,
        "type": "whl"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000007887681022111792,
        "type": "python"
      },
      {
        "id": 3,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000015109777450561523,
        "type": "python"
      },
      {
        "id": 9,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000016907850294956006,
        "type": "python"
      },
      {
        "id": 13,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000008225440979003906,
        "type": "text"
      },
      {
        "id": 15,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000010033448234025855,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-12T11:48:53Z"
  },
  "path": "pylspci-0.4.3-py3-none-any.whl",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "p!H([6Awak2MLpF1xz2nZkjVD002N\u003c000Vj003$-y\u0026:M9x!J?2x(mTbuTCB8C$PWg=S8x(+QCen=EsvnegKyDd+lb}+Q{[crreiTmi@qSu%S?nJ/aptm.]\u003cesvnnW08Mq\u003c1qy?o00\u0026MkZxvL28h@CC2lj:{82%",
            "ln": 0
          }
        ],
        "mol": "H₂(DbPo₂)Md(Pa)",
        "sha": "3868a5b899692898472cb6554c8467ef2a49549c8262b4ebd967431678925dd8",
        "path": "pylspci-0.4.3-py3-none-any.whl",
        "risk": 3,
        "size": 28295,
        "type": "whl",
        "facts": {
          "metrics": {
            "whl": {
              "native_extension_count": 0
            },
            "file": {
              "size": 28295,
              "entropy": 7.94
            },
            "binary": {
              "peak_region_bytes": 26624,
              "peak_region_entropy": 7.82
            },
            "archive": {
              "file_count": 17,
              "member_count": 17,
              "script_count": 10,
              "zip_bomb_ratio": 4.99,
              "compressed_size": 26133,
              "directory_count": 0,
              "executable_count": 0,
              "extra_field_size": 0,
              "noise_file_count": 0,
              "compression.ratio": 0.3,
              "hidden_file_count": 0,
              "uncompressed_size": 86346,
              "crc_collision_count": 0,
              "entry_comment_count": 0,
              "max_filename_length": 40,
              "rtlo_filename_count": 0,
              "format.regular_count": 17,
              "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": 2,
              "timing.mtime_unique_ratio": 0.12,
              "misplaced_executable_count": 0,
              "timing.mtime_outlier_count": 6,
              "timing.mtime_dominant_count": 11,
              "timing.mtime_spread_seconds": 100,
              "timing.sentinel_mtime_count": 0,
              "security.world_writable_count": 0,
              "timing.mtime_dominant_fraction": 0.65,
              "compression.method_counts.deflate": 17
            },
            "consistency": {
              "cloned_summary": 0,
              "name_typosquat": 0,
              "self_dependency": 0,
              "metadata_identity_mismatch": 0
            }
          }
        },
        "ident": {
          "name": {
            "value": "pylspci",
            "source": "whl.distribution",
            "verified": false
          },
          "urls": [
            {
              "url": "https://tildegit.org/lucidiot/pylspci",
              "kind": "homepage",
              "source": "whl.home_page"
            }
          ],
          "trust": "unsigned",
          "authors": [
            {
              "name": "Lucidiot",
              "role": "author",
              "source": "whl.author"
            }
          ],
          "version": {
            "value": "0.4.3",
            "source": "whl.version",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-name-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package name",
            "from": [
              {
                "file": 12
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-version-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package version",
            "from": [
              {
                "file": 12
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-core-metadata",
            "conf": 1.0,
            "crit": 1,
            "desc": "Declares Python Core Metadata version",
            "from": [
              {
                "file": 12
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-requires-dist",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python runtime dependencies",
            "from": [
              {
                "file": 12
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-summary-field",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package summary",
            "from": [
              {
                "file": 12
              }
            ]
          },
          {
            "id": "micro-behaviors/os/sysinfo/platform/string::os-string-linux",
            "conf": 0.6,
            "crit": 2,
            "desc": "Linux platform string",
            "from": [
              {
                "file": 2
              }
            ]
          },
          {
            "id": "metadata/package/scripts/entrypoint::console-scripts-entry",
            "conf": 0.88,
            "crit": 1,
            "desc": "Declares Python console-script entry points",
            "from": [
              {
                "file": 13
              }
            ]
          },
          {
            "id": "metadata/package/scripts/entrypoint::wheel-console-entrypoint",
            "conf": 0.9,
            "crit": 3,
            "desc": "Package declares a console-script entry point",
            "from": [
              {
                "file": 13
              }
            ],
            "uses": [
              6,
              16
            ]
          },
          {
            "id": "micro-behaviors/process/create/subprocess::import-subprocess",
            "atk": "T1059.006",
            "mbc": "E1059.006",
            "conf": 0.95,
            "crit": 3,
            "desc": "Imports Python's subprocess module",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-requires-python",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares supported Python versions",
            "from": [
              {
                "file": 12
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/subprocess::check-output",
            "atk": "T1059.006",
            "mbc": "E1059.006",
            "conf": 0.8,
            "crit": 3,
            "desc": "subprocess.check_output call",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "micro-behaviors/data/parse/command::python-shlex-command-split",
            "conf": 0.9,
            "crit": 3,
            "desc": "Python parses shell-like command words",
            "from": [
              {
                "file": 9
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/direct::process-launch-call-text",
            "conf": 0.92,
            "crit": 3,
            "desc": "Child-process launch capability",
            "from": [
              {
                "file": 3
              }
            ],
            "uses": [
              15
            ]
          },
          {
            "id": "objectives/execution/condition/platform::has-os-check",
            "conf": 0.6,
            "crit": 1,
            "desc": "Checks for OS platform",
            "from": [
              {
                "file": 2
              },
              {
                "off": 13602,
                "file": 3,
                "line": 380
              },
              {
                "off": 1150,
                "file": 4,
                "line": 61
              }
            ],
            "uses": [
              5
            ]
          },
          {
            "id": "micro-behaviors/process/create/subprocess::check-output-ast",
            "atk": "T1059.006",
            "mbc": "C0017",
            "conf": 0.85,
            "crit": 3,
            "desc": "subprocess.check_output call",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/subprocess::process-execution",
            "atk": "T1059.006",
            "conf": 0.8,
            "crit": 3,
            "desc": "Python launches a child process",
            "from": [
              {
                "file": 3
              }
            ],
            "uses": [
              10,
              14
            ]
          },
          {
            "id": "metadata/package/scripts/entrypoint::entry-points-file",
            "conf": 0.95,
            "crit": 1,
            "desc": "Python package contains an entry_points.txt file",
            "from": [
              {
                "file": 13
              }
            ]
          },
          {
            "id": "metadata/package/manifest/ecosystem::pkginfo-license-file",
            "conf": 0.9,
            "crit": 1,
            "desc": "Declares Python package license file",
            "from": [
              {
                "file": 12
              }
            ]
          }
        ]
      },
      {
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "SimpleParser"
            ],
            [
              "",
              "SimpleParser"
            ],
            [
              "",
              "pylspci.parsers.simple"
            ]
          ],
          "tgt": [
            "SimpleParser"
          ],
          "metrics": {
            "ast": {
              "max_depth": 5,
              "call_count": 1,
              "node_count": 21
            },
            "file": {
              "size": 73,
              "entropy": 4
            },
            "text": {
              "lines": 3,
              "top_char": 114,
              "max_ws_run": 1,
              "space_count": 5,
              "char_entropy": 4,
              "unique_chars": 21,
              "top_char_null": 0,
              "top_char_ratio": 0.14,
              "avg_line_length": 23.33,
              "max_line_length": 47,
              "empty_line_ratio": 0.33,
              "last_line_length": 23,
              "whitespace_ratio": 0.11,
              "identifier_density": 2,
              "line_length_stddev": 19.19,
              "normalized_unique_identifiers": 3.15
            },
            "binds": {
              "count": 1
            },
            "binary": {
              "peak_region_bytes": 73,
              "peak_region_entropy": 4
            },
            "imports": {
              "count": 2,
              "third_party_count": 2,
              "third_party_ratio": 1
            },
            "identifiers": {
              "count": 6,
              "unique": 5,
              "avg_length": 7.6,
              "max_length": 12,
              "min_length": 6,
              "avg_entropy": 2.57,
              "reuse_ratio": 0.83,
              "length_stddev": 2.24,
              "all_lowercase_ratio": 0.8
            }
          }
        },
        "id": 1,
        "path": "pylspci-0.4.3-py3-none-any.whl!!pylspci/__init__.py",
        "pid": 0,
        "risk": 1,
        "sha": "60044bf9d02c5b7751da3a350af43f934971e4d74f713f6116395306028941bf",
        "size": 73,
        "traits": [
          {
            "id": "metadata/file/extension/identity::py",
            "conf": 1.0,
            "crit": 2,
            "desc": "File uses a Python artifact extension",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/extension/token-shape::bare-alphanumeric-script-basename",
            "conf": 0.9,
            "crit": 2,
            "desc": "Script filename is a bare alphanumeric token",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/metrics::low-overall-entropy-source",
            "conf": 0.9,
            "crit": 2,
            "desc": "Source file has low overall entropy",
            "spans": [
              [
                0,
                0
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "x(d*cA=-BBBZ/rgz!0v1A%=J1z/3RdzGP!sx(d*cA=-A)zGP!6w].*baAg+hxL.x(azCXiz/P}xp*[DV3tar%z6i}CAa%i5azCXiz/P}xc\u003c?7tarS%/C}p7fBy/G3Bz(gJawuG\u003cBsXLevq{g1zF7Hyo)7L^vR/QIvq{g1zF7HypJgz\u0026z/f01ec",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "ar\u00260N3jm)#arTA/zdMHXy\u003cvc^aswJzarR^Ha%FirarR^HpI%#]aA8yAAclmBBzbkdzEEx[B1N!xarR^Ja%Ev3arR^HnKMu(y\u003cvc^asw:UcKH$sarR\u003cLa{]CnarTD$y\u003cvdwB-.OBBrCWswGUU$CWUb]v}/^*y-(qqB1N!xarR!axLzJgx(+zsxK@r8zFTOvz/x/jz/cXtxKM09wn=42az#ataAz4kB.L(cayMy2u#PQ\u0026x\u003eho)u)65}y?kjaarR^Ha%Fir3lQDlavp0*xDPCXcOojNcKH$sarR\u003cLa{]CnarTE5Bz#wAayYnhxDRzgwGU(0zdN=hvqYP#xK#A%wmYm+zddl6nKNRJazCZoBzbkdw]zZbvrrS1u}$cEwGUhGl%Thde^-ZzarR\u003cLa{[U:wmYu}y\u0026:M9x^:rharR^HarR!Cv}/T/B2\u003eBtAcb/jzEEuTvrue",
            "ln": 475,
            "col": 4,
            "line": 19
          },
          {
            "b": "wKZxIBy/FzaAITBu0ONoawM\u0026)wH[fharR^HarR^Qat2=1B98B-3lQDlar\u00260N3lQDlavxNNy-)?kwGUw*y\u0026:M9x\u003c+r\u003ev@Dj3vqYP#CwhejaA?glx(wcnaAg+fvqPN$wPz\u0026A3jm)#arSZ:vrb^[aAg?8x\u003ehoCavf(/z/x/jz/f01aAg+hxDRznayMy2u#PQ\u0026x\u003eho)u)65}y?kd8arR^HarR!GzY\u0026LdzGYPiBrCmdCWUb]v}/^*y-)k7vrlGvaA?slwn=Ghz/M$hwP?=$wGTMjB0bgmBz\u0026ptvqPN%e^-ZzarSZ!D2NsqAarP@wof^OB98BBz/M%%vruf9z/M%}z/fa[arR^Hi=FIFvqNcav}/^*A5]aczxJ\u003epBzkVhvqE69vruf9Bz\u0026pgayFN",
            "ln": 1325,
            "col": 44,
            "line": 50
          },
          {
            "b": "v}x.5az\u003eXixM4B5azCZovg1b1arR^Hazt[mvqWVqwNPaTvR/P#w]zZbvrsaAmSiq\u0026Bzbkdzdc{/x(mGlA+eV\u0026vpB4:azbLjzddJqaAIa93lQDlarR^Hi+AILv(!1lx(!x6vpJ!UB8$Y9wPRQ7wohch3lQDlauBQ\u0026AaHe2v}f7\u003eB6\u0026=}BzbP6iV@F",
            "ln": 1878,
            "col": 53,
            "line": 62
          },
          {
            "b": "vrufiiTM#LarR^HarR^HarUSkx\u003e.a0auZ\u0026zvrufhAarP@wofgbarR^HarR^HvrlH3A=-Byv}/T/B1RfFuUj1*wHF#Uasx-Gay[]5vpAU^wGUP0y?j-bz/^alz/]@dcKH$sarR^HarU9kxlbXlAbYxawghIvAWU)px\u003e.a0e[5jgz!%MrwHF#Rdgcz8arR!vw/#55x(do$iTM#LarR^HarU9kxlbXlAbYxawge/SA3)7warR^HarR^Hx-",
            "ln": 4361,
            "col": 36,
            "line": 119
          },
          {
            "b": "vrufiiTM#LarR^HarR^HarUSkx(do$auZ\u0026zvrufhAarQ0vq)U5arR^HarR^HvrlH3A=-Byv}/^*A4U\u003cCuUj1*wHF#Uasx/[A=bD8az(4cB.\u003eRizddy5x(mMaw[=6)az#atazbLmzE+a4arR^HarR^Hvrc14e[5ZrwO#3bB98BJAarQ0vq)\u0026cvSME7B-.gydjDXM3lQDlazCBgw[=6)iTM#LarR^HarU9kxlbXlAbYxawge/SmKGR(arR^HarR^Hx\u003ewE",
            "ln": 4584,
            "col": 36,
            "line": 126
          },
          {
            "b": "wH[%2vrufiiTM#LarR^HarR^HarUogy?j.Law=G*xEEFby?k45arR^HarR^HvrlH3A=-Box(4ukx(^S[x(4uedj=O?nm^2*woz:dazbt7wGU(eBrCglB-7.q3lQDlarR^HayPq6B1Q)uAaJ]$d06GJc$WgfwIdz2B8L(qBy=\u003cHdjCPharR^Hw]zYjyH}=xaA?gfB.8XfzxJ[dx(4G)uVoB]vqQ6rx(){6B0@E#3lQDlarR^HayPq6B1Q)uAaJ]$c){PxDWO57Ej3TVz/PY6Bsp{oC}p7YvqH6$djCPharR^HA+funA=91vBZ/rgz!0v1B1Q%owN/H.z/{evB-Y2sarR^HarR^Hvrc14ed9HxarR^HarU/Ax)a6dB75((zE[3dx(mH6jYDDAwH[fharR^Q3jmbJwO963x(!x6vpJ!UB8$Y9wPRQ7wofdFat2=1oLFM\u0026txs[bt@\u0026rnarR^Ja%EvparR^]vqG+3ayFO[B8US6c$cQ}wPI{1zdN*5z!80UxK#10cN\u0026ChaARJAy?W%jaARpdaw+A%ayO+\u0026wPI]nzdN*5z!9[@arR^HBzbkdB-7-3A+{2nzF781u#PQ\u0026y?Wu^u)6Aez*2\u00269wPF#5zE:(evrcB2B0bNrwGUVezddrlA+eV\u0026vpB4:az++kBrCpnBz?HearR!naz\u003eK%xLzu}ePLAhwmn}-wGU/6B962w3lQDlauBKOBAIRwB2\u003eBfaz++kBrCHlayO+\u0026wPI]nzdN*5z!9]w3lP",
            "ln": 4809,
            "col": 30,
            "line": 133
          },
          {
            "b": "w/$]7B97=dv}/:[vQB7.A:-*auVGO0c[cn\u003cj%iKkB97ScBAgUF3lQDlar\u00260N3lQDlavxNNy\u0026Z.bu#f[6v}^5qpIsrQAa05@Bz\u0026prx(!wsBzbkdp^W!%vpJ!UB8@Eyvrb^[wPRH7B0bNrwGVbkwmY^$D1?ee3lQDlayFO@v}/:[vQJN^Ab](ux\u003eg^@e^.}darR^/A+funA=b}Vavdb^x(!wsz!pb2C4293vpB4:aw+A%ayO+\u0026wPI]nAa9=}zdN*2A=S\u0026uarR^Hi=Ys/AaI6MoLFM\u0026txs[bt).X%arSZ=vqf^]B0bKDvSlvav}x.5e\u003c\u003c5-y?mcNA=kD0B8%=\u003cA=k$V",
            "ln": 5699,
            "col": 3,
            "line": 164
          },
          {
            "b": "x\u003c$B*vrb^[B0@EWeJ$pJx(!x2p^W/uv}f7\u003eB5lp=vqPN$wPz6q3lQDlar\u00260N3lQDlavxNNy\u0026Z.bu#f[6v}^5qpIsrQAa05@Bz\u0026prx(!wsBzbkdp^W!%vpJ!UB8@Eyvrb^[wPRH7B0bNrwGVbkwmY^$D1?ee3lQDlayFO@v}/:[vQJN^Ab](ux\u003eg^@ayPd#aAg+fB7DFoxK@r1B.$M8ePLAhwmn}-wGU/6B95KszGG!7arR^Hvixz}v}YN]wI4}lvpS!Qy?j-9x(!wG3jm)#arSZ=wPS6nzGv\u0026Yk{f#TB95Kyw/$J9vqfK^vR/P#p^W!%vpJ!UB8@Eyvrb^[wPRH7",
            "ln": 6290,
            "col": 14,
            "line": 183
          },
          {
            "b": "efE+RnKl\u0026@wPI]?vrb^[wPRH7u0PF#arR^HarR^HA+frmy\u0026?YXrC(I?zD?g7AX5tbx(!x2B98CdefES2B97ROwP?=$wNc\u0026foLFM\u0026ttNWUl1szoB8$e^A:-/@By/F#t).X",
            "ln": 7390,
            "col": 53,
            "line": 215
          },
          {
            "b": "yDrOEz/oCmjS)ZAB.90AeJ$p8lVl*UvqYQxB.LV5wPxdV3lQDlarR^Har\u00260N3lQDlarR^HaxrF]ayMx?lRey(l#%F.x(4u6w].*bayMy9x)a69aAg+hxF6S0arR^HarR^Hi=FIFvqNcavrufzavdb\u003eBAh8kxcqbkaAg+hxF14myH[SbvRPE:BrCKvx(n3bzF78lzY\u003cdnwGT/pnGZO)B0b7ey?i}@arR^HarR^HarU=AaA.:pe*a87BrCWzawM\u0026)wGV8kaA.:paARpday]4}vrDydazbt7wPF#aA=k!qy\u0026:M9x!x-narR^HarR^/BA}?paAg+hxGvnSBAeHxAV!g!",
            "ln": 8107,
            "col": 24,
            "line": 235
          },
          {
            "b": "vrufhAa9\u003c4dgdguarR^HarR^HarUxgay/7@v@1ajarR^HarR^HarR^HarR^HvrlH3A=-Byvrufnx(^S[x(4uedj=O?nKKXivrt{!vrl05w[=6)az#atazbLmzE+a4arR^HarR^HB7Gf1e)\u0026NaA:-*atpjx1x\u003e.a0cTv\u0026TaAg+hxBk\u003e8arR^HarUYoBAIRwaAIagw^O\u003e/arR!qwO96cB7FY$v}/^*A42^sy?tj9arR^HarR^HarR^",
            "ln": 8704,
            "col": 25,
            "line": 249
          },
          {
            "b": "yDrOEz/oCmjS)ZAB.90AeJ$p8lVl*UvqYQxB.LV5wPxdV3lQDlarR^Har\u00260N3lQDlarR^HaxrF]ayMydwPzW1y-)OkwozZ1az\u003eLaAa%i5azbt7wGUP9z/3R9azkziwO@Sfvrufn3jm)#arR^HarSZ:vrb^[aAg+hxGvn4aAITBx(mMaz/M$tvrufmy?WV@aA7.7wN/*8AbPDdBzkS9aARJABzbkdzddy5x(mMaw[=6)3lQDlarR^HarR^HBz\u0026pAB7D%Dq!p4[Bz\u0026o%z/fbeBz\u0026pAB7DFoxK@q%wObv[y\u0026*!ix(4v4azbUjz6iUoAarPm3lQDlarR^HauBQ\u0026AaHeh",
            "ln": 8950,
            "col": 24,
            "line": 257
          },
          {
            "b": "vrufhAa9\u003c4dgdguarR^HarR^HarUxgay/7@v@1ajarR^HarR^HarR^HarR^HvrlH3A=-Byvrufnx(^S[x(4uedj=O?oj-cYwO-Gaz!a0bwGU?#AbYJexcp/2y?j-bz/^alz/]@dcKH$sarR^HarU-py?tqbAa9=}zf5]eAarQ0vq)P1auZ\u0026^vrue\u0026arR^HarR^HA+funA=91vwO+@=3lQDlay]4}aA.:puTWCOwPI{1zdN*5z!7nqwO+%faz\u003eXixA",
            "ln": 9561,
            "col": 25,
            "line": 271
          },
          {
            "b": "awV@#x(v($y*g$5A:papeJ$p8lVl*UvqYQxB.LV5wPxdV3lQDlarR^Har\u00260N3lQDlarR^HaxrF]ayMylAaJJ[w[+-$vpJ!UB8@EvwPRQ7wft#jaz++kBrC1dy-)n1C4\u003eC$B1N!barR^HarR^Hi=FIFvqNc7wPRQ7wi7\u0026dvqPM#z!pblxK@q{v}f7\u003eB0bshBzbP6aARJAB-RaDax8\u0026[aARJAph+2YaARJAB-Ra3arR^HarR^HarR!yB8US6cVZzvwObv[y\u0026*!pwPRQ7wg!iiarR^HarR^/BA}?paz\u003eXixM4AxaAITBaA8oyph+2Y3lQDlarR^HauBKOBAIRwB2\u003eBy",
            "ln": 9769,
            "col": 40,
            "line": 277
          },
          {
            "b": "wJy@yz/oCmjS)ZAB.90AeJ$p8lVl*UvqYQxB.LV5wPxdV3lQDlarR^Har\u00260N3lQDlarR^HawuG\u003cBrCWswGU@4x(4G)ayO+\u0026wPI]nzdN*5z!9]ix(n0lwNP9(z!pbdx(!xgzF785wP?=$wPGEh3lQDlarR^HauBEIA:-/cC42ifwJy@nxK#p0wPw]iAV/mrBrCWzaz++kBrCWswGUz\u003ev}x.5az\u003eXixM4B5e^-ZzarR^HarSZ!D2NsqC42ifwJy@yz/oC0arR^HarR^Hi=X!NB-IwviV}ynwGUG9A=L-eBrA}?zeAZ0wi$AMy?d9$azC.mByx5%wIarjarR^HarR^/",
            "ln": 10226,
            "col": 39,
            "line": 290
          },
          {
            "b": "iV})Iz!{KVavY^QB7D^yeJ$p8lVl*UvqYQxB.LV5wPxdV3lQDlarR^Har\u00260N3lQDlarR^HawuG\u003cBrCWswGU@4x(4G)aAg+fvqPN$wPz\u0026mx(n0lwNP9(z!pbdx(!xgzF785wP?=$wPGEh3lQDlarR^HauBEIA:-/cC42ifwJy@nxK#p0wPw]iAV/mrBrCWzaz++kBrCWswGU@4x(4G)aAg+fvqPN$wPz\u0026A3lQDlarR^HauBQ\u0026AaHenvqH6$iV})Iz!]+6arR^HarR^/Aa9=}z6i\u003ecCrc\u003cFxK#67y?W%jx(mMaBzbkdAarP#x\u003c@i7vrb^[wPRH7B1wCTxK#p0wPw]n",
            "ln": 10768,
            "col": 31,
            "line": 306
          },
          {
            "b": "arR^HarR\u003cLa{]CnarR^HarUxgaz+Rbc$ddeB15j}att?-arR^HarR^HarR^HvrlH3A=-BuwO@]8A+xCxauR!ff!sB{pI%#]aA8deaAhmux([6czEEu7vrc16zdNQbazC)tvqG:#Cv+qj3lQDlarR^HarR^HayPtjwPz(nzF%RtyJ\u003cicxlbQDcSLk0az2nexK#ibvix8{v@@\u0026iAV/deD3sgEwftr3xlw65zGG}E3lQDlarR^HarR^HaAIagw?ECfvrb^[B6y2hv}/:[vQB7.A:-*acTv\u0026TayPq6B6yt73lQDlarR^HarR^HaAz4nB-IvxB7Gf13lQDlarR^HaAIagw?ECfvrb^[",
            "ln": 11920,
            "col": 3,
            "line": 335
          },
          {
            "b": "yDrOEz/oCmjS)ZAB.90AeJ$p8lVl*UvqYQxB.LV5wPxdV3lQDlarR^Har\u00260N3lQDlarR^HaxrF]ayMyawQ4S]wN/B\u003evqE5%B.#7uw].*bayMyiA+fAdz/{azA=(mxz!pbdB8US6azC.mBy!(\u003eaA7\u003c0arR^HarR^HvpJ!UB8#5kxcqqfwGUV8B95^Jay]5bx\u003e7Z}ay]hbwN/*#C}GBharR^HarR^Hi=FIFvqNcavrufzavdb\u003eBAh8kxcqbkaAg+hxF14myH[SbvRPE:BrCKvx(n3bzF78lzY\u003cdnwGUU$CPZKtzeZRfx(4t/arR^HarR^HarR!GzY\u003cgzwIb97wPP5p",
            "ln": 12354,
            "col": 23,
            "line": 346
          },
          {
            "b": "vrufhAa9\u003c4dgdguarR^HarR^HarUxgay/7@v@1ajarR^HarR^HarR^HarR^HvrlH3A=-Byvrufnx(^S[x(4uedj=O?nm^2*woz:dazbt7wGU(eBrCglB-7.q3lQDlarR^HaAIagw?ECfvrb^[B6y27x(4udt{8oMAa9\u003c43lQDlarR^HaAz4nB-IvxB7Gf13jm)#arUiaw/#ndA:\u0026%dwHIRhy?tjvC42ifwJy@yz/oCmjS)ZAB.90AeJ$p8lVl*UvqYQxB.LV5wPxdV3lQDlarR^Har\u00260N3lQDlarR^HavQfRvR/P#C4CY6z/YFjzeS@@e^.}darR^HarR^/Aa9=}z6j1gy\u0026%qIaxJk/BzblaaA8oyzF%RtBz\u0026pAB7DFqwPzl#B7DFhz!9Ai3lQDlarR^HauBQ\u0026AaHenvqH6$iV})Iz!]+6arR^HarR^/A+funA=b}Vaxi2=ay/LmA+fcgavy6:zddr)luN0UwmY^7x(n0lvqYN^e^-ZzarR^HarSZ=BA}?piV{!dzeAZ0wi$AMy?d9$3lQDlarR^Har\u00260N3lQDlarR^HaAIag",
            "ln": 13011,
            "col": 25,
            "line": 361
          },
          {
            "b": "wJy@yz/oCmjS)ZAB.90AeJ$p8lVl*UvqYQxB.LV5wPxdV3lQDlarR^Har\u00260N3lQDlarR^Haxrq\u0026wPw[!x(n6refFUAv@co#wPF#oxK@q{C4293vpB4:azULezE)SbzeS%cy?mVgw]zYjwNP7Zay]5bx\u003e7Zb3lQDlarR^Haw3A?y?WE4ayFOfC4CY6z/YFrdpuKo3jm)#arR^HarSZ:vrb^[aA?gfB.9PRs7(e!xK#ibz/M$rz/^azzY\u0026+iv@co#wGV8dwGUA8vqfK^vR/P#yH}K7wO-Gaz!a0bwPFh3arR^HarR^HarUomAV!}4v}V#}wP?=$wIarjarR^HarR^/",
            "ln": 13554,
            "col": 42,
            "line": 379
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "args.append"
            ],
            [
              "",
              "args.append"
            ],
            [
              "",
              "args.append"
            ],
            [
              "",
              "args.append"
            ],
            [
              "",
              "args.append"
            ],
            [
              "",
              "'-A{}'.format"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "SlotFilter.parse"
            ],
            [
              "",
              "args.append"
            ],
            [
              "",
              "args.append"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "DeviceFilter.parse"
            ],
            [
              "",
              "args.append"
            ],
            [
              "",
              "args.append"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "args.append"
            ],
            [
              "",
              "args.append"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "pciids.is_file"
            ],
            [
              "",
              "args.append"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "pciids.absolute"
            ],
            [
              "",
              "args.append"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "pcimap.is_file"
            ],
            [
              "",
              "args.append"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "pcimap.absolute"
            ],
            [
              "",
              "args.append"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "file.is_file"
            ],
            [
              "",
              "args.append"
            ],
            [
              "",
              "str"
            ],
            [
              "",
              "file.absolute"
            ],
            [
              "",
              "pcilib_params.items"
            ],
            [
              "",
              "args.append"
            ],
            [
              "",
              "'-O{}={}'.format"
            ],
            [
              "",
              "subprocess.check_output"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "filter"
            ],
            [
              "",
              "map"
            ],
            [
              "",
              "lspci(access_method='help').splitlines"
            ],
            [
              "",
              "lspci"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "filter"
            ],
            [
              "",
              "map"
            ],
            [
              "",
              "subprocess.check_output"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "map"
            ],
            [
              "",
              "list_pcilib_params_raw"
            ],
            [
              "",
              "list_access_methods"
            ],
            [
              "",
              "list_pcilib_params_raw"
            ],
            [
              "",
              "list_pcilib_params"
            ],
            [
              "",
              "self._parser.parse"
            ],
            [
              "",
              "lspci"
            ],
            [
              "",
              "lspci"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "iter"
            ],
            [
              "",
              "iter"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "path.is_file"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "path.is_file"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "self._params.setdefault('pcilib_params', {}).update"
            ],
            [
              "",
              "self._params.setdefault"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "path.is_file"
            ],
            [
              "",
              "self.verbose"
            ],
            [
              "",
              "self.with_ids"
            ],
            [
              "",
              "self._params.get"
            ],
            [
              "",
              "self._params.get"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "SlotFilter.parse"
            ],
            [
              "",
              "SlotFilter"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "DeviceFilter.parse"
            ],
            [
              "",
              "DeviceFilter"
            ],
            [
              "",
              "self._params.get"
            ],
            [
              "",
              "self.with_parser"
            ],
            [
              "",
              "VerboseParser"
            ],
            [
              "",
              "self.with_parser"
            ],
            [
              "",
              "SimpleParser"
            ],
            [
              "",
              "Any"
            ],
            [
              "",
              "Device"
            ],
            [
              "",
              "DeviceFilter"
            ],
            [
              "",
              "Enum"
            ],
            [
              "",
              "Iterator"
            ],
            [
              "",
              "List"
            ],
            [
              "",
              "Mapping"
            ],
            [
              "",
              "MutableMapping"
            ],
            [
              "",
              "Optional"
            ],
            [
              "",
              "PCIAccessParameter"
            ],
            [
              "",
              "Parser"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "SimpleParser"
            ],
            [
              "",
              "SlotFilter"
            ],
            [
              "",
              "Union"
            ],
            [
              "",
              "VerboseParser"
            ],
            [
              "",
              "enum"
            ],
            [
              "",
              "pathlib"
            ],
            [
              "",
              "pylspci.device"
            ],
            [
              "",
              "pylspci.fields"
            ],
            [
              "",
              "pylspci.filters"
            ],
            [
              "",
              "pylspci.parsers"
            ],
            [
              "",
              "pylspci.parsers.base"
            ],
            [
              "",
              "subprocess"
            ],
            [
              "",
              "typing"
            ]
          ],
          "mbr": [
            "DeviceFilter.parse",
            "IDResolveOption.Both",
            "IDResolveOption.IDOnly",
            "IDResolveOption.NameOnly",
            "SlotFilter.parse",
            "args.append",
            "file.absolute",
            "file.is_file",
            "id_resolve_option.value",
            "lspci().splitlines",
            "path.is_file",
            "pciids.absolute",
            "pciids.is_file",
            "pcilib_params.items",
            "pcimap.absolute",
            "pcimap.is_file",
            "self._list_access_methods",
            "self._list_pcilib_params",
            "self._list_pcilib_params_raw",
            "self._params",
            "self._params.access_method",
            "self._params.bridge_paths",
            "self._params.device_filter",
            "self._params.file",
            "self._params.get",
            "self._params.hide_single_domain",
            "self._params.id_resolve_option",
            "self._params.kernel_drivers",
            "self._params.pciids",
            "self._params.pcilib_params",
            "self._params.pcimap",
            "self._params.setdefault",
            "self._params.setdefault().update",
            "self._params.slot_filter",
            "self._params.verbose",
            "self._parser",
            "self._parser.parse",
            "self.verbose",
            "self.with_ids",
            "self.with_parser",
            "str.strip",
            "subprocess.check_output",
            "subprocess.check_output().splitlines"
          ],
          "tgt": [
            "DeviceFilter",
            "DeviceFilter.parse",
            "Path",
            "SimpleParser",
            "SlotFilter",
            "SlotFilter.parse",
            "VerboseParser",
            "args.append",
            "file.absolute",
            "file.is_file",
            "filter",
            "isinstance",
            "iter",
            "len",
            "list",
            "list_access_methods",
            "list_pcilib_params",
            "list_pcilib_params_raw",
            "lspci",
            "lspci().splitlines",
            "map",
            "path.is_file",
            "pciids.absolute",
            "pciids.is_file",
            "pcilib_params.items",
            "pcimap.absolute",
            "pcimap.is_file",
            "self._params.get",
            "self._params.setdefault",
            "self._params.setdefault().update",
            "self._parser.parse",
            "self.verbose",
            "self.with_ids",
            "self.with_parser",
            "str",
            "subprocess.check_output",
            "subprocess.check_output().splitlines"
          ],
          "funcs": [
            [
              "lspci",
              795
            ],
            [
              "list_access_methods",
              5136
            ],
            [
              "list_pcilib_params_raw",
              5697
            ],
            [
              "list_pcilib_params",
              6277
            ],
            [
              "__init__",
              7272
            ],
            [
              "__iter__",
              7342
            ],
            [
              "use_pciids",
              8024
            ],
            [
              "use_pcimap",
              8867
            ],
            [
              "use_access_method",
              9734
            ],
            [
              "list_access_methods",
              10192
            ],
            [
              "list_pcilib_params",
              10662
            ],
            [
              "with_pcilib_params",
              11420
            ],
            [
              "from_file",
              12274
            ],
            [
              "verbose",
              13169
            ],
            [
              "include_kernel_drivers",
              13517
            ],
            [
              "include_bridge_paths",
              14065
            ],
            [
              "hide_single_domain",
              14557
            ],
            [
              "with_ids",
              15014
            ],
            [
              "with_names",
              15658
            ],
            [
              "slot_filter",
              16280
            ],
            [
              "device_filter",
              17472
            ],
            [
              "with_parser",
              18520
            ],
            [
              "with_default_parser",
              18961
            ]
          ],
          "metrics": {
            "ast": {
              "op.land": 7,
              "max_depth": 16,
              "call_count": 94,
              "node_count": 2969,
              "member_count": 43,
              "max_array_len": 2,
              "op_density.land": 0,
              "member_depth_max": 4
            },
            "file": {
              "size": 19621,
              "entropy": 4.43
            },
            "text": {
              "lines": 537,
              "top_char": 101,
              "max_ws_run": 1,
              "digit_ratio": 0,
              "space_count": 5356,
              "char_entropy": 4.43,
              "unique_chars": 70,
              "top_char_null": 0,
              "string_density": 0.18,
              "top_char_ratio": 0.07,
              "avg_line_length": 35.54,
              "max_line_length": 79,
              "empty_line_ratio": 0.12,
              "last_line_length": 51,
              "whitespace_ratio": 0.3,
              "identifier_density": 1.1,
              "line_length_stddev": 24.01,
              "normalized_string_count": 4.27,
              "repeated_char_sequences": 93,
              "suspicious_string_ratio": 0.27,
              "normalized_unique_identifiers": 11.69
            },
            "binds": {
              "count": 47
            },
            "binary": {
              "peak_region_bytes": 14336,
              "peak_region_entropy": 4.66
            },
            "source": {
              "class_count": 2,
              "function_count": 21
            },
            "imports": {
              "count": 25,
              "stdlib_count": 4,
              "stdlib_ratio": 0.16,
              "third_party_count": 21,
              "third_party_ratio": 0.84
            },
            "strings": {
              "sql": 6,
              "bytes": 10508,
              "count": 99,
              "shell": 14,
              "very_long": 1,
              "avg_length": 106.14,
              "max_length": 2129,
              "avg_entropy": 3.26,
              "empty_count": 1,
              "entropy_stddev": 1.03,
              "embedded_code_candidates": 7
            },
            "functions": {
              "count": 23,
              "density": 4.28,
              "avg_params": 2.61,
              "code_ratio": 0.85,
              "max_params": 12,
              "length_stddev": 19.3,
              "over_100_lines": 1,
              "avg_name_length": 13.91,
              "no_params_count": 3,
              "avg_length_lines": 19.96,
              "max_length_lines": 107,
              "min_length_lines": 2,
              "many_params_count": 1,
              "high_entropy_names": 3,
              "avg_param_name_length": 6.67
            },
            "identifiers": {
              "count": 593,
              "unique": 106,
              "avg_length": 8.77,
              "max_length": 23,
              "min_length": 3,
              "avg_entropy": 2.61,
              "reuse_ratio": 0.18,
              "length_stddev": 5.21,
              "high_entropy_count": 6,
              "high_entropy_ratio": 0.06,
              "all_lowercase_ratio": 0.79,
              "double_underscore_count": 2,
              "underscore_prefix_count": 7
            }
          }
        },
        "id": 3,
        "mol": "H(Po₂)",
        "path": "pylspci-0.4.3-py3-none-any.whl!!pylspci/command.py",
        "pid": 0,
        "risk": 2,
        "sha": "d3a85ed8ef644de6027330e782f4a92fc99cf5482a117d323a80ddcb0074b126",
        "size": 19621,
        "traits": [
          {
            "id": "micro-behaviors/os/sysinfo/platform/string::os-string-linux",
            "conf": 0.6,
            "crit": 2,
            "desc": "Linux platform string",
            "spans": [
              [
                13602,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/subprocess::check-output",
            "atk": "T1059.006",
            "mbc": "E1059.006",
            "conf": 0.8,
            "crit": 3,
            "desc": "subprocess.check_output call",
            "spans": [
              [
                5056,
                24
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/subprocess::check-output-ast",
            "atk": "T1059.006",
            "mbc": "C0017",
            "conf": 0.85,
            "crit": 3,
            "desc": "subprocess.check_output call",
            "spans": [
              [
                5056,
                23
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/subprocess::import-subprocess",
            "atk": "T1059.006",
            "mbc": "E1059.006",
            "conf": 0.95,
            "crit": 3,
            "desc": "Imports Python's subprocess module",
            "spans": [
              [
                7,
                10
              ]
            ]
          },
          {
            "id": "objectives/execution/condition/platform::has-os-check",
            "conf": 0.6,
            "crit": 1,
            "desc": "Checks for OS platform",
            "uses": [
              0
            ],
            "spans": [
              [
                13602,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/subprocess::process-execution",
            "atk": "T1059.006",
            "conf": 0.8,
            "crit": 3,
            "desc": "Python launches a child process",
            "uses": [
              1,
              2
            ],
            "spans": [
              [
                5056,
                23
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/direct::process-launch-call-text",
            "conf": 0.92,
            "crit": 3,
            "desc": "Child-process launch capability",
            "uses": [
              5
            ],
            "spans": [
              [
                5056,
                23
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "x(d*cA=-BjA+xu1A=U!0x(d*cA=-BBxL.m83tar%z6i}CAa%i5azCXiz/P}xl2H%0aw3V^A:-A[wH[@$x(!wEaxrq[z/b)?w].*bay!?\u0026xK$ZYAb](owPz)razCXiz/P}xv{@\u003eXwN]d!A=k)",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "y*?yaax8#\u003eAbo8ZvrcB2AWT:)A=U/jdlm!UarR^Ja%EvparR^)aAg+fB7Gwmw]zYjy\u0026:M9x=]0Az7VerarR^Ja%Ev3arR^HkX1kjxK$ZYAb](owPz)r3lQDlay]4}ayx7@A=U/jd05%ow*[\u0026Oj%joOxk?p1B7D%\u0026A+xJiwO#P^vrcB2AYKKIarR^",
            "ln": 253,
            "col": 2,
            "line": 12
          },
          {
            "b": "A:q%Red9HxarR^HarR^HarS9QeJ$pJx(!x2l$HKQv}w}b3lQDlarR^Har\u00260N3lQDlarR^Haw=G!B7DF5az(mqBzkM9zE\u003c@iBAh8kxcqbkayMyex(!wsz!pbkx(mN1wI4.jzE\u003c@iBAh8kxlaz5arR^HarR!sA=k!qy\u0026:M9x=]0Az6iLgBz\u0026pjwP?=$wPGEh3lQDlarR^HauBEIA:-/cwmoN*iV{ZhB98CpzF789z!@@#zF78eB.(elAbo8dwmY{#v}xZj3lQDlarR^HarR^Hvixx2B95Kyw/#epA+PA7B1wCLzE\u003c@5z/M$ivpJ%[wmY{#v}vg#arR^HarR^HarR!B",
            "ln": 1330,
            "col": 65,
            "line": 60
          },
          {
            "b": "aA7\u003cmy?W%jB0bykaAITBx(mN8efF\u003eGwGU/6B95Kpz/M$ivpJ%[wmY{#v}vhlCwhej3lQDlarR^HarR^HwNP7Zaz++kBrCmny?dl$xcp+]v}W07vrcDjz!pblxK@q%wP?=$wGU]lBz#wAe^-ZzarR^HarSZ!D2NsqwmoN*iV@G=AV/pvaw3V^A:-A[wM%j$A:o/aAV^}}wPzi*y?l*xBy/G3vR/QWB98Cdt).X%arR^HarSZ=wPN",
            "ln": 1610,
            "col": 21,
            "line": 68
          },
          {
            "b": "zFs3btxs[befEJawPzi*y?l*(BAgU)diHiaavG^:x\u003e7Zn3lQDlarR^Har\u00260N3lQDlarR^Haw=G!B7DF5aAImmxkzc4y?W=#azbUjz6iUoAarP8eP2tEx(n3hayMylx(mN1wGUI{C4\u003eC$efFIrBzbla3lQDlarR^HayPslBzbkdy?W=#aA8oyvriM1az++kBrCHlazbt0y?dPt3jm)#arR^HarSZ:vrb^[ayPq6B2\u003eBqx(mG8z/M$px(!wsz!pb7x\u003eq9\u003eB0bNyaAg+fB7DFaA=k!E3lQDlarR^HauBQ\u0026AaHe2A+xCOaAITBaA8oynPXJ:vpB4:txs[bt).X%arR^H",
            "ln": 2028,
            "col": 33,
            "line": 78
          },
          {
            "b": "arR^HarR^Ja%EvparR^HarR!vw/$/ex(n0lvqYN^c$ddeB1wCPBAe/\u003e3lQDlarR^HarR^HayPq6B09Q*B7/x3CRj5Ry?W#tvrc14dgdguarR^HarUYoBAIRwavG^:x\u003e7Z5dK]QIA=STIwO+%huVoB]B7GwAAa9^dwNw\u003e^xlbFfA+xCxdjCPharR^HwmYu}A=(mFB7Gf1efDz(yJ\u003cicxlc9Rl2H@%at2=1oLFM\u0026tsr4Cx\u003e7ZWiTM#LarR^HarUv",
            "ln": 2359,
            "col": 2,
            "line": 87
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "argparse.ArgumentParser"
            ],
            [
              "",
              "p.add_argument"
            ],
            [
              "",
              "p.add_argument"
            ],
            [
              "",
              "p.add_argument"
            ],
            [
              "",
              "p.add_argument"
            ],
            [
              "",
              "p.add_argument"
            ],
            [
              "",
              "p.add_argument"
            ],
            [
              "",
              "p.add_argument"
            ],
            [
              "",
              "p.add_argument"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "data.splitlines"
            ],
            [
              "",
              "list"
            ],
            [
              "",
              "map"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "shlex.split"
            ],
            [
              "",
              "Device"
            ],
            [
              "",
              "vars"
            ],
            [
              "",
              "self._parser.parse_args"
            ],
            [
              "",
              "kwargs.get"
            ],
            [
              "",
              "ValueError"
            ],
            [
              "",
              "super().run"
            ],
            [
              "",
              "super"
            ],
            [
              "",
              "Any"
            ],
            [
              "",
              "Device"
            ],
            [
              "",
              "Iterable"
            ],
            [
              "",
              "List"
            ],
            [
              "",
              "NameWithID"
            ],
            [
              "",
              "Parser"
            ],
            [
              "",
              "Slot"
            ],
            [
              "",
              "Union"
            ],
            [
              "",
              "argparse"
            ],
            [
              "",
              "cached_property"
            ],
            [
              "",
              "hexstring"
            ],
            [
              "",
              "pylspci.device"
            ],
            [
              "",
              "pylspci.fields"
            ],
            [
              "",
              "pylspci.parsers.base"
            ],
            [
              "",
              "shlex"
            ],
            [
              "",
              "typing"
            ]
          ],
          "mbr": [
            "argparse.ArgumentParser",
            "data.splitlines",
            "kwargs.get",
            "p.add_argument",
            "self._parser",
            "self._parser.parse_args",
            "self.parse_line",
            "shlex.split",
            "super().run"
          ],
          "tgt": [
            "Device",
            "ValueError",
            "argparse.ArgumentParser",
            "data.splitlines",
            "isinstance",
            "kwargs.get",
            "list",
            "map",
            "p.add_argument",
            "self._parser.parse_args",
            "shlex.split",
            "super",
            "super().run",
            "vars"
          ],
          "funcs": [
            [
              "_parser",
              350
            ],
            [
              "parse",
              1237
            ],
            [
              "parse_line",
              2000
            ],
            [
              "run",
              2507
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 16,
              "call_count": 22,
              "node_count": 565,
              "member_count": 9,
              "member_depth_max": 3
            },
            "file": {
              "size": 2812,
              "entropy": 4.2
            },
            "text": {
              "lines": 98,
              "top_char": 101,
              "max_ws_run": 1,
              "space_count": 911,
              "char_entropy": 4.2,
              "unique_chars": 52,
              "top_char_null": 0,
              "string_density": 0.18,
              "top_char_ratio": 0.07,
              "avg_line_length": 27.69,
              "max_line_length": 72,
              "empty_line_ratio": 0.1,
              "last_line_length": 36,
              "whitespace_ratio": 0.36,
              "identifier_density": 1.27,
              "line_length_stddev": 19.26,
              "normalized_string_count": 1.82,
              "repeated_char_sequences": 32,
              "suspicious_string_ratio": 0.11,
              "suspicious_identifier_ratio": 0.02,
              "normalized_unique_identifiers": 6.65
            },
            "binds": {
              "count": 3
            },
            "binary": {
              "peak_region_bytes": 2812,
              "peak_region_entropy": 4.2
            },
            "source": {
              "class_count": 1,
              "function_count": 4
            },
            "imports": {
              "count": 16,
              "stdlib_count": 3,
              "stdlib_ratio": 0.19,
              "third_party_count": 13,
              "third_party_ratio": 0.81
            },
            "strings": {
              "sql": 2,
              "bytes": 1013,
              "count": 18,
              "avg_length": 56.28,
              "max_length": 498,
              "avg_entropy": 2.48,
              "entropy_stddev": 1.29
            },
            "functions": {
              "count": 5,
              "density": 4.08,
              "avg_params": 1.75,
              "code_ratio": 0.8,
              "max_params": 2,
              "length_stddev": 12.03,
              "avg_name_length": 6.25,
              "avg_length_lines": 19.5,
              "max_length_lines": 39,
              "min_length_lines": 7,
              "avg_param_name_length": 5.29
            },
            "identifiers": {
              "count": 124,
              "unique": 44,
              "avg_length": 6.39,
              "max_length": 15,
              "min_length": 1,
              "avg_entropy": 2.31,
              "reuse_ratio": 0.35,
              "length_stddev": 3.17,
              "sequential_names": 1,
              "single_char_count": 1,
              "single_char_ratio": 0.02,
              "all_lowercase_ratio": 0.75,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 9,
        "mol": "H(Db)",
        "path": "pylspci-0.4.3-py3-none-any.whl!!pylspci/parsers/simple.py",
        "pid": 0,
        "risk": 1,
        "sha": "f94ea34886eae0e670fad0fa8ff0c56bd12c54465371652b15f795d7377e4c03",
        "size": 2812,
        "traits": [
          {
            "id": "micro-behaviors/data/parse/command::python-shlex-command-split",
            "conf": 0.9,
            "crit": 3,
            "desc": "Python parses shell-like command words",
            "spans": [
              [
                2423,
                11
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "tvRO?B8L(auVPZ$x(Ffnt)+K@y\u0026:M9x=]LYAcVnvAarPmuTEUUx(mo+i=eqtzvc",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 50,
              "entropy": 4.12
            },
            "binary": {
              "peak_region_bytes": 50,
              "peak_region_entropy": 4.12
            }
          }
        },
        "id": 13,
        "mol": "Md(Pa)",
        "path": "pylspci-0.4.3-py3-none-any.whl!!pylspci-0.4.3.dist-info/entry_points.txt",
        "pid": 0,
        "risk": 1,
        "sha": "833746af63efbc1fdc3303184cedb49d073910920bbbbb419669c4db4ebba714",
        "size": 50,
        "traits": [
          {
            "id": "metadata/package/scripts/entrypoint::console-scripts-entry",
            "conf": 0.88,
            "crit": 1,
            "desc": "Declares Python console-script entry points",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/scripts/entrypoint::entry-points-file",
            "conf": 0.95,
            "crit": 1,
            "desc": "Python package contains an entry_points.txt file",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/scripts/entrypoint::wheel-console-entrypoint",
            "conf": 0.9,
            "crit": 3,
            "desc": "Package declares a console-script entry point",
            "uses": [
              0,
              1
            ],
            "spans": [
              [
                0,
                16
              ]
            ]
          }
        ],
        "type": "text"
      },
      {
        "ctx": [
          {
            "b": "DM)3hz/ZhBBy/qkiWeJ*Aa{HEb5Q?awG\u003ceVAcVnvAarPaefYmGA=U@kzx.a=fFkgmgA[v]AckSax(^%0wm5+!b04Cph90MLh-9GLefXInwNw$RD2\u003ee\u003cf/g)JefX)",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 843,
              "entropy": 4.78
            },
            "binary": {
              "peak_region_bytes": 843,
              "peak_region_entropy": 4.78
            },
            "registry": {
              "age_days": 1499,
              "published_at": 1659657486,
              "releases_24h": 0,
              "releases_48h": 0,
              "is_deprecated": 0,
              "release_count": 12,
              "package_age_days": 2624,
              "first_published_at": 1562423089,
              "vulnerability_count": 0,
              "previous_published_at": 1644357545,
              "days_since_previous_release": 177
            }
          }
        },
        "id": 15,
        "path": "pylspci@0.4.3.registry.json",
        "pid": 0,
        "rel": "registry",
        "role": "sidecar",
        "sha": "d0e0c06f6e85978d2b283825b6d16b5c88c4764a2dc04abe40a60df2b7a43979",
        "size": 843,
        "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": "c7f7e",
    "v": "8"
  }
}