{
  "ml": {
    "v": "7",
    "eng": "2.9.1",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.000009049972,
        "rte": "az",
        "prob": 0.000009049972
      },
      {
        "cls": 0,
        "raw": 0.00011317929,
        "rte": "az/gem",
        "prob": 0.00011317929
      }
    ],
    "prob": 0.000011841456,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000011841456398542505,
        "type": "gem"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000011841456398542505,
        "type": "tar.gz"
      },
      {
        "id": 2,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000010242064490739722,
        "type": "ruby"
      },
      {
        "id": 3,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000009467204108659644,
        "type": "ruby"
      },
      {
        "id": 4,
        "lvl": -1,
        "conf": 0,
        "prob": 0.0000110169248728198,
        "type": "ruby"
      },
      {
        "id": 15,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000010132789611816406,
        "type": "registry"
      },
      {
        "id": 16,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000010132789611816406,
        "type": "registry"
      },
      {
        "id": 17,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000010033448234025855,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-12T12:58:28Z"
  },
  "path": "filestack-rails-5.5.0.gem",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "zdN/$wmoN*e[YFg00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fFCgmg=d2?fFCgmfFCfXfFCgmfA",
            "ln": 0
          }
        ],
        "mol": "H₂(DbOs)",
        "sha": "e868c70792cb0b2089db6a6cdd1bc3fd9d854aceb0b4b209d29a04f7d15f161c",
        "path": "filestack-rails-5.5.0.gem",
        "refs": [
          {
            "to": "pkg:gem/rails",
            "off": 0,
            "kind": "dependency"
          },
          {
            "to": "pkg:gem/filestack",
            "off": 0,
            "kind": "dependency"
          }
        ],
        "risk": 2,
        "size": 11264,
        "type": "gem",
        "facts": {
          "metrics": {
            "gem": {
              "dependency_count": 6,
              "runtime_dependency_count": 2,
              "development_dependency_count": 4
            },
            "file": {
              "size": 11264,
              "entropy": 6.71
            },
            "binary": {
              "peak_region_bytes": 7168,
              "peak_region_entropy": 7.83
            },
            "archive": {
              "file_count": 3,
              "member_count": 3,
              "script_count": 0,
              "directory_count": 0,
              "executable_count": 0,
              "hidden_file_count": 0,
              "uncompressed_size": 8109,
              "max_filename_length": 17,
              "rtlo_filename_count": 0,
              "format.regular_count": 3,
              "nested_archive_count": 3,
              "path_traversal_count": 0,
              "symlink_escape_count": 0,
              "security.setgid_count": 0,
              "security.setuid_count": 0,
              "security.sticky_count": 0,
              "double_extension_count": 0,
              "security.symlink_count": 0,
              "unicode_filename_count": 0,
              "homoglyph_filename_count": 0,
              "timing.mtime_unique_count": 1,
              "misplaced_executable_count": 0,
              "timing.mtime_spread_seconds": 0,
              "security.world_writable_count": 0
            },
            "references": {
              "declared_count": 2,
              "unresolved_count": 0,
              "security_hold_count": 0,
              "unresolved_extension_count": 0
            }
          }
        },
        "ident": {
          "name": {
            "value": "filestack-rails",
            "source": "gem.name",
            "verified": false
          },
          "urls": [
            {
              "url": "https://www.filestack.com",
              "kind": "homepage",
              "source": "gem.homepage"
            }
          ],
          "trust": "unsigned",
          "authors": [
            {
              "name": "filestack",
              "role": "author",
              "source": "gem.authors"
            }
          ],
          "version": {
            "value": "5.5.0",
            "source": "gem.version",
            "verified": false
          }
        },
        "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/os/module/load::ruby-require-relative",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby loads a relative source module"
          },
          {
            "id": "micro-behaviors/communications/http/message::http-url-literal",
            "conf": 0.75,
            "crit": 2,
            "desc": "HTTP URL string literal"
          },
          {
            "id": "micro-behaviors/communications/http/message::https-prefix",
            "conf": 0.9,
            "crit": 2,
            "desc": "Contains an HTTPS URL prefix"
          }
        ]
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 7065,
              "entropy": 7.97
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 7065,
              "peak_region_entropy": 7.83
            }
          }
        },
        "id": 1,
        "mol": "H₂(DbOs)",
        "path": "filestack-rails-5.5.0.gem!!data.tar.gz",
        "pid": 0,
        "risk": 2,
        "sha": "c0dae7dd0c040c8d112b5396d3a3d727aeb36699331800a142eed76325ca8c03",
        "size": 7065,
        "traits": [
          {
            "id": "micro-behaviors/communications/http/message::https-prefix",
            "conf": 0.9,
            "crit": 2,
            "desc": "Contains an HTTPS URL prefix"
          },
          {
            "id": "micro-behaviors/communications/http/message::http-url-literal",
            "conf": 0.75,
            "crit": 2,
            "desc": "HTTP URL string literal"
          },
          {
            "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/os/module/load::ruby-require-relative",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby loads a relative source module"
          }
        ],
        "type": "tar.gz"
      },
      {
        "ctx": [
          {
            "b": "A+flkx(W=cb4+L9wPI%4v@2B(vqfL0fjO{rw[+[2A::67z/c:aA+flkx(W=cb4+L9wPI%4v@2B(vqfL0flzkyzGxAdA=00cA+flkx(W=cb4+L9wPI%4v@2B(vqfL0fj/3lx(mGa3uxY$B.L\u003c",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "w[=6)B97\u00262yHq9\u003cx(4\u0026zC4CYnx(v(k3uxY$B.L(car\u003eAiy?mWfvpK7WA:-V#B1.cty?mWfvpK7Wyi7NaA+flkx(W=(A+f5}Bzk]far\u0026A\u003cfjw*sfka{kAaK6hfj[{mwPI%4v@2B(vqfL0fjw*sy?Wx/BzkVhuUB1!AaK5l3uxY$B.L(cuVGZ]vrujbwGSfHe?ZTLA4+)oy\u0026A%aB1.cty?mWfvpK7WA:-V#B1.czA=2e%wO=r%AV$?$zeS%cy?j.Ux(4v4",
            "ln": 118,
            "col": 10,
            "line": 4
          }
        ],
        "depth": 2,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "require_relative"
            ],
            [
              "",
              "require_relative"
            ],
            [
              "",
              "../app/helpers/filestack_rails/application_helper"
            ],
            [
              "",
              "../app/helpers/filestack_rails/form_helper"
            ],
            [
              "",
              "filestack_rails/configuration"
            ],
            [
              "",
              "filestack_rails/engine"
            ],
            [
              "",
              "filestack_rails/filestack_js"
            ],
            [
              "",
              "filestack_rails/transform"
            ],
            [
              "",
              "filestack_rails/version"
            ]
          ],
          "tgt": [
            "require",
            "require_relative"
          ],
          "metrics": {
            "ast": {
              "max_depth": 4,
              "call_count": 7,
              "node_count": 55
            },
            "file": {
              "size": 367,
              "entropy": 4.43
            },
            "text": {
              "lines": 11,
              "top_char": 101,
              "max_ws_run": 1,
              "space_count": 14,
              "char_entropy": 4.43,
              "unique_chars": 31,
              "top_char_null": 0,
              "string_density": 0.64,
              "top_char_ratio": 0.12,
              "avg_line_length": 32.36,
              "max_line_length": 68,
              "empty_line_ratio": 0.09,
              "last_line_length": 3,
              "whitespace_ratio": 0.07,
              "identifier_density": 0.73,
              "line_length_stddev": 19.66,
              "normalized_string_count": 2.11,
              "normalized_unique_identifiers": 0.87
            },
            "binary": {
              "peak_region_bytes": 367,
              "peak_region_entropy": 4.43
            },
            "source": {
              "class_count": 1
            },
            "imports": {
              "count": 7,
              "relative": 2,
              "relative_ratio": 0.29,
              "third_party_count": 7,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 218,
              "count": 7,
              "avg_length": 31.14,
              "max_length": 49,
              "path_count": 2,
              "avg_entropy": 3.77,
              "entropy_stddev": 0.11
            },
            "comments": {
              "chars": 23,
              "count": 1,
              "lines": 1,
              "to_code_ratio": 0.1
            },
            "functions": {
              "count": 1
            },
            "identifiers": {
              "count": 8,
              "unique": 3,
              "avg_length": 12.33,
              "max_length": 16,
              "min_length": 7,
              "avg_entropy": 2.85,
              "reuse_ratio": 0.38,
              "length_stddev": 3.86,
              "all_lowercase_ratio": 0.67
            }
          }
        },
        "id": 2,
        "mol": "H(Os)",
        "path": "filestack-rails-5.5.0.gem!!data.tar.gz!!lib/filestack-rails.rb",
        "risk": 1,
        "sha": "eb20febed17874854d19dc24c4046c642dbbfc206762894200f947f111fe50c6",
        "size": 367,
        "traits": [
          {
            "id": "micro-behaviors/os/module/load::ruby-require-relative",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby loads a relative source module",
            "spans": [
              [
                182,
                16
              ]
            ]
          }
        ],
        "type": "ruby"
      },
      {
        "ctx": [
          {
            "b": "zeS%cy?j.Ux(4v4BywV{qEKoQA%:3jv@bN{B09[?xk8l{auQ=ci-oy2y\u0026.S#mq=:LzE\u003cd$arR!pz/ff3xd^!gy?mWfvpK7WA:-V#B09Q*mRMWIB97\u00262yF[OPy\u0026.S#lVl\u003cOx\u003eINevruj4zz2/",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "arR!rzE:7YarR^Hx(mTbx\u003c\u003e*(Ds.atb4+L9wPI%4v@2B(vqfL0e[P3xzc{:{x(4r\u003eAV#SpzWEQfarR^Hl1t1Jz/eP\u0026wP{f@nm=QRwPz\u0026Mi.14dz9\u0026wVy?d9$e]$PwwgfGMzEWH9wmWqmmRMWIB97\u00262yF[OPy\u0026.S#mSir:nm=QRwPxjbarR^HwO#2=3lQE5zE:8=zE:7",
            "ln": 354,
            "col": 2,
            "line": 10
          }
        ],
        "depth": 2,
        "facts": {
          "imp": [
            [
              "",
              "filestack_rails"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "isolate_namespace"
            ],
            [
              "",
              "initializer"
            ],
            [
              "",
              "on_load"
            ],
            [
              "",
              "helper"
            ],
            [
              "",
              "initializer"
            ],
            [
              "",
              "send"
            ]
          ],
          "mbr": [
            "ActiveSupport.on_load",
            "config.filestack_rails"
          ],
          "tgt": [
            "filestack_rails",
            "helper",
            "initializer",
            "isolate_namespace",
            "new",
            "on_load",
            "send"
          ],
          "metrics": {
            "ast": {
              "max_depth": 14,
              "op.concat": 5,
              "call_count": 8,
              "node_count": 109,
              "member_count": 2,
              "member_depth_max": 2,
              "op_density.concat": 0.05
            },
            "file": {
              "size": 513,
              "entropy": 4.58
            },
            "text": {
              "lines": 17,
              "top_char": 105,
              "max_ws_run": 1,
              "space_count": 68,
              "char_entropy": 4.58,
              "unique_chars": 44,
              "top_char_null": 0,
              "string_density": 0.12,
              "top_char_ratio": 0.08,
              "avg_line_length": 29.18,
              "max_line_length": 81,
              "empty_line_ratio": 0.18,
              "last_line_length": 3,
              "whitespace_ratio": 0.17,
              "identifier_density": 1.59,
              "line_length_stddev": 27.53,
              "normalized_string_count": 0.49,
              "normalized_unique_identifiers": 5.14
            },
            "binds": {
              "count": 1
            },
            "binary": {
              "peak_region_bytes": 513,
              "peak_region_entropy": 4.58
            },
            "source": {
              "class_count": 2
            },
            "strings": {
              "bytes": 61,
              "count": 2,
              "avg_length": 30.5,
              "max_length": 33,
              "avg_entropy": 3.82,
              "entropy_stddev": 0.12
            },
            "functions": {
              "count": 2
            },
            "identifiers": {
              "count": 27,
              "unique": 21,
              "avg_length": 9.43,
              "max_length": 17,
              "min_length": 3,
              "avg_entropy": 2.68,
              "reuse_ratio": 0.78,
              "length_stddev": 4.62,
              "all_lowercase_ratio": 0.43
            }
          }
        },
        "id": 3,
        "mol": "H(Db)",
        "path": "filestack-rails-5.5.0.gem!!data.tar.gz!!lib/filestack_rails/engine.rb",
        "risk": 1,
        "sha": "b9b13a15e530384618d60a1cc38b9817db01061f1ac0fe88156a3cec0072a937",
        "size": 513,
        "traits": [
          {
            "id": "micro-behaviors/data/source/dynamic/reflect::ruby-send-call",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby dynamically invokes a method with send",
            "spans": [
              [
                418,
                4
              ]
            ]
          }
        ],
        "type": "ruby"
      },
      {
        "ctx": [
          {
            "b": "A+flkx(W=ccUv7ewPI%4v@0C03s^)XB8@D[x(4v4BywV{rb#z+B7Puhz3?ydarUiaw/$/9x([5$y?Xibc$d7eyH}=u3lQDlarR^HaAIa7B-IhrC{2l)iYZeEx(4\u0026yvq{g4x\u003e7N[x(v(wv@Dl%x\u003eG5gx(4v4BywV{uVGN?y\u0026.i",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "arR^HwmYu}zdN*5z!9i(x(!ufzF7wmwPRQ7wm6j.zdLmvdK[\u003eExlbHearR^HarR^Hx\u003ewF#wObT]wN[1FkY?3PzGxAdA=0BIwO#3bzdN*5z!9i)vqPN83lQDlarR^HarR^HaAy[8B7DErnP5YWy?WA5BAg/cB7PuhzddK2z/cXfz/M$jx(4v4BywV{uUKv=xjSnfB-82bB8@EBv@=Z3uT^COuVZr%zGxAdA=2\u003eCzdN*5z!9i)vqPN83lQDlarR^HarR^Hav73?vqZc#z/PXqjS)1iA:-\u003cbw]zZbe]}",
            "ln": 334,
            "col": 1,
            "line": 13
          }
        ],
        "depth": 2,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "security"
            ],
            [
              "",
              "filestack_rails"
            ],
            [
              "",
              "config"
            ],
            [
              "",
              "application"
            ],
            [
              "",
              "nil?"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "send"
            ],
            [
              "",
              "raise"
            ],
            [
              "",
              "scrub_bad_transforms"
            ],
            [
              "",
              "send"
            ],
            [
              "",
              "instance_variable_set"
            ],
            [
              "",
              "url"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "include?"
            ],
            [
              "",
              "to_s"
            ],
            [
              "",
              "filestack"
            ]
          ],
          "mbr": [
            "@transform.instance_variable_set",
            "@transform.send",
            "@transform.url",
            "FilestackTransform.new",
            "Transform.new",
            "method_name.to_s",
            "security.nil?"
          ],
          "tgt": [
            "application",
            "config",
            "filestack_rails",
            "include?",
            "instance_variable_set",
            "new",
            "nil?",
            "raise",
            "require",
            "scrub_bad_transforms",
            "security",
            "send",
            "to_s",
            "url"
          ],
          "funcs": [
            [
              "initialize",
              50
            ],
            [
              "method_missing",
              338
            ],
            [
              "add_external_url",
              666
            ],
            [
              "fs_url",
              767
            ],
            [
              "get_transform",
              867
            ],
            [
              "scrub_bad_transforms",
              972
            ]
          ],
          "metrics": {
            "ast": {
              "op.lnot": 2,
              "max_depth": 11,
              "op.concat": 14,
              "call_count": 17,
              "node_count": 243,
              "member_count": 7,
              "max_array_len": 4,
              "op_density.lnot": 0.01,
              "member_depth_max": 2,
              "op_density.concat": 0.06
            },
            "file": {
              "size": 1084,
              "entropy": 4.4
            },
            "text": {
              "lines": 46,
              "top_char": 101,
              "max_ws_run": 1,
              "space_count": 256,
              "char_entropy": 4.4,
              "unique_chars": 46,
              "top_char_null": 0,
              "string_density": 0.13,
              "top_char_ratio": 0.08,
              "avg_line_length": 22.59,
              "max_line_length": 103,
              "empty_line_ratio": 0.2,
              "last_line_length": 3,
              "whitespace_ratio": 0.28,
              "identifier_density": 1.22,
              "line_length_stddev": 24.36,
              "normalized_string_count": 0.88,
              "repeated_char_sequences": 7,
              "trailing_whitespace_lines": 2,
              "normalized_unique_identifiers": 5.07
            },
            "binds": {
              "count": 4
            },
            "binary": {
              "peak_region_bytes": 1084,
              "peak_region_entropy": 4.35
            },
            "source": {
              "class_count": 3,
              "function_count": 6
            },
            "imports": {
              "count": 1,
              "third_party_count": 1,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 74,
              "count": 6,
              "avg_length": 12.33,
              "max_length": 42,
              "avg_entropy": 2.76,
              "entropy_stddev": 0.79
            },
            "functions": {
              "count": 9
            },
            "identifiers": {
              "count": 56,
              "unique": 28,
              "avg_length": 9.36,
              "max_length": 21,
              "min_length": 3,
              "avg_entropy": 2.74,
              "reuse_ratio": 0.5,
              "length_stddev": 5.16,
              "high_entropy_count": 2,
              "high_entropy_ratio": 0.07,
              "all_lowercase_ratio": 0.75
            }
          }
        },
        "id": 4,
        "mol": "H(Db)",
        "path": "filestack-rails-5.5.0.gem!!data.tar.gz!!lib/filestack_rails/transform.rb",
        "risk": 1,
        "sha": "46e8f930c9ab9e89ad12c648ec79e3a8405a24d8d391e6198458c4089ddf9963",
        "size": 1084,
        "traits": [
          {
            "id": "micro-behaviors/data/source/dynamic/reflect::ruby-send-call",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby dynamically invokes a method with send",
            "spans": [
              [
                398,
                4
              ]
            ]
          }
        ],
        "type": "ruby"
      },
      {
        "ctx": [
          {
            "b": "DM)3hz/ZhBBy/qkiWeiFz6yIPzEEx[b03]*vqfL0a$K{YwPz\u003caz/c:Wa#?hfe\u0026bama$K{SBZ/f3B7/b}uTX42iX-MMh8v3EgD3%sb4ka}uU0O\u003cB0rU4g+o?!vru74Byb",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 1007,
              "entropy": 4.78
            },
            "binary": {
              "peak_region_bytes": 1007,
              "peak_region_entropy": 4.78
            },
            "registry": {
              "age_days": 44,
              "published_at": 1785337361,
              "is_deprecated": 0,
              "downloads_total": 786937641,
              "downloads_recent": 6992432
            }
          }
        },
        "id": 15,
        "path": "rails@8.1.3.1.registry.json",
        "pid": 0,
        "rel": "registry",
        "role": "sidecar",
        "sha": "7d820db114b1b0546fb7a43f34bcd108b281b860bc5080b08175c96a1dd76d7a",
        "size": 1007,
        "traits": [
          {
            "id": "metadata/registry::widely-installed",
            "conf": 1.0,
            "crit": 1,
            "desc": "Large registry install base (10k+ downloads)",
            "spans": [
              [
                0,
                0
              ]
            ]
          }
        ],
        "type": "registry"
      },
      {
        "id": 16,
        "sha": "b87bfd64d85546812f8e3a1e020c7f97b4bdb05f549a4aed234774eebf0e5be2",
        "path": "filestack@3.0.0.registry.json",
        "size": 985,
        "type": "registry",
        "depth": 1
      },
      {
        "id": 17,
        "sha": "d9811fdfbc240fe172dbeecdbfc9960cb38724e7544d58bcc1c1c70190e264a1",
        "path": "filestack-rails@5.5.0.registry.json",
        "size": 874,
        "type": "registry",
        "depth": 1
      }
    ],
    "omitted_files": 2,
    "rev": "c7f7e",
    "v": "8"
  }
}