{
  "ml": {
    "v": "7",
    "eng": "2.8.0",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.011249502,
        "rte": "az",
        "prob": 0.011249502
      },
      {
        "cls": 0,
        "raw": 0.004982034,
        "rte": "az/tar",
        "prob": 0.004982034
      }
    ],
    "prob": 0.011249502,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.011249502189457417,
        "type": "gem"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000024527311325073242,
        "type": "tar.gz"
      },
      {
        "id": 2,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001333157251792727,
        "type": "ruby"
      },
      {
        "id": 3,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001430511474609375,
        "type": "ruby"
      },
      {
        "id": 7,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000015099843039934058,
        "type": "ruby"
      },
      {
        "id": 8,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012069940567016602,
        "type": "ruby"
      },
      {
        "id": 9,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000011990468010480981,
        "type": "ruby"
      },
      {
        "id": 10,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001467267702537356,
        "type": "ruby"
      },
      {
        "id": 11,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012556712135847192,
        "type": "ruby"
      },
      {
        "id": 20,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013401110663835425,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-07T01:01:38Z"
  },
  "path": "auto_test-0.0.9.4.8.gem",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "wmoN*e{7Jxe[YFg00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fFCgmhz^k\u003cfFCgmfFCfXfFCf",
            "ln": 0
          }
        ],
        "mol": "H₂(DbPo₂)Md(Pa)",
        "sha": "ac368cf8c9c10f7083a9e99fc110bea6f7cde0561d3a5bf5f1ff33a48fe94bcd",
        "path": "auto_test-0.0.9.4.8.gem",
        "risk": 4,
        "size": 17920,
        "type": "gem",
        "facts": {
          "metrics": {
            "gem": {
              "dependency_count": 6,
              "runtime_dependency_count": 0,
              "development_dependency_count": 6
            },
            "file": {
              "size": 17920,
              "entropy": 7.52
            },
            "binary": {
              "peak_region_bytes": 14336,
              "peak_region_entropy": 7.83
            },
            "archive": {
              "file_count": 2,
              "member_count": 2,
              "script_count": 0,
              "directory_count": 0,
              "executable_count": 0,
              "hidden_file_count": 0,
              "uncompressed_size": 15565,
              "max_filename_length": 11,
              "rtlo_filename_count": 0,
              "format.regular_count": 2,
              "nested_archive_count": 2,
              "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": "auto_test",
            "source": "gem.name",
            "verified": false
          },
          "trust": "unsigned",
          "authors": [
            {
              "name": "Maike Hargens",
              "role": "author",
              "source": "gem.authors"
            }
          ],
          "version": {
            "value": "0.0.9.4.8",
            "source": "gem.version",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "metadata/package/testing/presence/harness::tests-path-filename",
            "conf": 0.85,
            "crit": 1,
            "desc": "File path or name indicates test code"
          },
          {
            "id": "metadata/file/profile/language::lang-english--atom-1",
            "conf": 0.8,
            "crit": 2,
            "desc": "English function-word token \"the\""
          },
          {
            "id": "micro-behaviors/data/source/dynamic/reflect::ruby-const-get",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby dynamically resolves a constant"
          },
          {
            "id": "metadata/file/profile/language::lang-english--atom-7",
            "conf": 0.8,
            "crit": 2,
            "desc": "English function-word token \"this\""
          },
          {
            "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": 2
              },
              {
                "file": 8
              },
              {
                "file": 9
              },
              {
                "file": 10
              },
              {
                "file": 11
              },
              {
                "file": 16
              },
              {
                "file": 19
              }
            ],
            "uses": [
              0,
              10
            ]
          },
          {
            "id": "metadata/package/config::gemspec-name-assignment",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby gemspec assigns package name"
          },
          {
            "id": "micro-behaviors/process/interpreter/ruby::ruby-keyword",
            "conf": 0.7,
            "crit": 3,
            "desc": "Ruby interpreter command invocation"
          },
          {
            "id": "micro-behaviors/data/source/dynamic/reflect::ruby-send-call",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby dynamically invokes a method with send"
          },
          {
            "id": "metadata/package/testing/presence/harness::spec-path-basename",
            "conf": 1.0,
            "crit": 1,
            "desc": "Spec path basename"
          },
          {
            "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::test-directory-path",
            "conf": 1.0,
            "crit": 1,
            "desc": "File is in common test directory"
          }
        ]
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 14813,
              "entropy": 7.98
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 14813,
              "peak_region_entropy": 7.83
            }
          }
        },
        "id": 1,
        "mol": "H₂(DbPo₂)Md(Pa)",
        "path": "auto_test-0.0.9.4.8.gem!!data.tar.gz",
        "pid": 0,
        "risk": 4,
        "sha": "cd9997a22d432ec57f2ed434de33de566db36df44271c7d25a6fa68f5c6efc17",
        "size": 14813,
        "traits": [
          {
            "id": "metadata/file/profile/language::lang-english--atom-1",
            "conf": 0.8,
            "crit": 2,
            "desc": "English function-word token \"the\""
          },
          {
            "id": "micro-behaviors/data/source/dynamic/reflect::ruby-const-get",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby dynamically resolves a constant"
          },
          {
            "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": "micro-behaviors/data/source/dynamic/reflect::ruby-send-call",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby dynamically invokes a method with send"
          },
          {
            "id": "metadata/package/testing/presence/harness::spec-path-basename",
            "conf": 1.0,
            "crit": 1,
            "desc": "Spec path basename"
          },
          {
            "id": "micro-behaviors/process/interpreter/ruby::ruby-keyword",
            "conf": 0.7,
            "crit": 3,
            "desc": "Ruby interpreter command invocation"
          },
          {
            "id": "metadata/package/testing/presence/harness::test-directory-path",
            "conf": 1.0,
            "crit": 1,
            "desc": "File is in common test directory"
          },
          {
            "id": "metadata/file/profile/language::lang-english--atom-7",
            "conf": 0.8,
            "crit": 2,
            "desc": "English function-word token \"this\""
          },
          {
            "id": "metadata/package/config::gemspec-name-assignment",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby gemspec assigns package name"
          },
          {
            "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": 2
              },
              {
                "file": 8
              },
              {
                "file": 9
              },
              {
                "file": 10
              },
              {
                "file": 11
              },
              {
                "file": 16
              },
              {
                "file": 19
              }
            ],
            "uses": [
              3,
              7
            ]
          }
        ],
        "type": "tar.gz"
      },
      {
        "ctx": [
          {
            "b": "boOM/eG!Rxv@C)(zF80MB-.jEi3o!5eEDJfADL#owGTDRy?kkgCYm8ewm6p:Bz96Ie?O![x\u003c@-7B-.LeBy/JnflQ]EB7]MgcOcxEuQ^QXmpfyJ3jopmz8%ZRAaJJ[w[+:-BzkVhe]ClAay]ykD$N2cD\u003cQ#sxjU{jvrDW9z/P[warR^HarS/\u0026toV^Ix\u003e}o5nmuKKwO#Mkt).X%xjU{jwO\u003e\u003c\u0026y-\u003c\u0026yarR^HarS/\u0026toW{1xH3oHw]zZbvruj0e{h5CeO/6iy+xmfb3+J#azkn5e[wKmv@=p5BzkVharR^\u0026ash2Ol3mo/zddK2v\u003c1-ZB98blxcpe(z!%?earUrdz7Y)LzeAZ4C{1jLarR^HjS(4\u003cDSjM$BAnNkAbYScv{%E[z/fRsvrDWgzddK2v{%g\u0026C{3Kkwft]3zE^W5y\u003cyBo3lQC#arR1lazkn5e[5p3uU0.\u003ewO=p7zdNQbuU0.!wO#3\u0026zEW@ucUu!5wPxdE3lQE7wO\u003c5dwmP4TwP?T3z/xM8zGGk@wPhi#wmYT*C{\u003e4XB8UY2cN/xBazkn5e[5p3uU0.\u003ewO=p7zdNQbuU0.!wO#3\u0026zEW@ucU3O7D17i5vj9GharUrdz7Ymcwm5\u003eUC4CGdAbxf7ByeM\u0026AaJ]$wO#16c)@LlBywS!B7FY*y?m3)wPxdE3lQE7wO\u003c5dwmP4TwP?T3z/xM8zGGk@wPhi#wmYT*C{\u003e4:vruj7eQ7=nwo8ycwPxdEarR1lazkn5e[5p3uU0.\u003ewO=p7zdNQbuU0.!wO#3\u0026zEW@ucVSTfy\u0026Z%Par\u003c0jatUS8a$i\u003caarUrdz7YBmy?mVgarR^HarR^HjS[cBx(\u003eFlB1I0ry?mV}e]$#Fx(\u003e:GtQZ15azkn5e[Gosv%8)4vR/Q%arR^\u0026azkn5e[O*lwPGFpA+fhrc31usvRGZkEjl^=vq{MoD$E:GmRMWIe[emgwO${[wHIdtaBKOtazkn5e{7VCByeS]y?mVgarR^\u0026azkn5e[O*lwPGFpA+fhrc31usd0f3wBBndGwN*a1wNPX6A+fqvfmtnRarUrdz7YZmzdK?jarR^HarR^HjS\u003e}SB-.LeBy/Jna{]CnxjU{jA+flkx(W=(Aa9\u003c4B09Q*toW($vJ]7+arUrdz7Z0yA=U@kzxH5AarR^HjS)4kBz\u003eb\u0026B96D7rZ/[+nL-7*wO#2=",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 2,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "expand_path"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "authors"
            ],
            [
              "",
              "email"
            ],
            [
              "",
              "description"
            ],
            [
              "",
              "summary"
            ],
            [
              "",
              "add_development_dependency"
            ],
            [
              "",
              "add_development_dependency"
            ],
            [
              "",
              "add_development_dependency"
            ],
            [
              "",
              "add_development_dependency"
            ],
            [
              "",
              "add_development_dependency"
            ],
            [
              "",
              "add_development_dependency"
            ],
            [
              "",
              "files"
            ],
            [
              "",
              "split"
            ],
            [
              "",
              "executables"
            ],
            [
              "",
              "map"
            ],
            [
              "",
              "grep"
            ],
            [
              "",
              "files"
            ],
            [
              "",
              "basename"
            ],
            [
              "",
              "test_files"
            ],
            [
              "",
              "grep"
            ],
            [
              "",
              "files"
            ],
            [
              "",
              "name"
            ],
            [
              "",
              "require_paths"
            ],
            [
              "",
              "version"
            ]
          ],
          "mbr": [
            "File.basename",
            "File.expand_path",
            "gem.add_development_dependency",
            "gem.authors",
            "gem.description",
            "gem.email",
            "gem.executables",
            "gem.files",
            "gem.files.grep",
            "gem.files.grep.map",
            "gem.name",
            "gem.require_paths",
            "gem.summary",
            "gem.test_files",
            "gem.version"
          ],
          "tgt": [
            "add_development_dependency",
            "authors",
            "basename",
            "description",
            "email",
            "executables",
            "expand_path",
            "files",
            "grep",
            "map",
            "name",
            "new",
            "require",
            "require_paths",
            "split",
            "summary",
            "test_files",
            "version"
          ],
          "metrics": {
            "ast": {
              "max_depth": 10,
              "op.concat": 25,
              "call_count": 26,
              "node_count": 259,
              "member_count": 15,
              "max_array_len": 1,
              "member_depth_max": 4,
              "op_density.concat": 0.1
            },
            "file": {
              "size": 928,
              "entropy": 4.95
            },
            "text": {
              "lines": 25,
              "top_char": 101,
              "max_ws_run": 10,
              "digit_ratio": 0,
              "space_count": 129,
              "char_entropy": 4.95,
              "unique_chars": 68,
              "top_char_null": 0,
              "string_density": 0.56,
              "top_char_ratio": 0.11,
              "avg_line_length": 36.12,
              "max_line_length": 75,
              "empty_line_ratio": 0.2,
              "last_line_length": 3,
              "whitespace_ratio": 0.17,
              "identifier_density": 2.16,
              "line_length_stddev": 22.89,
              "normalized_string_count": 2.8,
              "repeated_char_sequences": 1,
              "trailing_whitespace_lines": 3,
              "suspicious_identifier_ratio": 0.04,
              "normalized_unique_identifiers": 5.6
            },
            "binds": {
              "count": 10
            },
            "binary": {
              "peak_region_bytes": 928,
              "peak_region_entropy": 4.95
            },
            "strings": {
              "bytes": 210,
              "count": 14,
              "avg_length": 15,
              "max_length": 49,
              "path_count": 1,
              "avg_entropy": 2.99,
              "email_count": 1,
              "entropy_stddev": 0.76
            },
            "comments": {
              "chars": 24,
              "count": 1,
              "lines": 1,
              "to_code_ratio": 0.04
            },
            "identifiers": {
              "count": 54,
              "unique": 26,
              "avg_length": 7.46,
              "max_length": 26,
              "min_length": 1,
              "avg_entropy": 2.38,
              "reuse_ratio": 0.48,
              "length_stddev": 4.91,
              "sequential_names": 1,
              "single_char_count": 1,
              "single_char_ratio": 0.04,
              "all_lowercase_ratio": 0.77,
              "all_uppercase_ratio": 0.08,
              "double_underscore_count": 1,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 2,
        "mol": "H(Po)Md(Pa₂)",
        "path": "auto_test-0.0.9.4.8.gem!!data.tar.gz!!auto_test.gemspec",
        "risk": 3,
        "sha": "841b1b74a4f715baa8d3f6cb3de20d87d2de2bb545825be0e4b4d5323b7079d9",
        "size": 928,
        "traits": [
          {
            "id": "metadata/package/config::gemspec-name-assignment",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby gemspec assigns package name",
            "spans": [
              [
                90,
                751
              ]
            ]
          },
          {
            "id": "metadata/package/testing/scripted::rspec-lower",
            "conf": 0.7,
            "crit": 3,
            "desc": "rspec reference (lowercase)",
            "spans": [
              [
                419,
                5
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/lang::ruby-subshell-command",
            "conf": 0.93,
            "crit": 3,
            "desc": "Ruby subshell command execution",
            "spans": [
              [
                654,
                14
              ]
            ]
          },
          {
            "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",
            "uses": [
              3
            ],
            "spans": [
              [
                0,
                0
              ]
            ]
          }
        ],
        "type": "ruby"
      },
      {
        "ctx": [
          {
            "b": "bxvvnB.L(caszkHwN/7XwO=r%AWIimwPq\u003cbA+cvvv{%t4vQTp=flhbMwN^7{3t\u003cY(B.\u003eRil3mo/raQb)3lQEdz!a0bwGToYBzbl6Bzkk[BzkVh3lQDlaz(4cB.\u003eR@w{503BzkVh3lQDlapoklarR)Kx(mTbx\u003c\u003e*(DsXjvxK@qKB-RbmB0a[iA::k2arR^HwmYu}x(mTbuV*B3A=RNgarR^Hav76\u003cwPz\u0026mjS)%m3lQDlarR^(wmw[*B7GxkauZ\u0026Kw)]H%wH[%wx(45ZarR^HwO#2=3jm)#arQ",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "av6:Yxk.{m3lQDlaz2C33jm)#arR)KB7GCoBzbkdvruQix\u003c#jbwNxs-zdN=hvqYP#w[+*)woe(nxKM09vrb{4zE)x\u0026wN({9zY\u0026\u003emxk8k\u003carR^HboR8wwGUA4xlw65zGE1fA+cwnCw!QjA=LPlB1wCQxK@q#x(XopayPq4aARpday[]5vpAU^wGU(0zdN=hz!pblxK@p",
            "ln": 319,
            "col": 6,
            "line": 20
          },
          {
            "b": "arR^HarR^HarUrdBye\u003c5xk8l\u003cwmoN*e[FE3xDQ\u00267aBEZE3lQDlarR^HarR^HazCBgwlS+=wmZ0\u003eau.\u003egBUm-DzE+edwPRp4zFs9kwNxm(xk8l\u003cvruQix\u003c#jbwNxs-zdLtwz^NNhz7cPHxK#5*arR^HarR^HarR^HarS{(B7GxkauR+eBQxllarR^HarR^HarUlkwc%C4arR^HarR^HwO#2=arR^HarR^HwO#2=arR^HarUlkwc%C4",
            "ln": 2086,
            "col": 1,
            "line": 111
          },
          {
            "b": "arR^HarR^H3lQDlarR^HarR^HaAIanB7]Mge[O*ly*Q)]azbt0y?c:8t}v9VCwhejau.[hB-Rbme]$Pwwgh57wO+)YfKlqMz^NNhz7b/marR^HarR^Haz2C33lQDlarR^Haz2wgwEoL5arR^HarR^HxjVf(y\u0026r%2zEl*]BAh88B-.hoe[FE3xKt%$",
            "ln": 3508,
            "col": 51,
            "line": 158
          }
        ],
        "depth": 2,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "zip"
            ],
            [
              "",
              "each"
            ],
            [
              "",
              "find"
            ],
            [
              "",
              "find"
            ],
            [
              "",
              "index"
            ],
            [
              "",
              "each"
            ],
            [
              "",
              "find"
            ],
            [
              "",
              "each"
            ],
            [
              "",
              "send"
            ],
            [
              "",
              "to_sym"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "index"
            ],
            [
              "",
              "get_sessions_array"
            ],
            [
              "",
              "current_path"
            ],
            [
              "",
              "add_to_action_path"
            ],
            [
              "",
              "visit"
            ],
            [
              "",
              "check_for_error_code"
            ],
            [
              "",
              "visit"
            ],
            [
              "",
              "find"
            ],
            [
              "",
              "class"
            ],
            [
              "",
              "id"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "index"
            ],
            [
              "",
              "get_sessions_array"
            ],
            [
              "",
              "current_path"
            ],
            [
              "",
              "value"
            ],
            [
              "",
              "first"
            ],
            [
              "",
              "all_submits"
            ],
            [
              "",
              "add_to_action_path"
            ],
            [
              "",
              "check_for_error_code"
            ],
            [
              "",
              "index"
            ],
            [
              "",
              "each"
            ],
            [
              "",
              "find"
            ],
            [
              "",
              "each"
            ],
            [
              "",
              "send"
            ],
            [
              "",
              "to_sym"
            ],
            [
              "",
              "set_user_data"
            ],
            [
              "",
              "each"
            ],
            [
              "",
              "fill_in"
            ],
            [
              "",
              "send"
            ],
            [
              "",
              "to_sym"
            ],
            [
              "",
              "each_with_index"
            ],
            [
              "",
              "fill_in"
            ],
            [
              "",
              "click_button"
            ],
            [
              "",
              "value"
            ],
            [
              "",
              "first"
            ],
            [
              "",
              "all_submits"
            ],
            [
              "",
              "check_for_error_code"
            ],
            [
              "",
              "sessions"
            ],
            [
              "",
              "index"
            ],
            [
              "",
              "get_sessions_array"
            ],
            [
              "",
              "get_max_depth"
            ],
            [
              "",
              "sessions"
            ],
            [
              "",
              "index"
            ],
            [
              "",
              "get_sessions_array"
            ],
            [
              "",
              "get_sessions"
            ],
            [
              "",
              "index"
            ],
            [
              "",
              "get_sessions_array"
            ],
            [
              "",
              "autoload"
            ],
            [
              "",
              "autoload"
            ],
            [
              "",
              "capybara/rspec"
            ],
            [
              "",
              "page"
            ],
            [
              "",
              "test"
            ]
          ],
          "mbr": [
            "Hash.new",
            "Page.all_submits",
            "Page.all_submits.first",
            "Page.all_submits.first.value",
            "Page.check_for_error_code",
            "Test.add_to_action_path",
            "Test.get_max_depth",
            "Test.get_sessions",
            "Test.get_sessions_array",
            "Test.get_sessions_array.index",
            "Test.sessions",
            "data.each",
            "get_login_attributes.each",
            "get_login_attributes.each_with_index",
            "get_login_data.each",
            "get_login_names.index",
            "get_unique_login_attribute_name.to_sym",
            "names.zip",
            "session.click_button",
            "session.current_path",
            "session.fill_in",
            "session.visit",
            "u.send",
            "user.class",
            "user.class.find",
            "user.id",
            "user.send",
            "user_class_name.find"
          ],
          "tgt": [
            "add_to_action_path",
            "all_submits",
            "autoload",
            "check_for_error_code",
            "class",
            "click_button",
            "current_path",
            "each",
            "each_with_index",
            "fill_in",
            "find",
            "first",
            "get_max_depth",
            "get_sessions",
            "get_sessions_array",
            "id",
            "index",
            "new",
            "require",
            "send",
            "sessions",
            "set_user_data",
            "to_sym",
            "value",
            "visit",
            "zip"
          ],
          "funcs": [
            [
              "init_users",
              152
            ],
            [
              "set_logout_path",
              230
            ],
            [
              "get_logout_path",
              294
            ],
            [
              "set_login_attribute_names",
              539
            ],
            [
              "get_login_attributes",
              674
            ],
            [
              "get_login_path",
              761
            ],
            [
              "set_login_path",
              831
            ],
            [
              "init_login_data",
              893
            ],
            [
              "get_login_data",
              947
            ],
            [
              "set_login_data",
              995
            ],
            [
              "get_users_from_db",
              1093
            ],
            [
              "set_login_names",
              1325
            ],
            [
              "get_login_names",
              1390
            ],
            [
              "set_login_fields",
              1445
            ],
            [
              "get_login_fields",
              1514
            ],
            [
              "set_unique_login_attribute_name",
              1566
            ],
            [
              "get_unique_login_attribute_name",
              1652
            ],
            [
              "use_db_users",
              1726
            ],
            [
              "user_class",
              1779
            ],
            [
              "get_users",
              1849
            ],
            [
              "set_user_data",
              2295
            ],
            [
              "get_user_data",
              2362
            ],
            [
              "logout",
              2415
            ],
            [
              "login",
              2755
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 2,
              "op.add": 1,
              "op.shl": 2,
              "max_depth": 20,
              "op.concat": 57,
              "call_count": 61,
              "node_count": 891,
              "member_count": 28,
              "max_array_len": 2,
              "op_density.eq": 0,
              "op_density.add": 0,
              "op_density.shl": 0,
              "max_concat_chain": 2,
              "member_depth_max": 4,
              "op_density.concat": 0.06
            },
            "file": {
              "size": 4282,
              "entropy": 4.23
            },
            "text": {
              "lines": 179,
              "top_char": 101,
              "max_ws_run": 7,
              "digit_ratio": 0,
              "space_count": 1199,
              "char_entropy": 4.23,
              "unique_chars": 57,
              "top_char_null": 0,
              "string_density": 0.04,
              "top_char_ratio": 0.09,
              "avg_line_length": 22.93,
              "max_line_length": 146,
              "empty_line_ratio": 0.18,
              "last_line_length": 3,
              "whitespace_ratio": 0.32,
              "identifier_density": 1.3,
              "line_length_stddev": 22.94,
              "normalized_string_count": 0.6,
              "repeated_char_sequences": 18,
              "trailing_whitespace_lines": 33,
              "suspicious_identifier_ratio": 0.05,
              "normalized_unique_identifiers": 10.96
            },
            "binds": {
              "count": 20
            },
            "binary": {
              "peak_region_bytes": 4282,
              "peak_region_entropy": 4.31
            },
            "source": {
              "class_count": 2,
              "function_count": 24
            },
            "imports": {
              "count": 3,
              "third_party_count": 3,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 175,
              "count": 8,
              "avg_length": 21.88,
              "max_length": 65,
              "avg_entropy": 2.85,
              "entropy_stddev": 0.93
            },
            "comments": {
              "chars": 325,
              "count": 10,
              "lines": 10,
              "to_code_ratio": 0.06
            },
            "functions": {
              "count": 26
            },
            "identifiers": {
              "count": 233,
              "unique": 82,
              "avg_length": 9.8,
              "max_length": 31,
              "min_length": 1,
              "avg_entropy": 2.56,
              "reuse_ratio": 0.35,
              "length_stddev": 6.3,
              "sequential_names": 4,
              "single_char_count": 4,
              "single_char_ratio": 0.05,
              "high_entropy_count": 7,
              "high_entropy_ratio": 0.09,
              "all_lowercase_ratio": 0.79
            }
          }
        },
        "id": 3,
        "mol": "H(Db)",
        "path": "auto_test-0.0.9.4.8.gem!!data.tar.gz!!lib/authentication.rb",
        "risk": 2,
        "sha": "828340887aa6968a00d6dd081f18764fdff74c84be2bee9ef378a5d87fb7bcbd",
        "size": 4282,
        "traits": [
          {
            "id": "metadata/file/profile/language::lang-english--atom-1",
            "conf": 0.8,
            "crit": 2,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                131,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/source/dynamic/reflect::ruby-send-call",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby dynamically invokes a method with send",
            "spans": [
              [
                2150,
                4
              ]
            ]
          }
        ],
        "type": "ruby"
      },
      {
        "ctx": [
          {
            "b": "boXZ.B8\u0026{yx(kOnzGWdyBZ/R6mnu(/b2QY#oJbp!pf5MAaBFM1ar\u003e]sB95PkA+flkx(W=cmRMWIe[GoDvqYQ.Aa9\u003c4c)x).qEKoQB1RGKz/*yXv@Dl%x\u003eG8gzGY-mz/fA6zGE6NaywFBnLzMWuNW9u3uxY$B.L(car(2rBzk+ECv+k]A+PYdAV$?$wmYu}y\u0026r%2zyxstxk8l\u003cvruQix\u003c#jbwPGyBvSDyhB7GwyaA.:pAW.trazCBgB-RbmuUKy%B-.WMb6v%ruJ",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "vpJ%[wn-Prw[+*)wpa.barR^HayYwfCxmtoe{7VHByeS]wO+)9i=5klwO-FLj%jDKwO+)Yf\u003cMjXB7GCoB-Rbme]$Pwwgh57wO+)YfKlqMz^NNhz7cOmarR^HwO#2=arR^HB8kA0A3c\u003exarUliB7CX3arR!vzE^s6auZ\u0026\u0026B7Gx0x(m)jBAn\u0026OxjVf(y\u0026r%2zEmo\u0026zdN=jdk2sLwmZ0lB-RbmuUKy%B-.WMb4\u003eFeuV*m2ADL\u00261y\u0026r%2zEl*]BAh88BP",
            "ln": 270,
            "col": 42,
            "line": 8
          },
          {
            "b": "3lQDlarR!KauZ\u0026\u003ce]$#Fx(\u003e:Et}xh7dgdguarR^HA+frmy\u0026*^.ax@aUarR^HarU[YwNP7Zay]ykD$^%narR^HarR^HA+frmy\u0026*^ZjrOt\u003cwmYN*By=\u003cAtu$FTa$kc=Abolg",
            "ln": 1248,
            "col": 30,
            "line": 37
          },
          {
            "b": "uVP^!A:@=9jS)jdy?kkpwP]KDbys6mzc}l\u003cBzc7Qe?O!fe?.3Vxd[dlCvbq$Bz9pyz!ymy3lQEjwPI{bz/fRsjS)4hA::kCzE[20arU(wx(4u6y?W=#auZ\u0026^vruf\u0026Bz\u003eJcwNPQ?xF9}eBAnNnzWD",
            "ln": 1933,
            "col": 10,
            "line": 86
          },
          {
            "b": "zGxe[A=LPl3tBx(ByffiwPzc(zG6-uA%=(eBAnMGmRM)Ow]z]px(+zfwPS3dzF78kByxiiwN)zCe*pTwvrug7auZ\u0026px(4ukzE[2ua%RCjvqfL0e]\u003e(GBBt/Uz!y.vwP}H2vrufny\u0026r@gefDcSa$i\u003ejz/65djS\u003e}+z!0i(xM4%liX@Dzg9N6DwPI{bz/fRsjS[/Svrb\u003c\u003euVP!1B7]MgA%=/czdm6%uVfK-B7GAlx(v)gauZ\u0026*wPI{bz/fRGB7]@i3uZA3AV^H/l2}0OC}J#CCpmPPwPzc(zG6-uB0@kBwPRo%B.$P0A:J-%uVP!1B7]MgB0r4=Bz\u003eJ2dgfW9AV/6sx(k4Ee?R3:zdm6%uVfK-B7GAlx(v)geIOwUzWEQfvSDyhB7GwmjS)*mBzk+RiZN\u003e9Cxmtoe]ClAauBaD3lQE1wmP4?z^NM%B8#5lzGxe[A=LPld05%vA@",
            "ln": 2400,
            "col": 12,
            "line": 105
          },
          {
            "b": "B6yt7e{82sx:L$9arUxeauZ\u0026-x(mG?Aa9^eB6yw8e{82sx:L$9arR)KxjVfcBzbkdlVl\u003c-Byx6eazbUjz6i}lwGT][A+PA7efG4Mazbt9wft#cwGV2cxj#xfv@bN{A%:3jarU/FwPz0@wPI{bz/e]@zE^s6t{8oMoj-cYwO-#ez/fSruUr}(d0oPxA:JJ#Aclnzc)A!PwPzc/y*?yaa$j@[w[=c[c#0iv3lQE5zE:\u003ejarR25zE-",
            "ln": 4884,
            "col": 30,
            "line": 169
          }
        ],
        "depth": 2,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "expand_path"
            ],
            [
              "",
              "root"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "user_inputs"
            ],
            [
              "",
              "each"
            ],
            [
              "",
              "user_inputs"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "text_field"
            ],
            [
              "",
              "send"
            ],
            [
              "",
              "to_sym"
            ],
            [
              "",
              "sleep"
            ],
            [
              "",
              "index"
            ],
            [
              "",
              "user_inputs"
            ],
            [
              "",
              "user_inputs"
            ],
            [
              "",
              "each"
            ],
            [
              "",
              "find"
            ],
            [
              "",
              "class"
            ],
            [
              "",
              "each"
            ],
            [
              "",
              "user_inputs"
            ],
            [
              "",
              "send"
            ],
            [
              "",
              "to_sym"
            ],
            [
              "",
              "user_inputs"
            ],
            [
              "",
              "user_inputs"
            ],
            [
              "",
              "each_with_index"
            ],
            [
              "",
              "user_inputs"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "text_field"
            ],
            [
              "",
              "sleep"
            ],
            [
              "",
              "click"
            ],
            [
              "",
              "button"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "root"
            ],
            [
              "",
              "gets"
            ],
            [
              "",
              "split"
            ],
            [
              "",
              "strip"
            ],
            [
              "",
              "chop"
            ],
            [
              "",
              "each"
            ],
            [
              "",
              "start_with?"
            ],
            [
              "",
              "split"
            ],
            [
              "",
              "each"
            ],
            [
              "",
              "split"
            ],
            [
              "",
              "delete"
            ],
            [
              "",
              "each"
            ],
            [
              "",
              "class"
            ],
            [
              "",
              "strip!"
            ],
            [
              "",
              "each"
            ],
            [
              "",
              "strip!"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "gets"
            ],
            [
              "",
              "gsub!"
            ],
            [
              "",
              "class"
            ],
            [
              "",
              "to_i"
            ],
            [
              "",
              "first"
            ],
            [
              "",
              "split"
            ],
            [
              "",
              "to_i"
            ],
            [
              "",
              "first"
            ],
            [
              "",
              "split"
            ],
            [
              "",
              "gsub!"
            ],
            [
              "",
              "include?"
            ],
            [
              "",
              "load"
            ],
            [
              "",
              "root"
            ],
            [
              "",
              "puts"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "root"
            ],
            [
              "",
              "size"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "to_i"
            ],
            [
              "",
              "user_inputs"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "add_to_sessions_array"
            ],
            [
              "",
              "gets"
            ],
            [
              "",
              "end_with?"
            ],
            [
              "",
              "chop!"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "split"
            ],
            [
              "",
              "gsub!"
            ],
            [
              "",
              "to_i"
            ],
            [
              "",
              "first"
            ],
            [
              "",
              "split"
            ],
            [
              "",
              "index"
            ],
            [
              "",
              "use"
            ],
            [
              "",
              "first"
            ],
            [
              "",
              "windows"
            ],
            [
              "",
              "second"
            ],
            [
              "",
              "split"
            ],
            [
              "",
              "user_inputs"
            ],
            [
              "",
              "goto"
            ],
            [
              "",
              "user_inputs"
            ],
            [
              "",
              "login"
            ],
            [
              "",
              "user_inputs"
            ],
            [
              "",
              "find"
            ],
            [
              "",
              "class"
            ],
            [
              "",
              "id"
            ],
            [
              "",
              "user_inputs"
            ],
            [
              "",
              "user_inputs"
            ],
            [
              "",
              "goto"
            ],
            [
              "",
              "user_inputs"
            ],
            [
              "",
              "split"
            ],
            [
              "",
              "size"
            ],
            [
              "",
              "size"
            ],
            [
              "",
              "strip"
            ],
            [
              "",
              "strip"
            ],
            [
              "",
              "start_with?"
            ],
            [
              "",
              "strip"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "radio"
            ],
            [
              "",
              "strip"
            ],
            [
              "",
              "gsub"
            ],
            [
              "",
              "strip"
            ],
            [
              "",
              "start_with?"
            ],
            [
              "",
              "strip"
            ],
            [
              "",
              "select"
            ],
            [
              "",
              "select_list"
            ],
            [
              "",
              "strip"
            ],
            [
              "",
              "gsub"
            ],
            [
              "",
              "strip"
            ],
            [
              "",
              "start_with?"
            ],
            [
              "",
              "strip"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "checkbox"
            ],
            [
              "",
              "strip"
            ],
            [
              "",
              "gsub"
            ],
            [
              "",
              "strip"
            ],
            [
              "",
              "flash"
            ],
            [
              "",
              "text_field"
            ],
            [
              "",
              "strip"
            ],
            [
              "",
              "set"
            ],
            [
              "",
              "text_field"
            ],
            [
              "",
              "strip"
            ],
            [
              "",
              "strip"
            ],
            [
              "",
              "click"
            ],
            [
              "",
              "button"
            ],
            [
              "",
              "split"
            ],
            [
              "",
              "flash"
            ],
            [
              "",
              "click"
            ],
            [
              "",
              "accept"
            ],
            [
              "",
              "alert"
            ],
            [
              "",
              "switch_to"
            ],
            [
              "",
              "driver"
            ],
            [
              "",
              "add_path"
            ],
            [
              "",
              "sleep"
            ],
            [
              "",
              "add_path"
            ],
            [
              "",
              "split"
            ],
            [
              "",
              "to_i"
            ],
            [
              "",
              "to_i"
            ],
            [
              "",
              "find"
            ],
            [
              "",
              "const_get"
            ],
            [
              "",
              "user_inputs"
            ],
            [
              "",
              "/db/test_seeds.rb"
            ],
            [
              "",
              "watir-webdriver"
            ]
          ],
          "mbr": [
            "@user_inputs.each",
            "Array.new",
            "File.expand_path",
            "File.new",
            "Hash.new",
            "Kernel.const_get",
            "Kernel.const_get.find",
            "Rails.root",
            "browser.button",
            "browser.button.click",
            "browser.text_field",
            "browser.text_field.set",
            "file.gets",
            "get_sessions_array.index",
            "i.delete",
            "i.delete.split",
            "inputs.size",
            "line.chop!",
            "line.chop!.end_with?",
            "line.class",
            "line.gsub!",
            "line.gsub!.split",
            "line.gsub!.split.first",
            "line.gsub!.split.first.to_i",
            "line.split",
            "line.split.first",
            "line.split.first.to_i",
            "path_to_search.gets",
            "paths.gets",
            "r.class",
            "r.each",
            "r.strip!",
            "result.each",
            "s.strip!",
            "session.a",
            "session.a.click",
            "session.a.flash",
            "session.button",
            "session.button.click",
            "session.checkbox",
            "session.checkbox.set",
            "session.driver",
            "session.driver.switch_to",
            "session.driver.switch_to.alert",
            "session.driver.switch_to.alert.accept",
            "session.goto",
            "session.radio",
            "session.radio.set",
            "session.select_list",
            "session.select_list.select",
            "session.text_field",
            "session.text_field.flash",
            "session.text_field.set",
            "session.windows",
            "session.windows.first",
            "session.windows.first.use",
            "sessions.include?",
            "sessions.size",
            "u.send",
            "user.class",
            "user.class.find",
            "user.class.find.each",
            "user.send",
            "v.split",
            "v.start_with?",
            "x.each"
          ],
          "tgt": [
            "a",
            "accept",
            "add_path",
            "add_to_sessions_array",
            "alert",
            "button",
            "checkbox",
            "chop",
            "chop!",
            "class",
            "click",
            "const_get",
            "delete",
            "driver",
            "each",
            "each_with_index",
            "end_with?",
            "expand_path",
            "find",
            "first",
            "flash",
            "gets",
            "goto",
            "gsub",
            "gsub!",
            "id",
            "include?",
            "index",
            "load",
            "login",
            "new",
            "puts",
            "radio",
            "require",
            "root",
            "second",
            "select",
            "select_list",
            "send",
            "set",
            "size",
            "sleep",
            "split",
            "start_with?",
            "strip",
            "strip!",
            "switch_to",
            "text_field",
            "to_i",
            "to_sym",
            "use",
            "user_inputs",
            "windows"
          ],
          "funcs": [
            [
              "login",
              148
            ],
            [
              "init_user_inputs",
              978
            ],
            [
              "user_inputs",
              1590
            ],
            [
              "get_sessions_array",
              1636
            ],
            [
              "init_sessions_array",
              1682
            ],
            [
              "add_to_sessions_array",
              1735
            ],
            [
              "path",
              1808
            ],
            [
              "init_path",
              1830
            ],
            [
              "add_path",
              1862
            ],
            [
              "search_sessions",
              1904
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 6,
              "op.lt": 1,
              "op.add": 8,
              "op.shl": 5,
              "op.sub": 2,
              "op.lnot": 2,
              "max_depth": 23,
              "op.concat": 126,
              "call_count": 153,
              "node_count": 1813,
              "member_count": 66,
              "op_density.eq": 0,
              "op_density.lt": 0,
              "op_density.add": 0,
              "op_density.shl": 0,
              "op_density.sub": 0,
              "op_density.lnot": 0,
              "max_concat_chain": 2,
              "member_depth_max": 5,
              "op_density.concat": 0.07
            },
            "file": {
              "size": 5078,
              "entropy": 4.73
            },
            "text": {
              "lines": 174,
              "top_char": 115,
              "max_ws_run": 1,
              "digit_ratio": 0.01,
              "space_count": 932,
              "char_entropy": 4.73,
              "unique_chars": 70,
              "top_char_null": 0,
              "string_density": 0.33,
              "top_char_ratio": 0.08,
              "avg_line_length": 28.19,
              "max_line_length": 113,
              "empty_line_ratio": 0.07,
              "last_line_length": 3,
              "whitespace_ratio": 0.22,
              "identifier_density": 2.23,
              "line_length_stddev": 24.17,
              "normalized_string_count": 4.4,
              "repeated_char_sequences": 11,
              "trailing_whitespace_lines": 8,
              "suspicious_identifier_ratio": 0.09,
              "normalized_unique_identifiers": 14.24
            },
            "binds": {
              "count": 36
            },
            "binary": {
              "peak_region_bytes": 5078,
              "peak_region_entropy": 4.76
            },
            "source": {
              "function_count": 10
            },
            "imports": {
              "count": 2,
              "third_party_count": 2,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 638,
              "count": 58,
              "avg_length": 11,
              "max_length": 34,
              "avg_entropy": 2.46,
              "empty_count": 6,
              "entropy_stddev": 1.36
            },
            "comments": {
              "chars": 121,
              "count": 4,
              "lines": 4,
              "to_code_ratio": 0.02
            },
            "functions": {
              "count": 10
            },
            "identifiers": {
              "count": 388,
              "unique": 106,
              "avg_length": 6.42,
              "max_length": 21,
              "min_length": 1,
              "avg_entropy": 2.14,
              "reuse_ratio": 0.27,
              "length_stddev": 4.22,
              "sequential_names": 10,
              "single_char_count": 10,
              "single_char_ratio": 0.09,
              "high_entropy_count": 1,
              "high_entropy_ratio": 0.01,
              "all_lowercase_ratio": 0.82,
              "all_uppercase_ratio": 0.02,
              "double_underscore_count": 1,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 7,
        "mol": "H(Db)",
        "path": "auto_test-0.0.9.4.8.gem!!data.tar.gz!!lib/simulation.rb",
        "risk": 2,
        "sha": "2d526a8ea57e0c64e3784a8f48c53bc970db22fb99c2c29c5e2413838abae928",
        "size": 5078,
        "traits": [
          {
            "id": "metadata/file/profile/language::lang-english--atom-1",
            "conf": 0.8,
            "crit": 2,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                4932,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/source/dynamic/reflect::ruby-const-get",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby dynamically resolves a constant",
            "spans": [
              [
                5012,
                9
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/source/dynamic/reflect::ruby-send-call",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby dynamically invokes a method with send",
            "spans": [
              [
                334,
                4
              ]
            ]
          }
        ],
        "type": "ruby"
      },
      {
        "id": 8,
        "mol": "H(Db)",
        "sha": "6acaa03fa18b7617afe66ff399775013f5b4d17df485dc045ddfe65ebec7a37a",
        "path": "auto_test-0.0.9.4.8.gem!!data.tar.gz!!lib/spec/requests/error_reduction_spec.rb",
        "risk": 2,
        "size": 25240,
        "type": "ruby",
        "depth": 2
      },
      {
        "ctx": [
          {
            "b": "wmY*(A+O#]ar\u003c9\u003cAbok#vruj4zxZilzWEQfwmY*(A+O#]ar\u003elpBz\u003eJdwPI@qay]x$arR^Hx(\u003eEwB7]Gly*?A%B0bNrwGUM8A=k$xay]x$arR^HarR$Pc#%DtC{1EVDViznxNIKIx\u003c@-px(e0evruj4zz2%scN*eXarR^H3lQDlaz2C33lQE5zE:8=zE:7Y",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 2,
        "facts": {
          "imp": [
            [
              "",
              "describe"
            ],
            [
              "",
              "describe"
            ],
            [
              "",
              "it"
            ]
          ],
          "tgt": [
            "describe",
            "it"
          ],
          "metrics": {
            "ast": {
              "max_depth": 12,
              "call_count": 3,
              "node_count": 43
            },
            "file": {
              "size": 152,
              "entropy": 4.3
            },
            "text": {
              "lines": 8,
              "top_char": 101,
              "max_ws_run": 1,
              "space_count": 33,
              "char_entropy": 4.3,
              "unique_chars": 32,
              "top_char_null": 0,
              "string_density": 0.38,
              "top_char_ratio": 0.07,
              "avg_line_length": 18,
              "max_line_length": 48,
              "empty_line_ratio": 0.13,
              "last_line_length": 3,
              "whitespace_ratio": 0.27,
              "identifier_density": 0.5,
              "line_length_stddev": 15.84,
              "normalized_string_count": 1.06,
              "trailing_whitespace_lines": 1,
              "normalized_unique_identifiers": 1
            },
            "binary": {
              "peak_region_bytes": 152,
              "peak_region_entropy": 4.3
            },
            "strings": {
              "bytes": 39,
              "count": 3,
              "avg_length": 13,
              "max_length": 19,
              "avg_entropy": 3.06,
              "entropy_stddev": 0.32
            },
            "identifiers": {
              "count": 4,
              "unique": 3,
              "avg_length": 4.67,
              "max_length": 8,
              "min_length": 2,
              "avg_entropy": 1.92,
              "reuse_ratio": 0.75,
              "length_stddev": 2.49,
              "all_lowercase_ratio": 1
            }
          }
        },
        "id": 9,
        "mol": "H(Po₂)",
        "path": "auto_test-0.0.9.4.8.gem!!data.tar.gz!!lib/spec/requests/simulation_spec.rb",
        "risk": 3,
        "sha": "8efe70ba0826aa0732694206f0bf6160f07660fbe32f662e74d1e371e2d6c0a8",
        "size": 152,
        "traits": [
          {
            "id": "metadata/file/profile/language::lang-english--atom-1",
            "conf": 0.8,
            "crit": 2,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                70,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/testing/presence/harness::spec-path-basename",
            "conf": 1.0,
            "crit": 1,
            "desc": "Spec path basename",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "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/process/create/shell/lang::ruby-subshell-command",
            "conf": 0.93,
            "crit": 3,
            "desc": "Ruby subshell command execution",
            "spans": [
              [
                90,
                36
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/interpreter/ruby::ruby-keyword",
            "conf": 0.7,
            "crit": 3,
            "desc": "Ruby interpreter command invocation",
            "spans": [
              [
                92,
                32
              ]
            ]
          },
          {
            "id": "metadata/package/testing/presence/harness::test-directory",
            "conf": 1.0,
            "crit": 2,
            "desc": "File identified as a test by path or name",
            "uses": [
              2
            ],
            "spans": [
              [
                0,
                0
              ]
            ]
          }
        ],
        "type": "ruby"
      },
      {
        "id": 10,
        "mol": "H(Po)",
        "sha": "4621e125eec9b50b77211b99ffd077aac428985d05e085cac0bf075175f66fcd",
        "path": "auto_test-0.0.9.4.8.gem!!data.tar.gz!!lib/tasks/auto_test.rb",
        "risk": 2,
        "size": 2060,
        "type": "ruby",
        "depth": 2
      },
      {
        "id": 11,
        "mol": "H(Db)",
        "sha": "2ef28fd31af86a74b51e87062a317e6c91de706db2ad2adab0bafcf6475af87f",
        "path": "auto_test-0.0.9.4.8.gem!!data.tar.gz!!lib/test.rb",
        "risk": 2,
        "size": 9219,
        "type": "ruby",
        "depth": 2
      },
      {
        "id": 20,
        "sha": "363e690aba059aa2172ba2d2f31427da63b7862feb86a345a754c24c81a764f7",
        "path": "auto_test@0.0.9.4.8.registry.json",
        "size": 776,
        "type": "registry",
        "depth": 1
      }
    ],
    "omitted_files": 4,
    "rev": "479f3",
    "v": "8"
  }
}