{
  "ml": {
    "v": "7",
    "eng": "2.8.0",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.010762821,
        "rte": "az",
        "prob": 0.010762821
      },
      {
        "cls": 0,
        "raw": 0.0050249994,
        "rte": "az/tar",
        "prob": 0.0050249994
      }
    ],
    "prob": 0.010762821,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.010762820951640606,
        "type": "gem"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000024398168534389697,
        "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": 4,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013768672943115234,
        "type": "ruby"
      },
      {
        "id": 8,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000015099843039934058,
        "type": "ruby"
      },
      {
        "id": 10,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013281901374284644,
        "type": "ruby"
      },
      {
        "id": 11,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001181165407615481,
        "type": "ruby"
      },
      {
        "id": 12,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012556712135847192,
        "type": "ruby"
      },
      {
        "id": 19,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013401110663835425,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-07T00:57:50Z"
  },
  "path": "auto_test-0.0.8.8.4.gem",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "wmoN*e{7Jxe[YFg00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fFCgmhz^k\u003cfFCgmfFCfXfFCf",
            "ln": 0
          }
        ],
        "mol": "H₂(DbPo₂)Md(Pa)",
        "sha": "1c50c930ced4a9eaada2d3018f9cd4453a073fe1c273b08f3b4261415d518e66",
        "path": "auto_test-0.0.8.8.4.gem",
        "risk": 4,
        "size": 19456,
        "type": "gem",
        "facts": {
          "metrics": {
            "gem": {
              "dependency_count": 6,
              "runtime_dependency_count": 0,
              "development_dependency_count": 6
            },
            "file": {
              "size": 19456,
              "entropy": 7.47
            },
            "binary": {
              "peak_region_bytes": 15360,
              "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": 16721,
              "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.8.8.4",
            "source": "gem.version",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "metadata/file/profile/language::lang-english--atom-1",
            "conf": 0.8,
            "crit": 2,
            "desc": "English function-word token \"the\""
          },
          {
            "id": "metadata/package/testing/presence/harness::spec-path-basename",
            "conf": 1.0,
            "crit": 1,
            "desc": "Spec path basename"
          },
          {
            "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": 4
              },
              {
                "file": 9
              },
              {
                "file": 10
              },
              {
                "file": 11
              },
              {
                "file": 12
              }
            ],
            "uses": [
              5,
              9
            ]
          },
          {
            "id": "metadata/file/profile/language::lang-english--atom-7",
            "conf": 0.8,
            "crit": 2,
            "desc": "English function-word token \"this\""
          },
          {
            "id": "micro-behaviors/process/interpreter/ruby::ruby-keyword",
            "conf": 0.7,
            "crit": 3,
            "desc": "Ruby interpreter command invocation"
          },
          {
            "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": "micro-behaviors/process/create/shell/lang::ruby-subshell-command",
            "conf": 0.93,
            "crit": 3,
            "desc": "Ruby subshell command execution"
          },
          {
            "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-path",
            "conf": 1.0,
            "crit": 1,
            "desc": "File is in common test directory"
          },
          {
            "id": "micro-behaviors/data/source/dynamic/reflect::ruby-const-get",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby dynamically resolves a constant"
          }
        ]
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 15976,
              "entropy": 7.98
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 15976,
              "peak_region_entropy": 7.82
            }
          }
        },
        "id": 1,
        "mol": "H₂(DbPo₂)Md(Pa)",
        "path": "auto_test-0.0.8.8.4.gem!!data.tar.gz",
        "pid": 0,
        "risk": 4,
        "sha": "7c773330a5873cc089fbf975d8ce6efb8301446b1bfe50448a51be8e11f05c2c",
        "size": 15976,
        "traits": [
          {
            "id": "micro-behaviors/data/source/dynamic/reflect::ruby-send-call",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby dynamically invokes a method with send"
          },
          {
            "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-1",
            "conf": 0.8,
            "crit": 2,
            "desc": "English function-word token \"the\""
          },
          {
            "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/testing/presence/harness::tests-path-filename",
            "conf": 0.85,
            "crit": 1,
            "desc": "File path or name indicates test code"
          },
          {
            "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": "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": 4
              },
              {
                "file": 9
              },
              {
                "file": 10
              },
              {
                "file": 11
              },
              {
                "file": 12
              }
            ],
            "uses": [
              3,
              5
            ]
          },
          {
            "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"
          }
        ],
        "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.8.8.4.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.8.8.4.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": "A+flkx(W=cb4kRoz^NP$B966UwPz\u003caz/c:a3s)ZWaz+$exjV9a3lQD?vqfL0e]kDsxjV8\u003cwO#2=3jpS*wozZ1avgc(z=yp?Bp6ckarUYoADL#owGSg9B-.LeBy/JnflgGny\u0026\u003cx5",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "x\u003eINevruj4zyC]narR^HwO#33arR^larR^Hay]4}aAIagw?FdDvrcD%A=Vhhv*Tt3arR^HaAg+hxDPCXc3Q?JwO\u0026MlxLy%\u0026ayPzmz^NP$B95\u0026rarR^HarR!CB-.WEAa9\u003c43lQDlarR^Hc3Q?UB8UY2aswyXAa9\u003c4Ej]zJvLq!wwN^xlwPq\u003c7B98ERvrDWguVQf$v\u003eI!hat4HOcNi$SvrughfkLMtflhbMwN^umCYUqXdgdguarR!rzE:7%arR^larR^Hv@bN{B09?*zF0P}B-H]jx(v\u003e@arR^HarUiaw/$/9x([5$y?XibarR^HarR^H3lQDlarR^Haxh][Bs}oBx([5$y?XibuVY\u003e2Bp6ckarR^HarTM\u003cx(4\u0026yy\u0026r%0wPxztwP?T3auZ\u002643i",
            "ln": 289,
            "col": 18,
            "line": 17
          },
          {
            "b": "zGP/9wPxjbarR^HarUlkwc%C4arR^larR^HarR)KvpS)\u003evqWh@A=LPlaA7\u003cmBzbkdv@bN{B8CA6wH[%twQbzbzE:(kvqH6$aA7\u003cmBzbkdz^)D)v@@\u0026nzY\u0026I2ay/7@v@2T^az2.cA^n^qD1gV43lQDlarR!qwO95[y\u003cfrkB6\u0026)bwPIB2BspTnvrlG%zEEx[efF.tC}p7YvqH6$dgc",
            "ln": 986,
            "col": 36,
            "line": 45
          },
          {
            "b": "e]$PCuU\u003cT[x(mo*vrt{adR8$fvjqKaarR^Haz2C33lQDlarR^larR^HarR)Kw]zYjBzbkdzEEx[aA8oyAa9^eaA7\u003cmBzbkdzEEx[aA7\u003cmvqWi4zG6-uazbt0y?b7twmYm+wmWqmCw7Y2xDRFby\u0026%rgaARJAB-Ra3arR^HarR)Kx\u003ewG9z/^aywPPE",
            "ln": 1499,
            "col": 12,
            "line": 62
          },
          {
            "b": "vrlGjAa9=#zGDjdarR^Har@1qBAzLqvS=^7uV6p?wGUYdaARpday/taB.#1sBzb98azL?ezGu}xxK@rdCw!QCvpB4:A%:3jarR^HwmYu}B7GD2z^)D)v@#6*wPhi#wmYT*C{)fox(4rhaAg+fwO#PvayPwlA+P09By!/%vqPN83lQDlarR^HavHo!",
            "ln": 1851,
            "col": 73,
            "line": 71
          }
        ],
        "depth": 2,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "logger"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "attr_accessor"
            ],
            [
              "",
              "configuration"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "puts"
            ],
            [
              "",
              "initialize_test"
            ],
            [
              "",
              "level"
            ],
            [
              "",
              "logger"
            ],
            [
              "",
              "strategy"
            ],
            [
              "",
              "start"
            ],
            [
              "",
              "clean"
            ],
            [
              "",
              "links_to_exclude"
            ],
            [
              "",
              "set_max_depth"
            ],
            [
              "",
              "set_number_of_sessions"
            ],
            [
              "",
              "always_present"
            ],
            [
              "",
              "get_users_from_db"
            ],
            [
              "",
              "set_unique_login_attribute_name"
            ],
            [
              "",
              "set_login_data"
            ],
            [
              "",
              "set_input"
            ],
            [
              "",
              "set_object_dependency"
            ],
            [
              "",
              "set_login_path"
            ],
            [
              "",
              "set_login_attribute_names"
            ],
            [
              "",
              "set_max_number_of_session_links"
            ],
            [
              "",
              "set_no_auth"
            ],
            [
              "",
              "set_logout_path"
            ],
            [
              "",
              "stop_at_first_error"
            ],
            [
              "",
              "set_number_of_test_runs"
            ],
            [
              "",
              "autoload"
            ],
            [
              "",
              "autoload"
            ],
            [
              "",
              "auto_test/railtie"
            ],
            [
              "",
              "auto_test/version"
            ],
            [
              "",
              "dsl"
            ],
            [
              "",
              "test"
            ]
          ],
          "mbr": [
            "Configuration.new",
            "DatabaseCleaner.clean",
            "DatabaseCleaner.start",
            "DatabaseCleaner.strategy",
            "Dsl.always_present",
            "Dsl.get_users_from_db",
            "Dsl.links_to_exclude",
            "Dsl.set_input",
            "Dsl.set_login_attribute_names",
            "Dsl.set_login_data",
            "Dsl.set_login_path",
            "Dsl.set_logout_path",
            "Dsl.set_max_depth",
            "Dsl.set_max_number_of_session_links",
            "Dsl.set_no_auth",
            "Dsl.set_number_of_sessions",
            "Dsl.set_number_of_test_runs",
            "Dsl.set_object_dependency",
            "Dsl.set_unique_login_attribute_name",
            "Dsl.stop_at_first_error",
            "Rails.logger",
            "Rails.logger.level",
            "Test.initialize_test"
          ],
          "tgt": [
            "always_present",
            "attr_accessor",
            "autoload",
            "clean",
            "configuration",
            "get_users_from_db",
            "initialize_test",
            "level",
            "links_to_exclude",
            "logger",
            "new",
            "puts",
            "require",
            "set_input",
            "set_login_attribute_names",
            "set_login_data",
            "set_login_path",
            "set_logout_path",
            "set_max_depth",
            "set_max_number_of_session_links",
            "set_no_auth",
            "set_number_of_sessions",
            "set_number_of_test_runs",
            "set_object_dependency",
            "set_unique_login_attribute_name",
            "start",
            "stop_at_first_error",
            "strategy"
          ],
          "funcs": [
            [
              "logger",
              29
            ],
            [
              "configure",
              205
            ],
            [
              "start_rspec",
              318
            ],
            [
              "initialize",
              523
            ],
            [
              "links_to_exclude",
              752
            ],
            [
              "set_max_depth",
              841
            ],
            [
              "set_number_of_sessions",
              916
            ],
            [
              "always_present",
              1109
            ],
            [
              "get_users_from_db",
              1226
            ],
            [
              "set_unique_login_attribute_name",
              1347
            ],
            [
              "set_login_data",
              1462
            ],
            [
              "set_input",
              1700
            ],
            [
              "set_object_dependency",
              1931
            ],
            [
              "set_login_path",
              2098
            ],
            [
              "set_login_attribute_names",
              2305
            ],
            [
              "set_max_number_of_session_links",
              2428
            ],
            [
              "set_no_auth",
              2539
            ],
            [
              "set_logout_path",
              2596
            ],
            [
              "stop_at_first_error",
              2673
            ],
            [
              "set_number_of_test_runs",
              2790
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 10,
              "op.concat": 25,
              "call_count": 31,
              "node_count": 471,
              "member_count": 23,
              "member_depth_max": 3,
              "op_density.concat": 0.05
            },
            "file": {
              "size": 2972,
              "entropy": 4.27
            },
            "text": {
              "lines": 114,
              "top_char": 101,
              "max_ws_run": 8,
              "digit_ratio": 0,
              "space_count": 783,
              "char_entropy": 4.27,
              "unique_chars": 55,
              "top_char_null": 0,
              "string_density": 0.04,
              "top_char_ratio": 0.08,
              "avg_line_length": 25.07,
              "max_line_length": 92,
              "empty_line_ratio": 0.25,
              "last_line_length": 3,
              "whitespace_ratio": 0.3,
              "identifier_density": 1.11,
              "line_length_stddev": 22.11,
              "normalized_string_count": 0.37,
              "trailing_whitespace_lines": 23,
              "normalized_unique_identifiers": 8.05
            },
            "binds": {
              "count": 3
            },
            "binary": {
              "peak_region_bytes": 2972,
              "peak_region_entropy": 4.3
            },
            "source": {
              "class_count": 2,
              "function_count": 20
            },
            "imports": {
              "count": 4,
              "third_party_count": 4,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 41,
              "count": 4,
              "avg_length": 10.25,
              "max_length": 17,
              "avg_entropy": 2.45,
              "entropy_stddev": 0.91
            },
            "comments": {
              "chars": 512,
              "count": 9,
              "lines": 9,
              "to_code_ratio": 0.09
            },
            "functions": {
              "count": 22
            },
            "identifiers": {
              "count": 126,
              "unique": 55,
              "avg_length": 10.45,
              "max_length": 31,
              "min_length": 2,
              "avg_entropy": 2.67,
              "reuse_ratio": 0.44,
              "length_stddev": 6.93,
              "high_entropy_count": 5,
              "high_entropy_ratio": 0.09,
              "all_lowercase_ratio": 0.89
            }
          }
        },
        "id": 4,
        "mol": "H(Po)",
        "path": "auto_test-0.0.8.8.4.gem!!data.tar.gz!!lib/auto_test.rb",
        "risk": 2,
        "sha": "a75611ce7c55c056194e2c5383f8a6153fa44fcc570290fedc7d9a547f7cc34a",
        "size": 2972,
        "traits": [
          {
            "id": "metadata/file/profile/language::lang-english--atom-1",
            "conf": 0.8,
            "crit": 2,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                1034,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/shell/lang::ruby-subshell-command",
            "conf": 0.93,
            "crit": 3,
            "desc": "Ruby subshell command execution",
            "spans": [
              [
                353,
                23
              ],
              [
                401,
                77
              ]
            ]
          },
          {
            "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": [
              2
            ],
            "spans": [
              [
                0,
                0
              ]
            ]
          }
        ],
        "type": "ruby"
      },
      {
        "ctx": [
          {
            "b": "boXZ.B8\u0026{yx(kOnzGWdyBZ/R6mnu(/b2QY#oJbp!pf5MAaBFM1ar\u003e]sB95PkA+flkx(W=cmRMWIe[GoDvqYQ.Aa9\u003c4c)yn@fd[\u003ege?O!fe?X?ffjO{rw[+)hwO#W9A=k\u0026jwO#PlefFqbmOcoxuTCl8aprd2ADL#owGSgvvruj7eQ7=nwo8ycwPw$43s)ZWaz+$ex(ktnz!A^4uTX4#A+P09By/IAayYwfCxmtoefG7RwPxjbarUxgaA.:pA:JJ#Aclnzc)A!PwNt",
            "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": 271,
            "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": 1249,
            "col": 30,
            "line": 37
          },
          {
            "b": "zGxe[A=LPl3tBx(ByffiwPzc(zG6-uA%=(eBAnMGmRM)Ow]z]px(+zfwPS3dzF78kByxiiwN)zCe*pTwvrug7auZ\u0026px(4ukzE[2ub5y$5fjx0Bz^NP$B966Kz!y.vwP}H2vrufny\u0026r@gdgf:bzdK?Mar\u003eSuv{%g!z/Z1YgCyHra{@y5B8#5lzGu{-aAIa5A:@=\u0026B7GAlx(v)g3t$06vR6N!z!ru$wPI{bz/fRsjS[/SB8#5lzGvBKx)Ks$B-RbmauZ\u0026kA=LPle]ClAd0oPxA:JJ#Aclnzc)AqnBye{dzdm6%uVfK-B7GAlx(v)ga$kc^z^Nic3tai%azz%jzxHR=e]C/GvR6N!z!ru$wPI{bz/fRFf^71B3lQE2A=leywPw[RaxI#[x(Vl}lum0*B7GwAzE[2mi+z$harU96wm6B%uVP!1B7]MgB6\u0026u@A::kwB7GAl",
            "ln": 2397,
            "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": 4876,
            "col": 30,
            "line": 169
          }
        ],
        "depth": 2,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "expand_path"
            ],
            [
              "",
              "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"
            ],
            [
              "",
              "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"
            ],
            [
              "",
              "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",
              149
            ],
            [
              "init_user_inputs",
              979
            ],
            [
              "user_inputs",
              1591
            ],
            [
              "get_sessions_array",
              1637
            ],
            [
              "init_sessions_array",
              1683
            ],
            [
              "add_to_sessions_array",
              1736
            ],
            [
              "path",
              1809
            ],
            [
              "init_path",
              1831
            ],
            [
              "add_path",
              1863
            ],
            [
              "search_sessions",
              1905
            ]
          ],
          "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": 123,
              "call_count": 150,
              "node_count": 1783,
              "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": 5070,
              "entropy": 4.72
            },
            "text": {
              "lines": 174,
              "top_char": 115,
              "max_ws_run": 1,
              "digit_ratio": 0.01,
              "space_count": 931,
              "char_entropy": 4.72,
              "unique_chars": 70,
              "top_char_null": 0,
              "string_density": 0.33,
              "top_char_ratio": 0.08,
              "avg_line_length": 28.14,
              "max_line_length": 113,
              "empty_line_ratio": 0.07,
              "last_line_length": 3,
              "whitespace_ratio": 0.22,
              "identifier_density": 2.19,
              "line_length_stddev": 24.12,
              "normalized_string_count": 4.32,
              "repeated_char_sequences": 11,
              "trailing_whitespace_lines": 8,
              "suspicious_identifier_ratio": 0.1,
              "normalized_unique_identifiers": 14.11
            },
            "binds": {
              "count": 36
            },
            "binary": {
              "peak_region_bytes": 5070,
              "peak_region_entropy": 4.75
            },
            "source": {
              "function_count": 10
            },
            "imports": {
              "count": 2,
              "third_party_count": 2,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 634,
              "count": 57,
              "avg_length": 11.12,
              "max_length": 33,
              "path_count": 1,
              "avg_entropy": 2.47,
              "empty_count": 6,
              "entropy_stddev": 1.3
            },
            "comments": {
              "chars": 121,
              "count": 4,
              "lines": 4,
              "to_code_ratio": 0.02
            },
            "functions": {
              "count": 10
            },
            "identifiers": {
              "count": 381,
              "unique": 105,
              "avg_length": 6.4,
              "max_length": 21,
              "min_length": 1,
              "avg_entropy": 2.13,
              "reuse_ratio": 0.28,
              "length_stddev": 4.24,
              "sequential_names": 10,
              "single_char_count": 10,
              "single_char_ratio": 0.1,
              "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": 8,
        "mol": "H(Db)",
        "path": "auto_test-0.0.8.8.4.gem!!data.tar.gz!!lib/simulation.rb",
        "risk": 1,
        "sha": "7bd9b8e014ea6081f66b97b35c64f196f52047d4b3a9f46f10acd89e969df5e6",
        "size": 5070,
        "traits": [
          {
            "id": "micro-behaviors/data/source/dynamic/reflect::ruby-const-get",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby dynamically resolves a constant",
            "spans": [
              [
                5004,
                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": [
              [
                335,
                4
              ]
            ]
          }
        ],
        "type": "ruby"
      },
      {
        "id": 10,
        "mol": "H(Db)",
        "sha": "d90a1233ee35e9143c69d184119ac5acdc55d602ac238d99f8a9efa2d068d3c8",
        "path": "auto_test-0.0.8.8.4.gem!!data.tar.gz!!lib/spec/requests/error_reduction_spec.rb",
        "risk": 2,
        "size": 34180,
        "type": "ruby",
        "depth": 2
      },
      {
        "id": 11,
        "mol": "H(Po)",
        "sha": "247bcf0c86fbed7db815d0fb0d25173cbdf1c3b170ea77800737f45705dbd112",
        "path": "auto_test-0.0.8.8.4.gem!!data.tar.gz!!lib/tasks/auto_test.rb",
        "risk": 2,
        "size": 1590,
        "type": "ruby",
        "depth": 2
      },
      {
        "id": 12,
        "mol": "H(Db)",
        "sha": "ed345da3952546b4f5fc1d8d5dee04c2eaddc125acd1516bba79e75abfc966cc",
        "path": "auto_test-0.0.8.8.4.gem!!data.tar.gz!!lib/test.rb",
        "risk": 2,
        "size": 9165,
        "type": "ruby",
        "depth": 2
      },
      {
        "id": 19,
        "sha": "e0ae40458406fe5ed2fdc571d4cdcb70d59912b4aaf64b11d3128afe4a054c30",
        "path": "auto_test@0.0.8.8.4.registry.json",
        "size": 776,
        "type": "registry",
        "depth": 1
      }
    ],
    "omitted_files": 4,
    "rev": "479f3",
    "v": "8"
  }
}