{
  "ml": {
    "v": "7",
    "eng": "2.8.0",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.000021894773,
        "rte": "az",
        "prob": 0.000021894773
      },
      {
        "cls": 0,
        "raw": 0.003209899,
        "rte": "az/npm",
        "prob": 0.003209899
      }
    ],
    "prob": 0.000021894773,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00002189477345382329,
        "type": "npm"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013699133887712378,
        "type": "package.json"
      },
      {
        "id": 6,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013341506019060034,
        "type": "javascript"
      },
      {
        "id": 8,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000014801819816057105,
        "type": "javascript"
      },
      {
        "id": 9,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013689200386579614,
        "type": "registry"
      },
      {
        "id": 10,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013689200386579614,
        "type": "registry"
      },
      {
        "id": 11,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013689200386579614,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-07T02:22:47Z"
  },
  "path": "trace-deps-0.2.4.tgz",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "abZy80000002a-Z)q*@JLky.Af\u003e0@^Su\u003c\u0026duV@v@Yr\u003c#D+T[K3L9nS86CyR7bRfIxvNe4umq)hC)/\u0026dr)H=Rl\u003ek$*HK$xgzYJmCgemH!?DB!EmDWp11XzB5z\u003e8z!dB(50n}Py9F=1q3zBcAZQ",
            "ln": 0
          }
        ],
        "mol": "H₂(CmF)",
        "sha": "6f64c1ab3161f8d6e926ca38ec79b3bc6ec7605b33fbe79637be5145bff8c7b4",
        "path": "trace-deps-0.2.4.tgz",
        "refs": [
          {
            "to": "pkg:github/formidablelabs/trace-deps",
            "off": 0,
            "kind": "repository"
          }
        ],
        "risk": 2,
        "size": 6860,
        "type": "npm",
        "facts": {
          "metrics": {
            "file": {
              "size": 6860,
              "entropy": 7.97
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 6860,
              "peak_region_entropy": 7.82
            },
            "consistency": {
              "self_dependency": 0,
              "name_repo_mismatch": 0,
              "unused_runtime_deps": 0
            }
          }
        },
        "ident": {
          "name": {
            "value": "trace-deps",
            "source": "npm.name",
            "verified": false
          },
          "urls": [
            {
              "url": "https://github.com/FormidableLabs/trace-deps",
              "kind": "repository",
              "source": "npm.repository.url"
            }
          ],
          "trust": "unsigned",
          "emails": [
            "ryan.roemer@formidable.com"
          ],
          "authors": [
            {
              "name": "Ryan Roemer",
              "role": "author",
              "email": "ryan.roemer@formidable.com",
              "source": "npm.author"
            }
          ],
          "version": {
            "value": "0.2.4",
            "source": "npm.version",
            "verified": false
          },
          "identifier": {
            "value": "trace-deps",
            "source": "npm.name",
            "verified": false
          }
        },
        "traits": [
          {
            "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": 6
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/file/read::read-node",
            "conf": 0.9,
            "crit": 3,
            "desc": "Reads files with Node.js",
            "from": [
              {
                "file": 8
              }
            ]
          },
          {
            "id": "metadata/package/manifest/repository::has-repository-field",
            "conf": 0.9,
            "crit": 2,
            "desc": "package.json declares repository metadata"
          },
          {
            "id": "micro-behaviors/communications/url/reference::javascript-comment-url-reference",
            "conf": 0.9,
            "crit": 1,
            "desc": "JavaScript comment contains a URL",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/file/read::file-read-api-call",
            "conf": 0.9,
            "crit": 3,
            "desc": "Calls JavaScript readFile API",
            "from": [
              {
                "file": 8
              }
            ]
          }
        ]
      },
      {
        "ctx": [
          {
            "b": "DKp(rb5Q?awG\u003ceTb6m\u003clv}vl5wPhYmed9Hxb6EKrB7]Mgb03?\u003cfFkakg:jETarR\u003eswPIv4x(Ffdz/c:War\u003c8]wmYZ\u003ezE^r@v%GhsA:-D(zF78lz/oCAa$K6zar\u003eVhx(kaQar\u003eJqwmZ0ryi7NI3lQDnA+fidB7]-mA^n\u0026\u0026ar\u003eGvBz#pZfe3%LBzb/ae[n*pfgG(2ze0J?vR/QHvpBphBAg/1wI4C7Ac0iO3lQDnvrDW9z/N3.ar\u003cZevqWh=z!i=%AV^F+D0$OyA=kJawPy4Fz/PYewmn}-wIdFhz9xc{3lQDny?Wx\u003czGxwkiV]RvnMl(+3lQDnyH}^nz/Pxfb03\u0026J3lQDlar\u003eucAaJ]$wO#0(wPG4D3lQDlar\u003e\u0026qADL#owG\u0026VjarR^Hb64mmB.L(ce]\u003eJAz!%Pda$K6zarR^Jx(d*cA=-GjarT@v3lQDnB7ol8AccdBiV@+RarR^Hb5?NlC4CYnx(v(kiV]R(vrcldA=(mxv}YB-yA+qparR^Hb5y$hBrS:*b4U?ix(n2ne*q?NarR^Hb6myqBrS:*b5ImdxKJ8o3lQDlar\u003e]sB960zz*0r=ar\u003eYGv\u003c2Sbv}Yo{ed9HxarR\u003erxK$W?b03?\u003cD0$-haz++fBrz[SaBdyozxK4jB95PS3lQDlar\u003erewN/Hcv}^bFao",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "z!9A?z*0riarV7-3lQDnwO#c{zE)(kiV@+RarR^Hb5RsfwG\u003ceTb0FdHe?![ia{]CnEjLZFar\u003eucAaJ]$wO#0(wPG4RaBsCrarR^JvpKj@zy]:AwmV@Car\u003ebEe?![ia$K6zarR^JA+frgy\u003c6wliV]RMf!Lgre?[KSarV7-3lQDnwmY{LwPhi#wmYT*x\u003equfiV@+RarR^Hb4s$\u0026wO-@fB8kMdBrS:*b3(#Te?[$ja$K6zarR^Jv}Yp+b03?\u003cunKn\u0026e?!F23lQDlar\u003erevqdr4B1IuKz/6ifwN(#Car\u003ebJe?[$ka$K6zarR^Jv@C)?v@DJmiV]RMgCgNrh6KNUarR^Hb4U?ix(n2piV]RMhzc%wfD@4ParR^Hb4U?ix(n2Av@Dl%x\u003eG2fz/PYewmn}-wG\u003ceTb3)8UfFk46ed9HxarR\u003etB8kMdBs?DFB.tAaeOnZkwO${[wPG4Rar\u003ebDe\u0026bana$K6zarR^JwPIW4zGEEHy\u0026%x8zy]NtAbP=sb03?\u003cunsb*fFk77ed9HxarR\u003c",
            "ln": 576,
            "col": 18,
            "line": 22
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "^2.0.0",
              "acorn-node"
            ],
            [
              "^1.15.1",
              "resolve"
            ],
            [
              "^3.6.5",
              "codecov"
            ],
            [
              "^7.1.1",
              "mocha"
            ],
            [
              "^4.11.0",
              "mock-fs"
            ],
            [
              "^10.1.0",
              "babel-eslint"
            ],
            [
              "^4.2.1",
              "eslint-plugin-promise"
            ],
            [
              "^1.3.2",
              "eslint-plugin-filenames"
            ],
            [
              "^4.2.0",
              "chai"
            ],
            [
              "^4.0.0",
              "eslint-config-formidable"
            ],
            [
              "^15.0.0",
              "nyc"
            ],
            [
              "^2.20.1",
              "eslint-plugin-import"
            ],
            [
              "^6.8.0",
              "eslint"
            ],
            [
              "^7.1.1",
              "chai-as-promised"
            ]
          ],
          "metrics": {
            "file": {
              "size": 1105,
              "entropy": 4.68
            },
            "binary": {
              "peak_region_bytes": 1024,
              "peak_region_entropy": 4.68
            },
            "references": {
              "declared_count": 2,
              "unresolved_count": 0,
              "security_hold_count": 0,
              "unresolved_extension_count": 0
            },
            "consistency": {
              "name_repo_mismatch": 0
            }
          }
        },
        "id": 1,
        "mol": "Md(Pa₂)",
        "path": "trace-deps-0.2.4.tgz!!package/package.json",
        "pid": 0,
        "refs": [
          {
            "to": "pkg:github/formidablelabs/trace-deps",
            "off": 134,
            "kind": "repository"
          },
          {
            "to": "pkg:npm/acorn-node",
            "off": 656,
            "kind": "dependency"
          },
          {
            "to": "pkg:npm/resolve",
            "off": 321,
            "kind": "dependency"
          },
          {
            "to": "index.js",
            "off": 106,
            "file": 3,
            "kind": "local"
          }
        ],
        "risk": 1,
        "sha": "75068304bb75857cdd8766dd811a23f7a05f22b8351b12a09c3ed8b0d3f2ebc4",
        "size": 1105,
        "traits": [
          {
            "id": "metadata/package/manifest/repository::has-repository-field",
            "conf": 0.9,
            "crit": 2,
            "desc": "package.json declares repository metadata",
            "spans": [
              [
                119,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/manifest/freeform::pkg-skeleton-small",
            "conf": 0.7,
            "crit": 3,
            "desc": "Tiny package.json manifest",
            "spans": [
              [
                0,
                42
              ]
            ]
          },
          {
            "id": "metadata/package/manifest/name::npm-no-name-field",
            "conf": 0.9,
            "crit": 3,
            "desc": "package.json omits name field"
          }
        ],
        "type": "package.json"
      },
      {
        "ctx": [
          {
            "b": "b6v%raAITBx\u003e8lei%(rFdK\u003e=FdJ?f8BAg/1BrCa9AaJ]$wO#0(wPF#aA=k!qv@C)?e^-ZJfa54@z/fSraA}mgyAL+.A+flkx(W=kb4j#1A=9EDz!9AjCvtr6a$kOX3nj4Pmr\u0026]{vpKy4vqG:5wmYZ\u003ezE^r@v%GhrBAh8kxlbhcA=k!qA+flk",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "lT:!Emr\u0026=(wPI{bz/c$vz!9AdaBsCrarR^Hatkw\u003cp\u0026yq}y*?A%ay!?@y?mf2Cwhejaz2zeBA]0twObv[y\u0026\u003c.J3lQDlarR!pz/fSray!?@y?mf2jS]7UarR^HarR^Hz^)D)v@%:ODWNBLarR^HarR^HAb](owPz)riV@=$ed9HxarR^HarSo?e]CPr",
            "ln": 301,
            "col": 5,
            "line": 16
          },
          {
            "b": "zFTOvxjVfcw[=pbBrC1jxlw65zGE1nw/#2fy\u003cvdwzE\u003c@jzY\u0026ReB9hImaA}xtxKM6}ayMylx(mN1wGV5oA+PA73lQDlarR^WfcC7BBy/G3y-)tdAV!+gwPq\u003cbA+cTFu)5(}wftn]ze:AlBsnOCe^-ZzarR^Hv@DmaBrC1jxlbgUaz#adwIdzixlw65zGG}xE0^5vt@@xoarR^Hay/tcB95Kpx(Xopl2{PXjS[fNxlbXwwO#d5xDPD3jS(E4koKxPxldoht{8fJDWN%.3lQDlarR^WfcB2dwmW!Au#/*#B.L(cu\u003cX20arR^Hfe0UParR^Hao",
            "ln": 478,
            "col": 11,
            "line": 24
          },
          {
            "b": "arR^Hatkw\u003carU\u0026oy\u0026%qIazbLg3lQDlarR^WfczwWA::eMaswvBz/l*E3lQDlarR^WfcBUgu\u003cX20arR^Hx\u003ewFo3lQDlarR^Hay!?@y?mfgBA}?pau.\u003eJar\u003cx/wO#Q7w[+*%a%niVay!?@y?mfgzEEx[au.\u003eJar\u003e\u0026qADL#owG?E7arR^HarR^NclM]mA=Vs*A+v1DD2NsqjV$}Jb1#Y)wPzi}a{]CnarR^HdiJ%AarR^HarR^HwmY.3e[5p3c$WglB96Y*xd!voy\u0026%qri%)8MarR^HEf{r7arR^Hatkw\u003cph:VOiV}*JwPq\u003cbA+c\u003ezwPI^aC4C4*arR^HarSr\u003c3lQDlarR^WfcBUgu$%-\u0026arR^HarSr\u003caAz4kB.L(ce]\u003eJAz!%Pdc)Am",
            "ln": 953,
            "col": 2,
            "line": 42
          },
          {
            "b": "3lQDlaBL^F3lQDlatkw\u003cmn(]wayF]2AbP=sc[eKharR^Hfe1CYBAzFyiXJd7z!9A]B1RxKxd)Xjx!K4sz7YHzzepCdB8tn#ze:AlByeQ7Ab]JhB7]MgA%:3jarSr\u003c3lQDlatkw\u003cu%)v",
            "ln": 2345,
            "col": 8,
            "line": 99
          },
          {
            "b": "wPI^aC4z16arR^WfcBj\u0026l@bi!dlnOyze:r5zdNQbayF]2AbP=se]tfwvj(OiB8L(rwHG0n3lQDlatkw\u003cxMOunB2\u003e%cxk8E3BZ=$kz/4c%z/PYewmn}-wLuJwB1.SQvpJ\u003e2wmY.3fkkGGB.bREgytlEEjmk+3lQEiwPS6nzxJF3Ac18FEld=yzeS%cy?kkgCYmOwBAnM/aBsCrazkncl$HsU3vK#y",
            "ln": 4802,
            "col": 56,
            "line": 214
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "walk"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "getDeps"
            ],
            [
              "",
              "deps"
            ],
            [
              "",
              "walk.simple"
            ],
            [
              "",
              "callee"
            ],
            [
              "",
              "args"
            ],
            [
              "",
              "firstArg"
            ],
            [
              "",
              "deps.add"
            ],
            [
              "",
              "deps.add"
            ],
            [
              "",
              "source"
            ],
            [
              "",
              "deps.add"
            ],
            [
              "",
              "source"
            ],
            [
              "",
              "deps.add"
            ],
            [
              "",
              "source"
            ],
            [
              "",
              "deps.add"
            ],
            [
              "",
              "source"
            ],
            [
              "",
              "deps.add"
            ],
            [
              "",
              "module.exports"
            ],
            [
              "",
              "acorn-node/walk"
            ]
          ],
          "mbr": [
            "args.length",
            "callee.name",
            "callee.object",
            "callee.object.name",
            "callee.object.type",
            "callee.property",
            "callee.property.name",
            "callee.property.type",
            "callee.type",
            "deps.add",
            "firstArg.type",
            "firstArg.value",
            "module.exports",
            "node.arguments",
            "node.callee",
            "source.type",
            "source.value",
            "walk.simple"
          ],
          "tgt": [
            "Set",
            "deps.add",
            "require",
            "walk.simple"
          ],
          "funcs": [
            [
              "anonymous",
              183
            ],
            [
              "CallExpression",
              301
            ],
            [
              "ImportDeclaration",
              2201
            ],
            [
              "ImportExpression",
              2638
            ],
            [
              "ExportNamedDeclaration",
              4155
            ],
            [
              "ExportAllDeclaration",
              4556
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 14,
              "op.lor": 5,
              "op.land": 7,
              "max_depth": 21,
              "call_count": 9,
              "node_count": 713,
              "member_count": 18,
              "op_density.eq": 0.02,
              "op_density.lor": 0.01,
              "op_density.land": 0.01,
              "member_depth_max": 3
            },
            "file": {
              "size": 4978,
              "entropy": 4.36
            },
            "text": {
              "lines": 224,
              "top_char": 101,
              "max_ws_run": 7,
              "digit_ratio": 0,
              "space_count": 1513,
              "char_entropy": 4.36,
              "unique_chars": 68,
              "top_char_null": 0,
              "string_density": 0.07,
              "top_char_ratio": 0.07,
              "avg_line_length": 21.22,
              "max_line_length": 86,
              "empty_line_ratio": 0.06,
              "last_line_length": 2,
              "whitespace_ratio": 0.35,
              "identifier_density": 0.42,
              "line_length_stddev": 15.32,
              "encoded_string_ratio": 0.07,
              "normalized_string_count": 1,
              "suspicious_comment_ratio": 0.04,
              "normalized_unique_identifiers": 3.46
            },
            "binds": {
              "count": 11
            },
            "binary": {
              "peak_region_bytes": 3954,
              "peak_region_entropy": 4.55
            },
            "source": {
              "function_count": 5
            },
            "imports": {
              "count": 1,
              "third_party_count": 1,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 134,
              "count": 15,
              "avg_length": 8.93,
              "max_length": 16,
              "avg_entropy": 2.83,
              "entropy_stddev": 0.34,
              "base64_candidates": 1
            },
            "comments": {
              "chars": 2313,
              "count": 152,
              "empty": 18,
              "lines": 136,
              "base64": 6,
              "todo_count": 1,
              "to_code_ratio": 1.55,
              "url_in_comments": 3
            },
            "functions": {
              "count": 5,
              "nested": 1,
              "density": 2.68,
              "anonymous": 1,
              "avg_params": 1,
              "code_ratio": 1.34,
              "max_params": 1,
              "length_stddev": 75.16,
              "over_100_lines": 1,
              "avg_name_length": 17.8,
              "avg_length_lines": 50,
              "max_length_lines": 211,
              "min_length_lines": 6,
              "avg_nesting_depth": 0.83,
              "max_nesting_depth": 1,
              "high_entropy_names": 4,
              "avg_param_name_length": 11.17
            },
            "identifiers": {
              "count": 93,
              "unique": 27,
              "avg_length": 7.74,
              "max_length": 22,
              "min_length": 3,
              "avg_entropy": 2.5,
              "reuse_ratio": 0.29,
              "length_stddev": 5.19,
              "high_entropy_count": 4,
              "high_entropy_ratio": 0.15,
              "all_lowercase_ratio": 0.7
            }
          }
        },
        "id": 6,
        "mol": "H(Cm)",
        "path": "trace-deps-0.2.4.tgz!!package/lib/extract.js",
        "pid": 0,
        "risk": 1,
        "sha": "d914872e14fad4a22a8f609f0abb2c4e70774d89a1a4a5d84cd7fb7f061e29fa",
        "size": 4978,
        "traits": [
          {
            "id": "micro-behaviors/communications/http/url/forge::public-code-forge-url",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a public code-forge URL",
            "spans": [
              [
                4866,
                19
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/url/reference::javascript-comment-url-reference",
            "conf": 0.9,
            "crit": 1,
            "desc": "JavaScript comment contains a URL",
            "spans": [
              [
                2377,
                0
              ]
            ]
          }
        ],
        "type": "javascript"
      },
      {
        "ctx": [
          {
            "b": "b6v%raAITBx\u003e8lei%(s8z/fSrazbWqjS[=RADL#owHF:mB0r4{3s!0(B95Kzvruf9jS[=RADL#owHF:wvrufbdlv(Dz/fSraBtkIA=k/eB7]liaBLv}aAz4kB.L(cc)A!Qx(1$xi%(s8z/fSraBtkIvrcB2aBLv}ao",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "z/P.EzF%5%a$kOXv@DmaBrC]MxjVfMwPhYkEipV}A+flkx(W=ka$+JWCYW$mv@@[zi%]FozGx[xDMV%jBwca:BwMyQyHH\u003c!aBLv}aAz4kB.L(cc)yn%Aa9l(vp%c}dlv\u003e",
            "ln": 140,
            "col": 30,
            "line": 7
          },
          {
            "b": "Bsp\u003cBwO(Gqdk2WWA=-YUi%(rFfcA!OoI!eQiV}siv%8*kx)a67C{4iHvpK6}vqYP#BAg/1wGUI{AaJ]$wO#16aAg+hxMC^kfe1C1ayGnhv]cPQxMEMxaw3e/Ab](ux\u003eg^=efDz(wn=ukBsF:.vpS)\u003eBz\u0026pxwPI^aC4ChLwPgEOBzb.5fe1C1ayFZ",
            "ln": 384,
            "col": 42,
            "line": 14
          },
          {
            "b": "x(mMmaARTjv}xgswPgEOBzb.rEjlp4j%kgVarSr\u003cax9w\u003cA=-ANdSoivC}7o^Cwhejay]55p*[DVB1N!xaz+RhaAz4mz!%Pdwjg0Fp*[DVB09Q*l2}0OC}JYHz/3[kwPgEOBzb.Ai%(rqatkw\u003cnOf8^A:}{OBzb.rx(+zoA=lbnwmYp5az#awasX\u003cY",
            "ln": 658,
            "col": 74,
            "line": 19
          },
          {
            "b": "vrug7i%(rqatkw\u003cr8k[Tc]JInavy6+B7]e@AV/sfA:-^2wO=7bx(mMaw[=6)aARTjC4CYnvqDn[atkw\u003cxMOunB2\u003e%cxk8E3BZ=$kz/4c%z/PYewmn}-wLuJwB1.SQvpJ\u003e2wmY.3fkkGGB.bREhvpMHw]zYjc$vgkB95KnwPgEOBz8!nw/$R}A8o$+xMCQBDKp(rarUxgasFyPA:-D?wjg0Fp*[DVB1RcmB0$NgA8o$+xEL5JclKY\u0026tRmBtB9}?tB15v/dk2ZNB95*vwPgEOBn",
            "ln": 921,
            "col": 30,
            "line": 25
          },
          {
            "b": "cV*FKwN/\u003e6B7DF5wmPy@x(v($y-)?lzdN=hz/f5@aA}xtxLzMhvixe@y?kjwra]#!3lQ/vx(+ztB7F(8x(n37A=br4y\u003cvdEx([35zxJvgv03A$v}wbzy?l#%v{%g\u0026ayPd#azbLjayPekaA.:paA7\u003cmv03A$v}wbzy?mV}e^-ZJaxi2*B0b1iwPF#h",
            "ln": 1762,
            "col": 28,
            "line": 52
          },
          {
            "b": "azCBgD2E*Fvrb{4A+fi3vru6\u003ey\u003cvdkvqG:]zF781BAg/1wKZxIwNDT8x([2hBzbkdB75]%az2CjA^n0mdJ\u0026XGx(n2nw[=6)aBd)FaAIjmB.\u003eOhzdds8vqG+9ay/C6vru66vqYP#Aa9*eayMylxKL{)wfto4A:-D?wjg0Fp*[DVB6{biwPOn4dJ\u0026*",
            "ln": 1913,
            "col": 18,
            "line": 54
          },
          {
            "b": "C{4fDB-H#6azbt7wGU@2Bz8\u003cEi%)8MEf{r7atkw\u003cm}D=+B8Mhwv}vn1arUfjzGx[xB8\u003e+kjS[fSvqf*aA+eV\u0026mRMWId06Asp*[DVdk2asByO#jc$NBtdiH=qaBsCrarR^WfcAY3xKL^*wGV28vpQG(A=M8se^-ZzarU=tA=ldAwPz/zv@C)?au.\u003eJar\u003clHpEO2Ta%o8)zE[2mmriA!AWUr.z/](baz#atazbt9wft@iB-H#6azbt7wJy}VDVKjqp*[DVEpaGDiV@0OAYTQJao",
            "ln": 2735,
            "col": 26,
            "line": 72
          },
          {
            "b": "c$$aMjW700wPgyMzdK?MjV%{4aBFLVwmYZPvqPNdB97\u0026hBApI$Bz97gbZTlNfjljTdlv\u003eVazCBgc)rbjA86?UwPGFuwO#d5xEL6J3lQDlatkw\u003clsB}Day!\u00263wJy@KzY\u0026F0wncd1z/f01ay]55wO#3\u0026zEWx(B1N!xarR!EwPS6nzxJd?i@",
            "ln": 3123,
            "col": 40,
            "line": 84
          },
          {
            "b": "p*[DVdlv\u003eVatkw\u003cq/(C*BrC^wBz8!sxK@rbwPI^aC4z!nvruf9vqYP#vqZukAa9l(vp%d7yiarhaA.:pwft#jazkncaARpdA+c\u003cgarUfjzGx[xwmYZQvRP%bjS[fSvqf*ap\u0026ZF\u003ex(^?)arR^He[5Njc$D[dpgn0JB1RrrA42doD2vamc$D[dpgn0JdiH=qaBsCrarR^Hatkw\u003clT:}QB-I4ovqG:5Aa9l(vp%d7yiarhazbt7wPF#9zEWQczGGDgwN(]$zxJ/",
            "ln": 3451,
            "col": 35,
            "line": 93
          },
          {
            "b": "ayX=2wN]H}ed9HxarR^HarUluBy/uhx(v)giV}SJe]2CKefDb?yiarhb3=-barR^HarR^HAa9l(vp%dvx(4)5AYLr\u003eAbf8qaAhaew[=6)diH=qaBsCrarR^HarR^",
            "ln": 3949,
            "col": 8,
            "line": 104
          },
          {
            "b": "Bz8!BefFTQau.[hwmYZRvruf9aW4$hwmYZPvqPN%twmv(3lQDlasPwV3lQDAfcAYdBAg/1BrCWzay]g#w[u0]zGE1yD2NtoaA7\u003cmAa9\u003c4B1N!xay/tcB95KnwPgD",
            "ln": 5013,
            "col": 23,
            "line": 134
          },
          {
            "b": "vqYP#A+funA=9GparUYoBAIRwaA.NoAvt\u003csB8L(rwN[huA8o$+xMCQ:3vK#y3t\u003cY(B.\u003eRwwQ5fjA==vBjS]7UarU=DvpJ\u003erx(4ui3lQEkA:-D?mRMWIA%^sS3i",
            "ln": 6474,
            "col": 18,
            "line": 173
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "fs"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "path"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "resolve"
            ],
            [
              "",
              "promisify"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "readFile"
            ],
            [
              "",
              "promisify"
            ],
            [
              "",
              "uniq"
            ],
            [
              "",
              "Array.from.sort"
            ],
            [
              "",
              "Array.from"
            ],
            [
              "",
              "recurseDeps"
            ],
            [
              "",
              "resolvedDepPaths"
            ],
            [
              "",
              "Array.from"
            ],
            [
              "",
              "depPaths"
            ],
            [
              "",
              "tracedDepPaths.has"
            ],
            [
              "",
              "tracedDepPaths.add"
            ],
            [
              "",
              "recursedDepPaths"
            ],
            [
              "",
              "traceFile"
            ],
            [
              "",
              "resolvedDepPaths"
            ],
            [
              "",
              "resolvedDepPaths.concat"
            ],
            [
              "",
              "traceFile"
            ],
            [
              "",
              "src"
            ],
            [
              "",
              "readFile.catch"
            ],
            [
              "",
              "readFile"
            ],
            [
              "",
              "depNames"
            ],
            [
              "",
              "uniq.filter"
            ],
            [
              "",
              "uniq"
            ],
            [
              "",
              "getDeps"
            ],
            [
              "",
              "parse"
            ],
            [
              "",
              "ignores.some"
            ],
            [
              "",
              "depName.startsWith"
            ],
            [
              "",
              "basedir"
            ],
            [
              "",
              "path.dirname"
            ],
            [
              "",
              "depObjs"
            ],
            [
              "",
              "Promise.all.then"
            ],
            [
              "",
              "Promise.all"
            ],
            [
              "",
              "depNames.map"
            ],
            [
              "",
              "pkgPaths"
            ],
            [
              "",
              "resolve.then.catch"
            ],
            [
              "",
              "resolve.then"
            ],
            [
              "",
              "resolve"
            ],
            [
              "",
              "pkgPaths.push"
            ],
            [
              "",
              "srcPkg"
            ],
            [
              "",
              "getLastPackage"
            ],
            [
              "",
              "isAllowed"
            ],
            [
              "",
              "depName.startsWith"
            ],
            [
              "",
              "allPaths.filter.filter"
            ],
            [
              "",
              "allPaths.filter"
            ],
            [
              "",
              "depPaths"
            ],
            [
              "",
              "depObjs.map"
            ],
            [
              "",
              "allPkgPaths"
            ],
            [
              "",
              "depObjs.reduce"
            ],
            [
              "",
              "memo.concat"
            ],
            [
              "",
              "tracedDepPaths.add"
            ],
            [
              "",
              "resolvedDepPaths"
            ],
            [
              "",
              "recurseDeps"
            ],
            [
              "",
              "uniq"
            ],
            [
              "",
              "traceFiles"
            ],
            [
              "",
              "resolvedDepPaths"
            ],
            [
              "",
              "recurseDeps"
            ],
            [
              "",
              "uniq"
            ],
            [
              "",
              "module.exports"
            ],
            [
              "",
              "./extract"
            ],
            [
              "",
              "./package"
            ],
            [
              "",
              "acorn-node"
            ],
            [
              "",
              "fs"
            ],
            [
              "",
              "path"
            ],
            [
              "",
              "resolve"
            ],
            [
              "",
              "util"
            ]
          ],
          "mbr": [
            "Array.from",
            "Array.from().sort",
            "Promise.all",
            "Promise.all().then",
            "allPaths.filter",
            "allPaths.filter().filter",
            "depName.startsWith",
            "depNames.length",
            "depNames.map",
            "depObjs.map",
            "depObjs.reduce",
            "err.code",
            "fs.readFile",
            "ignores.some",
            "memo.concat",
            "module.exports",
            "path.dirname",
            "pkgPaths.push",
            "readFile().catch",
            "resolve().then",
            "resolve().then().catch",
            "resolvedDepPaths.concat",
            "tracedDepPaths.add",
            "tracedDepPaths.has",
            "uniq().filter"
          ],
          "tgt": [
            "Array.from",
            "Array.from().sort",
            "Error",
            "Promise.all",
            "Promise.all().then",
            "Set",
            "_recurseDeps",
            "allPaths.filter",
            "allPaths.filter().filter",
            "depName.startsWith",
            "depNames.map",
            "depObjs.map",
            "depObjs.reduce",
            "getDeps",
            "getLastPackage",
            "ignores.some",
            "memo.concat",
            "parse",
            "path.dirname",
            "pkgPaths.push",
            "promisify",
            "readFile",
            "readFile().catch",
            "require",
            "resolve",
            "resolve().then",
            "resolve().then().catch",
            "resolvedDepPaths.concat",
            "traceFile",
            "tracedDepPaths.add",
            "tracedDepPaths.has",
            "uniq",
            "uniq().filter"
          ],
          "funcs": [
            [
              "anonymous",
              356
            ],
            [
              "anonymous",
              606
            ],
            [
              "anonymous",
              2593
            ],
            [
              "anonymous",
              2823
            ],
            [
              "anonymous",
              3096
            ],
            [
              "anonymous",
              3123
            ],
            [
              "anonymous",
              3585
            ],
            [
              "anonymous",
              4020
            ],
            [
              "anonymous",
              4169
            ],
            [
              "anonymous",
              4222
            ],
            [
              "anonymous",
              4468
            ],
            [
              "anonymous",
              4816
            ],
            [
              "anonymous",
              5005
            ],
            [
              "depPath",
              5131
            ],
            [
              "anonymous",
              5195
            ],
            [
              "anonymous",
              6225
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 4,
              "op.ne": 1,
              "op.lor": 4,
              "op.land": 2,
              "op.lnot": 4,
              "max_depth": 34,
              "call_count": 53,
              "node_count": 1157,
              "member_count": 25,
              "max_array_len": 2,
              "op_density.eq": 0,
              "op_density.ne": 0,
              "op_density.lor": 0,
              "op_density.land": 0,
              "op_density.lnot": 0,
              "member_depth_max": 3
            },
            "file": {
              "size": 6571,
              "entropy": 4.79
            },
            "text": {
              "lines": 180,
              "top_char": 101,
              "max_ws_run": 16,
              "digit_ratio": 0,
              "space_count": 1311,
              "char_entropy": 4.79,
              "unique_chars": 79,
              "top_char_null": 0,
              "string_density": 0.1,
              "top_char_ratio": 0.08,
              "avg_line_length": 35.51,
              "max_line_length": 100,
              "empty_line_ratio": 0.12,
              "last_line_length": 2,
              "whitespace_ratio": 0.23,
              "identifier_density": 1.01,
              "line_length_stddev": 28.68,
              "normalized_string_count": 1.34,
              "repeated_char_sequences": 21,
              "suspicious_comment_ratio": 0.14,
              "suspicious_identifier_ratio": 0.02,
              "normalized_unique_identifiers": 8.81
            },
            "binds": {
              "count": 24
            },
            "binary": {
              "peak_region_bytes": 6571,
              "peak_region_entropy": 4.99
            },
            "imports": {
              "count": 7,
              "relative": 2,
              "stdlib_count": 3,
              "stdlib_ratio": 0.43,
              "relative_ratio": 0.29,
              "third_party_count": 4,
              "third_party_ratio": 0.57
            },
            "strings": {
              "bytes": 228,
              "count": 18,
              "avg_length": 12.67,
              "max_length": 65,
              "path_count": 2,
              "avg_entropy": 2.69,
              "entropy_stddev": 0.84
            },
            "comments": {
              "chars": 3123,
              "count": 42,
              "empty": 1,
              "lines": 66,
              "base64": 4,
              "todo_count": 2,
              "high_entropy": 2,
              "to_code_ratio": 0.58,
              "url_in_comments": 4
            },
            "functions": {
              "nested": 5,
              "density": 8.89,
              "anonymous": 16,
              "avg_params": 1.19,
              "code_ratio": 1.09,
              "max_params": 2,
              "one_liners": 8,
              "length_stddev": 21.83,
              "avg_length_lines": 12.31,
              "max_length_lines": 88,
              "min_length_lines": 1,
              "avg_nesting_depth": 1.19,
              "max_nesting_depth": 3,
              "single_char_params": 2,
              "avg_param_name_length": 17.37
            },
            "identifiers": {
              "count": 181,
              "unique": 66,
              "avg_length": 6.8,
              "max_length": 16,
              "min_length": 1,
              "avg_entropy": 2.36,
              "reuse_ratio": 0.36,
              "length_stddev": 3.3,
              "sequential_names": 1,
              "single_char_count": 1,
              "single_char_ratio": 0.02,
              "high_entropy_count": 1,
              "high_entropy_ratio": 0.02,
              "all_lowercase_ratio": 0.55,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 8,
        "mol": "H₂(CmF)",
        "path": "trace-deps-0.2.4.tgz!!package/lib/trace.js",
        "pid": 0,
        "refs": [
          {
            "to": "./extract",
            "off": 181,
            "file": 6,
            "kind": "local"
          },
          {
            "to": "./package",
            "off": 230,
            "file": 7,
            "kind": "local"
          }
        ],
        "risk": 2,
        "sha": "0551e3478c30004d4c2cfa08bd4d70647377d8a805b6d7db6af8cf49cc1ca1bb",
        "size": 6571,
        "traits": [
          {
            "id": "micro-behaviors/communications/http/url/forge::public-code-forge-url",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a public code-forge URL",
            "spans": [
              [
                985,
                19
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/url/reference::javascript-comment-url-reference",
            "conf": 0.9,
            "crit": 1,
            "desc": "JavaScript comment contains a URL",
            "spans": [
              [
                980,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/file/read::file-read-api-call",
            "conf": 0.9,
            "crit": 3,
            "desc": "Calls JavaScript readFile API",
            "spans": [
              [
                2799,
                8
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/file/read::read-node",
            "conf": 0.9,
            "crit": 3,
            "desc": "Reads files with Node.js",
            "spans": [
              [
                2799,
                8
              ]
            ]
          }
        ],
        "type": "javascript"
      },
      {
        "ctx": [
          {
            "b": "DM)3hz/ZhBBy/qkiWeDXz6yIPzEEx[b03]Rv@Dy9ePbGqwG\u0026VHC4CYnx(v(kiWcsifFk77efY4QvR/+1xK$ZYvrrXOf/p%Bi5SMIh8W0fvp%dUwmo+8b04Fmiwr0dy*?z",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 2,
        "facts": {
          "metrics": {
            "file": {
              "size": 961,
              "entropy": 4.9
            },
            "binary": {
              "peak_region_bytes": 961,
              "peak_region_entropy": 4.9
            },
            "registry": {
              "age_days": 2290,
              "file_count": 16,
              "maintainers": 39,
              "published_at": 1590863556,
              "releases_24h": 0,
              "releases_48h": 0,
              "is_deprecated": 0,
              "release_count": 17,
              "security_hold": 0,
              "unpacked_size": 46021,
              "version_removed": 0,
              "downloads_recent": 11766088,
              "package_age_days": 3151,
              "first_published_at": 1516471760,
              "has_install_script": 0,
              "previous_published_at": 1582549354,
              "publisher_in_maintainers": 1,
              "days_since_previous_release": 96
            }
          }
        },
        "id": 9,
        "path": "acorn-node@2.0.1.registry.json",
        "pid": 7,
        "rel": "registry",
        "role": "sidecar",
        "sha": "bc876ccd335d0c7d8448df57a8965af72d8631b082417e0b1798e7fd7a61d7fb",
        "size": 961,
        "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::widely-installed",
            "conf": 1.0,
            "crit": 1,
            "desc": "Large registry install base (10k+ downloads)",
            "spans": [
              [
                0,
                0
              ]
            ]
          }
        ],
        "type": "registry"
      },
      {
        "ctx": [
          {
            "b": "DM)3hz/ZhBBy/qkiWeDXz6yIPzEEx[b03]*wPI^aC4z\u003cGb6EKrB7]Mgb03]5e\u00262gmf!%}7b5?Wly?W%7wN]dRBrS+2h-APOgc49Ih7P}WxjUBXvr(]riX-DJefX[sBy/Jn",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 2,
        "facts": {
          "metrics": {
            "file": {
              "size": 951,
              "entropy": 4.89
            },
            "binary": {
              "peak_region_bytes": 951,
              "peak_region_entropy": 4.89
            },
            "registry": {
              "age_days": 148,
              "file_count": 105,
              "maintainers": 1,
              "published_at": 1775929295,
              "is_deprecated": 0,
              "release_count": 101,
              "security_hold": 0,
              "unpacked_size": 165440,
              "version_removed": 0,
              "downloads_recent": 906251923,
              "package_age_days": 5559,
              "first_published_at": 1308391964,
              "has_install_script": 0,
              "previous_published_at": 1771308033,
              "publisher_in_maintainers": 1,
              "days_since_previous_release": 53
            }
          }
        },
        "id": 10,
        "path": "resolve@1.22.12.registry.json",
        "pid": 78,
        "rel": "registry",
        "role": "sidecar",
        "sha": "d2ac4b6cd459244f8e63013848f16d84d73f0956929ae507fd214ac7d5c2e66b",
        "size": 951,
        "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
              ]
            ]
          },
          {
            "id": "metadata/registry::single-maintainer",
            "conf": 1.0,
            "crit": 1,
            "desc": "Registry package lists one maintainer",
            "spans": [
              [
                0,
                0
              ]
            ]
          }
        ],
        "type": "registry"
      },
      {
        "id": 11,
        "sha": "8b892a9ab58f5dd8676279a2be741ba76e0f6984ef3c59724d3d68cc206b686e",
        "path": "trace-deps@0.2.4.registry.json",
        "size": 901,
        "type": "registry",
        "depth": 1
      }
    ],
    "omitted_files": 1,
    "rev": "479f3",
    "v": "8"
  }
}