{
  "llm": {
    "conf": 0.0186357,
    "grade": "benign",
    "model": "Qwen/Qwen3.8-27B",
    "outcome": "benign",
    "interpretation": "Legitimate MJML Rails gem"
  },
  "ml": {
    "v": "7",
    "eng": "2.8.0",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.027814478,
        "rte": "az",
        "prob": 0.027814478
      },
      {
        "cls": 0,
        "raw": 0.005878409,
        "rte": "az/gem",
        "prob": 0.005878409
      }
    ],
    "prob": 0.027814478,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.027814477682113647,
        "type": "gem"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000026265779524692334,
        "type": "tar.gz"
      },
      {
        "id": 2,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000015159447684709448,
        "type": "ruby"
      },
      {
        "id": 3,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001706679722701665,
        "type": "ruby"
      },
      {
        "id": 18,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012745459571306128,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-02T18:05:14Z"
  },
  "path": "mjml-rails-4.2.4.gem",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "zdN/$wmoN*e[YFg00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fFCgmg=d2?fFCgmfFCfXfFCgmfA",
            "ln": 0
          }
        ],
        "mol": "O(C)H₂(CmPo)",
        "sha": "a755fae40e30eb7e4f0b06a4abc90e0ea9dc69d0f7bcbc0490973aa5b32e80ff",
        "path": "mjml-rails-4.2.4.gem",
        "risk": 4,
        "size": 15872,
        "type": "gem",
        "facts": {
          "metrics": {
            "gem": {
              "dependency_count": 0,
              "runtime_dependency_count": 0,
              "development_dependency_count": 0
            },
            "file": {
              "size": 15872,
              "entropy": 6.52
            },
            "binary": {
              "peak_region_bytes": 8192,
              "peak_region_entropy": 7.8
            },
            "archive": {
              "file_count": 6,
              "member_count": 6,
              "script_count": 0,
              "directory_count": 0,
              "executable_count": 0,
              "hidden_file_count": 0,
              "uncompressed_size": 10814,
              "max_filename_length": 21,
              "rtlo_filename_count": 0,
              "format.regular_count": 6,
              "nested_archive_count": 3,
              "path_traversal_count": 0,
              "symlink_escape_count": 0,
              "security.setgid_count": 0,
              "security.setuid_count": 0,
              "security.sticky_count": 0,
              "double_extension_count": 0,
              "security.symlink_count": 0,
              "unicode_filename_count": 0,
              "homoglyph_filename_count": 0,
              "timing.mtime_unique_count": 1,
              "misplaced_executable_count": 0,
              "timing.mtime_spread_seconds": 0,
              "security.world_writable_count": 0
            }
          }
        },
        "ident": {
          "name": {
            "value": "mjml-rails",
            "source": "gem.name",
            "verified": false
          },
          "urls": [
            {
              "url": "https://github.com/sighmon/mjml-rails",
              "kind": "homepage",
              "source": "gem.homepage"
            }
          ],
          "trust": "unsigned",
          "authors": [
            {
              "name": "Simon Loffler",
              "role": "author",
              "source": "gem.authors"
            },
            {
              "name": "Steven Pickles",
              "role": "author",
              "source": "gem.authors"
            }
          ],
          "version": {
            "value": "4.2.4",
            "source": "gem.version",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "micro-behaviors/process/create/shell/lang::ruby-subshell-command",
            "conf": 0.93,
            "crit": 3,
            "desc": "Ruby subshell command execution"
          },
          {
            "id": "micro-behaviors/fs/path/temp::tmp-path-content",
            "conf": 1.0,
            "crit": 2,
            "desc": "Contains a /tmp/ or /var/tmp/ path"
          },
          {
            "id": "metadata/package/testing/presence/harness::tests-path-filename",
            "conf": 0.85,
            "crit": 1,
            "desc": "File path or name indicates test code"
          },
          {
            "id": "micro-behaviors/communications/http/url/forge::public-code-forge-url",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a public code-forge URL"
          },
          {
            "id": "metadata/package/testing/presence/harness::test-directory-path",
            "conf": 1.0,
            "crit": 1,
            "desc": "File is in common test directory"
          },
          {
            "id": "metadata/package/testing/presence/harness::test-directory",
            "conf": 1.0,
            "crit": 2,
            "desc": "File identified as a test by path or name",
            "from": [
              {
                "file": 1
              },
              {
                "file": 3
              },
              {
                "file": 12
              },
              {
                "file": 13
              },
              {
                "file": 14
              },
              {
                "file": 15
              }
            ]
          },
          {
            "id": "objectives/command-and-control/reverse-shell/dup::open3-popen",
            "atk": "T1059",
            "conf": 0.75,
            "crit": 3,
            "desc": "Open3 popen call"
          },
          {
            "id": "micro-behaviors/communications/http/message::http-url-literal",
            "conf": 0.75,
            "crit": 2,
            "desc": "HTTP URL string literal"
          },
          {
            "id": "micro-behaviors/fs/path/temp::unix-temp",
            "conf": 0.7,
            "crit": 2,
            "desc": "Unix /tmp/ path reference"
          },
          {
            "id": "micro-behaviors/process/create/shell/lang::ruby-popen",
            "conf": 0.92,
            "crit": 3,
            "desc": "popen pipes to/from command"
          }
        ]
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 7525,
              "entropy": 7.96
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 7525,
              "peak_region_entropy": 7.8
            }
          }
        },
        "id": 1,
        "mol": "O(C)H₂(CmPo)",
        "path": "mjml-rails-4.2.4.gem!!data.tar.gz",
        "pid": 0,
        "risk": 4,
        "sha": "a7158c5b24476fb99808bdfef9b0d001a15801275e9ee9577758077f4c98c151",
        "size": 7525,
        "traits": [
          {
            "id": "micro-behaviors/process/create/shell/lang::ruby-subshell-command",
            "conf": 0.93,
            "crit": 3,
            "desc": "Ruby subshell command execution"
          },
          {
            "id": "metadata/package/testing/presence/harness::tests-path-filename",
            "conf": 0.85,
            "crit": 1,
            "desc": "File path or name indicates test code"
          },
          {
            "id": "metadata/package/testing/presence/harness::test-directory",
            "conf": 1.0,
            "crit": 2,
            "desc": "File identified as a test by path or name",
            "from": [
              {
                "file": 3
              },
              {
                "file": 12
              },
              {
                "file": 13
              },
              {
                "file": 14
              },
              {
                "file": 15
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/lang::ruby-popen",
            "conf": 0.92,
            "crit": 3,
            "desc": "popen pipes to/from command"
          },
          {
            "id": "objectives/command-and-control/reverse-shell/dup::open3-popen",
            "atk": "T1059",
            "conf": 0.75,
            "crit": 3,
            "desc": "Open3 popen call"
          },
          {
            "id": "micro-behaviors/communications/http/url/forge::public-code-forge-url",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a public code-forge URL"
          },
          {
            "id": "micro-behaviors/communications/http/message::http-url-literal",
            "conf": 0.75,
            "crit": 2,
            "desc": "HTTP URL string literal"
          },
          {
            "id": "metadata/package/testing/presence/harness::test-directory-path",
            "conf": 1.0,
            "crit": 1,
            "desc": "File is in common test directory"
          },
          {
            "id": "micro-behaviors/fs/path/temp::tmp-path-content",
            "conf": 1.0,
            "crit": 2,
            "desc": "Contains a /tmp/ or /var/tmp/ path"
          },
          {
            "id": "micro-behaviors/fs/path/temp::unix-temp",
            "conf": 0.7,
            "crit": 2,
            "desc": "Unix /tmp/ path reference"
          }
        ],
        "type": "tar.gz"
      },
      {
        "ctx": [
          {
            "b": "A+flkx(W=cb4j#6x(v(@C4\u003eJia{@v4ADL#owGSg9v@#B6zEmN3wP]!HwO(y5vru683uxY$B.L(car\u003eVqzep\u003exyhE^ewO(y5vru683uxY$B.L(car\u003eVqzep\u003eCvqb",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "a{]CnkTog3zerM*x(mv1D0+c6A=k#9B98CpzF77Par\u003cf\u003eB.\u003ePacV*Fyx(mD7Bzbkdo?FbNar#kcyhE=tze9{7uT^.!vrcT2C4CYnx(v(@B9hCvz/P@hwpkOfx(mv1C}HY(xKM6}aBd)FaAzQxas57EAbu.izGx]dy?$khyhE=Ka{]CnkTn^\u0026vrDWaw{CHZaARTDwEoL5kTog2zFrZdauZ\u0026VvqH0@3jm)#wmYu}B7Gf1e[nNav@2B{wPz\u003caz/c$jx(kvbarR^HnLZ%Tz/xo9c)x).vRG.dat2f*wPz\u003caz/c:FaBtkUx(wwwx(tRAwNPa4x(mA%B.25Fc)AIyzep!lz/PzIar#kcyhE=tze9{7uT^.!vrcT2C4CYnx(v(@B9hCvz/P@hwpkTJaBKOtaAz4mv%8t\u0026arR^Hw)]H%wEoL5wO#2=3lQE4wO96awO+%hwnc9{z*2YjuU%K{y*QT=zvdHearR)KlUH4vyANkcAV!^kxkzG}vqE62zGx]dy?$kjw/%/uo?VWsx(mv1C)UVparUJozerM*x(k4Rasz2vzepNbarR^HA+funA=91pyhE=]vRGZ5x\u003ewF$xK$W?uV{13B7]Mgc#AZoyY",
            "ln": 380,
            "col": 40,
            "line": 12
          },
          {
            "b": "avx*Nv@0i0z/M$eaz+$avqE62zGx]dy?$kjw/%/uo?VWsx(mv1C)UVparUxoB97\u0026by?mS]Aa9\u003c4auZ?}u#x}2ayY55u)6\u0026AayGF6A=91ex(mrce[nNkzeY?8arR!zyhE=]vRGZ5jS)jdy?kklz!T8qx(n0lvqG:\u003eA:J=]Bz9iFcV9Qny:QUsarR^HA+funA=91pyhE=]vRGZ5x\u003ewF$xK$W?uV{13B7]Mgc#AZoy*QT=zyC]1arR^HAclnzawDP/y+xNtzerM*x(mt",
            "ln": 877,
            "col": 6,
            "line": 28
          },
          {
            "b": "Byxo9z/e=kt{ar0y?WAkA+fc0wPxebvR/P#wn+$2zdNQbawC\u003cmr3lm7vrcDjCwhejauTHQzeqxUA=k(raAR483lQDlarR^Kaw3e/Cv.[fwPP5dwPzu8vqYP#By/rdy*?A%aAIEzA:@V6wn=42zyoJGB97\u0026hBrC^wBz8!nzE\u003c@8BrCBivqZb[arR^HarR)KBzb98aA}xtvrb{4A+fc0wPzH5xcqe4A==27y-)R7zdNl2vpJ!=A+5)4xcqqmaz+R4vpKN9zEEx@zF784z/f-fzGGPhzxHuDvrcE7vqH0cwO#3)zF78ox([2hcOxmJ",
            "ln": 1416,
            "col": 35,
            "line": 47
          },
          {
            "b": "xK#67Bz(aIy?m^3y-)L5D2E?Efly=xAbn%8wGUYdaAz4hwmY^)wc%C4arR^HbmkLoarR^HboQhAt{7ZwxMOunB2\u003e%cxk8E3BZ=$kz/4dAyhE^3z.C%xzep\u003emy\u0026r=ozddHcwPxCmz^$CkB.Lw$e]tbzze9{73lQDlarR!vw/$P4ze:i9wN]d?z/{8gwGTc+atk\u0026]yhE=ne?nwnj$*QSarR^HarR^Hb28/?y=TQKyhE^ewO(y5vru6kBz\u003eJ1BzU?xvR6g^zAx6",
            "ln": 1793,
            "col": 26,
            "line": 51
          }
        ],
        "depth": 2,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "mattr_accessor"
            ],
            [
              "",
              "mjml_binary_version_supported"
            ],
            [
              "",
              "popen"
            ],
            [
              "",
              "include?"
            ],
            [
              "",
              "read"
            ],
            [
              "",
              "mjml_binary_version_supported"
            ],
            [
              "",
              "check_version"
            ],
            [
              "",
              "chomp"
            ],
            [
              "",
              "join"
            ],
            [
              "",
              "check_version"
            ],
            [
              "",
              "puts"
            ],
            [
              "",
              "mjml_binary_error_string"
            ],
            [
              "",
              "registered_template_handler"
            ],
            [
              "",
              "template_language"
            ],
            [
              "",
              "call"
            ],
            [
              "",
              "block_given?"
            ],
            [
              "",
              "action_view"
            ],
            [
              "",
              "action_view/template"
            ],
            [
              "",
              "mjml/mjmltemplate"
            ],
            [
              "",
              "mjml/railtie"
            ],
            [
              "",
              "rubygems"
            ]
          ],
          "mbr": [
            "File.join",
            "IO.popen",
            "Mjml.mjml_binary_error_string",
            "Mjml.mjml_binary_version_supported",
            "Mjml.template_language",
            "io.read",
            "io.read.include?",
            "template_handler.call"
          ],
          "tgt": [
            "block_given?",
            "call",
            "check_version",
            "chomp",
            "include?",
            "join",
            "mattr_accessor",
            "mjml_binary_error_string",
            "mjml_binary_version_supported",
            "popen",
            "puts",
            "read",
            "registered_template_handler",
            "require",
            "template_language"
          ],
          "funcs": [
            [
              "check_version",
              560
            ],
            [
              "discover_mjml_bin",
              727
            ],
            [
              "template_handler",
              1170
            ],
            [
              "call",
              1306
            ],
            [
              "setup",
              2100
            ]
          ],
          "metrics": {
            "ast": {
              "op.lor": 1,
              "max_depth": 13,
              "op.concat": 11,
              "call_count": 21,
              "node_count": 332,
              "member_count": 8,
              "op_density.lor": 0,
              "member_depth_max": 3,
              "op_density.concat": 0.03
            },
            "file": {
              "size": 2156,
              "entropy": 4.83
            },
            "text": {
              "lines": 65,
              "top_char": 101,
              "max_ws_run": 1,
              "digit_ratio": 0,
              "space_count": 346,
              "char_entropy": 4.83,
              "unique_chars": 71,
              "top_char_null": 0,
              "string_density": 0.18,
              "top_char_ratio": 0.09,
              "avg_line_length": 32.17,
              "max_line_length": 139,
              "empty_line_ratio": 0.17,
              "last_line_length": 3,
              "whitespace_ratio": 0.19,
              "identifier_density": 0.98,
              "line_length_stddev": 34.81,
              "normalized_string_count": 1.49,
              "suspicious_comment_ratio": 0.11,
              "normalized_unique_identifiers": 6.31
            },
            "binds": {
              "count": 12
            },
            "binary": {
              "peak_region_bytes": 2048,
              "peak_region_entropy": 4.89
            },
            "source": {
              "class_count": 2,
              "function_count": 5
            },
            "imports": {
              "count": 5,
              "third_party_count": 5,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 310,
              "count": 12,
              "avg_length": 25.83,
              "max_length": 102,
              "avg_entropy": 3.1,
              "entropy_stddev": 1.18
            },
            "comments": {
              "chars": 563,
              "count": 9,
              "empty": 1,
              "lines": 8,
              "high_entropy": 1,
              "to_code_ratio": 0.14,
              "url_in_comments": 1
            },
            "functions": {
              "count": 7
            },
            "identifiers": {
              "count": 64,
              "unique": 38,
              "avg_length": 11.55,
              "max_length": 31,
              "min_length": 2,
              "avg_entropy": 2.76,
              "reuse_ratio": 0.59,
              "length_stddev": 8.19,
              "high_entropy_count": 9,
              "high_entropy_ratio": 0.24,
              "all_lowercase_ratio": 0.58,
              "all_uppercase_ratio": 0.05
            }
          }
        },
        "id": 2,
        "mol": "H₂(CmPo)",
        "path": "mjml-rails-4.2.4.gem!!data.tar.gz!!lib/mjml.rb",
        "risk": 2,
        "sha": "4a4d21bba73e091bd0f56441c89647729330cf13a88f12ebe0c774e3120dd6db",
        "size": 2156,
        "traits": [
          {
            "id": "micro-behaviors/communications/http/url/forge::public-code-forge-url",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a public code-forge URL",
            "spans": [
              [
                1857,
                19
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/lang::ruby-popen",
            "conf": 0.92,
            "crit": 3,
            "desc": "popen pipes to/from command",
            "spans": [
              [
                592,
                5
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/lang::ruby-subshell-command",
            "conf": 0.93,
            "crit": 3,
            "desc": "Ruby subshell command execution",
            "spans": [
              [
                941,
                9
              ],
              [
                954,
                10
              ]
            ]
          }
        ],
        "type": "ruby"
      },
      {
        "ctx": [
          {
            "b": "A+flkx(W=ccV\u0026{vByeY)y\u0026A%acKHh\u003ewPIv4x\u003c$S@o\u003e[JYiYZ8CA=U/jay]x$arUGiBsog:zG6-udiJ%WzeS{1c)@.DAclmIdiK3CarUGiBsog?vrcB2AW-bTawDP/y=TQNvrcB2AXqlvCpme",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "arR!rzE:7%arR!rzE:7YarR^HwmY*(A+O#]asyVczxJ$hvpQG\u0026wNP.6x\u003ezSkvqYP#ze0)4w{CIez/ff3xlbBywn.!$arR^HazC{ucV%Gway]4}vrDydB0bgeaz#9uv@Dl%x\u003eFM5B0bKnBsehwzWEQfarR^HarUluAaJK3c@1C[y+xgdvrDWaw{C*",
            "ln": 982,
            "col": 4,
            "line": 38
          },
          {
            "b": "3lQDlarR!ywPPsYwPz*fAW-bTaszkzwO=f9wPz*fAWI#T3lQDlarR!ywPPsYB97@7A=JPKDMWfzv@0FuB97@7A=JJUaz2F6kro{0vqH0@efF$AvpRzwwPz*fAW-bV3jm)#arR^HvR6d\u0026A+cwuawV@/zzJ[^BAI5lc#:9zwO%p+ax@.$y+cYDx(2syB97@7A=JYNzFr])diK3C3lQDlarR!vBrz@Kvqf^]B0b4sv}xR3x(v(pay]x$arR^HarR^HeJ$q7aAg+fB7GwAA=(mxa$[4PA4+{yAclnfw[=6)e]tuuy:70Ie]t-LByf5%x(^\u0026lo\u003e[JYiYZ8CA=U/jiYZ8CA=U!XA=M8sefFIAA=k$E3lQDlarR!rzE:7%arR!rzE:7%az2C33t19=3i",
            "ln": 1517,
            "col": 47,
            "line": 60
          }
        ],
        "depth": 2,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "let"
            ],
            [
              "",
              "mock"
            ],
            [
              "",
              "let"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "let"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "let"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "before"
            ],
            [
              "",
              "raises"
            ],
            [
              "",
              "stubs"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "before"
            ],
            [
              "",
              "setup"
            ],
            [
              "",
              "raise_render_exception"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "must_raise"
            ],
            [
              "",
              "render"
            ],
            [
              "",
              "message"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "before"
            ],
            [
              "",
              "setup"
            ],
            [
              "",
              "raise_render_exception"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "must_equal"
            ],
            [
              "",
              "render"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "equal?"
            ],
            [
              "",
              "expect"
            ],
            [
              "",
              "beautify"
            ],
            [
              "",
              "equal?"
            ],
            [
              "",
              "expect"
            ],
            [
              "",
              "minify"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "setup"
            ],
            [
              "",
              "beautify"
            ],
            [
              "",
              "minify"
            ],
            [
              "",
              "equal?"
            ],
            [
              "",
              "expect"
            ],
            [
              "",
              "beautify"
            ],
            [
              "",
              "equal?"
            ],
            [
              "",
              "expect"
            ],
            [
              "",
              "minify"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "let"
            ],
            [
              "",
              "let"
            ],
            [
              "",
              "mock"
            ],
            [
              "",
              "before"
            ],
            [
              "",
              "stubs"
            ],
            [
              "",
              "it"
            ],
            [
              "",
              "must_raise"
            ],
            [
              "",
              "run"
            ],
            [
              "",
              "test_helper"
            ]
          ],
          "mbr": [
            "Class.new",
            "Mjml.beautify",
            "Mjml.minify",
            "Mjml.setup",
            "Open3.stubs",
            "config.beautify",
            "config.minify",
            "config.raise_render_exception",
            "custom_error_class.new",
            "error.message",
            "parser.render",
            "parser.render.must_equal",
            "parser.run",
            "parser.stubs",
            "parser.stubs.raises"
          ],
          "tgt": [
            "beautify",
            "before",
            "describe",
            "equal?",
            "expect",
            "it",
            "let",
            "message",
            "minify",
            "mock",
            "must_equal",
            "must_raise",
            "new",
            "raise_render_exception",
            "raises",
            "render",
            "require",
            "run",
            "setup",
            "stubs"
          ],
          "metrics": {
            "ast": {
              "max_depth": 21,
              "op.concat": 28,
              "call_count": 58,
              "node_count": 530,
              "member_count": 15,
              "max_array_len": 4,
              "member_depth_max": 3,
              "op_density.concat": 0.05
            },
            "file": {
              "size": 1834,
              "entropy": 4.33
            },
            "text": {
              "lines": 71,
              "top_char": 101,
              "max_ws_run": 1,
              "digit_ratio": 0,
              "space_count": 489,
              "char_entropy": 4.33,
              "unique_chars": 53,
              "top_char_null": 0,
              "string_density": 0.27,
              "top_char_ratio": 0.09,
              "avg_line_length": 24.83,
              "max_line_length": 92,
              "empty_line_ratio": 0.18,
              "last_line_length": 3,
              "whitespace_ratio": 0.31,
              "identifier_density": 1.32,
              "line_length_stddev": 21.81,
              "normalized_string_count": 2.25,
              "repeated_char_sequences": 10,
              "normalized_unique_identifiers": 5.2
            },
            "binds": {
              "count": 4
            },
            "binary": {
              "peak_region_bytes": 1834,
              "peak_region_entropy": 4.47
            },
            "imports": {
              "count": 1,
              "third_party_count": 1,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 345,
              "count": 19,
              "avg_length": 18.16,
              "max_length": 41,
              "path_count": 1,
              "avg_entropy": 3.17,
              "empty_count": 1,
              "entropy_stddev": 0.61
            },
            "identifiers": {
              "count": 94,
              "unique": 32,
              "avg_length": 6.94,
              "max_length": 22,
              "min_length": 2,
              "avg_entropy": 2.29,
              "reuse_ratio": 0.34,
              "length_stddev": 4.09,
              "has_digit_ratio": 0.03,
              "all_lowercase_ratio": 0.78,
              "numeric_suffix_count": 1
            }
          }
        },
        "id": 3,
        "mol": "O(C)",
        "path": "mjml-rails-4.2.4.gem!!data.tar.gz!!test/parser_test.rb",
        "risk": 2,
        "sha": "9bd74f891bbf09e1a216f5a28723ea0177009d99076c432c15cbf99fda321e37",
        "size": 1834,
        "traits": [
          {
            "id": "metadata/package/testing/presence/harness::test-directory-path",
            "conf": 1.0,
            "crit": 1,
            "desc": "File is in common test directory",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/temp::tmp-path-content",
            "conf": 1.0,
            "crit": 2,
            "desc": "Contains a /tmp/ or /var/tmp/ path",
            "spans": [
              [
                1737,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/path/temp::unix-temp",
            "conf": 0.7,
            "crit": 2,
            "desc": "Unix /tmp/ path reference",
            "spans": [
              [
                1738,
                0
              ]
            ]
          },
          {
            "id": "objectives/command-and-control/reverse-shell/dup::open3-popen",
            "atk": "T1059",
            "conf": 0.75,
            "crit": 3,
            "desc": "Open3 popen call",
            "spans": [
              [
                1646,
                6
              ]
            ]
          },
          {
            "id": "metadata/package/testing/presence/harness::tests-path-filename",
            "conf": 0.85,
            "crit": 1,
            "desc": "File path or name indicates test code",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/testing/presence/harness::test-directory",
            "conf": 1.0,
            "crit": 2,
            "desc": "File identified as a test by path or name",
            "spans": [
              [
                0,
                0
              ]
            ]
          }
        ],
        "type": "ruby"
      },
      {
        "ctx": [
          {
            "b": "DM)3hz/ZhBBy/qkiWeiFz6yIPzEEx[b03]+yhE=sA:-V#B0rdVC4CYnx(v(kiWcykga\u003eycefY4QvR/+1xK$ZYvrrXOf/p:Eg+ZWxfF+m7vp%dUwmo+8b04Fsi58%dyY",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 848,
              "entropy": 4.77
            },
            "binary": {
              "peak_region_bytes": 848,
              "peak_region_entropy": 4.77
            },
            "registry": {
              "age_days": 2881,
              "published_at": 1539402503,
              "is_deprecated": 0,
              "downloads_total": 10070978,
              "downloads_recent": 161363
            }
          }
        },
        "id": 18,
        "path": "mjml-rails@4.2.4.registry.json",
        "pid": 0,
        "rel": "registry",
        "role": "sidecar",
        "sha": "32ee3ebe922245251f43b4b916938003ed8e86a0eb407cedf59a2df5314b771f",
        "size": 848,
        "traits": [
          {
            "id": "metadata/registry::widely-installed",
            "conf": 1.0,
            "crit": 1,
            "desc": "Large registry install base (10k+ downloads)",
            "spans": [
              [
                0,
                0
              ]
            ]
          }
        ],
        "type": "registry"
      }
    ],
    "rev": "479f3",
    "v": "8"
  }
}