{
  "llm": {
    "conf": 0.9984745,
    "grade": "hostile",
    "model": "Qwen/Qwen3.8-27B",
    "before": {
      "lvl": 20000,
      "prob": 0.9977231,
      "class": "benign"
    },
    "outcome": "hostile",
    "interpretation": "curl-to-bash, hidden payload, new package"
  },
  "ml": {
    "v": "7",
    "eng": "2.12.0-beta.0",
    "lvl": 25,
    "conf": 92,
    "mods": [
      {
        "cls": 0,
        "raw": 0.9977231,
        "rte": "az",
        "prob": 0.9977231
      },
      {
        "cls": 0,
        "raw": 0.99895656,
        "rte": "az/npm",
        "prob": 0.99895656
      }
    ],
    "prob": 0.9984745,
    "files": [
      {
        "id": 0,
        "lvl": 25,
        "conf": 92,
        "prob": 0.9984744787216187,
        "type": "npm"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.0016321539878845215,
        "type": "javascript"
      },
      {
        "id": 3,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000009437401786271948,
        "type": "javascript"
      },
      {
        "id": 4,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000009437401786271948,
        "type": "javascript"
      },
      {
        "id": 5,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000014821688637312036,
        "type": "package.json"
      },
      {
        "id": 6,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000015109777450561523,
        "type": "markdown"
      },
      {
        "id": 7,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000014781951904296875,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-17T04:07:46Z"
  },
  "path": "sidekick-widget-0.4.0.tgz",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "abZy8000000@}TH/((atMu?Q]LO59AV}lvxcb?3i{rTB?Tf6t)/(mT)eRllIGO.o.l[]3\u0026}T?WMZ!BHD+rjb9y\u0026w]d@/T?3hwwXMCf:Ytpr\u003eNQzbNsjtx!#85zLHOP3V6f",
            "ln": 0
          }
        ],
        "mol": "O₂(C₃S₃)H₇(Cm₆Cr₃Db₇F₁₀Os₅Po₁₀U)Md₄(BkInPa₄Pt)",
        "sha": "729ebf9b82e6985fc7bb232c9b9bf5d9f6cc6cad6061284cf256297a08e01889",
        "path": "sidekick-widget-0.4.0.tgz",
        "risk": 261,
        "size": 5648,
        "type": "npm",
        "facts": {
          "metrics": {
            "file": {
              "size": 5648,
              "entropy": 7.96
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 5648,
              "peak_region_entropy": 7.8
            }
          }
        },
        "ident": {
          "name": {
            "value": "sidekick-widget",
            "source": "npm.name",
            "verified": false
          },
          "urls": [
            {
              "url": "https://wingman.sidekick-ads.com",
              "kind": "homepage",
              "source": "npm.homepage"
            }
          ],
          "trust": "unsigned",
          "version": {
            "value": "0.4.0",
            "source": "npm.version",
            "verified": false
          },
          "identifier": {
            "value": "sidekick-widget",
            "source": "npm.name",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "metadata/file/string/file::tmp",
            "conf": 0.2,
            "crit": 1,
            "desc": "tmp keyword",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/pipeline::curl-pipe-shell-text",
            "atk": "T1059.004",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a curl- or wget-to-shell pipeline",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/module-exec::module-leading-promise-chain-call",
            "conf": 0.84,
            "crit": 3,
            "desc": "Leading promise-chain call at module scope",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "supply-chain/missing-author",
            "conf": 0.5,
            "crit": 3,
            "desc": "Package has empty or missing author field"
          },
          {
            "id": "micro-behaviors/data/control-flow/module-exec::js-synchronous-iife-close",
            "conf": 0.86,
            "crit": 3,
            "desc": "Calls a parenthesized function expression",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/path/agent-config/file::ai-agent-config-file-target",
            "conf": 0.94,
            "crit": 3,
            "desc": "Targets an AI coding agent config file",
            "from": [
              {
                "off": 10970,
                "file": 1,
                "line": 205
              }
            ],
            "uses": [
              57
            ]
          },
          {
            "id": "micro-behaviors/os/sysinfo/platform/runtime::process-platform-member",
            "conf": 0.8,
            "crit": 3,
            "desc": "Reads the Node.js process.platform value",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/write/file/full::js-file-write",
            "conf": 0.9,
            "crit": 3,
            "desc": "JavaScript file write operation",
            "from": [
              {
                "file": 1
              }
            ],
            "uses": [
              18
            ]
          },
          {
            "id": "micro-behaviors/crypto/library/provider::key-object-create",
            "conf": 0.7,
            "crit": 3,
            "desc": "Node crypto key object creation",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/os/sysinfo/platform/runtime::process-platform-content",
            "conf": 0.7,
            "crit": 2,
            "desc": "References the Node.js process.platform value",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/crypto/hash/digest::javascript-sha256-operation",
            "mbc": "C0029",
            "conf": 0.88,
            "crit": 3,
            "desc": "Performs JavaScript SHA-256 operation",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/path/agent-config/directory::claude-config-directory",
            "conf": 0.9,
            "crit": 3,
            "desc": "Claude Code config directory path",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/analysis::js-conditional-matcher-call",
            "conf": 0.88,
            "crit": 3,
            "desc": "Calls a matcher in a conditional expression",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/os/env/platform::node-appdata-access",
            "conf": 0.9,
            "crit": 3,
            "desc": "Node reads Windows APPDATA directory",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/download/curl::curl-silent-fail-flags-text",
            "atk": "T1105",
            "conf": 0.86,
            "crit": 3,
            "desc": "curl text contains silent or fail flags",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/spawn::spawn-call",
            "atk": "T1106",
            "conf": 0.9,
            "crit": 3,
            "desc": "Calls imported Node child_process spawn",
            "from": [
              {
                "file": 1
              }
            ],
            "uses": [
              31,
              33
            ]
          },
          {
            "id": "micro-behaviors/fs/write/file/stream::create-write-stream",
            "conf": 0.8,
            "crit": 3,
            "desc": "Creates a write stream",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/data/archive/extract/tar::node-spawn-tar-extract",
            "atk": "T1560.001",
            "conf": 0.94,
            "crit": 3,
            "desc": "Node spawns tar to unpack an archive",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/chmod/modify::node-chmod-call",
            "conf": 0.85,
            "crit": 3,
            "desc": "Node calls chmod to change permissions",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/daemonize/detach::node-handle-unref-text",
            "mbc": "F0011",
            "conf": 0.86,
            "crit": 3,
            "desc": "Detaches a handle with unref()",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/directory/mkdir::mkdir-sync-call",
            "conf": 0.85,
            "crit": 3,
            "desc": "Creates a directory synchronously",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/json::module-execution-http-call",
            "conf": 0.95,
            "crit": 3,
            "desc": "Module initialization calls an HTTP client"
          },
          {
            "id": "micro-behaviors/crypto/hash/digest::digest-method-call",
            "conf": 0.8,
            "crit": 3,
            "desc": "Calls a digest() method",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/domain::js-remote-host-url",
            "conf": 0.75,
            "crit": 3,
            "desc": "Contains a hardcoded remote HTTP(S) URL",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/download/curl::http-download-shell-launch-literal",
            "atk": "T1105,T1059",
            "conf": 0.96,
            "crit": 3,
            "desc": "HTTP download followed by shell launcher literal",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/spawn::stdio-ignore",
            "mbc": "F0005",
            "conf": 0.85,
            "crit": 3,
            "desc": "Spawns a child with standard I/O ignored",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/exec::node-execfile-reference",
            "atk": "T1059",
            "conf": 0.86,
            "crit": 3,
            "desc": "References Node execFile API",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/system::js-execfile-call",
            "atk": "T1059",
            "mbc": "E1059",
            "conf": 0.88,
            "crit": 3,
            "desc": "Executes file via Node.js execFile",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/import/builtin::require-child-process",
            "conf": 0.8,
            "crit": 3,
            "desc": "require() of the child_process module",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/build/ecosystem::artifact-integrity-verification-routine",
            "conf": 0.95,
            "crit": 3,
            "desc": "Checks artifact integrity before use",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/spawn::bare-spawn-call",
            "conf": 0.75,
            "crit": 3,
            "desc": "Bare spawn function call",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "objectives/command-and-control/dropper/delivery/fetch-eval::json-cookie-hidden-stage-options",
            "atk": "T1105",
            "mbc": "E1105.016",
            "conf": 0.97,
            "crit": 3,
            "desc": "JSON cookie contains hidden stage",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/bridge::js-execfilesync",
            "conf": 0.9,
            "crit": 3,
            "desc": "Executes a file synchronously",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/spawn::detached-true",
            "atk": "T1059",
            "mbc": "F0011",
            "conf": 0.85,
            "crit": 3,
            "desc": "Detached process spawn option",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/data/string/conversion::tostring-token",
            "conf": 1.0,
            "crit": 3,
            "desc": "References the toString conversion method",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/terminate/command::js-taskkill-force-command",
            "conf": 0.9,
            "crit": 3,
            "desc": "JavaScript force-kills a Windows process",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/variable-spawn::spawn-variable-program",
            "conf": 0.82,
            "crit": 3,
            "desc": "Node spawns a variable program path",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/data/string/conversion::tostring-call",
            "conf": 0.94,
            "crit": 3,
            "desc": "Calls JavaScript toString conversion method",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/data/runtime/keywords::pipe-to-bash",
            "conf": 0.88,
            "crit": 1,
            "desc": "Pipe to bash interpreter token",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "objectives/command-and-control/dropper/execution/stealth-spawn::node-detached-remote-shell-loader",
            "atk": "T1059.004,T1059.007,T1105,T1195.002",
            "mbc": "B0024,F0011",
            "conf": 0.95,
            "crit": 5,
            "desc": "Detached spawn runs curl-piped-to-shell loader",
            "from": [
              {
                "off": 10368,
                "file": 1,
                "line": 189
              },
              {
                "off": 388,
                "file": 6,
                "line": 10
              }
            ],
            "uses": [
              2,
              56
            ]
          },
          {
            "id": "micro-behaviors/data/decode/symbol-base64::buffer-from-base64",
            "conf": 0.8,
            "crit": 3,
            "desc": "Base64 decoding via Buffer.from (JS)",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "objectives/supply-chain/hidden-payload/extensions/vscode::node-install-sh-url-path",
            "conf": 0.86,
            "crit": 3,
            "desc": "Remote install.sh URL path construction",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/crypto/hash/digest::node-createhash-call",
            "conf": 0.65,
            "crit": 3,
            "desc": "Node.js createHash call",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/crypto/hash/digest::node-createhash-sha256-call",
            "conf": 0.94,
            "crit": 3,
            "desc": "Node.js createHash('sha256') call",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/write/file/full::node-write-file-sync-call",
            "conf": 1.0,
            "crit": 3,
            "desc": "Node calls imported writeFileSync",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/bridge::child-process-destructure-require",
            "atk": "T1059",
            "mbc": "C0017",
            "conf": 0.85,
            "crit": 3,
            "desc": "Destructures APIs from Node.js child_process",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/lang/encoded/unicode-escape::ansi-escape-sequence",
            "conf": 0.98,
            "crit": 3,
            "desc": "ANSI color escape sequence encoded",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/path/app-data::javascript-appdata-directory-reference",
            "conf": 0.7,
            "crit": 3,
            "desc": "JavaScript references the AppData directory",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/spawn::windowshide-option",
            "conf": 0.85,
            "crit": 3,
            "desc": "Node.js windowsHide spawn option",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/package/entrypoint::bin-field-declared",
            "conf": 0.95,
            "crit": 3,
            "desc": "Manifest declares a bin entry"
          },
          {
            "id": "micro-behaviors/time/query::js-triple-date-now",
            "conf": 0.4,
            "crit": 3,
            "desc": "3+ Date.now() calls",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/spawn::detached-ignored-unref-spawn",
            "conf": 0.9,
            "crit": 3,
            "desc": "Spawns detached child and calls unref()",
            "from": [
              {
                "off": 6842,
                "file": 1,
                "line": 118
              }
            ],
            "uses": [
              22,
              28,
              36
            ]
          },
          {
            "id": "micro-behaviors/fs/path/agent-config/file::claude-project-settings-path",
            "conf": 0.96,
            "crit": 3,
            "desc": "Claude Code project settings path",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/read/file/full::readfilesync-call",
            "conf": 0.9,
            "crit": 3,
            "desc": "Calls readFileSync",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/info/commandline::check-argv",
            "conf": 0.8,
            "crit": 3,
            "desc": "Reads Node.js arguments through process.argv",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/ui/terminal::ansi-erase-op",
            "conf": 0.86,
            "crit": 3,
            "desc": "ANSI erase-line/erase-screen sequence",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/os/env/user-paths::node-localappdata-access",
            "conf": 0.9,
            "crit": 3,
            "desc": "Node reads Windows LOCALAPPDATA directory",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/package/files/package-json::files-array-present",
            "conf": 0.92,
            "crit": 3,
            "desc": "Package.json declares a files allowlist"
          },
          {
            "id": "micro-behaviors/fs/write/file/target::agent-config-file-mutation",
            "conf": 0.93,
            "crit": 3,
            "desc": "Writes or copies an AI agent configuration file",
            "from": [
              {
                "off": 12164,
                "file": 1,
                "line": 232
              }
            ],
            "uses": [
              6,
              8,
              18,
              49
            ]
          },
          {
            "id": "micro-behaviors/data/llm/agent::agent-identity-claude",
            "conf": 0.8,
            "crit": 3,
            "desc": "Claude agent identity reference",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/chmod/executable/mode::node-chmod-exec-mode-755",
            "atk": "T1222",
            "mbc": "E1222",
            "conf": 0.9,
            "crit": 3,
            "desc": "Node chmod sets 0o755 executable mode",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "objectives/supply-chain/hidden-payload/runtime::node-base64-buffer-decode",
            "atk": "T1027",
            "conf": 0.88,
            "crit": 3,
            "desc": "Node decodes a base64 buffer",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/crypto/hash/digest::hash-object-digest-call",
            "conf": 0.88,
            "crit": 3,
            "desc": "JavaScript hash-object digest call",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/data/decode/base64::base64-decode-call-text",
            "conf": 0.86,
            "crit": 3,
            "desc": "JavaScript invokes a Base64 decoder",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/crypto/asymmetric/signature::signable-artifact-name",
            "conf": 0.95,
            "crit": 3,
            "desc": "Checksum manifest or detached signature filename",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/directory/mkdir::recursive-mkdir-sync",
            "conf": 0.9,
            "crit": 3,
            "desc": "Creates a directory tree synchronously",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/os/privilege/check::source-privileged-account-reference",
            "conf": 0.86,
            "crit": 3,
            "desc": "Source references a privileged account",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "objectives/command-and-control/dropper/execution/pipe::curl-pipe-install-sh-url",
            "conf": 0.86,
            "crit": 3,
            "desc": "Remote install.sh URL in shell pipe",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/data/decode/base64::multiple-node-base64-decodes",
            "conf": 0.8,
            "crit": 3,
            "desc": "Multiple Node.js Base64 decodes",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/package/files/included::package-json-basename",
            "conf": 0.95,
            "crit": 3,
            "desc": "Filename is package.json",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/pipeline::pipeline-terminates-in-shell",
            "atk": "T1027,T1059.004",
            "mbc": "B0032",
            "conf": 0.8,
            "crit": 3,
            "desc": "Pipeline terminates in a shell",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/bridge::child-process-keyword-literal",
            "atk": "T1059",
            "conf": 0.9,
            "crit": 3,
            "desc": "child_process module name literal",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/process/io/stream::node-stdout-reference",
            "conf": 0.8,
            "crit": 3,
            "desc": "References Node.js stdout stream",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/user-agent::non-mozilla-user-agent-header",
            "conf": 0.9,
            "crit": 3,
            "desc": "Sets a non-Mozilla User-Agent header",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/curl::curl-command-remote-url",
            "conf": 0.85,
            "crit": 3,
            "desc": "curl command names a routable remote URL",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/tasking::http-task-liveness-field",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.9,
            "crit": 3,
            "desc": "Structured object contains a liveness field",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "micro-behaviors/os/env/package-manager::npm-build-env-windows-profile--appdata",
            "conf": 0.9,
            "crit": 3,
            "desc": "npm build Windows profile env (APPDATA)",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/package/documentation/package-metadata::npm-name-matches-readme-heading",
            "conf": 0.9,
            "crit": 3,
            "desc": "README heading matches the npm package name"
          },
          {
            "id": "objectives/supply-chain/trojanized/package::fresh-npm-package-remote-shell-loader",
            "atk": "T1195.002,T1059.004,T1059.007,T1105",
            "mbc": "B0024",
            "conf": 0.99,
            "crit": 5,
            "desc": "Fresh npm package ships remote shell loader",
            "from": [
              {
                "off": 10297,
                "file": 1,
                "line": 186
              },
              {
                "file": 7
              }
            ],
            "uses": [
              44
            ]
          }
        ]
      },
      {
        "ctx": [
          {
            "b": "boXZ.B8\u0026{yx(kOnzGWduz!9z^fdFBUasXHPx\u003eg^\u003cx\u003e7{gCwgP2wPP%Qx(n0lvqG:5vqYP#y*?E7v}V#^x(mN2vqWhovTf7{x\u003eg^\u003cx\u003e7{ce^-ZJ3lQ/vmRcWKxK#lcBzbkdB7]o8wN({7wO+{^B7DFhvqY^\u003ewPI@AaA?spx\u003ez6\u003cB0bNrwGUA4v}YO1wH[%DzG62]yJyRjBrCpnBz\u0026pg3lQ/vAaK5wB-Rbmaz+$avruj4zxJw9wft@nvrcEhaARpdayPkdaA}KwxDO(UB7GDoA3cMJxK@q{AbV}pwPzA{B0bgsB09?^vrD9(3lQ/vlVlHDaztXiyJyRjzGG!tELir-y*?D%wInaoBAzkmxlbXuB8L}Be*a8nvSMa2B.bDjaA.Tlvru74ayPq4ayPkdy?WD\u003eayYQ6asXHQxK@q{AbV}lBAq2fw?CilB-8niBAILgaAITkA==vBBzbkdx(n0lvqG:\u003ewftr1A3fvsBz8^GeP\u003e@LwPS6lazC.mBy!(\u003ee^-ZJfa5[CB7DFnBAh89BrS^Nv@DmaBrC]Mv@=c?By!0KB7^9Ev@=c?By!o\u003evR/:*oj-x1aA?spx\u003ezSkEipV}A+flkx(W=kb5RsfwJBswD2N\u003eza$kOXv@DmaBrC]MvpJ!UB8$o9zEUjuv@DmaByx6eB1wCzA+eW3wMJ[^By!x)A+eV@efFIGx(!xqq*Am\u003cefF!Bwnc6.D2vayaAz44wjyoHwM9\u003e(v\u003en:ywO${[wM5",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "wmW/uB0r4{3s!0(B95KKazL?ezy=]tvrl0$vqPM#EipV}A+flkx(W=kb5RsfwJB^sBz8\u003cEi%]FozGx[xDMV)AwN!hzy?lK\u003czEUjuB8UMizxKuIjS[=RADL#owHF:uz!9Auv}YN)wm6p@z!0v1B0r4{3s!0(B95KKaw#=Vwmn}-wH[%6A:-\u003cbw]zZbaBLv}aAz4kB.L(cc)ALEwmW/yBAg@3z6yz\u003c3s!0(B95KKaAh4lwO=6#wGVyzjS[=RADL#owHF:uz!9AuB98ClvqNVpA=k/eB7Gzpdlv(Dz/fSrawCd7uQmNSnj=\u0026JuQv){mn\u003er(at+=aasXG*fFUEcdJ*D1gbI613s!0(B95J]mmxP!jS[Y:z!0v1B1R3wB$M\u0026/pdF2Apg40$l{T^vuQ^EMl)c(8ar\u003eGvBz#pZfe4J-zF9/{zz30AwmYK\u003cv@0V8wofwkz/4dFwO+{^B7Gzpi%]FozGx[xp/P?QnKD\u0026TmoJ$:hz=Ktar\u003cJEz*aJBsWU[rr^c\u0026Pml@\u003c.mknKEizKV{v@lc-q.Z%*fG0PWzfPFWqB\u003eLBt3sQgvQ@kLzfwuvi6wDE3s!0(B95Kzy*?A$z/PXqjS[Y:z!0v1B1RAFvrua1A=0(Bv@DmaBrCvgC{2l)u)H8ry*?A$z/PYyeHkWZA=kD0B8@%xA:@^hu][Y5fe1EcLZ}+TFfn@BA=2JdvqE5%A+frkx(mMac#J@CwmYZ\u003ezE^r@v}/H}j0nGUvqfQ4By/YsaA}HgzxJ?nBrC0mr8^0HaMwSo\u0026/[%2v@DmaBrCWEC{2l)Ab](bwPI]BB97@hB-YlIB5VawasnATa-IEuv}x.5e[F{ze(2hHlR*xKqACj}z/fSray=JSasH-rwmWqmB15j{j%hm}BA[#[ayFD0f\u003eaujDT*#8wQOzvDVKQuCRJVifL$huiV@F)i%]FozGx[xpF%FNm[1K-ar\u0026Q3j2G8PfGpmcavF^}auZ?\u003eg9Om(lqHoyauZ?\u003ef^nd\u003em]z=Ap9qXxa#p$#efE?Vl)aSna#p}$efEq.k#5K=ar\u0026Q1b0ccwz/fSrayYw1zE:\u003eMay=/}qBa5FmjYM9\u0026*^m$diHb",
            "ln": 691,
            "col": 40,
            "line": 13
          },
          {
            "b": "jS(d{wQ5qCau.[hAb](bwPI]BB97@hB-YlWA+PSbc$1eubZT2Hl}H97ar]*hXfrwIas8qQwQ5rBu[1eAv@DmaBrCHqauZ?}By/YsdiH=qaAhvtv}x.5e]#bBz/{dOCxdztwHH}\u003eA:i\u0026zvP$PXarR}Rv\u003c\u003c\u0026Bmmx%5ar]*nLoID7as8qQwQ5rBtY9{#i%]FozGx[xw)]y\u0026auZ?}By/YsdiH=qaAhvtv}x.5e]#bBz/{dOCxdztwHH}\u003eA:i\u0026zvP$PXarR}Rv\u003c\u003ekzl[xD8\u0026*=tVdsAr:DVS?zBBvziu[1eAv@DmaBrCBfauZ?}zyDX\u003ej%hm\u003eatj\u0026(fF\u003e:Dh-r9qBz\u003cS.CX7zlf!2f\u003ew{503BzkVhayX+%zE)\u0026pdiJ%AarUxgasFyLA=kD0B8@%BzGWTlnLR=Ik#7=ZpHuBOpejkQdiJbszGx-jwId!qxddd)zx%NrA:-\u0026@EoZUjas8qzc}3T3efDcBay]58yJKGlay/tbAa9S#z/cXfz/M%/y*?D%wGTuUwmV((zE:\u003eSz!9B7a$m}BzEs[P3vJm[B-7Yhx(v(ivScGty?W=#B15kU3lQE3z/fSraA[}\u003eawDo^xFadgCQLf%e]kltwPGFvvq)Ryy:*F\u0026j%jU]A+fiavpJ\u003c%fi\u0026-RvQ9bwfFbpDt}fXAxdLeHa$kcXwO#d5xELwMd\u003ccVg3lQE3z/fSraARKvauZ\u0026Sc}3T3efDd@M8#kMd\u003cc4}LZ\u003c@gA+fi3vrr]wdiHb-bi1(\u003ca$k5=vScvgz/3QWay=//nLH-Ubi1((a%nxUbi1\u0026qa$^[EAaJE1d0E9.d\u003cc4}M9hwXi%)8Mv@Dmaz!@#qy\u0026r@mb3Y1fas!NRz/vc!3lQE6z/M%Gv@DmaBrCxxz!pbdx(mH6diJ%AarR^Hv@DmaBrCKhwfs2TCowEWg9wd\u003ey+x:tAbn@)wHGipCRJVjtu-^kixHH@z7/JMar\u00260Ue]k9pxlm/G3lQDlay/tcB8L(ae]kDsc$sU[nLH-Ubi1\u0026sa$jS+ar?{Las!NJas!MUar\u0026BUwPhi?Bsq9pwgnSKar?{Las!NAc}3T3efDd@L.78ddlv\u003eVaBKOtay/tcB8L(ae]kDsc$mapBz(1sd\u003cc3vzxZI\u003e3vJl*y?mYhzdc{xx(UsVaz#sry=.$SdK(L]l2Z^Vx\u003e7N[x(v)gaA}HgzxK4mwGVbpwPw]gvr\u0026#tA+PSbaARpdA+cvwvpTj?zxJv$v@DHcBAnNmvqWRszF{UsB.2zkzE)x\u0026wN)kvaz2wgwGVBPl2Z^Vx\u003e7N[x(v)ge^-ZJavf(/wQ4{gBzkS9azC.mByx04aAITkD2\u003e9LxK#i}azC{ux(+zrzY\u003cgwwmoN\u003eB0a[ewft\u00265A=2JiB7]MgB0bmfwPe=hzV",
            "ln": 1613,
            "col": 12,
            "line": 30
          },
          {
            "b": "vpIYtAYTQJay/tcB95KCD2[7sz6g$:a$(l3Abok#vruj4zGv0MaA.:pAV^H/yhW*7c$)KowN]H}c[cX\u0026b0*f!y?Wx/BzkVhB0r4{3lQE6z/M%Gv@DmaBrC9pz!pa@B9R?GwO\u0026$vB-Rbmt}3[gw/@HkCXIkvB5Nv4v\u003c(8gx(ktfefEkPp*VK?pdd=AdjDx!D)00Bx(!xqq*Am\u003cc#9Wmzyx3DawUW0uQv:/l}*2#djDxWwPS6nzxHuAvpIYtAV^H/wgoOEarU=DC{4CRvpJ!UB8$o9zu",
            "ln": 2768,
            "col": 23,
            "line": 52
          },
          {
            "b": "aAz4nB-Ivxzdc{xx(VoxEf%OezEW^5z/cXizGx]dy?#HNAWSvVDKp(rx\u003ewFoAbn%8w]zZbau.\u003eJar\u003eu8A^8kna$jTPwPS6nzxJ!8v)L6Ml${V\u0026dlv\u003eVazCBgc#:0hBy]Diz6g#8jS\u003e})x(kZZa$jTPwPS6nzxJXjx(ktrA=kD0B8@%BzGWTapEvAwk#pxCk#Zb)E0^5Kz!T8qxM4:0wnc6jdj=O=l2Z^hvrt{4efDcgz!0i(a$k5=b2Aq#xl4A$B0rdTb3eF@xkI6{a$kOXarUYoBAIRwazL?ezyxgpzdNl(AWSv/ar\u0026BOz!0i(a$K\u0026Xz/x!xefDcXx(mN2vqWnri%{xyv@DmaBrA\u003eCp*VK?pdd=AauZ?\u003eq!Y=NyIvo]axJn{xkI5",
            "ln": 3065,
            "col": 2,
            "line": 56
          },
          {
            "b": "AWSv/ar\u003cG[vSC)$C{j^Zb0*f!y?Wx/BzkVhax9A4AbP=sa$jS}aAhd9By]Diz6g#8jS\u003e})x(kZZa%o8)Ab](bwPI]BwO#Vzk#pxCk#Zb)E0^5Kz!T8qxM4:0wnc6jdj=O=l2Z^hvrt{4efDcmz^^G%zF7dxauyS:A=kD0B8@%BzGWTml}pPKpFKwJm{!!.o*{gLD)0fxx(ktjz/65@x(UQJefDb?v@Dl%x\u003eFRsi%)8MA+funA=91mz!T8qvQTs?efDcrx(mN2vqWnuar\u003eJqB97\u0026by?mcfyiarha$kOXEf{r\u0026B9RUkazb+lv@#B6zxJL5ByO#JB.i4AA+)fEDKp(rv@DmaBrCQnB09Q*vrVc]BrCgbByO#jB-IpHaBtkLx\u003eIr(y=SX8vScpeq!Y(ZvqEMrx(dB1B-Y2!fKDH/fEXK}A+e=}A+e:5iV]RUz!%ldCoONXxK$Q.wPz\u0026MaBtjPB-RbmeN-p6zGE6-ar\u003e(vwmYK\u003cv@0Vux\u003eg\u003c/Bs?iAB97\u0026by?mShaBLwXdlv\u003eVazCBgc)rRxB1RxDdiJ.CA=ldAzE[2mmriA!AWUrvDTZA8wO${[wHIXwy:\u003c=[av]Ehp-}3gA+fqAB97\u0026jB-R$sdlv\u003eVay/tcB95KmxMXidB09Q*tu%rky?mYhvTi6bB09Q*fGPQ:azbLjayPF5x(\u003eEC",
            "ln": 3812,
            "col": 51,
            "line": 71
          },
          {
            "b": "zEW^5z/cXmvqY^\u003ewPI@wdiJ%AarUfjzGx[xtwwj$zy=]Kx\u003eHY]jS[fSvqf*ap\u0026ZF\u003ex(^\u0026rvqG:dtv}C*v}XhKw*?4jDQZB)m13.8vru74Bs}rHz/e@iefFLoByO#JB.i4fbZS0HmmqLSy*?A%B963HB8L}GB7]n{dp1w:3lQE3z/fSraAhEjauZ\u0026SA+eW3wL^IUy?WxLwQbXJazULliV{+iw[CQ{e[Pcxz75jXlqf%ruRr*\u003cuQuUcefDcCvrl0rg:jw1azbLjzddJEar\u003eucAW04SBA}?piV]R/AbfeiaBLX23lQE9w/@GBC4CYdw{C!xB.\u003e\u003eBazL$ozy=]HBZ=)AluM)LwPxznA=k!yB7]ntBz\u003e91A+PA7c)A!Qw\u0026H$-e{8bFz73?:ar\u003eo6B7El^a$j@\u0026aARpqz*9swwP]m=A=M8sc)AXyy?m3@wGU?#zFrY]B95KCx\u003eIr(BAIRnay]z4B0bvsBrC:rA+Pchj0nMPw{5fezF78lzY\u0026+iB97\u0026by:7q\u00263lQE3z/fSraz\u0026k:awbNdpa*G]A=U!uyiarhe{82gBAh8kxda%DBy)GRdjEs=arUxgasItSAaJ%1az\u0026-OwPz\u003caz/cWvjV%]iB98CpzF7doE0^5Ne{p/DB7]Mge]k9pxlm/fj%h:uaBFLVaUNebwgH[qtX2u\u0026e)I{qc{G:AtqdS?k}MnGeQx33t}mu*bRH=(wPI@wz7Z0yA=U@kzyDYQD(%OHe[O*lwPF#wD)0JRAaJ%1az\u0026-yx(4v4ar-)har\u003e-kygQ)%a%qnXavg3*vr\u003cFtB3T?!vr\u003cnre[O*lwPGpHaARpqz*9swwP]m=A=M8sc)AwyC42i3wft.$zFrY]B95PPi%)8MA+funA=91pi%{xy3sO13zET/3B-7Yhx(v(iwn=Wfy\u0026r-)c$dgrwPPECy**^:y:*GN3lQE9w/@GBvrlH3BrC%Uar-yAtqdS?vj=7%DP0ZebRJ\u003c:By/Jnc$dgrwPPLCxKJUNhyP+@D(%OcB.$P0AXq6Eq^\u003coHnP5SYxjV9ivrlH3Bs}SGDsXJFE0^5BB8$]me]$-MwGT8#ats{=D(#\u003csB7GCCB7]@iau*]xl0dFWqBr#DrZ*vZsYv**diJ.CA=ldAzE[2mmriA!AWSbCzGYD8x-",
            "ln": 4558,
            "col": 9,
            "line": 83
          },
          {
            "b": "ayX=2wO${[wHICcCox)-oEKs\u003cB7GCCB-IpEe]UlvxL}l}wHPXFarUfjzGx[xBzU$tjS[GTx(ktvze:31AWSv/ayGzczF9/{zy)bXl$7gGe]CPKc[fM@bZTAqzdOc6dlv\u003eVay/tcB95KBwPF$SayPF5x(\u003eFfwPRA}c$dgrwPPLEA+)oHDMWxzxkRc]iV{Z$z/P}#x\u003eIr(y+x*zzdNTdBsn\u003e6fKDH/fEXK}A+e=}A+e:5iV]RUz!%ldCoONXxK$Q.wPz\u0026MaBtjPB-RbmeN-p6zGE6-ar\u003e(vwmYK\u003cv@0Vux\u003eg\u003c/Bs?iAB97\u0026by?mShaBLwXdlv\u003eVazCBgc)rRxB1RxDaBFLVa-.dne[e:fC{%\u003eTxMw3naz$+mavQr\u003ez/NmlbZTAqzdObRav]Ehp-}3gA+fqAB97\u0026jB-R$sdlv\u003eVay/tcB95Krvrl98jS[lPwNPW(nmuNMc)A.CvkoX#a$kOXarUGiBrCjmBrAZ?fGPQ:aARTHaBsCrarR!nCvticaAh4lwO=6#wHHC/vpS!Qy?kkhA=k!@wNW6dwPGFkz!abxefF?wCox\u003e9vqZc#z/PXyDKp(rarR^HBAg/cB7Puhz75[cB-7$CaywX$v@C)(zF7Hyv{%g\u0026vG",
            "ln": 5499,
            "col": 15,
            "line": 94
          },
          {
            "b": "e{hbzvru6ev}Z15yBIsLarR^HarR^Hv{%g\u0026vQS+Zc#Kfzy+cYsxMXiddlv\u003eVarR^HaBL^FarR^HEjlY\u0026v@=c?By!J]x()]+BAg@3z76HyA4AbUazbB#xlc9Rb6OnQaBLW/i%)8MEir3dByO#bc$NBtz/NoHDMWuCq*Am\u003cd0frBefGoZw]zZ1wJy@QA=\u003e}oEjml2BzbYkCoyEqA=k$WaBKOtazCBgc$^Euar-)hayPtjwPPLCx)KttaARpqz*9swwP]m=A=M8sc$4agDsXjox(!c1ByO#bc)TdLz/*yIC5[=KDTQ#pwPPLCx)KusdpsO^3lQE9w/@Hnvrl9mwnbW/B95/OxK#AjdiG=%jS[fOB7GCCB7!#qh8W7ez+L7[wPydDB7D:GdiJ.CA=ldAzE[2mmriA!AWSbMxKJUNhxV\u003cJB8tucv}W[CBzbkdwn=Wfy\u0026r-)ay]z4B0bvsBrCBeByO#bBzbkdB7]o8wN({2vqY^\u003ewPI@qdlv\u003eVaAz4nB-IvxBzU$U3vJl*fdFB]k{gh\u003czF\u003cfaxcpY5AcSNIz/](bazUL1A3fmowGV5dzF9=%eOP9zByx5%wGU/cv@0h}zE:(ixK@r8y?aU$B-7-awGUz$x)a5GayPtbazC{uBz\u0026pwB.L}uw[=pbBs[W=fa8rlzEW^5z/cXqB.L}}B-88hzF7vDaBsCraARTHaBsCrarR!vw/@Hvy*?A$z/PXqjV$}Jb4Lb5Cwg}sdiJhDwN!hzy?lK\u003czEU7sz/Yudv@=p5BrSmUtoUUga$K\u0026:By/o8ayPkdy?Wx/BzkVhazCveb4CLde]$-qwOV0\u0026yC6*BzF9/{zxZiBzY\u003c4xx(\u003e.defGoZB97@bz-P0+x\u003eIs4A+cBCaARsmwP8ZkiV{plfFBR$dlv\u003eVarR!ry\u0026:egx\u003ewFoAbn%8w]zZbau.\u003eJar(2zzzK3(diJkvAV==uz/fSraz@ruw/$qzp/7H/svDN#nLQ/VpFse-moz#=s4Md)diJ%WBAhTHDMV)AwN!hzy?lK\u003czEU7sByxlayIvQ3a$K\u003cva$(IZa$K\u003cOefDb\u0026mJ#a?aBtkLByY97iV]RXxkRTdwG\u0026VFBzkP6z/{d.at\u003e\u0026bfD+=)j0n}]v{%E?xDRTAfdF8Zz/^axB-88hzF77wfcCV=Ef}8tarUliB7DF9CX7wOx(4uVD2vaub5?siy?$pDax{3wCP[WYb6N:sxkI6{b3=-xDMWxKwb",
            "ln": 6166,
            "col": 13,
            "line": 105
          },
          {
            "b": "l$7gGe]CPKc[co3aA.Nzx(2jvDKp(rarU=DC{4CvarR^HarUxgasIhBvrua1A+#{ZjV%]iCwg}Jg9Od\u0026wQ4=@mRMWIq*Am\u003cc)A+wB8bPaB95PSax{3ymOa^PayE=nk$svsk$%=\u003cwPn?rDQgF8uQX6=uSP/]EpaPGa$(XZb3=-xDMWxKwnb%yax{47xkRTdwG\u0026VFb5?mnwG\u0026VFb57Xcz/Pzkt{aLAe{82gBAh8kxdbhYx(mA%B.268c{ZWauQX6=uSP/]diK1=asFS!au.[hDMWAzA=ldAfGQz9djuSb3lQDlarR!ry\u0026:egwQ4=@mRMWIq*Am\u003cc)ARyA+fhlefFdveOlgTar\u003c)3zF9/{zz2vpA4:N%zGGDcBAo9fvpJ8ifcTWMaBtkLByY97iV]RXxkRTdwG\u0026mBdlv\u003eVarR!Pay!\u00264v}W0iaAz4nB-IvYaBKOtarR^)Bz(0",
            "ln": 7247,
            "col": 10,
            "line": 123
          },
          {
            "b": "arV7tEf{r[B-7Yhx(v(iB-8ebv@0G3A:@=%C4A9BDKp(rv@DmaBrCadAV^H/x(n0lvqG:Fx(UQJi%)8MzeiV@A-mm3v\u003c\u003e(4AX5tWaAz46B-ILqC4AYSBAhInaBLX23lQEhB.L}}B-88hzF7vDi%)8Mx\u003ewFoAbn%8w]zZbau.\u003eJar\u003eu8A^8kna$jTY3lQDlay/tcB95KCByw/@zF77PazL?ezyxQzAaAW6c[cX\u0026v0us5xkI6{eP\u003e@IvpK78bZR{/By^7xz*9PUEpaG=3lQDlaz\u003e[8x(Wc$zEU8oByw/@zF7HyDMWuuv%8*kx)a5GaARTDwGVyIi%)8MarUluwN!hzy?lK\u003czEU7swncdczZ3.PtoUUza$K\u0026XeO=KYayPq2xLzT3efG1Qvp%p(xi=@F3lQDlay/tcB95KkAbV{.azL?ezyxNFvp%p(xdLe\u003ep/7H=rzC}Qmjyq9arR^Hx\u003ewFoa.t[jB98F4D2vauve",
            "ln": 7673,
            "col": 1,
            "line": 129
          },
          {
            "b": "Eir3dByO#bc$K?IDKp(rarR^Hx\u003ewFowIdFhwmV(bjV%]imoz@DrW5$nBzbYkCoyDUatkw\u003cvqZ19xK#ibC5IhtzdL:Jv@DsiazC.mBy!(\u003eaA7\u003cmzeTPe3lQDlarR!rCX7wOx(0",
            "ln": 8424,
            "col": 5,
            "line": 148
          },
          {
            "b": "z/Pu0iV@J+B.8Xzdlv\u003eVarR!zyH?d1q*Am\u003cd06Gsxk8l@efGoZA+e:6A=U@rwJy@QA=\u003e}oEjmk+arR^HwQ4=@mRMWIq*Am\u003cc)A+wAW04StoUUzw*e=Gvrb\u003c\u003ex)a5sar\u0026y8a$K\u003cTByw/@zF9l7i%)8MarUxgasFyACXIkvB5Nv4v\u003c(8gx(ktuByw/@zF7Hyk#px+moz#=s4MdodjDxYxMw3naz$+mavQr\u003ez/NlIvrb\u003c\u003ex)a5gxM4Y$B0bvsayPkdaz2!ev%8)4vR/Q1",
            "ln": 8733,
            "col": 41,
            "line": 155
          },
          {
            "b": "BrCWlA+w%9auZ\u0026YzGx]dy\u00260V[mr\u0026w(dlv\u003eVarR!EwO${[wM9\u003e(v\u003c\u003e=av}YO1wH[%Cvrc0(BsxoUarR^Hv}YZ$wk^+\u003ev\u003c(CcA+w%9efDS+h-iDwi%)8MEf}8tA=1:2zEU86A:@=%C4AiEDMV{sA:@VwaARTDwGVyIi%{xy3taA#v@#B6zxJ+7B-7Y5c$Wp7xdLfCwObH]A:-=kaBsCray/tcB95KkA+xCojS)%vy**%catbo0c#@)hwPz*1yY",
            "ln": 9618,
            "col": 9,
            "line": 171
          },
          {
            "b": "c{.uMwPI{bvRGT)BA]qTBz\u0026pzxK@rbwPI*ezGxJ3y?j-dA=kD0B8@(PvqYP#Bzb98az(mxBrC47axJn{xkI6{azC}swO+%f3lQDlatkw\u003czF%RtBzbkdBy/Gfx(mu}aARphB0bgmB97\u0026by?mSfA=(nvazCZC3lQDlaz2!ev[7fGwM9\u003e(v\u003c\u0026KtAaJ]hefFdveNY?OazL?ezyxjpB97\u0026by^.#Tc[cX\u0026k#px+lrc=GoHQxYar\u0026x?vrc14a$K\u0026?e?QNMxldufaBtkLByY97iV]RXxkRTdwG\u0026mBdlv\u003eVarR!EwPS6nzAwgFaBKOtay/tcB95KmxLzo[auZ\u0026*Aa9%dc$NTmefFwwxlbQDDMV\u003cgBywV)wN)?ABAhInefG1Qwnb%yar\u003eJjzF%Mba$K\u003cXx(mE1Cxlq?wmW!ABAhInaBLX23lQE3xLzo[e{h5LwO9tti%{xy3sO13zET/3B-7Yhx(v(izddc@c[co=3lQE3z/fSrayPq6B%5{\u003cAb](bwPI]Bvrc17e]$\u0026yv}v5zdlv\u003eVay/tcB95KmzdB+LayPq6C3uUaasnATaZ]z7C3uUae]#byA==w7x([2pa$Uw\u003cdiH?$vrc17e]$Yuw]]BIauyR?x(n0lvqG:7i%)8My?mYhA+e\u0026]A=LP8i%)8Mx\u003ewFovrc17e]k9pxlm/oaBsCrarR!vw/@HgA+xLFy?mG%Bz8^ujV%]yaBFLVvrc17tqft9aW4$ha$Ux!wObH]A:-=daBFLVaUNeavj=^VeJE9-g+pyoEiZEWe{7VCBspNrxlEGlt}4iBBzbYkCoy^mCoxs{A=k$Db6v%nxjTaDB7]e@yIvo]eQ7]txjVfctwm$@Byx04E06sFwPS6lt{9u6ePLAmwPz*1y-(8vl}7x9dlv\u003eVarR!EwObH]A:-=bjS[fNxlEGlt}QkqrD8[*AZKnRwHF#?3lQEt3lQE2vqY%]AWSv#3lQE9w/@HizdB+LjV%]iB-8niBAIKDdiJ%AarR^HB97#jc)zM2zeTPizF77Vy*?D%wGTuUwmV(%z/oAj\u0026^^)Idlv\u003eVarR!yvrDD$xEC5ReP\u003e@LwPS6la$kOXarR^Hz!*:Bnn\u0026AZB0bHmzeTPewftG8z/3RCfd{:JvrD9(flpYDBzkS9B1RiGz/c:Fi%)8MarUfjzGx-jwId!qxdddgas8qzc}3T3efDclB.L}us7#L+zddr8w].*bazC}saARTjC{3*hz/cXiw/$/fazC)tB98bjy-)+vzF\u003cfaxd+wSEoZU$dlv\u003eVarR!EwPS6nzAwgFaBKOtazCBgc$va8ar-)har\u003eJqB97\u0026by:7qJDKp(rarUfjzGx-jwId!qxda%DB75Y)iV@rVCPXO-aAImcwOV0\u0026yB%:Awm]E}ax@L$B97\u0026by\u003cZwyB7C",
            "ln": 10086,
            "col": 8,
            "line": 184
          },
          {
            "b": "wfJEJu[1eA3lQEcwPP5ezGx]dy\u00260V[auZ\u0026+B.\u003e\u003eQ3lQEkA^n^OazC.mByx04wN(]DawbNdpa*G]A=U!uA+eV\u0026mRMWIq*Am\u003cd06GsBy^{Qy?k1zefDcVBy)GRdjEt3Eir3dByO#bDMT%\u003eazbtdB95KszGx]dy?$jzfcCVIarUxgasH@wB97\u0026by?mcwe{p/DB7]Mgau.\u003eJaz\u0026-OwPz\u003caz/cWAclM(Ax(!xqq*Am\u003cc#0NuByx04wN[kOwHF#RdiJ%Aao",
            "ln": 11604,
            "col": 104,
            "line": 218
          },
          {
            "b": "x\u003ez6\u003cwfJEJu[1eAarR^HB97#jc)zl2B97\u0026by?W^1\u0026^^)Idlv\u003eVarR!HzG62]yBARiv}YO1wHPXFarR^HzeiV@A-mm3v\u003c(8gx(ktuByxo5mRMWIc[cX\u0026a$+F(dj=P*aAz46B-ILqC4AYSBAhInaBLX23lQDlaA}\u003cuBy^{Qy?lK\u003czEU8oByxo5mRMWIc[cX\u0026n(FIXe]#bPx(mM$w{C!KaA?spB7]MgiV@n(C4CYnx(v(uazC.mByx04wN[8GiV@rKCoxpZBy=\u003cHe{826q+{tlA+PA7c[co!djEs=arR^Hz!*+enP5P\u003evqG:\u003ewft#jas8qzc}3T3efFUAB97\u0026by^.#Tc[cP[u[1eAarV7tarU-EwPf4woKS6Yv}YN]xcpn\u0026zF5",
            "ln": 12039,
            "col": 41,
            "line": 228
          },
          {
            "b": "ByO#blU{gNwmV(KwPITez/u\u0026UHlrVBy\u002613lasI8nv]32Cvrlj9aA8dcwHR1r3lQDlayFOd3lQDlayDEwv\u003c\u003c-po!mzhqE%Y-C4AYUdsArYbZTGJz!0v1B1R3wB$M\u0026/pdF2Apg3N/q=D4RoHR\u00264jV$}Jb6dAwau{$)v%8*dat4hDq+OrEBAzFyiXJdgx(mN2vqWYsx\u003eg^\u003cx\u003e7{gvpTBiv@DiqA+f5#vrl13fkkrBByx04e]$XGD(#)bB7=WFB0bQyB7GDoA3uz=ar\u003eYxCPXO-aAImcwOV0\u0026yB%:Awm]E}aA.NywPS6lb7i\u0026I3lQD%dlv(+3jpSUx(ksFe[nsiv}WnswHO-+j%kgVarUo8x(2hcc@JG4efFHRzdN^fvp%d2dlv\u003eVay/tcB8L(ae[G6zz/NmlarR}Rv\u003c\u003c-po!mzhs8@1%wGV8kav70ZwmYK\u003cv@2K/Dlu{laARphB0bmfwPhYkxKL\u003e0wO#j1xd+wSEoZU$dlv\u003eVaAhvtv}x.5e[GowBsn\u003c)i%{x+i%\u003e",
            "ln": 12713,
            "col": 49,
            "line": 243
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "process.stdout.write"
            ],
            [
              "",
              "process.stdout.write"
            ],
            [
              "",
              "process.stdout.write"
            ],
            [
              "",
              "console.log"
            ],
            [
              "",
              "Math.max"
            ],
            [
              "",
              "lines.map"
            ],
            [
              "",
              "l.replace"
            ],
            [
              "",
              "console.log"
            ],
            [
              "",
              "l.replace"
            ],
            [
              "",
              "console.log"
            ],
            [
              "",
              "console.log"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "homedir"
            ],
            [
              "",
              "existsSync"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "existsSync"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "accessSync"
            ],
            [
              "",
              "macAppDir"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "homedir"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "homedir"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "installDir"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "installDir"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "installDir"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "homedir"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "homedir"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "homedir"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "fetch"
            ],
            [
              "",
              "AbortSignal.timeout"
            ],
            [
              "",
              "Error"
            ],
            [
              "",
              "basename"
            ],
            [
              "",
              "Readable.fromWeb"
            ],
            [
              "",
              "Error"
            ],
            [
              "",
              "chunks.push"
            ],
            [
              "",
              "Buffer.concat"
            ],
            [
              "",
              "Promise.all"
            ],
            [
              "",
              "fetchBuf"
            ],
            [
              "",
              "fetchBuf"
            ],
            [
              "",
              "createPublicKey"
            ],
            [
              "",
              "Buffer.from"
            ],
            [
              "",
              "verify"
            ],
            [
              "",
              "Buffer.from"
            ],
            [
              "",
              "sig.toString.trim"
            ],
            [
              "",
              "sig.toString"
            ],
            [
              "",
              "Error"
            ],
            [
              "",
              "JSON.parse"
            ],
            [
              "",
              "json.toString"
            ],
            [
              "",
              "Array.isArray"
            ],
            [
              "",
              "Error"
            ],
            [
              "",
              "Number.isSafeInteger"
            ],
            [
              "",
              "Error"
            ],
            [
              "",
              "basename"
            ],
            [
              "",
              "URL"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "tmpdir"
            ],
            [
              "",
              "Date.now"
            ],
            [
              "",
              "fetch"
            ],
            [
              "",
              "AbortSignal.timeout"
            ],
            [
              "",
              "Error"
            ],
            [
              "",
              "createHash"
            ],
            [
              "",
              "pipeline"
            ],
            [
              "",
              "Readable.fromWeb"
            ],
            [
              "",
              "Transform"
            ],
            [
              "",
              "callback"
            ],
            [
              "",
              "Error"
            ],
            [
              "",
              "hash.update"
            ],
            [
              "",
              "callback"
            ],
            [
              "",
              "createWriteStream"
            ],
            [
              "",
              "rmSync"
            ],
            [
              "",
              "Error"
            ],
            [
              "",
              "hash.digest"
            ],
            [
              "",
              "asset.sha256.toLowerCase"
            ],
            [
              "",
              "Error"
            ],
            [
              "",
              "execFileSync"
            ],
            [
              "",
              "execFileSync"
            ],
            [
              "",
              "execFileSync"
            ],
            [
              "",
              "Date.now"
            ],
            [
              "",
              "Date.now"
            ],
            [
              "",
              "execFileSync.toString.includes"
            ],
            [
              "",
              "execFileSync.toString"
            ],
            [
              "",
              "execFileSync"
            ],
            [
              "",
              "execFileSync"
            ],
            [
              "",
              "Atomics.wait"
            ],
            [
              "",
              "Int32Array"
            ],
            [
              "",
              "SharedArrayBuffer"
            ],
            [
              "",
              "installDir"
            ],
            [
              "",
              "mkdirSync"
            ],
            [
              "",
              "quitRunning"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "tmpdir"
            ],
            [
              "",
              "Date.now"
            ],
            [
              "",
              "mkdirSync"
            ],
            [
              "",
              "execFileSync"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "existsSync"
            ],
            [
              "",
              "Error"
            ],
            [
              "",
              "execFileSync"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "rmSync"
            ],
            [
              "",
              "rmSync"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "renameSync"
            ],
            [
              "",
              "execFileSync"
            ],
            [
              "",
              "rmSync"
            ],
            [
              "",
              "rmSync"
            ],
            [
              "",
              "mkdirSync"
            ],
            [
              "",
              "execFileSync"
            ],
            [
              "",
              "existsSync"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "Error"
            ],
            [
              "",
              "existsSync"
            ],
            [
              "",
              "Error"
            ],
            [
              "",
              "existsSync"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "existsSync"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "renameSync"
            ],
            [
              "",
              "require.rmdirSync"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "renameSync"
            ],
            [
              "",
              "renameSync"
            ],
            [
              "",
              "installedExe"
            ],
            [
              "",
              "renameSync"
            ],
            [
              "",
              "chmodSync"
            ],
            [
              "",
              "rmSync"
            ],
            [
              "",
              "installedExe"
            ],
            [
              "",
              "existsSync"
            ],
            [
              "",
              "Error"
            ],
            [
              "",
              "execFileSync"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "installDir"
            ],
            [
              "",
              "spawn"
            ],
            [
              "",
              "child.unref"
            ],
            [
              "",
              "process.argv.slice"
            ],
            [
              "",
              "argv.shift"
            ],
            [
              "",
              "Error"
            ],
            [
              "",
              "banner"
            ],
            [
              "",
              "step"
            ],
            [
              "",
              "launch"
            ],
            [
              "",
              "ok"
            ],
            [
              "",
              "console.log"
            ],
            [
              "",
              "console.log"
            ],
            [
              "",
              "process.exit"
            ],
            [
              "",
              "step"
            ],
            [
              "",
              "manifest"
            ],
            [
              "",
              "Error"
            ],
            [
              "",
              "ok"
            ],
            [
              "",
              "JSON.parse"
            ],
            [
              "",
              "readFileSync"
            ],
            [
              "",
              "stateFile"
            ],
            [
              "",
              "existsSync"
            ],
            [
              "",
              "installedExe"
            ],
            [
              "",
              "ok"
            ],
            [
              "",
              "installDir"
            ],
            [
              "",
              "mb"
            ],
            [
              "",
              "step"
            ],
            [
              "",
              "download"
            ],
            [
              "",
              "ok"
            ],
            [
              "",
              "step"
            ],
            [
              "",
              "unpack"
            ],
            [
              "",
              "mkdirSync"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "stateFile"
            ],
            [
              "",
              "writeFileSync"
            ],
            [
              "",
              "stateFile"
            ],
            [
              "",
              "JSON.stringify"
            ],
            [
              "",
              "Date.toISOString"
            ],
            [
              "",
              "Date"
            ],
            [
              "",
              "ok"
            ],
            [
              "",
              "installDir"
            ],
            [
              "",
              "step"
            ],
            [
              "",
              "launch"
            ],
            [
              "",
              "ok"
            ],
            [
              "",
              "box"
            ],
            [
              "",
              "main.catch"
            ],
            [
              "",
              "main"
            ],
            [
              "",
              "fail"
            ],
            [
              "",
              "console.error"
            ],
            [
              "",
              "process.exit"
            ],
            [
              "",
              "node:child_process"
            ],
            [
              "",
              "node:crypto"
            ],
            [
              "",
              "node:fs"
            ],
            [
              "",
              "node:os"
            ],
            [
              "",
              "node:path"
            ],
            [
              "",
              "node:stream"
            ],
            [
              "",
              "node:stream/promises"
            ]
          ],
          "mbr": [
            "AbortSignal.timeout",
            "Array.isArray",
            "Atomics.wait",
            "Buffer.concat",
            "Buffer.from",
            "Date.now",
            "Date.toISOString",
            "JSON.parse",
            "JSON.stringify",
            "Math.max",
            "Number.isSafeInteger",
            "Promise.all",
            "Readable.fromWeb",
            "URL.pathname",
            "argv.length",
            "argv.shift",
            "asset.sha256",
            "asset.sha256.toLowerCase",
            "asset.size",
            "asset.url",
            "child.unref",
            "chunk.length",
            "chunks.push",
            "console.error",
            "console.log",
            "constants.W_OK",
            "e.code",
            "e.message",
            "execFileSync.toString",
            "execFileSync.toString.includes",
            "hash.digest",
            "hash.update",
            "installed.version",
            "json.toString",
            "l.replace",
            "l.replace.length",
            "lines.map",
            "m.files",
            "m.version",
            "m.version.length",
            "main.catch",
            "process.arch",
            "process.argv",
            "process.argv.slice",
            "process.env",
            "process.env.APPDATA",
            "process.env.LOCALAPPDATA",
            "process.env.NO_COLOR",
            "process.env.WINGMAN_INSTALLER",
            "process.env.WINGMAN_NO_BANNER",
            "process.env.WINGMAN_UPDATE_FEED",
            "process.env.XDG_CONFIG_HOME",
            "process.exit",
            "process.platform",
            "process.stdout",
            "process.stdout.isTTY",
            "process.stdout.write",
            "require.rmdirSync",
            "res.body",
            "res.ok",
            "res.status",
            "sig.toString",
            "sig.toString.trim"
          ],
          "tgt": [
            "AbortSignal.timeout",
            "Array.isArray",
            "Atomics.wait",
            "Buffer.concat",
            "Buffer.from",
            "Date",
            "Date.now",
            "Date.toISOString",
            "Error",
            "Int32Array",
            "JSON.parse",
            "JSON.stringify",
            "Math.max",
            "Number.isSafeInteger",
            "Promise.all",
            "Readable.fromWeb",
            "SharedArrayBuffer",
            "Transform",
            "URL",
            "accessSync",
            "argv.shift",
            "asset.sha256.toLowerCase",
            "banner",
            "basename",
            "box",
            "c",
            "callback",
            "child.unref",
            "chmodSync",
            "chunks.push",
            "console.error",
            "console.log",
            "createHash",
            "createPublicKey",
            "createWriteStream",
            "download",
            "execFileSync",
            "execFileSync.toString",
            "execFileSync.toString.includes",
            "existsSync",
            "fail",
            "fetch",
            "fetchBuf",
            "hash.digest",
            "hash.update",
            "homedir",
            "installDir",
            "installedExe",
            "join",
            "json.toString",
            "l.replace",
            "launch",
            "lines.map",
            "macAppDir",
            "main",
            "main.catch",
            "manifest",
            "mb",
            "mkdirSync",
            "ok",
            "pipeline",
            "process.argv.slice",
            "process.exit",
            "process.stdout.write",
            "quitRunning",
            "readFileSync",
            "renameSync",
            "require",
            "require.rmdirSync",
            "rmSync",
            "sig.toString",
            "sig.toString.trim",
            "spawn",
            "stateFile",
            "step",
            "tmpdir",
            "unpack",
            "verify",
            "writeFileSync"
          ],
          "funcs": [
            [
              "anonymous",
              1376
            ],
            [
              "anonymous",
              1615
            ],
            [
              "anonymous",
              1688
            ],
            [
              "anonymous",
              1776
            ],
            [
              "anonymous",
              1860
            ],
            [
              "banner",
              1893
            ],
            [
              "box",
              2044
            ],
            [
              "anonymous",
              2100
            ],
            [
              "macAppDir",
              2723
            ],
            [
              "installDir",
              3083
            ],
            [
              "installedExe",
              3485
            ],
            [
              "stateFile",
              3739
            ],
            [
              "fetchBuf",
              4051
            ],
            [
              "manifest",
              4550
            ],
            [
              "download",
              5255
            ],
            [
              "transform",
              5963
            ],
            [
              "quitRunning",
              6688
            ],
            [
              "anonymous",
              7461
            ],
            [
              "unpack",
              7680
            ],
            [
              "launch",
              9751
            ],
            [
              "main",
              10443
            ],
            [
              "anonymous",
              12984
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 17,
              "op.gt": 5,
              "op.le": 1,
              "op.lt": 1,
              "op.ne": 8,
              "op.add": 18,
              "op.div": 1,
              "op.lor": 20,
              "op.mul": 3,
              "op.sub": 2,
              "op.land": 3,
              "op.lnot": 17,
              "max_depth": 22,
              "call_count": 230,
              "node_count": 4785,
              "member_count": 63,
              "max_array_len": 7,
              "op_density.eq": 0,
              "op_density.gt": 0,
              "op_density.le": 0,
              "op_density.lt": 0,
              "op_density.ne": 0,
              "op_density.add": 0,
              "op_density.div": 0,
              "op_density.lor": 0,
              "op_density.mul": 0,
              "op_density.sub": 0,
              "op_density.land": 0,
              "op_density.lnot": 0,
              "max_concat_chain": 6,
              "member_depth_max": 3,
              "self_compare_count": 1
            },
            "file": {
              "size": 13127,
              "entropy": 5.29
            },
            "text": {
              "lines": 253,
              "top_char": 101,
              "max_ws_run": 9,
              "digit_ratio": 0.02,
              "space_count": 1929,
              "char_entropy": 5.29,
              "unique_chars": 113,
              "top_char_null": 0,
              "escape_density": 0.05,
              "lines_over_200": 3,
              "string_density": 0.75,
              "top_char_ratio": 0.06,
              "avg_line_length": 50.89,
              "max_line_length": 235,
              "non_ascii_ratio": 0.01,
              "empty_line_ratio": 0.05,
              "hex_escape_count": 6,
              "last_line_length": 3,
              "whitespace_ratio": 0.17,
              "identifier_density": 2.79,
              "line_length_stddev": 45.45,
              "encoded_string_ratio": 0.01,
              "normalized_string_count": 11.95,
              "suspicious_string_ratio": 0.03,
              "suspicious_identifier_ratio": 0.05,
              "normalized_unique_identifiers": 24.3
            },
            "binds": {
              "count": 65
            },
            "binary": {
              "peak_region_bytes": 5959,
              "peak_region_entropy": 5.64
            },
            "source": {
              "function_count": 14
            },
            "imports": {
              "count": 7,
              "stdlib_count": 6,
              "stdlib_ratio": 0.86,
              "third_party_count": 1,
              "third_party_ratio": 0.14
            },
            "strings": {
              "bytes": 3048,
              "count": 190,
              "shell": 1,
              "url_count": 2,
              "avg_length": 16.04,
              "max_length": 184,
              "path_count": 5,
              "avg_entropy": 2.68,
              "email_count": 1,
              "empty_count": 4,
              "entropy_stddev": 1.19,
              "base64_candidates": 1,
              "high_entropy_count": 2,
              "embedded_code_candidates": 4
            },
            "comments": {
              "chars": 1251,
              "count": 15,
              "lines": 23,
              "to_code_ratio": 0.1
            },
            "functions": {
              "count": 14,
              "nested": 3,
              "density": 8.7,
              "anonymous": 8,
              "avg_params": 0.82,
              "code_ratio": 0.86,
              "max_params": 3,
              "one_liners": 7,
              "length_stddev": 13.82,
              "avg_name_length": 7.79,
              "no_params_count": 9,
              "avg_length_lines": 9.91,
              "max_length_lines": 55,
              "min_length_lines": 1,
              "avg_nesting_depth": 0.14,
              "max_nesting_depth": 1,
              "single_char_params": 4,
              "avg_param_name_length": 4.39
            },
            "identifiers": {
              "count": 706,
              "unique": 194,
              "avg_length": 6.48,
              "max_length": 19,
              "min_length": 1,
              "avg_entropy": 2.26,
              "reuse_ratio": 0.27,
              "length_stddev": 3.49,
              "has_digit_ratio": 0.02,
              "sequential_names": 8,
              "base64_like_names": 1,
              "single_char_count": 8,
              "single_char_ratio": 0.04,
              "high_entropy_count": 4,
              "high_entropy_ratio": 0.02,
              "all_lowercase_ratio": 0.63,
              "all_uppercase_ratio": 0.11,
              "numeric_suffix_count": 2,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 1,
        "mol": "O₂(C₃S₂)H₇(Cm₆Cr₃Db₇F₁₀Os₅Po₁₀U)Md₃(BkInPt)",
        "path": "sidekick-widget-0.4.0.tgz!!package/bin/sidekick-widget.js",
        "pid": 0,
        "risk": 139,
        "sha": "6723f95db68f47c49933f00fdc4eaddf8eb17a82f4984dd5e3882ebd95bb212b",
        "size": 13127,
        "traits": [
          {
            "id": "metadata/build/ecosystem::artifact-integrity-verification-routine",
            "conf": 0.95,
            "crit": 3,
            "desc": "Checks artifact integrity before use",
            "spans": [
              [
                6497,
                15
              ]
            ]
          },
          {
            "id": "metadata/file/string/file::tmp",
            "conf": 0.2,
            "crit": 1,
            "desc": "tmp keyword",
            "spans": [
              [
                5547,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/builtin::require-child-process",
            "conf": 0.8,
            "crit": 3,
            "desc": "require() of the child_process module",
            "spans": [
              [
                781,
                7
              ]
            ]
          },
          {
            "id": "metadata/lang/encoded/unicode-escape::ansi-escape-sequence",
            "conf": 0.98,
            "crit": 3,
            "desc": "ANSI color escape sequence encoded",
            "spans": [
              [
                1366,
                56
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                100,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                52,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                10134,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                2008,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                209,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                10187,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/curl::curl-command-remote-url",
            "conf": 0.85,
            "crit": 3,
            "desc": "curl command names a routable remote URL",
            "spans": [
              [
                12841,
                43
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/request/json::module-execution-http-call",
            "conf": 0.95,
            "crit": 3,
            "desc": "Module initialization calls an HTTP client"
          },
          {
            "id": "micro-behaviors/communications/http/request/tasking::http-task-liveness-field",
            "atk": "T1071.001",
            "mbc": "C0002",
            "conf": 0.9,
            "crit": 3,
            "desc": "Structured object contains a liveness field",
            "spans": [
              [
                6656,
                6
              ]
            ]
          },
          {
            "id": "micro-behaviors/crypto/hash/digest::digest-method-call",
            "conf": 0.8,
            "crit": 3,
            "desc": "Calls a digest() method",
            "spans": [
              [
                6433,
                8
              ]
            ]
          },
          {
            "id": "micro-behaviors/crypto/hash/digest::hash-object-digest-call",
            "conf": 0.88,
            "crit": 3,
            "desc": "JavaScript hash-object digest call",
            "spans": [
              [
                6429,
                11
              ]
            ]
          },
          {
            "id": "micro-behaviors/crypto/hash/digest::javascript-sha256-operation",
            "mbc": "C0029",
            "conf": 0.88,
            "crit": 3,
            "desc": "Performs JavaScript SHA-256 operation",
            "spans": [
              [
                5849,
                19
              ]
            ]
          },
          {
            "id": "micro-behaviors/crypto/hash/digest::node-createhash-sha256-call",
            "conf": 0.94,
            "crit": 3,
            "desc": "Node.js createHash('sha256') call",
            "spans": [
              [
                5849,
                10
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/archive/extract/tar::node-spawn-tar-extract",
            "atk": "T1560.001",
            "conf": 0.94,
            "crit": 3,
            "desc": "Node spawns tar to unpack an archive",
            "spans": [
              [
                8797,
                24
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/analysis::js-conditional-matcher-call",
            "conf": 0.88,
            "crit": 3,
            "desc": "Calls a matcher in a conditional expression",
            "spans": [
              [
                5297,
                38
              ],
              [
                10625,
                79
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/module-exec::js-synchronous-iife-close",
            "conf": 0.86,
            "crit": 3,
            "desc": "Calls a parenthesized function expression",
            "spans": [
              [
                7478,
                4
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/module-exec::module-leading-promise-chain-call",
            "conf": 0.84,
            "crit": 3,
            "desc": "Leading promise-chain call at module scope",
            "spans": [
              [
                12971,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/decode/symbol-base64::buffer-from-base64",
            "conf": 0.8,
            "crit": 3,
            "desc": "Base64 decoding via Buffer.from (JS)",
            "spans": [
              [
                4728,
                11
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/agent::agent-identity-claude",
            "conf": 0.8,
            "crit": 3,
            "desc": "Claude agent identity reference",
            "spans": [
              [
                2012,
                11
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/string/conversion::tostring-call",
            "conf": 0.94,
            "crit": 3,
            "desc": "Calls JavaScript toString conversion method",
            "spans": [
              [
                4842,
                12
              ],
              [
                4990,
                13
              ],
              [
                7311,
                21
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/string/conversion::tostring-token",
            "conf": 1.0,
            "crit": 3,
            "desc": "References the toString conversion method",
            "spans": [
              [
                4846,
                8
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/chmod/executable/mode::node-chmod-exec-mode-755",
            "atk": "T1222",
            "mbc": "E1222",
            "conf": 0.9,
            "crit": 3,
            "desc": "Node chmod sets 0o755 executable mode",
            "spans": [
              [
                9682,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/chmod/modify::node-chmod-call",
            "conf": 0.85,
            "crit": 3,
            "desc": "Node calls chmod to change permissions",
            "spans": [
              [
                9682,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/directory/mkdir::mkdir-sync-call",
            "conf": 0.85,
            "crit": 3,
            "desc": "Creates a directory synchronously",
            "spans": [
              [
                7737,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/agent-config/file::claude-project-settings-path",
            "conf": 0.96,
            "crit": 3,
            "desc": "Claude Code project settings path",
            "spans": [
              [
                10970,
                22
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/write/file/full::node-write-file-sync-call",
            "conf": 1.0,
            "crit": 3,
            "desc": "Node calls imported writeFileSync",
            "spans": [
              [
                12164,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/env/package-manager::npm-build-env-windows-profile--appdata",
            "conf": 0.9,
            "crit": 3,
            "desc": "npm build Windows profile env (APPDATA)",
            "spans": [
              [
                3888,
                7
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/env/platform::node-appdata-access",
            "conf": 0.9,
            "crit": 3,
            "desc": "Node reads Windows APPDATA directory",
            "spans": [
              [
                3876,
                19
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/env/user-paths::node-localappdata-access",
            "conf": 0.9,
            "crit": 3,
            "desc": "Node reads Windows LOCALAPPDATA directory",
            "spans": [
              [
                3196,
                24
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/privilege/check::source-privileged-account-reference",
            "conf": 0.86,
            "crit": 3,
            "desc": "Source references a privileged account",
            "spans": [
              [
                2565,
                5
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/sysinfo/platform/runtime::process-platform-content",
            "conf": 0.7,
            "crit": 2,
            "desc": "References the Node.js process.platform value",
            "spans": [
              [
                1165,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/sysinfo/platform/runtime::process-platform-member",
            "conf": 0.8,
            "crit": 3,
            "desc": "Reads the Node.js process.platform value",
            "spans": [
              [
                1165,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/exec::node-execfile-reference",
            "atk": "T1059",
            "conf": 0.86,
            "crit": 3,
            "desc": "References Node execFile API",
            "spans": [
              [
                757,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/bridge::child-process-keyword-literal",
            "atk": "T1059",
            "conf": 0.9,
            "crit": 3,
            "desc": "child_process module name literal",
            "spans": [
              [
                795,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/bridge::js-execfilesync",
            "conf": 0.9,
            "crit": 3,
            "desc": "Executes a file synchronously",
            "spans": [
              [
                757,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/pipeline::pipeline-terminates-in-shell",
            "atk": "T1027,T1059.004",
            "mbc": "B0032",
            "conf": 0.8,
            "crit": 3,
            "desc": "Pipeline terminates in a shell",
            "spans": [
              [
                12905,
                6
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/spawn::bare-spawn-call",
            "conf": 0.75,
            "crit": 3,
            "desc": "Bare spawn function call",
            "spans": [
              [
                10349,
                5
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/spawn::detached-true",
            "atk": "T1059",
            "mbc": "F0011",
            "conf": 0.85,
            "crit": 3,
            "desc": "Detached process spawn option",
            "spans": [
              [
                10368,
                14
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/spawn::stdio-ignore",
            "mbc": "F0005",
            "conf": 0.85,
            "crit": 3,
            "desc": "Spawns a child with standard I/O ignored",
            "spans": [
              [
                6842,
                15
              ],
              [
                7385,
                34
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/spawn::windowshide-option",
            "conf": 0.85,
            "crit": 3,
            "desc": "Node.js windowsHide spawn option",
            "spans": [
              [
                10401,
                17
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/system::js-execfile-call",
            "atk": "T1059",
            "mbc": "E1059",
            "conf": 0.88,
            "crit": 3,
            "desc": "Executes file via Node.js execFile",
            "spans": [
              [
                6752,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/info/commandline::check-argv",
            "conf": 0.8,
            "crit": 3,
            "desc": "Reads Node.js arguments through process.argv",
            "spans": [
              [
                10482,
                12
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/io/stream::node-stdout-reference",
            "conf": 0.8,
            "crit": 3,
            "desc": "References Node.js stdout stream",
            "spans": [
              [
                1319,
                14
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/terminate/command::js-taskkill-force-command",
            "conf": 0.9,
            "crit": 3,
            "desc": "JavaScript force-kills a Windows process",
            "spans": [
              [
                6978,
                25
              ]
            ]
          },
          {
            "id": "micro-behaviors/time/query::js-triple-date-now",
            "conf": 0.4,
            "crit": 3,
            "desc": "3+ Date.now() calls",
            "spans": [
              [
                5579,
                9
              ]
            ]
          },
          {
            "id": "objectives/command-and-control/dropper/delivery/fetch-eval::json-cookie-hidden-stage-options",
            "atk": "T1105",
            "mbc": "E1105.016",
            "conf": 0.97,
            "crit": 3,
            "desc": "JSON cookie contains hidden stage",
            "spans": [
              [
                10401,
                11
              ]
            ]
          },
          {
            "id": "objectives/command-and-control/dropper/execution/pipe::curl-pipe-install-sh-url",
            "conf": 0.86,
            "crit": 3,
            "desc": "Remote install.sh URL in shell pipe",
            "spans": [
              [
                12841,
                65
              ]
            ]
          },
          {
            "id": "objectives/supply-chain/hidden-payload/extensions/vscode::node-install-sh-url-path",
            "conf": 0.86,
            "crit": 3,
            "desc": "Remote install.sh URL path construction",
            "spans": [
              [
                12893,
                11
              ]
            ]
          },
          {
            "id": "objectives/supply-chain/hidden-payload/runtime::node-base64-buffer-decode",
            "atk": "T1027",
            "conf": 0.88,
            "crit": 3,
            "desc": "Node decodes a base64 buffer",
            "spans": [
              [
                4728,
                37
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/download/curl::curl-silent-fail-flags-text",
            "atk": "T1105",
            "conf": 0.86,
            "crit": 3,
            "desc": "curl text contains silent or fail flags",
            "spans": [
              [
                12841,
                10
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/download/curl::http-download-shell-launch-literal",
            "atk": "T1105,T1059",
            "conf": 0.96,
            "crit": 3,
            "desc": "HTTP download followed by shell launcher literal",
            "spans": [
              [
                12841,
                70
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/url/domain::js-remote-host-url",
            "conf": 0.75,
            "crit": 3,
            "desc": "Contains a hardcoded remote HTTP(S) URL",
            "spans": [
              [
                1017,
                32
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/user-agent::non-mozilla-user-agent-header",
            "conf": 0.9,
            "crit": 3,
            "desc": "Sets a non-Mozilla User-Agent header",
            "spans": [
              [
                4183,
                41
              ]
            ]
          },
          {
            "id": "micro-behaviors/crypto/asymmetric/signature::signable-artifact-name",
            "conf": 0.95,
            "crit": 3,
            "desc": "Checksum manifest or detached signature filename",
            "spans": [
              [
                4670,
                15
              ]
            ]
          },
          {
            "id": "micro-behaviors/crypto/hash/digest::node-createhash-call",
            "conf": 0.65,
            "crit": 3,
            "desc": "Node.js createHash call",
            "spans": [
              [
                5849,
                10
              ]
            ]
          },
          {
            "id": "micro-behaviors/crypto/library/provider::key-object-create",
            "conf": 0.7,
            "crit": 3,
            "desc": "Node crypto key object creation",
            "spans": [
              [
                4705,
                15
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/decode/base64::base64-decode-call-text",
            "conf": 0.86,
            "crit": 3,
            "desc": "JavaScript invokes a Base64 decoder",
            "spans": [
              [
                4728,
                36
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/decode/base64::multiple-node-base64-decodes",
            "conf": 0.8,
            "crit": 3,
            "desc": "Multiple Node.js Base64 decodes",
            "spans": [
              [
                4728,
                37
              ],
              [
                4830,
                50
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/runtime/keywords::pipe-to-bash",
            "conf": 0.88,
            "crit": 1,
            "desc": "Pipe to bash interpreter token",
            "spans": [
              [
                12904,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/directory/mkdir::recursive-mkdir-sync",
            "conf": 0.9,
            "crit": 3,
            "desc": "Creates a directory tree synchronously",
            "spans": [
              [
                7737,
                32
              ],
              [
                7894,
                36
              ],
              [
                12103,
                52
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/agent-config/directory::claude-config-directory",
            "conf": 0.9,
            "crit": 3,
            "desc": "Claude Code config directory path",
            "spans": [
              [
                269,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/app-data::javascript-appdata-directory-reference",
            "conf": 0.7,
            "crit": 3,
            "desc": "JavaScript references the AppData directory",
            "spans": [
              [
                3241,
                7
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/read/file/full::readfilesync-call",
            "conf": 0.9,
            "crit": 3,
            "desc": "Calls readFileSync",
            "spans": [
              [
                11668,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/write/file/stream::create-write-stream",
            "conf": 0.8,
            "crit": 3,
            "desc": "Creates a write stream",
            "spans": [
              [
                6230,
                17
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/bridge::child-process-destructure-require",
            "atk": "T1059",
            "mbc": "C0017",
            "conf": 0.85,
            "crit": 3,
            "desc": "Destructures APIs from Node.js child_process",
            "spans": [
              [
                755,
                53
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/pipeline::curl-pipe-shell-text",
            "atk": "T1059.004",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a curl- or wget-to-shell pipeline",
            "spans": [
              [
                12841,
                70
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/variable-spawn::spawn-variable-program",
            "conf": 0.82,
            "crit": 3,
            "desc": "Node spawns a variable program path",
            "spans": [
              [
                10349,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/daemonize/detach::node-handle-unref-text",
            "mbc": "F0011",
            "conf": 0.86,
            "crit": 3,
            "desc": "Detaches a handle with unref()",
            "spans": [
              [
                10425,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/ui/terminal::ansi-erase-op",
            "conf": 0.86,
            "crit": 3,
            "desc": "ANSI erase-line/erase-screen sequence",
            "spans": [
              [
                1677,
                4
              ],
              [
                1722,
                7
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/spawn::detached-ignored-unref-spawn",
            "conf": 0.9,
            "crit": 3,
            "desc": "Spawns detached child and calls unref()",
            "uses": [
              41,
              42,
              71
            ],
            "spans": [
              [
                10297,
                15
              ],
              [
                10368,
                14
              ],
              [
                10425,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/spawn::spawn-call",
            "atk": "T1106",
            "conf": 0.9,
            "crit": 3,
            "desc": "Calls imported Node child_process spawn",
            "uses": [
              2,
              40
            ],
            "spans": [
              [
                781,
                7
              ],
              [
                10349,
                5
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/agent-config/file::ai-agent-config-file-target",
            "conf": 0.94,
            "crit": 3,
            "desc": "Targets an AI coding agent config file",
            "uses": [
              28
            ],
            "spans": [
              [
                10970,
                22
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/write/file/full::js-file-write",
            "conf": 0.9,
            "crit": 3,
            "desc": "JavaScript file write operation",
            "uses": [
              67
            ],
            "spans": [
              [
                6230,
                17
              ]
            ]
          },
          {
            "id": "objectives/command-and-control/dropper/execution/stealth-spawn::node-detached-remote-shell-loader",
            "atk": "T1059.004,T1059.007,T1105,T1195.002",
            "mbc": "B0024,F0011",
            "conf": 0.95,
            "crit": 5,
            "desc": "Detached spawn runs curl-piped-to-shell loader",
            "uses": [
              69,
              73
            ],
            "spans": [
              [
                10297,
                15
              ],
              [
                10368,
                14
              ],
              [
                10425,
                13
              ],
              [
                12841,
                70
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/write/file/target::agent-config-file-mutation",
            "conf": 0.93,
            "crit": 3,
            "desc": "Writes or copies an AI agent configuration file",
            "uses": [
              29,
              67,
              75,
              76
            ],
            "spans": [
              [
                10970,
                22
              ],
              [
                12164,
                13
              ]
            ]
          }
        ],
        "type": "javascript"
      },
      {
        "depth": 2,
        "facts": {
          "metrics": {
            "file": {
              "size": 63,
              "entropy": 4.7
            },
            "binary": {
              "peak_region_bytes": 63,
              "peak_region_entropy": 4.7
            }
          }
        },
        "id": 3,
        "mol": "H(U)",
        "path": "sidekick-widget-0.4.0.tgz!!package/bin/sidekick-widget.js!!package/bin/sidekick-widget.js##unicode-escape@1677",
        "risk": 1,
        "sha": "cfc6eb260687a32ccdde48631fa88bbfd6deb9c628eede922b9867a26b97a261",
        "size": 63,
        "traits": [
          {
            "id": "micro-behaviors/ui/terminal::ansi-erase-op",
            "conf": 0.86,
            "crit": 3,
            "desc": "ANSI erase-line/erase-screen sequence",
            "spans": [
              [
                45,
                4
              ]
            ]
          }
        ],
        "type": "javascript"
      },
      {
        "depth": 2,
        "facts": {
          "metrics": {
            "file": {
              "size": 63,
              "entropy": 4.75
            },
            "binary": {
              "peak_region_bytes": 63,
              "peak_region_entropy": 4.75
            }
          }
        },
        "id": 4,
        "mol": "H(U)",
        "path": "sidekick-widget-0.4.0.tgz!!package/bin/sidekick-widget.js!!package/bin/sidekick-widget.js##unicode-escape@1763",
        "risk": 1,
        "sha": "5d4ef4cd6237c2bf3639d532241a098b824c3b535811021137306e5b160b13e8",
        "size": 63,
        "traits": [
          {
            "id": "micro-behaviors/ui/terminal::ansi-erase-op",
            "conf": 0.86,
            "crit": 3,
            "desc": "ANSI erase-line/erase-screen sequence",
            "spans": [
              [
                47,
                4
              ]
            ]
          }
        ],
        "type": "javascript"
      },
      {
        "ctx": [
          {
            "b": "DKp(rb5Q?awG\u003ceTb6dEewOV0\u0026yB%:Awm]E}a$K6zar\u003e#uA=U@kzx.a:a$$Sae?!F23lQDnwmY*(A+PGmx(v(kiV]RrzGx]dy\u00261envqYP#y*?E7v}YB{axJn{xkI6{ayYQsq!Y=NyIvo]efG4FwGUI{B8b(oA3eUeze-{3x(v(iw]zYjlU{gNwmV(KwPITez/vlIlU{gNwmV(Jz!9A4vqYP#lVlHDCP[WCarR\u003eqx(kaQaBsCrarR^JB7]e@yIvo]eQ7]txjVfeiV]RQx(kOBx\u003eg^\u003cx\u003e7{gCwgP2wPPLtB0p@laBL^FarR\u003eux(4v4b03\u0026J3lQDlar\u003eoezxZRsarR^Hb2Q\u0026}l}{95zdB*$arT@v3lQDnwO#c{zE)(kiV@+RarR^Hb5RsfwG\u003ceTb0FdAi3FXLaBL^FarR\u003eAx\u003e7Z(B7DKRar\u003c/XoI4Pupe:OHa$K6zar\u003eGqzdNV{xjSnFar\u003eGvBz#pZfe4J-zF9/{zz30AwmYK\u003cv@0V8wofwkz/3W9Ef]",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 406,
              "entropy": 4.79
            },
            "binary": {
              "peak_region_bytes": 406,
              "peak_region_entropy": 4.79
            }
          }
        },
        "id": 5,
        "ident": {
          "name": {
            "value": "sidekick-widget",
            "source": "npm.name",
            "verified": false
          },
          "urls": [
            {
              "url": "https://wingman.sidekick-ads.com",
              "kind": "homepage",
              "source": "npm.homepage"
            }
          ],
          "trust": "unsigned",
          "version": {
            "value": "0.4.0",
            "source": "npm.version",
            "verified": false
          },
          "identifier": {
            "value": "sidekick-widget",
            "source": "npm.name",
            "verified": false
          }
        },
        "mol": "H(Db)Md(Pa₃)",
        "path": "sidekick-widget-0.4.0.tgz!!package/package.json",
        "pid": 0,
        "refs": [
          {
            "to": "bin/sidekick-widget.js",
            "off": 215,
            "file": 1,
            "kind": "local"
          }
        ],
        "risk": 4,
        "sha": "11a7cf25536ee135702f252979c146c50af2c741e07fcdddbfaf5ed5ee368673",
        "size": 406,
        "traits": [
          {
            "id": "supply-chain/missing-author",
            "conf": 0.5,
            "crit": 3,
            "desc": "Package has empty or missing author field",
            "spans": [
              [
                0,
                21
              ]
            ]
          },
          {
            "id": "metadata/package/entrypoint::bin-field-declared",
            "conf": 0.95,
            "crit": 3,
            "desc": "Manifest declares a bin entry",
            "spans": [
              [
                182,
                44
              ]
            ]
          },
          {
            "id": "metadata/package/files/included::package-json-basename",
            "conf": 0.95,
            "crit": 3,
            "desc": "Filename is package.json"
          },
          {
            "id": "metadata/package/files/package-json::files-array-present",
            "conf": 0.92,
            "crit": 3,
            "desc": "Package.json declares a files allowlist",
            "spans": [
              [
                246,
                16
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/agent::agent-identity-claude",
            "conf": 0.8,
            "crit": 3,
            "desc": "Claude agent identity reference",
            "spans": [
              [
                156,
                11
              ]
            ]
          }
        ],
        "type": "package.json"
      },
      {
        "ctx": [
          {
            "b": "boR5wwmYK\u003cv@0Vux\u003eg\u003c/Bp5vJzE\u003ezox(mG8x(n0lvqG:\u003eAV!$jAV!B$zF9/{zy=]LxK@q%wPITez/u?ez/6D4zFs3bazbLjavx%NB.25alVlHDayPd#avy6TwQ2*m3sEmHvQTs\u003e3t%*cat4\u003cYB7]e@yIvo]eQ7]txjVfcarR^HarR^HarR^Kay]zmzFTl1wft#cwGU!$By/JnaAz4fwNPT\u003eefFUAB97\u0026by-(8YvrD9(avy6TwGUV8z!\u003czBaz+FezEWt!zG6?yeQnEW",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "B97\u0026by\u0026Z.caAhmtBywS{wGT-^wmV($zGG!ts7#L+zddrfB0b7ky?d9$azCBgzF%A7azC)tw]z*fwgoLDv%8*dat4hDq+OrEBAzFyiXJdgx(mN2vqWYsx\u003eg^\u003cx\u003e7{gvpTBiv@DiqA+f5#vrl13fkkrBByx04e]$XGD(#)bB7+[*u%\u003crGu$\u003cI1Byx04e]$YlayPd#ayF]3B97\u0026by+xEzu)3\u003etxLzJgy*?E7v}YB]diJ5twGU@mvR/+1xK$Y%Bz\u0026pzxK@rbwO+{^B7DFawO2x{vTeq*B7ol8AccdOAckSax(^@ty\u0026r/(y+x^xu)49BBzbkdA+f5#vrl05Cw?Iqw]8w",
            "ln": 324,
            "col": 24,
            "line": 9
          },
          {
            "b": "z/Mg)ELir\u0026z!0i(fk\u003e/Kfl.bFxkI6{u)3\u003c\u003ex(n6rdiJ5pwft@nvrcEhazC{uCwhejayD=MB7GDoA9$pvl1UjIAV/EqvrrSlxK@q{AbVebAaAy0wPF#dBAq2fw?Bz$p\u003c3k-x(^%4zF80MvS=KbayGw7A=U@kzEt1rBzbl6ayG8az6i!uvR/+1xKz@{A=k!qBzbxfazbLdwmY^l3i",
            "ln": 912,
            "col": 124,
            "line": 18
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 1077,
              "entropy": 4.83
            },
            "text": {
              "lines": 22,
              "top_char": 101,
              "max_ws_run": 12,
              "digit_ratio": 0.01,
              "space_count": 137,
              "char_entropy": 4.83,
              "unique_chars": 57,
              "top_char_null": 0,
              "top_char_ratio": 0.08,
              "avg_line_length": 47.95,
              "max_line_length": 125,
              "empty_line_ratio": 0.27,
              "last_line_length": 64,
              "whitespace_ratio": 0.15,
              "line_length_stddev": 41.74,
              "repeated_char_sequences": 1
            },
            "binary": {
              "peak_region_bytes": 1024,
              "peak_region_entropy": 4.83
            }
          }
        },
        "id": 6,
        "mol": "H₃(CmDbPo)",
        "path": "sidekick-widget-0.4.0.tgz!!package/README.md",
        "pid": 0,
        "risk": 3,
        "sha": "5e7435efcd87c52b03cffb8795b75f0e05820ca7c9bb3fcb36aad78190c5239b",
        "size": 1077,
        "traits": [
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                51,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                89,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                982,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                38,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                960,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                495,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/curl::curl-command-remote-url",
            "conf": 0.85,
            "crit": 3,
            "desc": "curl command names a routable remote URL",
            "spans": [
              [
                388,
                43
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/agent::agent-identity-claude",
            "conf": 0.8,
            "crit": 3,
            "desc": "Claude agent identity reference",
            "spans": [
              [
                77,
                11
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/runtime/keywords::pipe-to-bash",
            "conf": 0.88,
            "crit": 1,
            "desc": "Pipe to bash interpreter token",
            "spans": [
              [
                451,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/pipeline::curl-pipe-shell-text",
            "atk": "T1059.004",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a curl- or wget-to-shell pipeline",
            "spans": [
              [
                388,
                70
              ]
            ]
          }
        ],
        "type": "markdown"
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 906,
              "entropy": 4.85
            },
            "binary": {
              "peak_region_bytes": 906,
              "peak_region_entropy": 4.85
            },
            "registry": {
              "age_days": 0,
              "file_count": 3,
              "maintainers": 1,
              "published_at": 1789595831,
              "releases_24h": 1,
              "releases_48h": 1,
              "is_deprecated": 0,
              "release_count": 1,
              "security_hold": 0,
              "unpacked_size": 14610,
              "version_removed": 0,
              "package_age_days": 0,
              "first_published_at": 1789595830,
              "has_install_script": 0,
              "publisher_in_maintainers": 1
            }
          }
        },
        "id": 7,
        "mol": "Md(Re)",
        "path": "sidekick-widget@0.4.0.registry.json",
        "pid": 0,
        "rel": "registry",
        "risk": 1,
        "role": "sidecar",
        "sha": "e90fae6e5ced88701540e992b8c8338e998fe4e0518dca92415557aae56051cb",
        "size": 906,
        "traits": [
          {
            "id": "metadata/registry::brand-new-package",
            "conf": 1.0,
            "crit": 3,
            "desc": "Package first published within seven days"
          },
          {
            "id": "metadata/registry::few-releases",
            "conf": 1.0,
            "crit": 3,
            "desc": "Three or fewer releases"
          },
          {
            "id": "metadata/registry::recent-package",
            "conf": 1.0,
            "crit": 3,
            "desc": "Package under two months old"
          },
          {
            "id": "metadata/registry::single-maintainer",
            "conf": 1.0,
            "crit": 3,
            "desc": "Registry package lists one maintainer"
          },
          {
            "id": "metadata/registry::freshly-published",
            "conf": 1.0,
            "crit": 3,
            "desc": "Release published within seven days"
          }
        ],
        "type": "registry"
      }
    ],
    "rev": "e86a6",
    "v": "8"
  }
}