{
  "llm": {
    "conf": 0.9956459,
    "grade": "hostile",
    "model": "Qwen/Qwen3.8-27B",
    "outcome": "hostile",
    "interpretation": "Preinstall hook executes packed ELF"
  },
  "ml": {
    "v": "7",
    "eng": "2.8.0",
    "lvl": 25,
    "conf": 92,
    "mods": [
      {
        "cls": 0,
        "raw": 0.9935013,
        "rte": "az",
        "prob": 0.9935013
      },
      {
        "cls": 0,
        "raw": 0.9959679,
        "rte": "az/npm",
        "prob": 0.9959679
      }
    ],
    "prob": 0.9956459,
    "files": [
      {
        "id": 0,
        "lvl": 25,
        "conf": 92,
        "prob": 0.9956458806991577,
        "type": "npm"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00010059276974061504,
        "type": "javascript"
      },
      {
        "id": 3,
        "lvl": -1,
        "conf": 0,
        "prob": 0.0000307162590615917,
        "type": "javascript"
      },
      {
        "id": 4,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00003859400749206543,
        "type": "javascript"
      },
      {
        "id": 5,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00005233287811279297,
        "type": "javascript"
      },
      {
        "id": 7,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00013686220336239785,
        "type": "javascript"
      },
      {
        "id": 9,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00013199448585510254,
        "type": "javascript"
      },
      {
        "id": 10,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00004652142524719238,
        "type": "javascript"
      },
      {
        "id": 13,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00047253569937311113,
        "type": "package.json"
      },
      {
        "id": 14,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00043181577348150313,
        "type": "elf"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-04T08:16:39Z"
  },
  "path": "cwao-0.5.6.tgz",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "abZy8000000@}S=2%sCV}-1NWz#g9mU]x$:Bk7[G?ZRpcwe\u003eAew:A5bqB@sAd)*\u003cGW4GbD^JR\u003c=LU\u0026\u003eVQ7*Hq?G6i1EFVjy\u003eLqmW{Kaciv=/(aiP)#RBdE8d+n]ZgalBHZ2(zW5hPvJI=?%.(a1W}YkrYrpS+QnMI\u003euaN\u003cG(pLd!}iRZWI)U8%ne)-wmw\u003e(5Qt7z!{#Q+MTGMIn/r8bv/+y\u0026@d[[f:YwZ{)u34aYZSHe?P:bHqO(EZtQlN/F(2]t]^=@y)(MY3kKM%5/MW$HxUDeQCL:n+qRst^JozF7]KOz7zvS49$%I7p4O)O.V*p:}g*vHr-N8SG-\u003c\u003c{-9:5A/CC-^-7g52-A#*JQzaJy5eubM51r9LnD",
            "ln": 0
          }
        ],
        "mol": "O₂(S₂As)H₄(Cm₈CrDb₆Os)Md₄(Bi₃BkHePa₂)",
        "sha": "a49a3c1b7ec66a7f5ae1931e889425359cd9ee6b4f5c562a02ba359bc1b0e1f2",
        "path": "cwao-0.5.6.tgz",
        "risk": 164,
        "size": 965599,
        "type": "npm",
        "facts": {
          "metrics": {
            "file": {
              "size": 965599,
              "entropy": 8
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 964575,
              "peak_region_entropy": 7.85
            },
            "consistency": {
              "self_dependency": 0,
              "unused_runtime_deps": 0
            }
          }
        },
        "ident": {
          "name": {
            "value": "cwao",
            "source": "npm.name",
            "verified": false
          },
          "trust": "unsigned",
          "version": {
            "value": "0.5.6",
            "source": "npm.version",
            "verified": false
          },
          "identifier": {
            "value": "cwao",
            "source": "npm.name",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "micro-behaviors/communications/http/endpoints::loopback-http-url-reference",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a loopback HTTP URL",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/binary/anomaly/section-header::elf-no-section-headers",
            "conf": 0.95,
            "crit": 3,
            "desc": "ELF binary without section headers",
            "from": [
              {
                "file": 14
              }
            ],
            "uses": [
              7
            ]
          },
          {
            "id": "micro-behaviors/communications/http/post::fetch-post-call",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.72,
            "crit": 3,
            "desc": "Sends an HTTP POST request with fetch()",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "supply-chain/install-hook/preinstall",
            "conf": 0.8,
            "crit": 3,
            "desc": "Package has 'preinstall' hook that runs during install"
          },
          {
            "id": "metadata/package/manifest/entrypoint::pkg-main-field",
            "conf": 0.6,
            "crit": 2,
            "desc": "package.json declares a main entry point"
          },
          {
            "id": "metadata/package/quality/empty::npm-has-name",
            "conf": 1.0,
            "crit": 2,
            "desc": "package.json defines a package name"
          },
          {
            "id": "micro-behaviors/data/control-flow/error-handling::catch-returns-constant-only",
            "conf": 0.88,
            "crit": 3,
            "desc": "Catch block only returns a constant",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/binary/anomaly/section-header::elf64-zero-section-header-offset",
            "conf": 0.95,
            "crit": 1,
            "desc": "ELF64 section header offset is zero",
            "from": [
              {
                "file": 14
              }
            ]
          },
          {
            "id": "objectives/supply-chain/install-hook/scripts/lifecycle::has-preinstall-raw",
            "conf": 0.88,
            "crit": 3,
            "desc": "Raw content contains preinstall hook",
            "from": [
              {
                "file": 13
              }
            ]
          },
          {
            "id": "micro-behaviors/data/encode/base64::tostring-base64",
            "conf": 0.8,
            "crit": 3,
            "desc": "Base64 encoding via toString (JS)",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/endpoints::loopback-http-target",
            "conf": 0.9,
            "crit": 3,
            "desc": "HTTP request targets loopback address",
            "from": [
              {
                "off": 34,
                "file": 1,
                "line": 2
              },
              {
                "off": 408,
                "file": 3,
                "line": 18
              },
              {
                "off": 288,
                "file": 5,
                "line": 13
              },
              {
                "off": 34,
                "file": 7,
                "line": 2
              },
              {
                "off": 34,
                "file": 9,
                "line": 2
              },
              {
                "off": 854,
                "file": 10,
                "line": 33
              }
            ],
            "uses": [
              0,
              23
            ]
          },
          {
            "id": "micro-behaviors/communications/http/header/accept::accept-json-header",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.95,
            "crit": 3,
            "desc": "Requests a JSON HTTP response",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::http-post-json",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.75,
            "crit": 3,
            "desc": "HTTP POST request with JSON content",
            "from": [
              {
                "off": 2563,
                "file": 5,
                "line": 112
              },
              {
                "off": 221,
                "file": 7,
                "line": 12
              },
              {
                "off": 514,
                "file": 9,
                "line": 24
              }
            ],
            "uses": [
              14,
              42
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/payload::fetch-post-json-body",
            "conf": 0.93,
            "crit": 3,
            "desc": "fetch POST serializes a JSON request body"
          },
          {
            "id": "micro-behaviors/communications/http/request/client::post-method-text",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.94,
            "crit": 3,
            "desc": "Configures an HTTP POST request"
          },
          {
            "id": "micro-behaviors/communications/http/request/client::fetch-post-pattern",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.9,
            "crit": 3,
            "desc": "JavaScript file uses fetch and configures an HTTP POST",
            "from": [
              {
                "file": 1
              },
              {
                "off": 2563,
                "file": 5,
                "line": 112
              },
              {
                "off": 221,
                "file": 7,
                "line": 12
              },
              {
                "off": 514,
                "file": 9,
                "line": 24
              }
            ],
            "uses": [
              14,
              18
            ]
          },
          {
            "id": "objectives/anti-static/pack/detect::no-section-headers",
            "atk": "T1027.002",
            "mbc": "F0001",
            "conf": 0.8,
            "crit": 3,
            "desc": "No section headers",
            "from": [
              {
                "file": 14
              }
            ],
            "uses": [
              1
            ]
          },
          {
            "id": "metadata/package/scripts/lifecycle::install-hooks",
            "conf": 1.0,
            "crit": 2,
            "desc": "Package has install hooks",
            "from": [
              {
                "file": 13
              }
            ],
            "uses": [
              27
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::js-fetch-call",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.8,
            "crit": 3,
            "desc": "Calls JavaScript fetch API"
          },
          {
            "id": "metadata/package/quality/empty::npm-no-keywords",
            "conf": 0.5,
            "crit": 2,
            "desc": "package.json has no keywords"
          },
          {
            "id": "metadata/package/versioning::npm-has-version",
            "conf": 1.0,
            "crit": 2,
            "desc": "package.json defines a package version"
          },
          {
            "id": "micro-behaviors/os/syscall/raw::x64-mmap-syscall-sectionless",
            "conf": 0.9,
            "crit": 3,
            "desc": "x86-64 mmap syscall in sectionless code",
            "from": [
              {
                "file": 14
              }
            ]
          },
          {
            "id": "objectives/supply-chain/install-hook/scripts/lifecycle::sparse-package-install-hook",
            "conf": 0.85,
            "crit": 3,
            "desc": "Sparse package metadata accompanies install hook",
            "from": [
              {
                "file": 13
              }
            ],
            "uses": [
              17
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::http-client",
            "conf": 0.7,
            "crit": 3,
            "desc": "Uses common HTTP client APIs",
            "from": [
              {
                "file": 1
              },
              {
                "file": 9
              }
            ],
            "uses": [
              18
            ]
          },
          {
            "id": "micro-behaviors/data/serialize/json::json-stringify-identifier",
            "conf": 0.85,
            "crit": 3,
            "desc": "Serializes an identifier as JSON",
            "from": [
              {
                "file": 10
              }
            ]
          },
          {
            "id": "micro-behaviors/crypto/hash/digest::javascript-sha256-operation",
            "mbc": "C0029",
            "conf": 0.88,
            "crit": 3,
            "desc": "Performs JavaScript SHA-256 operation",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/hardening/missing::stripped-binary",
            "conf": 0.8,
            "crit": 3,
            "desc": "No full symbol table (likely stripped)",
            "from": [
              {
                "file": 14
              }
            ]
          },
          {
            "id": "objectives/supply-chain/install-hook/scripts/lifecycle::has-preinstall",
            "atk": "T1195.002",
            "conf": 0.85,
            "crit": 3,
            "desc": "Has preinstall script hook"
          },
          {
            "id": "metadata/binary/anomaly/format::elf-entry-in-last-segment",
            "conf": 0.7,
            "crit": 3,
            "desc": "ELF entry in final PT_LOAD",
            "from": [
              {
                "file": 14
              }
            ]
          },
          {
            "id": "metadata/package/manifest/freeform::pkg-skeleton-small",
            "conf": 0.7,
            "crit": 3,
            "desc": "Tiny package.json manifest",
            "from": [
              {
                "file": 13
              }
            ]
          },
          {
            "id": "micro-behaviors/data/source/dynamic/reflect::computed-this-method-call",
            "conf": 0.9,
            "crit": 3,
            "desc": "Calls a computed this method",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "micro-behaviors/crypto/hash/digest::node-createhash-sha256-call",
            "conf": 0.94,
            "crit": 3,
            "desc": "Node.js createHash('sha256') call",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "objectives/supply-chain/install-hook/dropper/native-loader::preinstall-runs-bundled-executable",
            "atk": "T1195.002",
            "conf": 0.85,
            "crit": 4,
            "desc": "Executes bundled payload from preinstall"
          },
          {
            "id": "micro-behaviors/communications/http/header/content-type::json-header",
            "conf": 0.9,
            "crit": 3,
            "desc": "References HTTP Content-Type application/json",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/package/scripts/lifecycle::has-preinstall-script",
            "conf": 0.95,
            "crit": 3,
            "desc": "Manifest declares npm preinstall lifecycle hook"
          },
          {
            "id": "micro-behaviors/communications/http/client/response-body::fetch-response-body-read",
            "conf": 0.9,
            "crit": 3,
            "desc": "JavaScript fetch reads response body",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/data/serialize/json-write::json-object-body-field",
            "conf": 0.9,
            "crit": 3,
            "desc": "Serializes an object into a body field",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/build/artifact::stripped-toolchain-comment",
            "conf": 1.0,
            "crit": 3,
            "desc": "ELF omits compiler metadata (.comment)"
          },
          {
            "id": "micro-behaviors/data/control-flow/loop::js-object-key-in-loop",
            "conf": 0.9,
            "crit": 3,
            "desc": "JavaScript iterates enumerable object keys",
            "from": [
              {
                "file": 10
              }
            ]
          },
          {
            "id": "objectives/anti-static/pack/detect::stripped-packed",
            "atk": "T1027.002",
            "mbc": "F0001",
            "conf": 0.85,
            "crit": 4,
            "desc": "Packed ELF binary",
            "from": [
              {
                "file": 14
              }
            ],
            "uses": [
              16,
              45
            ]
          },
          {
            "id": "micro-behaviors/crypto/hash/digest::node-createhash-call",
            "conf": 0.65,
            "crit": 3,
            "desc": "Node.js createHash call",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "supply-chain/missing-author",
            "conf": 0.5,
            "crit": 3,
            "desc": "Package has empty or missing author field"
          },
          {
            "id": "micro-behaviors/communications/http/header/content-type::application-json",
            "conf": 0.65,
            "crit": 3,
            "desc": "References the application/json media type",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::fetch-then-json",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.74,
            "crit": 3,
            "desc": "fetch() response JSON parse",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/path::fetch-dynamic-template-path",
            "conf": 0.94,
            "crit": 3,
            "desc": "Fetch URL with dynamic path segment",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/binary/metrics/threshold::high-overall-entropy-70",
            "conf": 0.85,
            "crit": 3,
            "desc": "Binary overall entropy at least 7.0",
            "from": [
              {
                "file": 14
              }
            ]
          },
          {
            "id": "objectives/supply-chain/install-hook/dropper/native-loader::npm-archive-bundled-machine-code-member",
            "atk": "T1195.002",
            "conf": 0.94,
            "crit": 3,
            "desc": "npm tarball ships bundled machine-code member",
            "from": [
              {
                "file": 14
              }
            ],
            "uses": [
              1,
              28
            ],
            "spans": [
              [
                0,
                41
              ]
            ]
          },
          {
            "id": "objectives/supply-chain/install-hook/dropper/native-loader::npm-install-hook-runs-bundled-executable",
            "atk": "T1195.002",
            "conf": 0.88,
            "crit": 4,
            "desc": "Install hook directly executes bundled file",
            "from": [
              {
                "off": 103,
                "file": 13,
                "line": 7
              }
            ],
            "uses": [
              32
            ],
            "spans": [
              [
                0,
                41
              ]
            ]
          },
          {
            "id": "objectives/supply-chain/install-hook/scripts/lifecycle::npm-preinstall-sectionless-elf-dropper",
            "atk": "T1195.002,T1105",
            "mbc": "B0024,F0011",
            "conf": 0.97,
            "crit": 5,
            "desc": "npm preinstall executes sectionless bundled ELF",
            "from": [
              {
                "off": 103,
                "file": 13,
                "line": 7
              },
              {
                "file": 14
              }
            ],
            "uses": [
              1,
              28,
              32
            ],
            "spans": [
              [
                0,
                41
              ]
            ]
          },
          {
            "id": "objectives/supply-chain/install-hook/dropper/native-loader::npm-install-bundled-native-binary",
            "atk": "T1195.002",
            "conf": 0.95,
            "crit": 5,
            "desc": "npm install hook executes a bundled native binary",
            "uses": [
              46,
              47
            ],
            "spans": [
              [
                0,
                41
              ]
            ]
          }
        ]
      },
      {
        "ctx": [
          {
            "b": "v@bN{B09?IaBsCray/tcB98CBv@#Tfd0)7VA+(\u003cYar\u003eGvBz%n]fkLMpvqGQ}B96C$ixe@waBLWYDKp(rarU=tx(+[HA+(\u003cYaA.Zv3lQEt3jm)#vrlZiv\u003c2z}BsnNXDKp(rarUYoBAIRwayPF5x(\u003eFfwPRA}d0fcpB1RPQy:*#UxK#6fAV^IeaAx8HB8L}AdjCPDaBKO7arU9lD2vamB97\u0026jwHIIiwgnTF3lQDlaAz4nB-IvxvrVc]BrCgbByO#ju)H8vxLzJuB-IqDflqkzBy^9JDViXfEpaGRBzbl6c#{B[j%j\u003e#vrcx%C%VT=w[u0hdjCPDaBKO7arU9lD2vamA+frmy\u0026?7xx\u003ee+qAa@\u0026iaBsCrarR!EwPS6nzxJwivqf*aw[u6]xEEmlDVS}nB1RPQy\u003c^%SwPJ0gBt1[^ze0Kekx7TYv}x.5eOO-UbZTGAwpm\u0026me{7=rzyxJFjW6h}arR^HaAx8HB8L}Adj+/GarR^Q3lQEt3jm)#vrlZiv\u003c2C[B7=$vx\u003eeUnDKp(rarUYoBAIRwayPF5x(\u003eFfwPRA}c$1rEBzbxfe{hhJEj]nxB7^iLDViXfEpaGRBzbl6c#{B[j%j\u003e#yiarhc[cOLarV7t3lQE1B9RUkaBm*rB8L}AAa@\u0026lay/tay?m9#x(v(uay]z2efF[uBz99CDKp(rarUYoBAIRwayPF5x(\u003eFfwPRA}c\u003c?7tarR^Hu)H8vxLzJuB-IqDfm4zGB8L}HbZTGAwplWLz!%l3v@#B6zAPm(v@Dg1wN/*@z/f$Iwn+%vbZT6uv%]XyvrufCbZTGsBzc8ged9HxarS9=Bzbl6c#{B[j%j\u003e#yiarhc[cOLarV7tEf{r#z!a0bwIdLsAbP=sB09Q*lSBD",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "fetch.then"
            ],
            [
              "",
              "fetch"
            ],
            [
              "",
              "r.json"
            ],
            [
              "",
              "fetch.then"
            ],
            [
              "",
              "fetch"
            ],
            [
              "",
              "r.arrayBuffer"
            ],
            [
              "",
              "fetch.then"
            ],
            [
              "",
              "fetch"
            ],
            [
              "",
              "r.json"
            ],
            [
              "",
              "fetch.then"
            ],
            [
              "",
              "fetch"
            ],
            [
              "",
              "r.json"
            ],
            [
              "",
              "fetch.then"
            ],
            [
              "",
              "fetch"
            ],
            [
              "",
              "r.json"
            ],
            [
              "",
              "module.exports"
            ]
          ],
          "mbr": [
            "fetch().then",
            "module.exports",
            "r.arrayBuffer",
            "r.json"
          ],
          "tgt": [
            "fetch",
            "fetch().then",
            "r.arrayBuffer",
            "r.json"
          ],
          "funcs": [
            [
              "constructor",
              13
            ],
            [
              "get",
              88
            ],
            [
              "r",
              140
            ],
            [
              "state",
              162
            ],
            [
              "r",
              237
            ],
            [
              "result",
              266
            ],
            [
              "r",
              366
            ],
            [
              "hash",
              400
            ],
            [
              "r",
              473
            ],
            [
              "zkjson",
              495
            ],
            [
              "r",
              657
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 14,
              "call_count": 15,
              "node_count": 319,
              "member_count": 4,
              "member_depth_max": 2
            },
            "file": {
              "size": 699,
              "entropy": 4.78
            },
            "text": {
              "lines": 31,
              "top_char": 116,
              "max_ws_run": 1,
              "digit_ratio": 0.01,
              "space_count": 112,
              "char_entropy": 4.78,
              "unique_chars": 48,
              "top_char_null": 0,
              "string_density": 0.16,
              "top_char_ratio": 0.06,
              "avg_line_length": 21.55,
              "max_line_length": 83,
              "empty_line_ratio": 0.19,
              "last_line_length": 19,
              "whitespace_ratio": 0.2,
              "identifier_density": 1.87,
              "line_length_stddev": 25.7,
              "normalized_string_count": 0.9,
              "suspicious_identifier_ratio": 0.05,
              "normalized_unique_identifiers": 4.04
            },
            "binds": {
              "count": 1
            },
            "binary": {
              "peak_region_bytes": 699,
              "peak_region_entropy": 4.78
            },
            "source": {
              "class_count": 1,
              "function_count": 6
            },
            "strings": {
              "bytes": 185,
              "count": 5,
              "url_count": 1,
              "avg_length": 37,
              "max_length": 74,
              "avg_entropy": 4,
              "entropy_stddev": 0.26
            },
            "functions": {
              "count": 7,
              "nested": 5,
              "density": 35.48,
              "anonymous": 5,
              "avg_params": 0.82,
              "code_ratio": 0.9,
              "max_params": 4,
              "one_liners": 4,
              "length_stddev": 1.44,
              "avg_name_length": 5.83,
              "no_params_count": 6,
              "avg_length_lines": 2.55,
              "max_length_lines": 5,
              "min_length_lines": 1,
              "avg_nesting_depth": 0.45,
              "max_nesting_depth": 1,
              "avg_param_name_length": 7.22
            },
            "identifiers": {
              "count": 58,
              "unique": 20,
              "avg_length": 5.05,
              "max_length": 11,
              "min_length": 1,
              "avg_entropy": 1.97,
              "reuse_ratio": 0.34,
              "length_stddev": 2.77,
              "sequential_names": 1,
              "single_char_count": 1,
              "single_char_ratio": 0.05,
              "all_lowercase_ratio": 0.9,
              "all_uppercase_ratio": 0.05
            }
          }
        },
        "id": 1,
        "mol": "H(Cm₄)",
        "path": "cwao-0.5.6.tgz!!package/cu.js",
        "pid": 145,
        "risk": 2,
        "sha": "04b23bf247fb0fe85cc10c0adc55946cfe46c309a14d4b22189f3e93b9ed9885",
        "size": 699,
        "traits": [
          {
            "id": "metadata/file/metrics::file-has-30-plus-lines",
            "conf": 0.9,
            "crit": 1,
            "desc": "File has 30 or more lines",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/profile/locale::i18n-lang-code-js-basename",
            "conf": 0.97,
            "crit": 1,
            "desc": "JavaScript language code basename",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/source::js-ts-source-basename",
            "conf": 0.95,
            "crit": 2,
            "desc": "JavaScript or TypeScript source filename",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/client/response-body::fetch-response-body-read",
            "conf": 0.9,
            "crit": 3,
            "desc": "JavaScript fetch reads response body",
            "spans": [
              [
                119,
                137
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/path::fetch-dynamic-template-path",
            "conf": 0.94,
            "crit": 3,
            "desc": "Fetch URL with dynamic path segment",
            "spans": [
              [
                198,
                32
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/endpoints::loopback-http-url-reference",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a loopback HTTP URL",
            "spans": [
              [
                34,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::fetch-then-json",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.74,
            "crit": 3,
            "desc": "fetch() response JSON parse",
            "spans": [
              [
                119,
                33
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::js-fetch-call",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.8,
            "crit": 3,
            "desc": "Calls JavaScript fetch API",
            "spans": [
              [
                198,
                33
              ],
              [
                308,
                52
              ],
              [
                435,
                32
              ],
              [
                555,
                96
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::http-client",
            "conf": 0.7,
            "crit": 3,
            "desc": "Uses common HTTP client APIs",
            "uses": [
              7
            ],
            "spans": [
              [
                198,
                33
              ],
              [
                308,
                52
              ],
              [
                435,
                32
              ],
              [
                555,
                96
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/endpoints::loopback-http-target",
            "conf": 0.9,
            "crit": 3,
            "desc": "HTTP request targets loopback address",
            "uses": [
              5,
              8
            ],
            "spans": [
              [
                34,
                16
              ],
              [
                198,
                33
              ]
            ]
          }
        ],
        "type": "javascript"
      },
      {
        "ctx": [
          {
            "b": "y?mYhl2}fXvrMi8jS[=RADL#owHF:hA^886C4z\u003cD3tB8{c{.($wNP:[e[wK9vrDyddiH]%Cv+iawGTbUl2}fXvrMimwmYvYB.(dbv@DmaBrA$WByupPaAz4kB.L(cc)yn%wmoN*a$i\u003eez/fSraBtj%A^886C4BP^xkRp3aBLv}aAz4kB.L(cc)A8uvS=N0y?mVidgfN6zGx[x",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "y*?yaavxi@pAT#\u003earUfjzGx]uBZ]JiAWVnwarR^HCvtr7wPPEgarR^HvrcN6vrMi8jS]7UarR^HarUuoB96C=b5zgcvqGQ}B95PS3lQDlarR!Cz/P}XatC(og+n$RarR^HaAhvtBz\u003eVcy=SW.xMOuna$K6zarR!Ped9HxarUJzauZ?\u003exMOuniXJd5z!0i(xM4%liX-SOh6KNUarR^HB9eP*ar\u003eGvBz%n]fkLMpvqGQ}B96C$ixe]ved9HxarUfpauZ?\u003exMOuniXJd5z!0i(xM4%liX-SOhZf^WarV7YaBsCrarR!GxLzJuCvtr7wPP4TaA}mgy?mX}arR^HBzbxfe]ClxCw?IqauZ\u0026QA^886C4z16arR!GxLzJuvrcN6vrMi8jS[SNCoxg(Cv+iawHH#cCv+iawHN%earR!GxLzJuwmoM",
            "ln": 268,
            "col": 2,
            "line": 10
          },
          {
            "b": "xLzJuvrcN6vrMimv@=c?By!A(vqZc{v@#B6zyx\u0026OwmoN*iV@oTwfupH3lQDlazbLjasI5qBrC-Hz!pblvp%TgaAR\u0026XvpS[Fvp}0ie]C9mwH[%Ee{pVtB.90earR^HvrVc]BrCWsx(+[nA^886C4ApFA:-\u003cbvpKy[z/fRGB7]o8d0fX+aARphB1RVBy\u00260W8dgdguarU9pvqf*aBzbxfe[5^AwNP:[e{8bxzGxk@BzkVhB1RAIB95*LCQS$xarR!EwPS6nzxK4Ce[[\u00266arV7t3lQE1B9RUkaAIaoq=Lk)aA.ZvefG4Ry+cYJvp%T7Ejlp=3lP",
            "ln": 988,
            "col": 23,
            "line": 38
          },
          {
            "b": "ay/tcB95KKaAR\u0026JEipV}vrVc]BrCWsx(+[qvrt{gB7Gl1d0)7Gx\u003eq9\u003eB2\u003eB\u003caAR48B0b(NEjkHCarR!EwPS6nzxK4Ce[[\u00266arV7t3lQE1B9RUkazC.mByx6ex\u003c(9{d0\u003e",
            "ln": 1299,
            "col": 4,
            "line": 47
          },
          {
            "b": "x(m)jBsXLOB.bPsiV@J+B.8XzdgdguarUfjzGx[xA+frmy\u0026*^.ayPF5x(\u003eFtxLzJuv%6zAwPJ0gBsp\u003clefF[Lz!0v1B14CsarR!EwPS6nzxJ$hB9hqve(cRiAclmfarV7tEf{r#z!a0bwIdLsAbP=sB09Q*lSVMH3i",
            "ln": 2249,
            "col": 58,
            "line": 74
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "Arweave"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "Arweave"
            ],
            [
              "",
              "Data"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "CU"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "MU"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "SU"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "CW"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "tx"
            ],
            [
              "",
              "tx.addTag"
            ],
            [
              "",
              "item"
            ],
            [
              "",
              "res"
            ],
            [
              "",
              "signer"
            ],
            [
              "",
              "read_only"
            ],
            [
              "",
              "read_only"
            ],
            [
              "",
              "signer"
            ],
            [
              "",
              "tags"
            ],
            [
              "",
              "item"
            ],
            [
              "",
              "result"
            ],
            [
              "",
              "module.exports"
            ],
            [
              "",
              "./cu"
            ],
            [
              "",
              "./cw"
            ],
            [
              "",
              "./data"
            ],
            [
              "",
              "./mu"
            ],
            [
              "",
              "./su"
            ],
            [
              "",
              "arbundles"
            ],
            [
              "",
              "arweave"
            ]
          ],
          "mbr": [
            "Arweave.default",
            "module.exports",
            "result.Output",
            "tx.addTag",
            "tx.id",
            "v.name",
            "v.value"
          ],
          "tgt": [
            "Arweave",
            "ArweaveSigner",
            "CU",
            "CW",
            "Data",
            "MU",
            "SU",
            "require",
            "tx.addTag"
          ],
          "funcs": [
            [
              "constructor",
              282
            ],
            [
              "cw",
              797
            ],
            [
              "deploy",
              902
            ],
            [
              "setSU",
              1211
            ],
            [
              "instantiate",
              1382
            ],
            [
              "execute",
              1634
            ],
            [
              "query",
              2145
            ]
          ],
          "metrics": {
            "ast": {
              "op.lnot": 1,
              "max_depth": 16,
              "call_count": 30,
              "node_count": 916,
              "op.coalesce": 3,
              "member_count": 7,
              "op_density.lnot": 0,
              "member_depth_max": 2,
              "op_density.coalesce": 0
            },
            "file": {
              "size": 2378,
              "entropy": 4.63
            },
            "text": {
              "lines": 80,
              "top_char": 116,
              "max_ws_run": 1,
              "digit_ratio": 0.01,
              "space_count": 473,
              "char_entropy": 4.63,
              "unique_chars": 55,
              "top_char_null": 0,
              "string_density": 0.16,
              "top_char_ratio": 0.08,
              "avg_line_length": 28.73,
              "max_line_length": 80,
              "empty_line_ratio": 0.08,
              "last_line_length": 21,
              "whitespace_ratio": 0.23,
              "identifier_density": 2.04,
              "line_length_stddev": 21.48,
              "normalized_string_count": 1.45,
              "suspicious_identifier_ratio": 0.02,
              "normalized_unique_identifiers": 10.12
            },
            "binds": {
              "count": 17
            },
            "binary": {
              "peak_region_bytes": 2378,
              "peak_region_entropy": 4.7
            },
            "source": {
              "class_count": 1,
              "function_count": 7
            },
            "imports": {
              "count": 7,
              "relative": 5,
              "relative_ratio": 0.71,
              "third_party_count": 7,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 114,
              "count": 13,
              "url_count": 3,
              "avg_length": 8.77,
              "max_length": 21,
              "path_count": 5,
              "avg_entropy": 2.58,
              "empty_count": 1,
              "entropy_stddev": 0.75
            },
            "functions": {
              "count": 8,
              "density": 8.75,
              "avg_params": 1.14,
              "code_ratio": 0.79,
              "max_params": 2,
              "length_stddev": 6.23,
              "avg_name_length": 6.71,
              "avg_length_lines": 9,
              "max_length_lines": 22,
              "min_length_lines": 3,
              "avg_param_name_length": 48.25
            },
            "identifiers": {
              "count": 163,
              "unique": 64,
              "avg_length": 5.59,
              "max_length": 17,
              "min_length": 1,
              "avg_entropy": 2.06,
              "reuse_ratio": 0.39,
              "length_stddev": 3.07,
              "sequential_names": 1,
              "single_char_count": 1,
              "single_char_ratio": 0.02,
              "all_lowercase_ratio": 0.81,
              "all_uppercase_ratio": 0.08
            }
          }
        },
        "id": 3,
        "mol": "H(Cm)",
        "path": "cwao-0.5.6.tgz!!package/cwao.js",
        "pid": 145,
        "refs": [
          {
            "to": "./data",
            "off": 102,
            "file": 149,
            "kind": "local"
          },
          {
            "to": "./cu",
            "off": 178,
            "file": 146,
            "kind": "local"
          },
          {
            "to": "./mu",
            "off": 205,
            "file": 152,
            "kind": "local"
          },
          {
            "to": "./su",
            "off": 232,
            "file": 154,
            "kind": "local"
          },
          {
            "to": "./cw",
            "off": 259,
            "file": 147,
            "kind": "local"
          }
        ],
        "risk": 2,
        "sha": "5f26c20ac0f1ec5e647c41c58e1c6f06ec543f7f8179cd8418d0678fabf5edbf",
        "size": 2378,
        "traits": [
          {
            "id": "metadata/file/metrics::file-has-30-plus-lines",
            "conf": 0.9,
            "crit": 1,
            "desc": "File has 30 or more lines",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/profile/language::lang-english--atom-5",
            "conf": 0.8,
            "crit": 2,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                1037,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/source::js-ts-source-basename",
            "conf": 0.95,
            "crit": 2,
            "desc": "JavaScript or TypeScript source filename",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/endpoints::loopback-http-url-reference",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a loopback HTTP URL",
            "spans": [
              [
                408,
                16
              ]
            ]
          },
          {
            "id": "objectives/credential-access/wallet/keywords::wallet-token",
            "conf": 0.4,
            "crit": 1,
            "desc": "Wallet keyword",
            "spans": [
              [
                300,
                0
              ]
            ]
          }
        ],
        "type": "javascript"
      },
      {
        "ctx": [
          {
            "b": "v@DmaBrC7lD2N\u003ezauZ\u0026/wPq\u003cbA+cTyv@=\u003clBz\u0026uL3s!0(B95KK3lQDVvrt{HBy/qu3lQDSA:%39zE)s1q!Y(ZwPxsearS%\u003cCv+iawM9qQzE)\u0026t3lQE3A+eW3wKG%GvjR:dayYFhwnC*yzE=WWxkQaCByuZcEipV}",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "wGTbUl2}fXvrMimwmYvYB.(dbv@DmaBrBK\u003excotWA+flkx(W=ka$+J\u003cvp{=k3jpS*wozZ1e[GoDz/P@vauZ\u0026Sy*?yaavGTWvix[7arUfjzGx]uBZ]JiAWVnwarR^HCvtr7wPPEgarR^HvrcN6vrMi8jS]7UarR^HarUuoB96C=b5zgcvqGQ}B95PS3lQDlarR!Cz/P}XatC(og+n$RarR^HaAhvtBz\u003eVcy=SW.xMOuna$K6zarR!Ped9HxarUSzz//]cz!{%iarR^HC42A9vqZfr3lQEtdiJ%AarR^HBzbxfe{y-uy?mYhjS[@Sy\u00260W83lQDlaARphB1RuwBA.UzyAL+.vrcN6vrMh?arR^HBzbxfe[5^AwNP:[auZ\u0026kA^886C4ApuzFshvvrcN6vrMih3lQDlaARphB1RMy",
            "ln": 209,
            "col": 28,
            "line": 10
          },
          {
            "b": "aBLWCarV7t3lQE1B9RUkaAImfzE)\u0026pdiJ%AarR^Hx\u003ewFoBzbxfe{y-uy?mYvB7]o8diJ%AarR^HarU9pvqf*aBzbxfe{y-uy?mYvv@Dm5wN/*gtm8F}arR^HarR\u003c]lQKpvq^R*Ul@DDLqZ9+1ao",
            "ln": 576,
            "col": 43,
            "line": 27
          },
          {
            "b": "Bzbxfe{y-uy?mYq3lQDlaBKOtaBKO7arU9lD2vamB7Gl1d0)7Evrt{(By/rgefFzAzE^M{efG4VefFLswO+)#efFFiByupPar\u00260XaAImfzE)\u0026hEjlp=3lQDlay/tcB94",
            "ln": 969,
            "col": 32,
            "line": 44
          },
          {
            "b": "arUYoBAIRwaBtkwvrt{(By/rgefFzAzE^M{efG4VefF$AB9hqviV}\u003cPvqf*aBzbxfe]U-IBsqlQdiK3CarV7t3lQE1B9RUkay[]5vqf*{z76HmxlbgUaBwI/ay[]5vivYQa%FMXB7]o8wPxjxDKp(rao",
            "ln": 1300,
            "col": 3,
            "line": 54
          },
          {
            "b": "vqZc{v@#B6zGvBHz/Z1GBA/kwarV7t3lQEfCwZ#jc#0^mz7cPO3lQDlay/tcB95Krvrl9GB.kk%AV^H/v@=\u003clBz?HearR^HatdeAwNPW(nmuNMc)A.CvkoX#a$i\u003cwarR^Hatd!QwmoN\u003ec#0^mz7Y\u003cqCtAB2wPxjbarR^HarSpEx\u003eI0#BsnNBarR^HA+funA=91kvrl9GB.kk%AXqDLq/)4]zF7vwvQTs?hz/L%y:7qnarV7t3lQE1B9RUkaA?spx\u003ezSZBy/qqvRGZ*A^o8RDKp(rarUGiBrCptwO\u0026LMaz#sryZIpcarUGiBrC:ny?WA5jS[fSvqf*al$7gCnPXJXe{p/Dx\u003ezSsvRGZ*A^o8varR^Hy?mYhBA}?pauZ\u0026+B.\u003e\u003e3arR^Hx\u003ev",
            "ln": 2421,
            "col": 26,
            "line": 97
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "crypto"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "Arweave"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "Arweave"
            ],
            [
              "",
              "Tag"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "module.exports"
            ],
            [
              "",
              "Arweave.init"
            ],
            [
              "",
              "signer"
            ],
            [
              "",
              "signer.setPublicKey"
            ],
            [
              "",
              "signer"
            ],
            [
              "",
              "signer"
            ],
            [
              "",
              "dataitem"
            ],
            [
              "",
              "createData"
            ],
            [
              "",
              "dataitem.sign"
            ],
            [
              "",
              "bundleAndSignData"
            ],
            [
              "",
              "bundle.getRaw"
            ],
            [
              "",
              "tx"
            ],
            [
              "",
              "tx"
            ],
            [
              "",
              "tx.addTag"
            ],
            [
              "",
              "tx.addTag"
            ],
            [
              "",
              "tx"
            ],
            [
              "",
              "bundle.toTransaction"
            ],
            [
              "",
              "hashBuffer"
            ],
            [
              "",
              "crypto.createHash.update.digest"
            ],
            [
              "",
              "crypto.createHash.update"
            ],
            [
              "",
              "crypto.createHash"
            ],
            [
              "",
              "hashBuffer.toString"
            ],
            [
              "",
              "item"
            ],
            [
              "",
              "valid"
            ],
            [
              "",
              "DataItem.verify"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "item"
            ],
            [
              "",
              "item.setSignature"
            ],
            [
              "",
              "./tag"
            ],
            [
              "",
              "arbundles"
            ],
            [
              "",
              "arweave"
            ],
            [
              "",
              "crypto"
            ]
          ],
          "mbr": [
            "Arweave.default",
            "Arweave.init",
            "DataItem.verify",
            "bundle.binary",
            "bundle.getRaw",
            "bundle.toTransaction",
            "crypto.createHash",
            "crypto.createHash().update",
            "crypto.createHash().update().digest",
            "dataitem.sign",
            "hashBuffer.toString",
            "item.rawOwner",
            "item.rawSignature",
            "item.setSignature",
            "module.exports",
            "signer.setPublicKey",
            "tx.addTag"
          ],
          "tgt": [
            "ArconnectSigner",
            "Arweave.init",
            "ArweaveSigner",
            "DataItem",
            "DataItem.verify",
            "Tag",
            "bundle.getRaw",
            "bundle.toTransaction",
            "bundleAndSignData",
            "createData",
            "crypto.createHash",
            "crypto.createHash().update",
            "crypto.createHash().update().digest",
            "dataitem.sign",
            "hashBuffer.toString",
            "item.setSignature",
            "require",
            "signer.setPublicKey",
            "tx.addTag"
          ],
          "funcs": [
            [
              "constructor",
              291
            ],
            [
              "signer",
              587
            ],
            [
              "send",
              995
            ],
            [
              "dataitem",
              1371
            ],
            [
              "bundle",
              1583
            ],
            [
              "nest",
              1695
            ],
            [
              "tx",
              1924
            ],
            [
              "post",
              2379
            ],
            [
              "owner",
              2448
            ],
            [
              "verifyItem",
              2616
            ]
          ],
          "metrics": {
            "ast": {
              "op.land": 1,
              "op.lnot": 3,
              "max_depth": 17,
              "call_count": 37,
              "node_count": 1017,
              "op.coalesce": 6,
              "member_count": 17,
              "max_array_len": 6,
              "op_density.land": 0,
              "op_density.lnot": 0,
              "member_depth_max": 4,
              "op_density.coalesce": 0.01
            },
            "file": {
              "size": 2925,
              "entropy": 4.66
            },
            "text": {
              "lines": 119,
              "top_char": 116,
              "max_ws_run": 1,
              "digit_ratio": 0.01,
              "space_count": 650,
              "char_entropy": 4.66,
              "unique_chars": 72,
              "top_char_null": 0,
              "string_density": 0.2,
              "top_char_ratio": 0.07,
              "avg_line_length": 23.58,
              "max_line_length": 74,
              "empty_line_ratio": 0.08,
              "last_line_length": 1,
              "whitespace_ratio": 0.26,
              "identifier_density": 1.44,
              "line_length_stddev": 18.47,
              "normalized_string_count": 2.2,
              "repeated_char_sequences": 2,
              "normalized_unique_identifiers": 9.14
            },
            "binds": {
              "count": 17
            },
            "binary": {
              "peak_region_bytes": 2925,
              "peak_region_entropy": 4.71
            },
            "source": {
              "function_count": 10
            },
            "imports": {
              "count": 4,
              "relative": 1,
              "stdlib_count": 1,
              "stdlib_ratio": 0.25,
              "relative_ratio": 0.25,
              "third_party_count": 3,
              "third_party_ratio": 0.75
            },
            "strings": {
              "bytes": 201,
              "count": 24,
              "avg_length": 8.38,
              "max_length": 17,
              "path_count": 1,
              "avg_entropy": 2.78,
              "empty_count": 2,
              "entropy_stddev": 0.65
            },
            "functions": {
              "count": 10,
              "density": 8.4,
              "avg_params": 1.2,
              "code_ratio": 0.81,
              "max_params": 3,
              "length_stddev": 4.76,
              "avg_name_length": 6,
              "no_params_count": 1,
              "avg_length_lines": 9.6,
              "max_length_lines": 17,
              "min_length_lines": 3,
              "avg_param_name_length": 19.58
            },
            "identifiers": {
              "count": 171,
              "unique": 63,
              "avg_length": 7.17,
              "max_length": 17,
              "min_length": 2,
              "avg_entropy": 2.46,
              "reuse_ratio": 0.37,
              "length_stddev": 3.33,
              "high_entropy_count": 1,
              "high_entropy_ratio": 0.02,
              "all_lowercase_ratio": 0.68,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 4,
        "mol": "H₂(CrDb)",
        "path": "cwao-0.5.6.tgz!!package/data.js",
        "pid": 145,
        "refs": [
          {
            "to": "./tag",
            "off": 250,
            "file": 155,
            "kind": "local"
          }
        ],
        "risk": 3,
        "sha": "9fd197f26884a95396fd5972d4d660e8f80f7f8a8466870ec4c6bbdfebb9bf7e",
        "size": 2925,
        "traits": [
          {
            "id": "metadata/file/metrics::file-has-30-plus-lines",
            "conf": 0.9,
            "crit": 1,
            "desc": "File has 30 or more lines",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/source::js-ts-source-basename",
            "conf": 0.95,
            "crit": 2,
            "desc": "JavaScript or TypeScript source filename",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/library/runtime::js-module-exports",
            "conf": 1.0,
            "crit": 2,
            "desc": "Exports a JavaScript module",
            "spans": [
              [
                259,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/crypto/hash/digest::javascript-sha256-operation",
            "mbc": "C0029",
            "conf": 0.88,
            "crit": 3,
            "desc": "Performs JavaScript SHA-256 operation",
            "spans": [
              [
                2499,
                19
              ]
            ]
          },
          {
            "id": "micro-behaviors/crypto/hash/digest::node-createhash-sha256-call",
            "conf": 0.94,
            "crit": 3,
            "desc": "Node.js createHash('sha256') call",
            "spans": [
              [
                2485,
                17
              ]
            ]
          },
          {
            "id": "micro-behaviors/crypto/library/provider::require-crypto",
            "conf": 0.6,
            "crit": 2,
            "desc": "require('crypto') call",
            "spans": [
              [
                15,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/serialize/json::result-field-key",
            "conf": 0.9,
            "crit": 1,
            "desc": "JSON-like object result field",
            "spans": [
              [
                1332,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/crypto/hash/digest::node-createhash-call",
            "conf": 0.65,
            "crit": 3,
            "desc": "Node.js createHash call",
            "spans": [
              [
                2485,
                17
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/encode/base64::tostring-base64",
            "conf": 0.8,
            "crit": 3,
            "desc": "Base64 encoding via toString (JS)",
            "spans": [
              [
                2586,
                21
              ]
            ]
          },
          {
            "id": "objectives/credential-access/wallet/keywords::wallet-token",
            "conf": 0.4,
            "crit": 1,
            "desc": "Wallet keyword",
            "spans": [
              [
                309,
                0
              ]
            ]
          }
        ],
        "type": "javascript"
      },
      {
        "ctx": [
          {
            "b": "v@DmaBrC]MAa9^dwMi8JB0b(NjS[=RADL#owHF-PflIwJy\u0026Z^H3s!0(B95KKay/tcv{%Egaz+FcBsXLKvq)+uAb](oaBLv}aAz4kB.L(cc)AXuzdE60dgfN6zGx[xDKp(rxjVfLB-ILwAX4K",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "B1vUvaAqKnA^q22B8#5dzF-%5BAn#uEipV}A+flkx(W=ka$+J*B.bPsa$i\u003cazeS%cy?kkgCYmOwBAnM/ay/j@B8@D]qa@9V3lQE3z/fSrA=\u003e(lz/NmMaA.ZvauZ?\u003exMOuniXJd5z!0i(xM4%liX-SOg+SGZvq][1y:70IdiJ%AarR^HBzbxfe{hhJauZ\u0026\u0026A+(79aBKO7arU9lD2vamxjVf:CQNopefF?GwmWhjDKp(rarU=DC{4CvarR^HarUYoBAIRwasHVxvqf*aBzbxfe]U-IBsqcKwPA66BA/iXazCvqaz#adwGVyIdjD(\u003eCYM84tqft9kr*odB.\u003e\u003e3arR^HEir3dByO#bc$K?IDKp(rarR^HA+funA=91qB.\u003e\u003e3arR^HEf}8tEf{r7ayPtpzET/4wPQ\u003cJlu$\u003ecwo8m5B0$Ecwo6awDKp(rarUGiBrCZDy-\u003e\u003e-zGP=i3lQDlaz+RhaARZwauZ\u0026+B.\u003e\u003e3arR^HBAhTHDKp(rarR^Hv@DmaBrCEtwmV(DayGKsx\u003eeu8CwZ#jaBtktwmPZ(B8@ELao",
            "ln": 188,
            "col": 16,
            "line": 8
          },
          {
            "b": "wozZ1AWVnSAb](bwPI]NayO!\u003eAX5tJz!9A4EjlP]e{8tVau@7ktu}NUarR^HazbLjasI5qBrC-Hz!pbkBTXCW3lQDlarR^HazCBgd0vjYCwZ#je[5p3A+frkau.\u003eJayO!\u003eAW-bT3lQDlarR^HarR!pz/fSraAR48B09Q*Aa9^dwMi8JB0#h:Byw*6dgdguarR^HarR^HB-IpvjS[\u0026PxlbXFA+)vGwPhD]v}v5wtRvuQefDbXdgdguarR^HarR^HBAzswjS(m%vp%TlBAzsaarR^HarR^HarUclwNPuYarR^HarR^HEf}8tarR^HEf}8tarV7Pv{%E?xDOZmdiJ%AarR^HarUfjzGx-jwId!qxddsu3lQDlaBKOtarR!EwPS6nzxK7xy-\u003e(7jS[S+y?$jUaz#sry-\u003e+YDMWALy+cYKA+(\u003eD3lQEt3jm)#vrlZiv\u003c2z}Bw(f/DMWoFz!0v1B1wCxwmPZ(B8@ELdf",
            "ln": 700,
            "col": 36,
            "line": 31
          },
          {
            "b": "BA?\u003cHjS)%m3lQDlaz+Rhay/LmB8M7wjS[S+y?%C3arR!qzY\u003cxlarR^HarUfjzGx[xA+fqmjS[fSvqf*aBzbxftv@1}v{HGne?QNMxlbQDv%8*kz/NolarR^HarUxgasInwB1R3AA=k$EaBsCrarR^HarR!EwPS6nzxKoGBA?\u003cTaz2Olz/N(YA+fqAwPz*fAX5tyB-ILwAV/=qarR^HarV7PwO=B0aBsCrarR^HarR!pB-ILwAV^H/A+fqAv%8!",
            "ln": 2156,
            "col": 9,
            "line": 95
          },
          {
            "b": "aAR\u003cHaBKOtaBKOtayPtpzET/dz/Z1GADL\u0026kC{%\u003e.3lQDlay/tcB95KwB7YLpjS(cWarR^HarU9pvqf*aw[u6]xEE$ox(+[HA+)oHDKp(rarR^HarUJjBzbP6iV]RypG7jped9HxarR^HarUuevpS}\u0026B2\u003eB\u003car\u003cf\u003ezGGDcBs*EqAaHjOar\u003elkAbok#vruj4zzb:Cz/c:wEjLZFarR^HarR!oz!abOawbNdpa*QfA+PA7x\u003ezSsDMWrJwPA5sEjlYOarR^HarV7Ye{7=rzyxJFjW70ee]2DCzyu}.3lQDlasO{Nvrt{gBAg/cB75N2x(v)g3lQDlaAz4nB-IvxDMWAPB2\u003eBXvq)SlA=k[Bb5RsfwG\u0026MOaz(gjB1R3mxjVckefFCBA=VetiV@6DBvgg\u003eA@",
            "ln": 2473,
            "col": 13,
            "line": 107
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "module.exports"
            ],
            [
              "",
              "query_tx"
            ],
            [
              "",
              "url"
            ],
            [
              "",
              "ttl"
            ],
            [
              "",
              "node"
            ],
            [
              "",
              "su"
            ],
            [
              "",
              "query_scheduler"
            ],
            [
              "",
              "tags"
            ],
            [
              "",
              "parseTags"
            ],
            [
              "",
              "url"
            ],
            [
              "",
              "tags.url.replace"
            ],
            [
              "",
              "ttl"
            ],
            [
              "",
              "console.log"
            ],
            [
              "",
              "tx"
            ],
            [
              "",
              "parseTags"
            ],
            [
              "",
              "query_messagesByProcess"
            ],
            [
              "",
              "console.log"
            ],
            [
              "",
              "query_messages"
            ],
            [
              "",
              "console.log"
            ],
            [
              "",
              "query_assignments"
            ],
            [
              "",
              "console.log"
            ],
            [
              "",
              "txs"
            ],
            [
              "",
              "cursor"
            ],
            [
              "",
              "res"
            ],
            [
              "",
              "cursor"
            ],
            [
              "",
              "txs"
            ],
            [
              "",
              "concat"
            ],
            [
              "",
              "console.log"
            ],
            [
              "",
              "msgs"
            ],
            [
              "",
              "fetch.then"
            ],
            [
              "",
              "fetch"
            ],
            [
              "",
              "JSON.stringify"
            ],
            [
              "",
              "r.json"
            ],
            [
              "",
              "map"
            ],
            [
              "",
              "prop"
            ],
            [
              "",
              "getCursor"
            ],
            [
              "",
              "./query"
            ],
            [
              "",
              "./utils"
            ],
            [
              "",
              "ramda"
            ]
          ],
          "mbr": [
            "JSON.stringify",
            "console.log",
            "fetch().then",
            "module.exports",
            "msgs.edges",
            "parseTags().scheduler",
            "r.json",
            "res.cursor",
            "res.error",
            "res.txs",
            "tags.ttl",
            "tags.url",
            "tags.url.replace",
            "tx.tags",
            "v.owner",
            "v.owner.address",
            "v.tags"
          ],
          "tgt": [
            "JSON.stringify",
            "concat",
            "console.log",
            "fetch",
            "fetch().then",
            "getCursor",
            "map",
            "parseTags",
            "prop",
            "query_assignments",
            "query_messages",
            "query_messagesByProcess",
            "query_scheduler",
            "query_tx",
            "r.json",
            "require",
            "tags.url.replace"
          ],
          "funcs": [
            [
              "constructor",
              267
            ],
            [
              "getTx",
              350
            ],
            [
              "getSUByAddress",
              505
            ],
            [
              "getSU",
              1052
            ],
            [
              "getSUByProcess",
              1283
            ],
            [
              "getMessages",
              1543
            ],
            [
              "getMessagesByIds",
              1741
            ],
            [
              "getAssignments",
              1927
            ],
            [
              "getAll",
              2121
            ],
            [
              "post",
              2486
            ],
            [
              "r",
              2691
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 2,
              "op.add": 1,
              "op.lnot": 1,
              "max_depth": 22,
              "call_count": 34,
              "node_count": 970,
              "op.coalesce": 2,
              "member_count": 17,
              "op_density.eq": 0,
              "op_density.add": 0,
              "op_density.lnot": 0,
              "member_depth_max": 3,
              "op_density.coalesce": 0
            },
            "file": {
              "size": 2811,
              "entropy": 4.41
            },
            "text": {
              "lines": 119,
              "top_char": 115,
              "max_ws_run": 1,
              "digit_ratio": 0,
              "space_count": 759,
              "char_entropy": 4.41,
              "unique_chars": 68,
              "top_char_null": 0,
              "string_density": 0.09,
              "top_char_ratio": 0.06,
              "avg_line_length": 22.62,
              "max_line_length": 77,
              "empty_line_ratio": 0.07,
              "last_line_length": 1,
              "whitespace_ratio": 0.31,
              "identifier_density": 1.41,
              "line_length_stddev": 19.03,
              "normalized_string_count": 1.01,
              "repeated_char_sequences": 6,
              "suspicious_identifier_ratio": 0.05,
              "normalized_unique_identifiers": 9.14
            },
            "binds": {
              "count": 15
            },
            "binary": {
              "peak_region_bytes": 2811,
              "peak_region_entropy": 4.5
            },
            "source": {
              "function_count": 10
            },
            "imports": {
              "count": 3,
              "relative": 2,
              "relative_ratio": 0.67,
              "third_party_count": 3,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 154,
              "count": 11,
              "url_count": 1,
              "avg_length": 14,
              "max_length": 44,
              "path_count": 2,
              "avg_entropy": 2.92,
              "empty_count": 1,
              "entropy_stddev": 0.7
            },
            "functions": {
              "count": 10,
              "nested": 1,
              "density": 9.24,
              "anonymous": 1,
              "avg_params": 1.36,
              "code_ratio": 0.84,
              "max_params": 2,
              "one_liners": 1,
              "length_stddev": 4.94,
              "avg_name_length": 10,
              "no_params_count": 1,
              "avg_length_lines": 9.09,
              "max_length_lines": 20,
              "min_length_lines": 1,
              "avg_nesting_depth": 0.09,
              "max_nesting_depth": 1,
              "high_entropy_names": 1,
              "avg_param_name_length": 8.2
            },
            "identifiers": {
              "count": 168,
              "unique": 63,
              "avg_length": 6.49,
              "max_length": 23,
              "min_length": 1,
              "avg_entropy": 2.14,
              "reuse_ratio": 0.38,
              "length_stddev": 4.4,
              "sequential_names": 3,
              "single_char_count": 3,
              "single_char_ratio": 0.05,
              "high_entropy_count": 2,
              "high_entropy_ratio": 0.03,
              "all_lowercase_ratio": 0.79,
              "all_uppercase_ratio": 0.03
            }
          }
        },
        "id": 5,
        "mol": "H₂(Cm₅Db₃)",
        "path": "cwao-0.5.6.tgz!!package/gql.js",
        "pid": 145,
        "refs": [
          {
            "to": "./utils",
            "off": 31,
            "file": 156,
            "kind": "local"
          },
          {
            "to": "./query",
            "off": 225,
            "file": 153,
            "kind": "local"
          }
        ],
        "risk": 5,
        "sha": "5ba67e03144dbecebc955736845dd368e109ffb04c298df1f933c29c011daca8",
        "size": 2811,
        "traits": [
          {
            "id": "metadata/file/metrics::file-has-30-plus-lines",
            "conf": 0.9,
            "crit": 1,
            "desc": "File has 30 or more lines",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/profile/language::lang-english--atom-5",
            "conf": 0.8,
            "crit": 2,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                749,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/profile/locale::i18n-lang-code-js-basename",
            "conf": 0.97,
            "crit": 1,
            "desc": "JavaScript language code basename",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/source::js-ts-source-basename",
            "conf": 0.95,
            "crit": 2,
            "desc": "JavaScript or TypeScript source filename",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/library/runtime::js-module-exports",
            "conf": 1.0,
            "crit": 2,
            "desc": "Exports a JavaScript module",
            "spans": [
              [
                236,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/serialize/json-write::json-object-body-field",
            "conf": 0.9,
            "crit": 3,
            "desc": "Serializes an object into a body field",
            "spans": [
              [
                2644,
                22
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/source/dynamic/reflect::computed-this-method-call",
            "conf": 0.9,
            "crit": 3,
            "desc": "Calls a computed this method",
            "spans": [
              [
                2220,
                11
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/endpoints::loopback-http-url-reference",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a loopback HTTP URL",
            "spans": [
              [
                288,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/header/content-type::application-json",
            "conf": 0.65,
            "crit": 3,
            "desc": "References the application/json media type",
            "spans": [
              [
                2615,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/header/content-type::json-header",
            "conf": 0.9,
            "crit": 3,
            "desc": "References HTTP Content-Type application/json",
            "spans": [
              [
                2599,
                32
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/post::fetch-post-call",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.72,
            "crit": 3,
            "desc": "Sends an HTTP POST request with fetch()",
            "spans": [
              [
                2537,
                39
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::post-method-text",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.94,
            "crit": 3,
            "desc": "Configures an HTTP POST request",
            "spans": [
              [
                2563,
                6
              ],
              [
                2571,
                6
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/payload::fetch-post-json-body",
            "conf": 0.93,
            "crit": 3,
            "desc": "fetch POST serializes a JSON request body",
            "spans": [
              [
                2537,
                5
              ],
              [
                2542,
                103
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/error-handling::catch-returns-constant-only",
            "conf": 0.88,
            "crit": 3,
            "desc": "Catch block only returns a constant",
            "spans": [
              [
                462,
                35
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::http-post-json",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.75,
            "crit": 3,
            "desc": "HTTP POST request with JSON content",
            "uses": [
              8,
              11
            ],
            "spans": [
              [
                2563,
                6
              ],
              [
                2571,
                6
              ],
              [
                2615,
                16
              ]
            ]
          }
        ],
        "type": "javascript"
      },
      {
        "ctx": [
          {
            "b": "v@bN{B0agSaBsCray/tcB98CBv@#Tfd0)7VA+(\u003cYar\u003eGvBz%n]fkLMpvqGQ}B96C$ixe(uaBLWYDKp(rarU=tx(+[HA+(\u003cYaA.Zv3lQEt3jm)#vrlZiv\u003c2z}BsnNXDKp(rarUYoBAIRwayPF5x(\u003eFfwPRA}d0fcpB1RPQy:*#UxK#6fAV^IeaAx8RwQ5qBdjCPDaBKO7arU9lD2vamAbP/tc#B3rdiJ%AarR^HA+funA=91dCvticazbhbv}WojxLzJuB-IpHaBsCrarR^Haz\u003eXixM4Axar\u003cSTq=B}(3lQDlarR!uwNPaXA=Tn:DKp(rarR^HarR\u003c}z/fVdzGEEfD2NssiV]RPAbYScv{%E[z/djDv@#p7ePV2OwNPB1ed9HxarR^HarS%Wv}xR3iV]RPAbYScv{%E[z/djyB8L}ued9HxarR^HEjLZFarR^HaAz47x(W={BugJ*w]zH4z*9xR3lQDlarR!oz!abOaz(gje[X:qqEK+$dj+/GarR!Pdk2ZQwO@]pau.[hAXq9Fz/c%LdgdguEf$xf3t\u003cY(B.\u003eRwwQ5fjA==vBjS)E03i",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "fetch.then"
            ],
            [
              "",
              "fetch"
            ],
            [
              "",
              "r.text"
            ],
            [
              "",
              "fetch.then"
            ],
            [
              "",
              "fetch"
            ],
            [
              "",
              "msg.getRaw"
            ],
            [
              "",
              "r.json"
            ],
            [
              "",
              "module.exports"
            ]
          ],
          "mbr": [
            "fetch().then",
            "module.exports",
            "msg.getRaw",
            "r.json",
            "r.text"
          ],
          "tgt": [
            "fetch",
            "fetch().then",
            "msg.getRaw",
            "r.json",
            "r.text"
          ],
          "funcs": [
            [
              "constructor",
              13
            ],
            [
              "get",
              88
            ],
            [
              "r",
              140
            ],
            [
              "post",
              162
            ],
            [
              "r",
              415
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 16,
              "call_count": 7,
              "node_count": 180,
              "member_count": 5,
              "member_depth_max": 2
            },
            "file": {
              "size": 457,
              "entropy": 4.63
            },
            "text": {
              "lines": 23,
              "top_char": 116,
              "max_ws_run": 1,
              "digit_ratio": 0.02,
              "space_count": 104,
              "char_entropy": 4.63,
              "unique_chars": 49,
              "top_char_null": 0,
              "string_density": 0.26,
              "top_char_ratio": 0.07,
              "avg_line_length": 18.87,
              "max_line_length": 52,
              "empty_line_ratio": 0.13,
              "last_line_length": 19,
              "whitespace_ratio": 0.28,
              "identifier_density": 1.26,
              "line_length_stddev": 16.26,
              "normalized_string_count": 1.25,
              "suspicious_identifier_ratio": 0.05,
              "normalized_unique_identifiers": 4.2
            },
            "binds": {
              "count": 1
            },
            "binary": {
              "peak_region_bytes": 457,
              "peak_region_entropy": 4.63
            },
            "source": {
              "class_count": 1,
              "function_count": 3
            },
            "strings": {
              "bytes": 83,
              "count": 6,
              "url_count": 1,
              "avg_length": 13.83,
              "max_length": 24,
              "avg_entropy": 2.95,
              "entropy_stddev": 0.73
            },
            "functions": {
              "count": 4,
              "nested": 2,
              "density": 21.74,
              "anonymous": 2,
              "avg_params": 0.4,
              "code_ratio": 0.83,
              "max_params": 1,
              "one_liners": 2,
              "length_stddev": 3.71,
              "avg_name_length": 6,
              "no_params_count": 3,
              "avg_length_lines": 3.8,
              "max_length_lines": 11,
              "min_length_lines": 1,
              "avg_nesting_depth": 0.4,
              "max_nesting_depth": 1,
              "avg_param_name_length": 18
            },
            "identifiers": {
              "count": 29,
              "unique": 19,
              "avg_length": 4.95,
              "max_length": 11,
              "min_length": 1,
              "avg_entropy": 2.01,
              "reuse_ratio": 0.66,
              "length_stddev": 2.28,
              "sequential_names": 1,
              "single_char_count": 1,
              "single_char_ratio": 0.05,
              "all_lowercase_ratio": 0.84,
              "all_uppercase_ratio": 0.05
            }
          }
        },
        "id": 7,
        "mol": "H(Cm₆)",
        "path": "cwao-0.5.6.tgz!!package/mu.js",
        "pid": 145,
        "risk": 2,
        "sha": "d1dcc8f72b4397c154093f18026f94f6eb22d6b55417c9451d8042b9b6222326",
        "size": 457,
        "traits": [
          {
            "id": "metadata/file/profile/locale::i18n-lang-code-js-basename",
            "conf": 0.97,
            "crit": 1,
            "desc": "JavaScript language code basename",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/source::js-ts-source-basename",
            "conf": 0.95,
            "crit": 2,
            "desc": "JavaScript or TypeScript source filename",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/client/response-body::fetch-response-body-read",
            "conf": 0.9,
            "crit": 3,
            "desc": "JavaScript fetch reads response body",
            "spans": [
              [
                119,
                33
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/header/accept::accept-json-header",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.95,
            "crit": 3,
            "desc": "Requests a JSON HTTP response",
            "spans": [
              [
                314,
                25
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/endpoints::loopback-http-url-reference",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a loopback HTTP URL",
            "spans": [
              [
                34,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/header/content-type::application-json",
            "conf": 0.65,
            "crit": 3,
            "desc": "References the application/json media type",
            "spans": [
              [
                323,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/post::fetch-post-call",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.72,
            "crit": 3,
            "desc": "Sends an HTTP POST request with fetch()",
            "spans": [
              [
                119,
                115
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::post-method-text",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.94,
            "crit": 3,
            "desc": "Configures an HTTP POST request",
            "spans": [
              [
                221,
                6
              ],
              [
                229,
                6
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::http-post-json",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.75,
            "crit": 3,
            "desc": "HTTP POST request with JSON content",
            "uses": [
              5,
              7
            ],
            "spans": [
              [
                221,
                6
              ],
              [
                229,
                6
              ],
              [
                323,
                16
              ]
            ]
          }
        ],
        "type": "javascript"
      },
      {
        "ctx": [
          {
            "b": "v@bN{B0ayYaBsCray/tcB98CBv@#Tfd0)7VA+(\u003cYar\u003eGvBz%n]fkLMpvqGQ}B96C$ixe(uaBLWYDKp(rarU=tx(+[HA+(\u003cYaA.Zv3lQEt3jm)#vrlZiv\u003c2z}BsnNXDKp(rarUYoBAIRwayPF5x(\u003eFfwPRA}d0fcpB1RPQy:*#UxK#6fAV^IeaAx8HB8L}AdjCPDaBKO7arU9lD2vamBzkP6B97\u0026cA40dTDKp(rarUYoBAIRwayPF5x(\u003eFfwPRA}c$1rEBzbxfe{hhJEj]XRzdN^gvqP%\u003edk2ZQwO@]pau.[hAXq9Fz/c%LdgdguEf{r7ayPtpzET/dA=kD0B8@:Gx\u003eeUnDKp(rarUYoBAIRwayPF5x(\u003eFfwPRA}c$1rEBzbxfe{hhJEj(\u003c)Aa@\u003chu[0ZIxK#6fAV^IeaAx8HB8L}AdjCPDaBKO7arU9lD2vamAb](bwPI{7B0#0wwgnTF3lQDlaAz4nB-IvxvrVc]BrCgbByO#ju)H8vxLzJuB-IqDfk$@Iv}x.5wPGHIDViXfEpaGRBzbl6c#{B[j%j\u003e#yiarhc[cOLarV7t3lQE1B9RUkaAhmuBsq0Exdj%I3lQDlaAz4nB-IvxvrVc]BrCgbByO#jBzbxfe{hhJefGoDarR^HarUJjBzbP6iV]RypG7jped9HxarR^HxK$Q.wPz\u0026MaBsCrarR^HarR^JlVl\u003c:wO#Pwrc-B]b03?\u003cvq{g4x\u003e7N[x(v(xz!0)2Bs?MQA+eV@a$K6zarR^HaBL^FarR^HarUciwo*iUzf6txxjVf.vrTaGed9HxarV7Ye{7=rzyxJFjW70ee]2DCzyu}.3lQEt3vJl*zeS%cy?kkgCYmOwBAnM/ax8nE",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "fetch.then"
            ],
            [
              "",
              "fetch"
            ],
            [
              "",
              "r.json"
            ],
            [
              "",
              "fetch.then"
            ],
            [
              "",
              "fetch"
            ],
            [
              "",
              "r.json"
            ],
            [
              "",
              "fetch.then"
            ],
            [
              "",
              "fetch"
            ],
            [
              "",
              "r.json"
            ],
            [
              "",
              "fetch.then"
            ],
            [
              "",
              "fetch"
            ],
            [
              "",
              "r.json"
            ],
            [
              "",
              "fetch.then"
            ],
            [
              "",
              "fetch"
            ],
            [
              "",
              "msg.getRaw"
            ],
            [
              "",
              "r.json"
            ],
            [
              "",
              "module.exports"
            ]
          ],
          "mbr": [
            "fetch().then",
            "module.exports",
            "msg.getRaw",
            "r.json"
          ],
          "tgt": [
            "fetch",
            "fetch().then",
            "msg.getRaw",
            "r.json"
          ],
          "funcs": [
            [
              "constructor",
              13
            ],
            [
              "get",
              88
            ],
            [
              "r",
              140
            ],
            [
              "timestamp",
              162
            ],
            [
              "r",
              235
            ],
            [
              "process",
              257
            ],
            [
              "r",
              328
            ],
            [
              "processes",
              350
            ],
            [
              "r",
              433
            ],
            [
              "post",
              455
            ],
            [
              "r",
              646
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 16,
              "call_count": 16,
              "node_count": 315,
              "member_count": 4,
              "member_depth_max": 2
            },
            "file": {
              "size": 688,
              "entropy": 4.71
            },
            "text": {
              "lines": 33,
              "top_char": 116,
              "max_ws_run": 1,
              "digit_ratio": 0.01,
              "space_count": 130,
              "char_entropy": 4.71,
              "unique_chars": 49,
              "top_char_null": 0,
              "string_density": 0.21,
              "top_char_ratio": 0.07,
              "avg_line_length": 19.85,
              "max_line_length": 74,
              "empty_line_ratio": 0.18,
              "last_line_length": 19,
              "whitespace_ratio": 0.24,
              "identifier_density": 1.58,
              "line_length_stddev": 21.33,
              "normalized_string_count": 1.22,
              "suspicious_identifier_ratio": 0.05,
              "normalized_unique_identifiers": 3.96
            },
            "binds": {
              "count": 1
            },
            "binary": {
              "peak_region_bytes": 688,
              "peak_region_entropy": 4.71
            },
            "source": {
              "class_count": 1,
              "function_count": 6
            },
            "strings": {
              "bytes": 128,
              "count": 7,
              "url_count": 1,
              "avg_length": 18.29,
              "max_length": 28,
              "avg_entropy": 3.42,
              "entropy_stddev": 0.64
            },
            "functions": {
              "count": 7,
              "nested": 5,
              "density": 33.33,
              "anonymous": 5,
              "avg_params": 0.36,
              "code_ratio": 0.88,
              "max_params": 1,
              "one_liners": 5,
              "length_stddev": 2.23,
              "avg_name_length": 7.17,
              "no_params_count": 7,
              "avg_length_lines": 2.64,
              "max_length_lines": 9,
              "min_length_lines": 1,
              "avg_nesting_depth": 0.45,
              "max_nesting_depth": 1,
              "avg_param_name_length": 10.5
            },
            "identifiers": {
              "count": 52,
              "unique": 20,
              "avg_length": 5.2,
              "max_length": 11,
              "min_length": 1,
              "avg_entropy": 2.06,
              "reuse_ratio": 0.38,
              "length_stddev": 2.52,
              "sequential_names": 1,
              "single_char_count": 1,
              "single_char_ratio": 0.05,
              "all_lowercase_ratio": 0.9,
              "all_uppercase_ratio": 0.05
            }
          }
        },
        "id": 9,
        "mol": "H(Cm₄)",
        "path": "cwao-0.5.6.tgz!!package/su.js",
        "pid": 145,
        "risk": 2,
        "sha": "8b3f0dbea5e0d8613c56d2ffc7dc75521ba85598527905fc4b5e68e68a6c6b7c",
        "size": 688,
        "traits": [
          {
            "id": "metadata/file/metrics::file-has-30-plus-lines",
            "conf": 0.9,
            "crit": 1,
            "desc": "File has 30 or more lines",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/profile/locale::i18n-lang-code-js-basename",
            "conf": 0.97,
            "crit": 1,
            "desc": "JavaScript language code basename",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/source::js-ts-source-basename",
            "conf": 0.95,
            "crit": 2,
            "desc": "JavaScript or TypeScript source filename",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/path::fetch-dynamic-template-path",
            "conf": 0.94,
            "crit": 3,
            "desc": "Fetch URL with dynamic path segment",
            "spans": [
              [
                295,
                26
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/endpoints::loopback-http-url-reference",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a loopback HTTP URL",
            "spans": [
              [
                34,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/post::fetch-post-call",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.72,
            "crit": 3,
            "desc": "Sends an HTTP POST request with fetch()",
            "spans": [
              [
                390,
                137
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::fetch-then-json",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.74,
            "crit": 3,
            "desc": "fetch() response JSON parse",
            "spans": [
              [
                119,
                33
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::js-fetch-call",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.8,
            "crit": 3,
            "desc": "Calls JavaScript fetch API",
            "spans": [
              [
                199,
                30
              ],
              [
                295,
                47
              ],
              [
                390,
                57
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::post-method-text",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.94,
            "crit": 3,
            "desc": "Configures an HTTP POST request",
            "spans": [
              [
                514,
                6
              ],
              [
                522,
                6
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::fetch-post-pattern",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.9,
            "crit": 3,
            "desc": "JavaScript file uses fetch and configures an HTTP POST",
            "uses": [
              7,
              8
            ],
            "spans": [
              [
                199,
                30
              ],
              [
                295,
                27
              ],
              [
                390,
                57
              ],
              [
                514,
                6
              ],
              [
                522,
                6
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/client::http-client",
            "conf": 0.7,
            "crit": 3,
            "desc": "Uses common HTTP client APIs",
            "uses": [
              7
            ],
            "spans": [
              [
                199,
                30
              ],
              [
                295,
                47
              ],
              [
                390,
                57
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/endpoints::loopback-http-target",
            "conf": 0.9,
            "crit": 3,
            "desc": "HTTP request targets loopback address",
            "uses": [
              4,
              10
            ],
            "spans": [
              [
                34,
                16
              ],
              [
                199,
                30
              ]
            ]
          }
        ],
        "type": "javascript"
      },
      {
        "ctx": [
          {
            "b": "v@DmaBrC]Mxl4{kA6!?3aAhvtA4Abwz/f5[BrC#OjS[=RADL#owHF:yvqPK-a$i\u003eez/fSraBtkIvrcB2rafAXaBLv}aAz4kB.L(cc)yn%B-.tlB0r4u3s^)XB8@E6vp{Zf3lQE3z/fSrA=\u003e(lz/NmMaAhvtBz\u003eVcy-\u003e\u003e-b4kylefGaAA+O%1BrAZ?b4kyxr8b52a%qp.aBsCrarR!GxLzJuAb](sz!0Z4auZ\u0026^A=l5rv@De\u003carR^HBzbxfe{pVzx\u003c\u003e[3auZ\u0026\u003cvrc6\u003czGDjdaBKOtayX=2wHIUCAaHEvDKp(rarUYoBAIRwax]f}arR^HaBtkGvqPNpar\u003ch",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "zeS%cy?l%=z/PY6BrC#.3lQDlarR!Naz$R8wJy}TnP5G\u0026Bs/}0v@C)(zF7dAaA?gfB.9PRx(m)jByeP%v@Dx#x(mMaEjLZFarR^HaBtkGvqPNpar\u003cQ7Bz#wAeK:L!zV",
            "ln": 651,
            "col": 39,
            "line": 26
          },
          {
            "b": "t).X%arUYoBAIRway/tcv{%EcByw*6efFCBB98tqdgdguEf}8tB7n({wozZ1AWRnqarR!NaA.ZvauZ?\u003exMOuniXJd5z!0i(xM4%liX-SOhx\u003cW{BAzswjS(EkfFBR0at$[@dJ*S6aBL^FarR^Hv%8\u003cmz/3QWax@b53lQDuaBsCrarR!ywPP5pvp%T7jS)@oarR^HarSo?e{7=vB1Q{gB7D:zq!6GLwozZ1AXf$6v{%E[z/c:Fed9HxarR^HDMWimzdL:J",
            "ln": 790,
            "col": 5,
            "line": 29
          },
          {
            "b": "x(dAkrbTuZx)a5iefGaAy\u0026%qIawN5@vR6NdBAzsFe{82gBAh8kxdbhKEjLZFarR!j3lQDlaAz4nB-Ivxv@Dl{vrr]tvp%Tjay/LnBz(1B3lQEt3lQEgA=kD0B8@:Raz(4cB.\u003eQ",
            "ln": 1035,
            "col": 17,
            "line": 39
          },
          {
            "b": "wozZ1AV/=Y3lQDlaybr%arR!vw/@HozG6-udiJ.vxlbXAB-RjADMWimzdL:Jb1VV\u003eB-X/UaA?gfB.9PRn(FIXe]#bPx(mM$w{C!szG6-udiK3/3lQDlaAz4nB-Ivxv@Dl{vrr]tvp%Tjay/LnBz(1B3lQEt3lQEdwPI{3xjSGrazC.jB-YeSvpKy[z/d9GA+eV\u0026uVf*#C{2l)w)]H%wGVyLay/LnBz(1sjS)%mdiJ%AarR^Hy?mYhByw*6auZ\u0026Ke?N",
            "ln": 1306,
            "col": 39,
            "line": 47
          },
          {
            "b": "arV7tarUrdBx0K8wHIUexlbHADKp(rarUYoBAIRwaAR48B1QBqAaIl^tqftEe{pVtB.7[5aBKOtazC)$vqGT*d0e)gB1wCzz/f8pazb+lv\u003c@KE3lQDlaz+RhaA?gfx\u003eetHaARTDwEoL5arUGiBrCWJAaHdPaARphB1R9pBx0K8wHIUexlbHearR^Hw]zYjc$vgkB95KuazCZov@Dl}diJ%AarR^HarUfjzGx[xBrAZ?Byw*6twEHKarR^HarUfjzGx[xv\u003c0]Sv@Dl}twEHKarR^HarUfjzGx[xy?mGbjS[??koL52y?mG%Bz8^TatscBarR^HazCBgc#rEjauQ=Rtqft!fKk/GD(%?Etqft!f\u003cL[GclNbozxIa=v{pS)tqozjdiJ%AarQ",
            "ln": 2359,
            "col": 1,
            "line": 76
          },
          {
            "b": "3lQDlarR!P3lQDlarR!vw/@HzD2Ntkw/$O/f\u003cL[+jV%]iw{503BzkVha$jTY3lQDlarR^HazbLjasH-rzGx[xB%7ZnaAP4PDKp(rarR^HarR^Hx\u003ewFoa.a.ht{%\u003eGC42ifwHP5JDKp(rarR^HarR^HarU\u0026oy?WA5jS[uBy\u0026:d{arR^HarR^HarR^HvSD3*yyhgbarR^HarR^HEf}8tarR^HarV7tarR^HarV7tarR^HEf}8tarQ",
            "ln": 2706,
            "col": 14,
            "line": 89
          },
          {
            "b": "Aa9^dwHIUexlbHADKp(rarUYoBAIRwaAg+fB7FrVxlbFyvp%Tg3lQEt3vJl*zeS%cy?kkgCYmOwBAnM/axh=Z3i",
            "ln": 4136,
            "col": 3,
            "line": 149
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "tags"
            ],
            [
              "",
              "concat"
            ],
            [
              "",
              "tags"
            ],
            [
              "",
              "Number.toString"
            ],
            [
              "",
              "Number"
            ],
            [
              "",
              "concat"
            ],
            [
              "",
              "tags"
            ],
            [
              "",
              "tags.push"
            ],
            [
              "",
              "JSON.stringify"
            ],
            [
              "",
              "concat"
            ],
            [
              "",
              "tags"
            ],
            [
              "",
              "tags.push"
            ],
            [
              "",
              "JSON.stringify"
            ],
            [
              "",
              "tags.push"
            ],
            [
              "",
              "concat"
            ],
            [
              "",
              "tags"
            ],
            [
              "",
              "Number.toString"
            ],
            [
              "",
              "Number"
            ],
            [
              "",
              "Number.toString"
            ],
            [
              "",
              "Number"
            ],
            [
              "",
              "Number.toString"
            ],
            [
              "",
              "Number"
            ],
            [
              "",
              "Number.toString"
            ],
            [
              "",
              "Number"
            ],
            [
              "",
              "tags.push"
            ],
            [
              "",
              "concat"
            ],
            [
              "",
              "valid"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "valid"
            ],
            [
              "",
              "valid"
            ],
            [
              "",
              "func"
            ],
            [
              "",
              "valid"
            ],
            [
              "",
              "one"
            ],
            [
              "",
              "lte_one"
            ],
            [
              "",
              "zero_n"
            ],
            [
              "",
              "cond"
            ],
            [
              "",
              "tags"
            ],
            [
              "",
              "groupBy"
            ],
            [
              "",
              "groupBy"
            ],
            [
              "",
              "prop"
            ],
            [
              "",
              "type"
            ],
            [
              "",
              "valid"
            ],
            [
              "",
              "parseTags"
            ],
            [
              "",
              "module.exports"
            ],
            [
              "",
              "./utils"
            ],
            [
              "",
              "ramda"
            ]
          ],
          "mbr": [
            "JSON.stringify",
            "Number().toString",
            "item.tags",
            "module.exports",
            "t.length",
            "tags.Type",
            "tags.push",
            "v.length",
            "v.value"
          ],
          "tgt": [
            "JSON.stringify",
            "Number",
            "Number().toString",
            "concat",
            "func",
            "groupBy",
            "groupBy()",
            "parseTags",
            "prop",
            "require",
            "tags.push"
          ],
          "funcs": [
            [
              "constructor",
              107
            ],
            [
              "base",
              225
            ],
            [
              "module",
              403
            ],
            [
              "scheduler",
              830
            ],
            [
              "process",
              1126
            ],
            [
              "message",
              1433
            ],
            [
              "assignment",
              1749
            ],
            [
              "getType",
              2365
            ],
            [
              "isValid",
              2420
            ],
            [
              "validate",
              3084
            ],
            [
              "anonymous",
              3875
            ],
            [
              "parse",
              4136
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 2,
              "op.gt": 1,
              "op.le": 1,
              "op.lt": 1,
              "op.lor": 2,
              "op.mul": 2,
              "op.land": 1,
              "op.lnot": 4,
              "max_depth": 17,
              "call_count": 38,
              "node_count": 1573,
              "member_count": 9,
              "max_array_len": 7,
              "op_density.eq": 0,
              "op_density.gt": 0,
              "op_density.le": 0,
              "op_density.lt": 0,
              "op_density.lor": 0,
              "op_density.mul": 0,
              "op_density.land": 0,
              "op_density.lnot": 0,
              "member_depth_max": 2,
              "max_numeric_array": 2
            },
            "file": {
              "size": 4205,
              "entropy": 4.58
            },
            "text": {
              "lines": 154,
              "top_char": 101,
              "max_ws_run": 1,
              "digit_ratio": 0.02,
              "space_count": 1170,
              "char_entropy": 4.58,
              "unique_chars": 77,
              "top_char_null": 0,
              "string_density": 0.31,
              "top_char_ratio": 0.05,
              "avg_line_length": 26.31,
              "max_line_length": 75,
              "empty_line_ratio": 0.01,
              "last_line_length": 20,
              "whitespace_ratio": 0.31,
              "identifier_density": 1.6,
              "line_length_stddev": 18.83,
              "normalized_string_count": 3.87,
              "repeated_char_sequences": 25,
              "suspicious_identifier_ratio": 0.06,
              "normalized_unique_identifiers": 8.94
            },
            "binds": {
              "count": 21
            },
            "binary": {
              "peak_region_bytes": 4205,
              "peak_region_entropy": 4.69
            },
            "source": {
              "class_count": 1,
              "function_count": 11
            },
            "imports": {
              "count": 2,
              "relative": 1,
              "relative_ratio": 0.5,
              "third_party_count": 2,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 442,
              "count": 48,
              "url_count": 1,
              "avg_length": 9.21,
              "max_length": 22,
              "path_count": 1,
              "avg_entropy": 2.79,
              "entropy_stddev": 0.57
            },
            "functions": {
              "count": 12,
              "nested": 1,
              "density": 7.79,
              "anonymous": 1,
              "avg_params": 1.67,
              "code_ratio": 0.96,
              "max_params": 3,
              "one_liners": 1,
              "length_stddev": 11.31,
              "avg_name_length": 7.36,
              "avg_length_lines": 12.33,
              "max_length_lines": 39,
              "min_length_lines": 1,
              "avg_nesting_depth": 0.08,
              "max_nesting_depth": 1,
              "single_char_params": 2,
              "avg_param_name_length": 20.2
            },
            "identifiers": {
              "count": 246,
              "unique": 65,
              "avg_length": 6,
              "max_length": 16,
              "min_length": 1,
              "avg_entropy": 2.2,
              "reuse_ratio": 0.26,
              "length_stddev": 2.94,
              "sequential_names": 4,
              "single_char_count": 4,
              "single_char_ratio": 0.06,
              "all_lowercase_ratio": 0.75,
              "all_uppercase_ratio": 0.02
            }
          }
        },
        "id": 10,
        "mol": "H₂(CmDb₂)",
        "path": "cwao-0.5.6.tgz!!package/tag.js",
        "pid": 145,
        "refs": [
          {
            "to": "./utils",
            "off": 82,
            "file": 156,
            "kind": "local"
          }
        ],
        "risk": 4,
        "sha": "752a34352a989749cc74967a213da68eddd8e76f0fb66ac830abfafab0a077ff",
        "size": 4205,
        "traits": [
          {
            "id": "metadata/file/metrics::file-has-30-plus-lines",
            "conf": 0.9,
            "crit": 1,
            "desc": "File has 30 or more lines",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/profile/language::lang-english--atom-5",
            "conf": 0.8,
            "crit": 2,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                2507,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/profile/locale::i18n-lang-code-js-basename",
            "conf": 0.97,
            "crit": 1,
            "desc": "JavaScript language code basename",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/source::js-ts-source-basename",
            "conf": 0.95,
            "crit": 2,
            "desc": "JavaScript or TypeScript source filename",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/loop::js-object-key-in-loop",
            "conf": 0.9,
            "crit": 3,
            "desc": "JavaScript iterates enumerable object keys",
            "spans": [
              [
                2507,
                21
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/serialize/json::json-stringify-identifier",
            "conf": 0.85,
            "crit": 3,
            "desc": "Serializes an identifier as JSON",
            "spans": [
              [
                1370,
                14
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/source/syntax/array::temporary-array-element-read",
            "conf": 0.8,
            "crit": 2,
            "desc": "Reads an array element into a variable",
            "spans": [
              [
                2537,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/endpoints::loopback-http-url-reference",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a loopback HTTP URL",
            "spans": [
              [
                854,
                16
              ]
            ]
          }
        ],
        "type": "javascript"
      },
      {
        "ctx": [
          {
            "b": "DKp(rb5Q?awG\u003ceTb4C?9zZ3.tarR\u003eKwPz\u003caz/c:War\u0026G(h7*^hed9Hxb5H+5zx.a:b57}9wQ2?xB0rdxarR\u003eAx\u003e7Z(B7DKRar\u003cJKr3A\u003e2arR\u003eHv@=p5BAnS!aBsCrarR^JAb]J7zGx]dy?$pRar\u0026A\u003eC4CM4z/NHLwPS6la{]CnEjLZFar\u003eucAaJ]$wO#0(wPG4RaBsCrarR^Jvrb?1zE^M{B0rT/b3(@Qf!\u003epma$K6zarR^JvrcN6vrMiaiV]RMf!Lgre?!F23lQDlar\u003e\u0026mzdE60iV]RMfFkave?[KSarV7tEf]",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "^0.11.0",
              "arbundles"
            ],
            [
              "^0.29.1",
              "ramda"
            ],
            [
              "^1.15.0",
              "arweave"
            ]
          ],
          "metrics": {
            "file": {
              "size": 242,
              "entropy": 4.43
            },
            "binary": {
              "peak_region_bytes": 242,
              "peak_region_entropy": 4.43
            }
          }
        },
        "id": 13,
        "mol": "O(S₂)Md(Pa₂)",
        "path": "cwao-0.5.6.tgz!!package/package.json",
        "pid": 0,
        "refs": [
          {
            "to": "pkg:npm/arbundles",
            "off": 164,
            "kind": "dependency"
          },
          {
            "to": "pkg:npm/arweave",
            "off": 192,
            "kind": "dependency"
          },
          {
            "to": "pkg:npm/ramda",
            "off": 218,
            "kind": "dependency"
          },
          {
            "to": "index.js",
            "off": 53,
            "file": 6,
            "kind": "local"
          }
        ],
        "risk": 38,
        "sha": "ca27f75993ecf5d67e86785db2b802ae5d29f3be58c72dc3a099860dc7ab4c73",
        "size": 242,
        "traits": [
          {
            "id": "supply-chain/missing-author",
            "conf": 0.5,
            "crit": 3,
            "desc": "Package has empty or missing author field",
            "spans": [
              [
                0,
                21
              ]
            ]
          },
          {
            "id": "supply-chain/install-hook/preinstall",
            "conf": 0.8,
            "crit": 3,
            "desc": "Package has 'preinstall' hook that runs during install",
            "spans": [
              [
                103,
                14
              ]
            ]
          },
          {
            "id": "metadata/package/quality/empty::npm-has-name",
            "conf": 1.0,
            "crit": 2,
            "desc": "package.json defines a package name",
            "spans": [
              [
                4,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/versioning::npm-has-version",
            "conf": 1.0,
            "crit": 2,
            "desc": "package.json defines a package version",
            "spans": [
              [
                22,
                0
              ]
            ]
          },
          {
            "id": "objectives/supply-chain/install-hook/dropper/native-loader::preinstall-runs-bundled-executable",
            "atk": "T1195.002",
            "conf": 0.85,
            "crit": 4,
            "desc": "Executes bundled payload from preinstall",
            "spans": [
              [
                103,
                14
              ]
            ]
          },
          {
            "id": "metadata/package/manifest/entrypoint::pkg-main-field",
            "conf": 0.6,
            "crit": 2,
            "desc": "package.json declares a main entry point",
            "spans": [
              [
                44,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/manifest/freeform::pkg-skeleton-small",
            "conf": 0.7,
            "crit": 3,
            "desc": "Tiny package.json manifest",
            "spans": [
              [
                0,
                20
              ]
            ]
          },
          {
            "id": "metadata/package/quality/empty::npm-no-keywords",
            "conf": 0.5,
            "crit": 2,
            "desc": "package.json has no keywords"
          },
          {
            "id": "metadata/package/scripts/lifecycle::has-preinstall-script",
            "conf": 0.95,
            "crit": 3,
            "desc": "Manifest declares npm preinstall lifecycle hook",
            "spans": [
              [
                103,
                14
              ]
            ]
          },
          {
            "id": "objectives/supply-chain/install-hook/scripts/lifecycle::has-preinstall",
            "atk": "T1195.002",
            "conf": 0.85,
            "crit": 3,
            "desc": "Has preinstall script hook",
            "spans": [
              [
                103,
                14
              ]
            ]
          },
          {
            "id": "objectives/supply-chain/install-hook/scripts/lifecycle::has-preinstall-raw",
            "conf": 0.88,
            "crit": 3,
            "desc": "Raw content contains preinstall hook",
            "spans": [
              [
                103,
                13
              ]
            ]
          },
          {
            "id": "metadata/package/scripts/lifecycle::install-hooks",
            "conf": 1.0,
            "crit": 2,
            "desc": "Package has install hooks",
            "uses": [
              9
            ],
            "spans": [
              [
                103,
                0
              ]
            ]
          },
          {
            "id": "objectives/supply-chain/install-hook/scripts/lifecycle::sparse-package-install-hook",
            "conf": 0.85,
            "crit": 3,
            "desc": "Sparse package metadata accompanies install hook",
            "uses": [
              11
            ],
            "spans": [
              [
                103,
                0
              ]
            ]
          }
        ],
        "type": "package.json"
      },
      {
        "ctx": [
          {
            "b": "E))420S-r400000000000@$H+0rr91Xp#Km00000kMy=:00000000000000000000kMA+z1opW!000000rr911][S600000000000000000000000000000001Ybg00000)4$^60000001Ybg000000rr911POJ500000000000i^Ez000000i^Ez00000]5pbV00000]5pbV0000001Ybg00000qrq[g1][S60000000000000000000000000000000000000000000000000000000000001onA41onA4aoqDx00000aoqDx00000aoqDx00000l\u0026Wh!00000l\u0026Wh!000001onA4000001onA45c8Xg",
            "ln": 0
          },
          {
            "b": "dK(SAg=dgmWf%S$2Wg!Wz*(:U3b+iadcLeVwm+KO[aEl8vitNJ0tkOz0S@MUBzU$iZ1ng\u003c1\u0026%tJzR]jt}(^{jzGP=iwkAw21oOYaq/vb3uK4)Kw0OlDj#@@PlRmCEPQKsehZz@Sz/M%%k#ZxGk#6{2yej9O2]VYXH?]lS*MkrwC9)aH?tR93NG-]",
            "ln": 30837
          },
          {
            "b": "eN!#%azVDdd7LB$9%hU#fU\u003c[S1SbIRYDNpY1{$.D4mOzgjpR(k%nSb[lUG)hgb6?.z/M$Bi5Ub4g+o+pqDV*}pE^YBW/p\u0026{qY]/$jyJhFA=jiYAaJ{dB8iE7xfI7IE*Qxg4H\u0026*O3jc$y1{Cbi0S^=WzuU*j0MMqZ3Ow.Zao8uS*rZR)0E[O$@@m:tmn\u003e^knGZI\u003co^1p\u003ewozZ1f+=fDaPW5#5r5:R000l*BJ[FEEgtAC1U%]a\u003c@1y8Hx!+)9$e}w.+1-by:6ARF/%%p1\u0026k5O@%6bvF+Ae4@6%pzq+j@V0sfbB{cDr-.43IO1kXLk3MGJuI.hdma]",
            "ln": 333647
          },
          {
            "b": "[BK#r3vJRIurtzZ(qdXt]e#[XnwsWT=*}R+J8Myy[P/]oXd-1u4+g\u0026E]e99kEP^j7do/tc=*%oBtUx3nGT:d\u003c]e%ng:LtN4=3e@qtY74}uQf!2YkHKRvj\u00264^vQoL:-p9jsi5\u003cV%ujGk)\u003em6RQw:Q5QxB5m}h#0\u003en4TR\u003eM4MOnPYkM5MLN.V74=?\u003c44=ldd\u003cca^wL}EE-4.0jC\u003exP+:u]@^O]e$v\u003c4SWwYOsE{%jKpmq-k{P/6ZtiK)dppzJ^-0j=Pw\u0026JasI[]ZqUq*\u003emi}\u003e0!NM+34$H2z\u003eKVKw)L%HIt\u0026cCp(7DALFdJ]O/W9!8*\u0026bjPDkf+H^d?+D%eFOfrL/2Xu\u0026sF!cj*}{{rkLhNV?qGyp#lXvR8r7}U!rDerX\u0026H[C\u003c5)HG3kE4$SI2!*=USkP!/ilcroh}O$n9U6-Ck\u003e(a!\u003eA]kU:/V9\u003c+^V\u003evX2}%z4WXu/JZ9dBX\u003ct45akwEUSnuEbYkDFP?[DqLJ*^@IDeoOLb?L6Z\u0026srPr\u003eEzVAu(m)L4Tv4NY.rD64.g+vN)ccF4/4%q\u00268]Jv5aX^v}v8oiR$=URuySRJ74cEr=*}Uwwy}6:Xdc{z\u003ef{%W4/\u0026fm7.dnKD7Kd787mEbXeUmDyH73:91Eu(a8RM\u003cbe0K7R#dwUpm:S#4W=1Z\u003ejumre6]}24IklN\u003c@nZ4eE\u003c3=e!ewUfKso}O{p4uXh8nYgI/mSyyYn#g.fc{h3/(DjwUMb9c:f\u0026Mfewcl[ZF.faI!V8[:=WV{c\u0026]P]IUx4^9vB=ZnnrCVWHx]lD{^Xs?FE\u003eWdnvn{Z/mQfZ}iH?XL?2K^6JsBuZq4T$1Auy}.@Es\u003esm",
            "ln": 353232
          },
          {
            "b": "E*fx-182gHOm7m$B/Z%E}#uX\u003eo(B]\u003exk.S#A^n^4B.(elAbok#vgrhoE\u003e@OBz/M$Bi5Ub4g+o+pqDV*}pE^YBqY]Md)F?93jyJhFA=jiYAaJ{dB8iE7xfDrS1UIXAaiT:#0w16H17}WhJta@yF^K2qOj}G@M8Pw6J5Jq?gGxdvo/.J8w\u003cl=s5ezGVmgr6pfONt1k\u0026SeBRX82*5uH-",
            "ln": 948844
          },
          {
            "b": "sYw:9qCr6ktMB*8f#ct-B]j!lB]ksL01Ybgup.hLZ\u0026P\u003cm{Y:o\u003eB[p+#nCy?op?T#\u003cso8rcy7KZYklg-:4*vW5C].RjBoBt((*ml5h6@t70iIA^r*E9c0:aT[0rr9\u003eInSK/JxJg0%nN#/ngz\u003eQJwS3-006c+l5BB1L7QQ.qFMkkngAj?nceP^r9-3z!jtkMZ/jWyp{1tZ{YtKr]JjS+[k9at*Cc/vJtp1A003^luhQT%%i+@+Jx)QB^H\u003cp{^Stho\u003eMp",
            "ln": 972476
          },
          {
            "b": "=u69Vnq/[\u003cnqND{oO[cx2Uo\u003eNav}dI5l8$fIrv=K0A!LD0000\u00260MDO9B[5^rtUM@{o]m!y0yo[71ZiwPy6!2a82%Tpp!lBi7^Q#9y6dMG1Z1rFZ.3L7]a8]s.+Z\u003cEsX7WQ[C\u0026Je0RBpB0rr9306{PrwmY{qB7/y\u003c]a8]s0O.X$]tuFcnq3vd5.(]{D\u0026TiE3K)7o[^bo@0SSi2{8^\u0026a0pZ0*]a8]soO)Qu1fIL4%lb9[0sqganqVH5mka^=2s%Bj01Zm-9@BZ(\u003ev$o9]gkYGGfxX",
            "ln": 972744
          },
          {
            "b": "@q.1[^e@K/X-\u003eW0Wah:xKo0+CtG(:tW@o=-}b*^Rir[#\u003c+!(8MA=kCvQ*a-nB7Gf1fj/y}Xiz]RpJ6GEeSB\u0026Ppv4rh)ze+R?/6t?k(-MGwP/Usz2^[ALc4=JQK)\u0026/u!XYD8xT^L3:b57!ami9{*pXNJVl-)UNb)6Kh9^Ws*2g#vok\u003cq2b$@gB9uhaWKOi",
            "ln": 975182
          },
          {
            "b": "aA8oyzE)x\u0026!C*Sw7+Wo*pHv6}p!12ImjY\u003e/0c\u003eWNn={ss0093a03\u003ecNw]xZMra]#!azbt7wGUYday/tbAb]JhB7F(8Cwhejave)$ayPq2xLzT3AV/4qBz%n]flIkUe]$RSzE)]jbNKI%nN%\u003e8k#Hq$h7*Qsavy6^D2^RixMLvBlN:cjixn#Hgb7EwaARpdave)$axh]Xz7V}%y?$j(x\u003eIa3B0av(B7GxnwN)zobNKIK05%@U015Ya00\u0026M803?\u003cUK]LFinS%bi2(\u003c%A0@@rb00030?#rTClQJ)Sc}v3jdiHu6e?)zIgb7Ew",
            "ln": 975415
          }
        ],
        "depth": 1,
        "facts": {
          "tgt": [
            "fcn.002c8829",
            "int.0022b1ba"
          ],
          "funcs": [
            [
              "fcn.001ed745",
              2021189
            ],
            [
              "fcn.001f2e30",
              2043440
            ],
            [
              "fcn.001fa4a9",
              2073769
            ],
            [
              "fcn.0020455a",
              2114906
            ],
            [
              "fcn.0020c3c8",
              2147272
            ],
            [
              "fcn.0020cf19",
              2150169
            ],
            [
              "fcn.00210536",
              2164022
            ],
            [
              "fcn.002106ea",
              2164458
            ],
            [
              "fcn.0021928b",
              2200203
            ],
            [
              "fcn.0021aa0a",
              2206218
            ],
            [
              "fcn.0021d13c",
              2216252
            ],
            [
              "fcn.0021e0a2",
              2220194
            ],
            [
              "fcn.0021e6ca",
              2221770
            ],
            [
              "fcn.0021f5fd",
              2225661
            ],
            [
              "fcn.00222d88",
              2239880
            ],
            [
              "int.0022b1ba",
              2273722
            ],
            [
              "entry0",
              2918072
            ],
            [
              "fcn.002c8829",
              2918441
            ]
          ],
          "metrics": {
            "elf": {
              "bits": 64,
              "entry": 2918072,
              "has_got": 0,
              "has_plt": 0,
              "has_note": 0,
              "note_count": 2,
              "nx_enabled": 1,
              "dynrel_count": 0,
              "dynsym_count": 0,
              "has_build_id": 1,
              "has_eh_frame": 0,
              "no_gnu_stack": 0,
              "symtab_count": 0,
              "dynrela_count": 0,
              "little_endian": 1,
              "pltreloc_count": 0,
              "build_id_length": 20,
              "executable_stack": 0,
              "wx_segment_count": 0,
              "direct_syscall_count": 15,
              "program_header_count": 4,
              "stripped_with_symtab": 0,
              "entry_in_last_segment": 1,
              "executable_segment_count": 1,
              "load_segment_max_file_size": 975602,
              "load_segment_max_memory_size": 1943276,
              "section_relocation_group_count": 0,
              "stripped_metadata_section_count": 8
            },
            "file": {
              "size": 976568,
              "entropy": 7.9
            },
            "binary": {
              "is_pie": 0,
              "is_stripped": 1,
              "basic_blocks": 65,
              "avg_complexity": 2.78,
              "max_complexity": 18,
              "huge_func_count": 0,
              "leaf_func_count": 15,
              "tiny_func_count": 12,
              "avg_basic_blocks": 3.61,
              "peak_region_bytes": 924672,
              "peak_region_entropy": 7.77
            },
            "functions": {
              "count": 18
            },
            "dependencies": {
              "count": 0
            }
          }
        },
        "id": 14,
        "mol": "O(As)H₂(MgOs)Md₃(Bi₄BkHe)",
        "path": "cwao-0.5.6.tgz!!package/vendor/setup",
        "pid": 0,
        "risk": 44,
        "sha": "36abd242ddaa27f0160c539377a0e92cf781c1695137850acc87e3892b436d36",
        "size": 976568,
        "traits": [
          {
            "id": "metadata/binary/header/identity::binary-format-checked",
            "conf": 1.0,
            "crit": 2,
            "desc": "Binary format is identified"
          },
          {
            "id": "metadata/binary/layout/entropy::high-overall-entropy-70",
            "conf": 0.85,
            "crit": 3,
            "desc": "Binary overall entropy at least 7.0"
          },
          {
            "id": "metadata/binary/layout/entropy::very-high-overall-entropy-75",
            "conf": 0.95,
            "crit": 3,
            "desc": "Binary overall entropy at least 7.5"
          },
          {
            "id": "metadata/binary/linking/static::elf-needed-libs-zero",
            "conf": 0.9,
            "crit": 2,
            "desc": "ELF imports zero needed libraries"
          },
          {
            "id": "metadata/binary/section/header::elf64-zero-section-header-offset",
            "conf": 0.95,
            "crit": 3,
            "desc": "ELF64 section header offset is zero",
            "spans": [
              [
                0,
                104
              ]
            ]
          },
          {
            "id": "metadata/file/string/file::tmp",
            "conf": 0.2,
            "crit": 1,
            "desc": "tmp keyword",
            "spans": [
              [
                30885,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                975564,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                333698,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                975487,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                975463,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/mem/create/fileless::syscall-memfd-create",
            "conf": 0.8,
            "crit": 3,
            "desc": "Calls memfd_create syscall",
            "spans": [
              [
                972540,
                14
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/syscall/raw::x64-mmap-syscall-sectionless",
            "conf": 0.9,
            "crit": 3,
            "desc": "x86-64 mmap syscall in sectionless code",
            "spans": [
              [
                972808,
                21
              ]
            ]
          },
          {
            "id": "metadata/binary/header/program::elf-entry-in-last-segment",
            "conf": 0.7,
            "crit": 3,
            "desc": "ELF entry in final PT_LOAD"
          },
          {
            "id": "metadata/build/artifact::stripped-toolchain-comment",
            "conf": 1.0,
            "crit": 3,
            "desc": "ELF omits compiler metadata (.comment)"
          },
          {
            "id": "metadata/hardening/missing::stripped-binary",
            "conf": 0.8,
            "crit": 3,
            "desc": "No full symbol table (likely stripped)"
          },
          {
            "id": "metadata/binary/linking/static::static-linked-heuristic",
            "conf": 0.75,
            "crit": 3,
            "desc": "ELF lacks dynamic linker sections",
            "uses": [
              0
            ]
          },
          {
            "id": "metadata/binary/section/header::elf-no-section-headers",
            "conf": 0.95,
            "crit": 3,
            "desc": "ELF binary without section headers",
            "uses": [
              4
            ],
            "spans": [
              [
                0,
                104
              ]
            ]
          },
          {
            "id": "metadata/binary/linking/static::static-linked",
            "conf": 0.8,
            "crit": 3,
            "desc": "Statically linked binary",
            "uses": [
              3,
              15
            ]
          },
          {
            "id": "metadata/hardening/missing::static-linked",
            "conf": 0.8,
            "crit": 3,
            "desc": "Statically linked binary",
            "uses": [
              15
            ]
          },
          {
            "id": "objectives/anti-static/pack/detect::no-section-headers",
            "atk": "T1027.002",
            "mbc": "F0001",
            "conf": 0.8,
            "crit": 3,
            "desc": "No section headers",
            "uses": [
              16
            ],
            "spans": [
              [
                0,
                104
              ]
            ]
          },
          {
            "id": "metadata/hardening/missing::minimal-hardening",
            "conf": 0.8,
            "crit": 3,
            "desc": "Binary lacks security hardening features",
            "uses": [
              14,
              18
            ]
          },
          {
            "id": "objectives/anti-static/pack/detect::sectionless-elf-with-packing-indicators",
            "atk": "T1027.002",
            "mbc": "F0001",
            "conf": 0.92,
            "crit": 4,
            "desc": "Sectionless ELF with multiple packing indicators",
            "uses": [
              2,
              3,
              15,
              17,
              19
            ],
            "spans": [
              [
                0,
                104
              ]
            ]
          },
          {
            "id": "objectives/anti-static/pack/detect::stripped-packed",
            "atk": "T1027.002",
            "mbc": "F0001",
            "conf": 0.85,
            "crit": 4,
            "desc": "Packed ELF binary",
            "uses": [
              1,
              19
            ],
            "spans": [
              [
                0,
                104
              ]
            ]
          }
        ],
        "type": "elf"
      }
    ],
    "rev": "479f3",
    "v": "8"
  }
}