{
  "ml": {
    "v": "7",
    "eng": "2.2.0-beta.1",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.0000120898085,
        "rte": "az",
        "prob": 0.0000120898085
      },
      {
        "cls": 0,
        "raw": 0.004262626,
        "rte": "az/gem",
        "prob": 0.004262626
      }
    ],
    "prob": 0.000012775262,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012775261893693823,
        "type": "gem"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012020270332868677,
        "type": "tar.gz"
      },
      {
        "id": 2,
        "lvl": -1,
        "conf": 0,
        "prob": 0.0000091095762400073,
        "type": "ruby"
      },
      {
        "id": 3,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012775261893693823,
        "type": "ruby"
      },
      {
        "id": 4,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001245737075805664,
        "type": "gz"
      },
      {
        "id": 5,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000008354584679182153,
        "type": "markdown"
      },
      {
        "id": 6,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000009218852028425317,
        "type": "ruby"
      },
      {
        "id": 7,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012775261893693823,
        "type": "ruby"
      },
      {
        "id": 8,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012775261893693823,
        "type": "ruby"
      },
      {
        "id": 9,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012775261893693823,
        "type": "ruby"
      },
      {
        "id": 10,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000011106331839982886,
        "type": "text"
      },
      {
        "id": 11,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012775261893693823,
        "type": "markdown"
      },
      {
        "id": 12,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000008821487426757812,
        "type": "markdown"
      },
      {
        "id": 13,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000011612971320573706,
        "type": "gz"
      },
      {
        "id": 14,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000010808308616105933,
        "type": "pkg-info"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-06-25T19:17:56Z"
  },
  "path": "ask-notion-0.1.2.gem",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "zdN/$wmoN*e[YFg000000000000000000000000000000000000000000000000000000000000000000000",
            "n": [
              {
                "c": 2,
                "d": "Archive contains multiple nested APKs",
                "i": "metadata/package/files/mobile-package::archive-nested-apk-count",
                "o": 0,
                "z": 35,
                "cf": 0.8999999761581421
              }
            ],
            "ln": 0
          }
        ],
        "mol": "O₂(AsEr)",
        "sha": "7077d4c73113c6396acc4863249fb32406a13ce834cd701278926a8125eadcd3",
        "path": "ask-notion-0.1.2.gem",
        "risk": 2,
        "size": 10752,
        "type": "gem",
        "facts": {
          "metrics": {
            "gem": {
              "dependency_count": 5.0,
              "runtime_dependency_count": 2.0,
              "development_dependency_count": 3.0
            },
            "file": {
              "size": 10752.0,
              "entropy": 6.64,
              "size_bytes": 10752.0
            },
            "binary": {
              "overall_entropy": 6.64,
              "peak_region_bytes": 6144.0,
              "peak_region_entropy": 7.81
            },
            "archive": {
              "file_count": 3.0,
              "member_count": 3.0,
              "script_count": 0.0,
              "directory_count": 0.0,
              "executable_count": 0.0,
              "hidden_file_count": 0.0,
              "total_uncompressed": 7628.0,
              "max_filename_length": 17.0,
              "rtlo_filename_count": 0.0,
              "format.regular_count": 3.0,
              "nested_archive_count": 3.0,
              "path_traversal_count": 0.0,
              "symlink_escape_count": 0.0,
              "security.setgid_count": 0.0,
              "security.setuid_count": 0.0,
              "security.sticky_count": 0.0,
              "double_extension_count": 0.0,
              "security.symlink_count": 0.0,
              "unicode_filename_count": 0.0,
              "homoglyph_filename_count": 0.0,
              "timing.mtime_unique_count": 1.0,
              "misplaced_executable_count": 0.0,
              "timing.mtime_spread_seconds": 0.0,
              "security.world_writable_count": 0.0
            }
          }
        },
        "ident": {
          "name": {
            "value": "ask-notion",
            "source": "gem.name",
            "verified": false
          },
          "urls": [
            {
              "url": "https://github.com/ask-rb/ask-notion",
              "kind": "homepage",
              "source": "gem.homepage"
            }
          ],
          "trust": "unsigned",
          "authors": [
            {
              "name": "Kaka Ruto",
              "role": "author",
              "source": "gem.authors"
            }
          ],
          "version": {
            "value": "0.1.2",
            "source": "gem.version",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "objectives/evasion/security-bypass/llm/target::llm-agent-target",
            "conf": 0.8399999737739563,
            "crit": 3,
            "desc": "LLM or AI-agent context phrase",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "objectives/credential-access/theft/keywords::secret",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Credential-access vocabulary word: secret",
            "from": [
              {
                "file": 2
              }
            ]
          },
          {
            "id": "objectives/anti-static/obfuscation/code-metrics/source::high-entropy-strings",
            "atk": "T1027",
            "mbc": "B0032",
            "conf": 0.800000011920929,
            "crit": 3,
            "desc": "High entropy source string literals",
            "from": [
              {
                "file": 2
              }
            ]
          },
          {
            "id": "metadata/package/config::agent-skill-md-basename",
            "conf": 0.949999988079071,
            "crit": 1,
            "desc": "Agent skill markdown file name",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "objectives/credential-access/theft/keywords::token",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Credential-access vocabulary word: token",
            "from": [
              {
                "file": 2
              }
            ]
          },
          {
            "id": "objectives/credential-access/theft/keywords::credential",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Credential-access vocabulary word: credential",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/build/package::ruby-version-file",
            "conf": 0.8999999761581421,
            "crit": 2,
            "desc": "Ruby package version file basename",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/package/config::agent-skill-frontmatter-fields",
            "conf": 0.8600000143051147,
            "crit": 1,
            "desc": "Agent skill frontmatter fields",
            "from": [
              {
                "file": 5
              }
            ]
          }
        ]
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 6591.0,
              "entropy": 7.97,
              "size_bytes": 6591.0
            },
            "parse": {
              "error_count": 1.0
            },
            "binary": {
              "overall_entropy": 7.97,
              "peak_region_bytes": 6591.0,
              "peak_region_entropy": 7.81
            }
          }
        },
        "id": 1,
        "mol": "O₂(AsEr)",
        "path": "ask-notion-0.1.2.gem!!data.tar.gz",
        "risk": 2,
        "sha": "fd5fa7ec897d263b50d9e9304a4901b7d484d3f5e1af3ef61b8abbd74948de32",
        "size": 6591,
        "traits": [
          {
            "id": "metadata/package/config::agent-skill-frontmatter-fields",
            "conf": 0.8600000143051147,
            "crit": 1,
            "desc": "Agent skill frontmatter fields",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "objectives/credential-access/theft/keywords::credential",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Credential-access vocabulary word: credential",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/build/package::ruby-version-file",
            "conf": 0.8999999761581421,
            "crit": 2,
            "desc": "Ruby package version file basename",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "objectives/evasion/security-bypass/llm/target::llm-agent-target",
            "conf": 0.8399999737739563,
            "crit": 3,
            "desc": "LLM or AI-agent context phrase",
            "from": [
              {
                "file": 3
              }
            ]
          },
          {
            "id": "objectives/credential-access/theft/keywords::secret",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Credential-access vocabulary word: secret",
            "from": [
              {
                "file": 2
              }
            ]
          },
          {
            "id": "objectives/credential-access/theft/keywords::token",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Credential-access vocabulary word: token",
            "from": [
              {
                "file": 2
              }
            ]
          },
          {
            "id": "objectives/anti-static/obfuscation/code-metrics/source::high-entropy-strings",
            "atk": "T1027",
            "mbc": "B0032",
            "conf": 0.800000011920929,
            "crit": 3,
            "desc": "High entropy source string literals",
            "from": [
              {
                "file": 2
              }
            ]
          },
          {
            "id": "metadata/package/config::agent-skill-md-basename",
            "conf": 0.949999988079071,
            "crit": 1,
            "desc": "Agent skill markdown file name",
            "from": [
              {
                "file": 5
              }
            ]
          }
        ],
        "type": "tar.gz"
      },
      {
        "ctx": [
          {
            "b": "zeS%cy?j.PB88a9az(4cB.\u003eRiph+k*z/b[8arR^Kax9x5BZ]JoA+e=7wPz*fAV/dnz*c2ewm]D@w]zYjk$JhcxjU$5B0bWBA+/xbxcqzjBz8!sxK@qYz//YizxIkwnIgt)arR^K3lQDlar@19A=lbnwmY*8xMXf2zy])uvpS!Qy?j-4B.Lw{zEWl2w]zYjv@Dj3z/cW*r8=WpB97\u0026jB-OWnz!9B2efF$wBy+!4arR^Kaz++ex([6bxdLfAvp%p(vruj4zy=]szE:\u003e#B-.qdzGGP5vruj4zxJIhA=k#taz2C2z/]@twPzu)aA}HgzvdHearR)KB-RnmxcqqfwGT-^BzkVhave*}aA?EcaARpdaz#atx(v(vA=\u003e\u0026peN@QhwO#PjxjR",
            "ln": 31,
            "col": 1,
            "line": 3
          },
          {
            "b": "zAo*AAa}u]mriA!A=To5rbVXHvqZu*wPq\u003c7B98EEed9HxarR^HarU95BzkVhiV]RAwPI*4v@@\u0026nxK@q:wPR%reKr#\u003cwPw]bwNPaXAV!!dwfu88x(\u003eFbwOb\u003e3wGV28BAhUvzF7NArDzZ]wD",
            "ln": 843,
            "col": 28,
            "line": 21
          },
          {
            "b": "C{3*xaz\u003eL6w]zZbwN)zolUH4vyAMkFpFJ3NBAhIlBAIRnayPd#azbt0y?aVgD2Ntoe*q?NarR^HarR^Hg+ZTbjW6#jrC(k/BzbPkx)Ku3aMv{oaw3D)wOl3(BzkVhaARKqwO@S8B0bslB8#5kxdLftzGYD8x\u003ee+qz/M$vwP\u00260cwN)zoqE}B*B-.qdzGGP5vru66vrrS9BAzFyiXJdgCxUVSz//Yizz30GfkU$^x(n37xl4B5x(v)ge*q?NarR^HarR^Hg+ZZdjW6#jmSirRx\u003eg:=zxN}?LPSLnBy/99vruj4zxJ+7v@3cdvpJ!UB8@ECzY\u003cdnwGV28ADL\u0026lBy!#9A+frgB-H#6e*a8avrb{4BzbkdAa9x\u003caA8oywmoN*vQTs?aA}KwxDRzgwGUY8By/99vruj4zxJUhawM\u0026%x(v(wa$K6zarR^HarR^-fA",
            "ln": 1322,
            "col": 44,
            "line": 30
          },
          {
            "b": "B-H#6ay]z4B0bvsBrCdtx(!wsz/M$xxK@r2zGGD5A::67z/cXdz!i#jzF%RtxKM6}ayO+\u0026wPI]nBz\u0026poBs[:*3lQDlarR^Hat+=jau.[hb13o^w]8f\u003eBrGN[LPS\u003enB8Mhwv}u^7Byxo5ay/tcw]8f\u003eBs[XnxK@rbwPI^jA:@V6zddYjxKM6}ayX[[",
            "ln": 1699,
            "col": 35,
            "line": 33
          },
          {
            "b": "b28G\u003cx(e0fazC}ezf3?swPw]jvp%c]x(+yKfFCa4ra]?=v@b\u003c\u003czGE1zB7GznBzbxfayPslBzbkdwmYvYB.(dLa$K6zarR^HarR!AwQ5r7v%8*kz/N(Yb2R#[AbPSnwPF#dzEWH9wmV((az$+nByeK2A=VetazULle*9#0B8@ErBrC1kaAITkA=+U#",
            "ln": 2541,
            "col": 20,
            "line": 45
          },
          {
            "b": "x(+zhzGYD8x\u003eeu8AV/47B0a}6wO@ShwP\u00260cwN)zqed9HxarR^HarR^HvpKy[z/dPUb1DiZwPzj3wGUz7zE[2mBz\u003e@azxJwfazt\u003esAc15[fl.R:e]CPHx(v(wB8JZGC}A-FBy/99vruj4zGvA",
            "ln": 3025,
            "col": 51,
            "line": 53
          },
          {
            "b": "arR^HarR^HarU95BzkVhiV]REwPzG%C{4ixwGTMjazC)tv@DydwN/*8vqYP#Bzb98aARpdaAz4mz/{8gwGUYdaAIj8A+e=7CwhejaBd)FAV/7lBy/99vruj4zz0auarR^HarR^HEjLZFarR^HarR^Jph+k*z/dP%l2ZK0iZ[7fz/P[Wi-H3oo\u003c}{+",
            "ln": 3601,
            "col": 1,
            "line": 62
          },
          {
            "b": "B1wCxzE:(kvqH6$aAR)FwPF#5xjkH(B95KDxK@qLp!q^IwObH]wO#0?ayPvmxMOunB2\u003e%cwmY{}y\u0026so7A=S\u003cJz//Yizz2Bqz7/{vw[u0]zEWlga{]CnarR^HarV7-3lQDlarR^Har\u003cN0BzkVhiYYMCx/XpzA=M8sB2(uNzGYD8x\u003egaMADL\u0026lBrR?\u003cj%kgVarR^HarR^HarUJjB8$=5wJy}Tra]?=A+flkwPI@o",
            "ln": 4139,
            "col": 56,
            "line": 70
          },
          {
            "b": "AbPS9zGGP3y-)g}v@30{w?Ch$w/#hewGUYdB9h4pAaK6hx(!xqefFCowN/G#xMOunB2\u003e%cB97\u0026jB-PfMz//Yizz2Bqz7W1tarR^HarR^HEjLZFarR^HarR^Jph+k*z/dP%l2ZK0iZ[7fz/P[Wi-G*gwP8ZkmriA!AV#R?j%kgVarR^HarR^HarUJjB8$=5wJy}Tra]?=A+flkwPI@oBzg",
            "ln": 4673,
            "col": 33,
            "line": 78
          }
        ],
        "depth": 2,
        "facts": {
          "imp": [
            [
              "",
              "freeze"
            ],
            [
              "",
              "freeze"
            ],
            [
              "",
              "freeze"
            ],
            [
              "",
              "freeze"
            ]
          ],
          "tgt": [
            "freeze"
          ],
          "funcs": [
            [
              "for",
              5670
            ],
            [
              "status_code_description",
              5907
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 14,
              "op.concat": 4,
              "call_count": 4,
              "node_count": 522,
              "op_density.concat": 0.01
            },
            "file": {
              "size": 6001,
              "entropy": 4.68
            },
            "text": {
              "lines": 111,
              "top_char": 101,
              "max_ws_run": 1,
              "digit_ratio": 0.02,
              "space_count": 1377,
              "char_entropy": 4.68,
              "unique_chars": 83,
              "top_char_null": 0,
              "string_density": 0.46,
              "top_char_ratio": 0.08,
              "avg_line_length": 53.06,
              "max_line_length": 144,
              "non_ascii_ratio": 0.01,
              "empty_line_ratio": 0.05,
              "last_line_length": 3,
              "whitespace_ratio": 0.25,
              "identifier_density": 0.17,
              "line_length_stddev": 39.13,
              "normalized_string_count": 4.84,
              "repeated_char_sequences": 20,
              "suspicious_comment_ratio": 0.04,
              "normalized_unique_identifiers": 1.77
            },
            "binds": {
              "count": 4
            },
            "binary": {
              "peak_region_bytes": 6001,
              "peak_region_entropy": 4.74
            },
            "source": {
              "class_count": 3,
              "function_count": 2
            },
            "strings": {
              "bytes": 3239,
              "count": 51,
              "avg_length": 63.51,
              "max_length": 125,
              "avg_entropy": 4.03,
              "entropy_stddev": 0.3
            },
            "comments": {
              "chars": 1071,
              "count": 24,
              "empty": 5,
              "lines": 19,
              "high_entropy": 1,
              "to_code_ratio": 0.21
            },
            "functions": {
              "count": 5
            },
            "identifiers": {
              "count": 19,
              "unique": 12,
              "avg_length": 9,
              "max_length": 23,
              "min_length": 3,
              "avg_entropy": 2.49,
              "reuse_ratio": 0.63,
              "length_stddev": 5.54,
              "high_entropy_count": 2,
              "high_entropy_ratio": 0.17,
              "all_lowercase_ratio": 0.42,
              "all_uppercase_ratio": 0.33
            }
          }
        },
        "id": 2,
        "mol": "H₂(CmDb)",
        "path": "data.tar.gz!!data.tar.gz!lib/ask/notion/error_guide.rb",
        "pid": 1,
        "risk": 2,
        "sha": "91c36516fac93be42ca7f23f26f50e4a13b3200ad6fa4568601db77b2e9ab14c",
        "size": 6001,
        "traits": [
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                118,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                242,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                3649,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-4",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"have\"",
            "spans": [
              [
                1747,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                91,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                113,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                2589,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/response::http-401-unauthorized",
            "conf": 0.75,
            "crit": 3,
            "desc": "HTTP 401 unauthorized response text",
            "spans": [
              [
                1386,
                20
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/response::http-403-forbidden",
            "conf": 0.75,
            "crit": 3,
            "desc": "HTTP 403 forbidden response text",
            "spans": [
              [
                1530,
                17
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/message::http-url-literal",
            "conf": 0.75,
            "crit": 2,
            "desc": "HTTP URL string literal",
            "spans": [
              [
                4187,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/wire-marker::ai-agent-term-reference",
            "conf": 0.8,
            "crit": 3,
            "desc": "References the phrase \"AI agent\"",
            "spans": [
              [
                95,
                8
              ]
            ]
          }
        ],
        "type": "ruby"
      },
      {
        "ctx": [
          {
            "b": "boQPsz*C#juVQsfx(mM\u003cy?X05A:-=BaARTDwEn=+wPq\u003cbA+cvqzF%Shz/ddEBZ/RFv@b\u003c\u003czGE6fA+flkx(W=cb4kLdfjx0BxD^=\u003czeS%cy?j.PB88a9az(4cB.\u003eRiph+k*z/b[8arR^KavG^MvrDydaz#ssvR6N5z!pbjwPR%bwPF#az/M$xA:-\u003cbx\u003eqg7azb4@y\u0026%=fB1N!xarR^{mmGNyoJkv%mo0eRmn\u003er(atTuiarR^HboP(}BAIRwB0a[eayPzmxK#76x\u003e7N[wN(]Uz//YizxIkwnG.IVx\u003eqg7ay/tcw[+[2A+e=7w]zYjvqWhNnG.COwO#Px3lQDlar}joarR^Kaw#=(z!%PdB0bNrwGT-^BzkVhaARKqwO@Slx\u003c\u0026bml33*5iZE[gxFaspB8L(rwHGPSz//YizEmH7yH}xjd\u003cenrwc%C4arR)KCxdbhB0bNrwGUG0x\u003eqg7azCZovixJfz*lKIBzb98ay/tcC4CYoB0a[lBzbl6Bzkk[BzkVhefG4GzdNTdBsXLyzE:7%arR^Kaz$+jCw?Iqaz2Olz/P[wx(n3hayPtbePLqywPq\u003cbC42h#zGG}L3lQDlar}joarR^K",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "C4CXpwPz*fA=SVLB-nEBzWEQfarR)KDQHp(k#*PTuS6r(qB%qQEirSCzdN=hCwhejaz2!pz/fc7Bzkf1ayX+?yJ0/%e^-ZzarR)oarR^HboPl.CWUDdy?i}@arR^KarR!py?WD#BrAZ?l33*5i.\u003cQnx(v(wv@b\u003c\u003czGDjdarR^KarR!py?WD#Bs}9jBywS!B7FY#B.bPsc$D+dvpAU^wNxdZiV]RPvQ?bFgA[mParR^HbmkLoarR)KkYQBTB-Ivxtrj/uz//YizAo*Cy?WD#Bx{1$zxJwgBzbl6Bzkk[By!#9v@b\u003c\u003czu",
            "ln": 675,
            "col": 51,
            "line": 21
          },
          {
            "b": "asG62f!0CLarR!qwO96awO+%hv@b\u003c\u003czGDjdarR^HaARKqwO@RNavg6:iYYMHBz9pEwPI^aC4A6.zF%Shz/e{7z!\u0026{4dgcz8arR^Havx%VwO#P^A=lhFe]ClAc]%y:z//Yi",
            "ln": 1067,
            "col": 69,
            "line": 30
          },
          {
            "b": "uU%H#B7]J8c#JEgwH[@Re?ONWarR^HarR^HA+fukx\u003equdjS(A=arR^HarR^HvR6g^zvdHearR^HarR^HkX1RAwO#PxAckSax\u003e7H\u003ewO#3bzEEx[efDL$e?4bIarR^HarR!EwPIv7wGT2{ph+k*z/dP%l2ZK0iZ[7fz/P[Wi-Q6aB-.qnA+P\u0026hwc%C4arR^HarR^HiYY]BA=bD8e]\u003exmB7DEPiZE?5iYYMHBz9Y@nP5YWy?WAEA+e=)zGGP3y+cX",
            "ln": 1513,
            "col": 17,
            "line": 45
          },
          {
            "b": "B09OdauzLHB89/$ph+k*z/dP%l}6Nhrzlw0qBKL.nKVL+arR^HarR^HarR^HiYY]BA=bD8e]$\u0026uwPf4MasX\u0026-A+fukx\u003equddJ*z$f!0CLarR^HarR^HarR!EwPR%r3lQDlarR^HarR!rzE:7%arR^HarR^HauzLRwPzW1y+x:px(^?)arR^HarR^HwD",
            "ln": 2040,
            "col": 20,
            "line": 58
          }
        ],
        "depth": 2,
        "facts": {
          "imp": [
            [
              "",
              "require"
            ],
            [
              "",
              "require"
            ],
            [
              "",
              "resolve"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "new"
            ],
            [
              "",
              "public_send"
            ],
            [
              "",
              "raise"
            ],
            [
              "",
              "sleep"
            ],
            [
              "",
              "raise"
            ],
            [
              "",
              "respond_to?"
            ],
            [
              "",
              "ask/auth"
            ],
            [
              "",
              "notion-ruby-client"
            ]
          ],
          "mbr": [
            "@client.public_send",
            "@client.respond_to?",
            "ClientProxy.new"
          ],
          "tgt": [
            "new",
            "public_send",
            "raise",
            "require",
            "resolve",
            "respond_to?",
            "sleep"
          ],
          "funcs": [
            [
              "client",
              1078
            ],
            [
              "initialize",
              1438
            ],
            [
              "method_missing",
              1503
            ],
            [
              "respond_to_missing?",
              2209
            ]
          ],
          "metrics": {
            "ast": {
              "op.le": 1,
              "op.add": 1,
              "op.lor": 1,
              "op.mul": 1,
              "op.pow": 1,
              "max_depth": 18,
              "op.concat": 8,
              "call_count": 10,
              "node_count": 317,
              "member_count": 3,
              "op_density.le": 0,
              "op_density.add": 0,
              "op_density.lor": 0,
              "op_density.mul": 0,
              "op_density.pow": 0,
              "member_depth_max": 2,
              "op_density.concat": 0.03
            },
            "file": {
              "size": 2352,
              "entropy": 4.6
            },
            "text": {
              "lines": 71,
              "top_char": 101,
              "max_ws_run": 3,
              "digit_ratio": 0.01,
              "space_count": 549,
              "char_entropy": 4.6,
              "unique_chars": 71,
              "top_char_null": 0,
              "string_density": 0.03,
              "top_char_ratio": 0.08,
              "avg_line_length": 32.13,
              "max_line_length": 78,
              "empty_line_ratio": 0.1,
              "last_line_length": 3,
              "whitespace_ratio": 0.26,
              "identifier_density": 1.01,
              "line_length_stddev": 24.68,
              "normalized_string_count": 0.24,
              "repeated_char_sequences": 13,
              "suspicious_comment_ratio": 0.08,
              "normalized_unique_identifiers": 5.85
            },
            "binds": {
              "count": 5
            },
            "binary": {
              "peak_region_bytes": 2352,
              "peak_region_entropy": 4.69
            },
            "source": {
              "class_count": 3,
              "function_count": 4
            },
            "imports": {
              "count": 2,
              "third_party_count": 2,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 26,
              "count": 2,
              "avg_length": 13,
              "max_length": 18,
              "avg_entropy": 3.11,
              "entropy_stddev": 0.36
            },
            "comments": {
              "chars": 1013,
              "count": 25,
              "empty": 5,
              "lines": 20,
              "high_entropy": 2,
              "to_code_ratio": 0.39
            },
            "functions": {
              "count": 7
            },
            "identifiers": {
              "count": 72,
              "unique": 36,
              "avg_length": 8.81,
              "max_length": 19,
              "min_length": 3,
              "avg_entropy": 2.62,
              "reuse_ratio": 0.5,
              "length_stddev": 4.37,
              "high_entropy_count": 4,
              "high_entropy_ratio": 0.11,
              "all_lowercase_ratio": 0.36,
              "all_uppercase_ratio": 0.08
            }
          }
        },
        "id": 3,
        "mol": "H(Db₂)",
        "path": "data.tar.gz!!data.tar.gz!lib/ask/notion/client.rb",
        "pid": 1,
        "risk": 3,
        "sha": "56ca1c7640808527d24182789d26416e30fa5bbb84c9d01e0353348449202dcc",
        "size": 2352,
        "traits": [
          {
            "id": "metadata/import/ruby/ask/auth::ask/auth",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports ask/auth",
            "spans": [
              [
                69,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/ruby/notion-ruby-client::notion-ruby-client",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports notion-ruby-client",
            "spans": [
              [
                40,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                286,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                342,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                380,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                139,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                723,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/source/dynamic/reflect::ruby-public-send-call",
            "conf": 0.9,
            "crit": 3,
            "desc": "Ruby public_send method dispatch",
            "spans": [
              [
                1577,
                11
              ]
            ]
          },
          {
            "id": "metadata/file/string/count::few-string-literals",
            "conf": 0.4,
            "crit": 3,
            "desc": "File has very few string literals"
          },
          {
            "id": "micro-behaviors/data/llm/wire-marker::ai-agent-term-reference",
            "conf": 0.8,
            "crit": 3,
            "desc": "References the phrase \"AI agent\"",
            "spans": [
              [
                255,
                8
              ]
            ]
          }
        ],
        "type": "ruby"
      },
      {
        "id": 4,
        "sha": "9c8993d4eb6aa3e8a87bb3ad2d7690ea19bc9e16d9d50cedd082318643821057",
        "path": "ask-notion-0.1.2.gem!!checksums.yaml.gz",
        "size": 297,
        "type": "gz",
        "depth": 1
      },
      {
        "ctx": [
          {
            "b": "eIeKYzEEx[iV@rUBzkVhe{hkDuV6!7x(v\u003e@wmY*(A+PGmx(v(Iav{A{aARJAzEEZ5xjk)[aARpdawM\u0026%x(v(ik#pb}Cwhejaz#atx(v(vA=\u003e\u0026peN@QhwO#Pj\u0026^^mownc9{z*2Yjaz2C3AbPDdBAn#QxKL^?y?j.$B-.pFaAg+4x(mv3x(v(uayPd#az2Olz/P[aeIeKY3rqdUaARphB0bKtx(4PdCw7M9aBd)Faz$+4wft#jazC.nwPzi?BrC^wBz8^(z//YizxN}?LPU0TvpT7\u0026xd[EHx([6bxcqe4xjVcbvqYP.wmoN*vQTs?B1wCJvqYH^x(mMavG",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "Bz8!dA=M8sefF$AvpQG*l33*5i.\u003cQnx(v(IiZW?6By/YsiYYMbr7Hv!pGH{Dw]zYjBz\u003e@azxK1iBAIKP3jn15ax9w[A3c[%avQJ]y\u0026su9aARpdavy6+By/Ys3jo:CwGUR%z6i[kx(FboCwhejaAITBBZ]JoA+e=7v@DmbwQ5qtD2E*FB7/Gmy?aT",
            "ln": 543,
            "col": 17,
            "line": 18
          },
          {
            "b": "CSD%?A=\u003e}oEjLZFar\u003cl\u003evqfK4iV@+(wO\u003e\u003c\u0026y=SW.B-RbmkXkgGze:r5e[n*pa%qp+3lQDnrz(HmiV@+(B-IpVar\u003eGvBz#pZfe3)YvqP$1wIdFhz6y9Jed9Hxb2R#*vruj4zx.a:DMWuuy*?B1z/dPUtydGbwi7?SqBKnBr7fhZp^EPuuR9TfaBNJrEf$xfu%)vH3rgXIayG89BzkVhePL#yC}AJxx\u003eqg7u)68[z6iwcwPF#hx(mT4vqE5@z/f-fA=U@kzxN}?LPUl\u0026BSZ",
            "ln": 2612,
            "col": 24,
            "line": 81
          },
          {
            "b": "g+ZZm3pe-GiYZ2OBzkVhiYYYIA=k#tiYZ86m[DDwr7P\u003eX3sEmH3jodszeBieaAI47zEEN1z/W@DeG=I)g+ZZdmSirRx\u003eg:=zyNa%aw3D)wOl3(BzkVhazth8zyoJGvR6a*aAIj8A+e=7CwhejaARpdaAg+4wImO5BywS!B7DGNHlq(^ay/k4v@0hhq!PPWwG\u0026mhzxIX)BzkVhayPd#ayO!\u003eaBd)FAV/7lBy/99vruj4zxJzlaz$R8wEp1idK)negY",
            "ln": 3092,
            "col": 45,
            "line": 97
          },
          {
            "b": "aAIj8A+PA73n0wIdL@?kavoHEaw#=\u003cB.bSodK)F4p\u0026ZF[wPz)raA?gfB.bRpxKM6}aA}\u003cAzF78lD2NtoaMwcsay/7@v@0iexK@rcv}YB\u003cvixe@A=VsfeG=I)g+}6lrbVW$o\u003c}{+aw#=\u003cB.bSoB1eU2aw#S\u0026wGU/6ze196wfroRaAz4kflnmBB-ILB",
            "ln": 3360,
            "col": 71,
            "line": 104
          }
        ],
        "depth": 2,
        "facts": {
          "metrics": {
            "file": {
              "size": 4245,
              "entropy": 5.16
            },
            "text": {
              "lines": 131,
              "top_char": 101,
              "max_ws_run": 5,
              "digit_ratio": 0.01,
              "space_count": 478,
              "char_entropy": 5.16,
              "unique_chars": 87,
              "top_char_null": 0,
              "top_char_ratio": 0.08,
              "avg_line_length": 31.4,
              "max_line_length": 127,
              "non_ascii_ratio": 0.01,
              "empty_line_ratio": 0.22,
              "last_line_length": 66,
              "whitespace_ratio": 0.14,
              "line_length_stddev": 29.59
            },
            "binary": {
              "peak_region_bytes": 4245,
              "peak_region_entropy": 5.11
            }
          }
        },
        "id": 5,
        "mol": "K(Am)O(Xe₂)H(Cm)Md(Pa)",
        "path": "data.tar.gz!!data.tar.gz!lib/ask/skills/notion.use_notion/SKILL.md",
        "pid": 1,
        "risk": 5,
        "sha": "01ee6ef28c0aad69a58c62a9c27803cd2b8a4e7e492f0cc66e414704fbee5435",
        "size": 4245,
        "traits": [
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                57,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                145,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-4",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"have\"",
            "spans": [
              [
                3408,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                591,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                72,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                165,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/agent-skill::agent-skill-directory-member",
            "conf": 0.95,
            "crit": 3,
            "desc": "File inside an agent skill directory"
          },
          {
            "id": "metadata/package/agent-skill::agent-skill-frontmatter-fields",
            "conf": 0.86,
            "crit": 3,
            "desc": "Agent skill frontmatter fields",
            "spans": [
              [
                4,
                36
              ]
            ]
          },
          {
            "id": "metadata/package/agent-skill::agent-skill-md-basename",
            "conf": 0.95,
            "crit": 3,
            "desc": "Agent skill markdown file name"
          },
          {
            "id": "micro-behaviors/communications/http/response::http-403-forbidden",
            "conf": 0.75,
            "crit": 3,
            "desc": "HTTP 403 forbidden response text",
            "spans": [
              [
                3156,
                13
              ]
            ]
          },
          {
            "id": "objectives/execution/exploit/network-service/exploit-automation::nuclei-remote-http-target-field",
            "conf": 0.93,
            "crit": 3,
            "desc": "Nuclei example hardcodes an HTTP target",
            "spans": [
              [
                2676,
                26
              ]
            ]
          },
          {
            "id": "well-known/app/ai/knowledge/agent-skills::skill-definition-file",
            "conf": 0.98,
            "crit": 3,
            "desc": "Agent Skills SKILL.md definition file"
          },
          {
            "id": "metadata/package/agent-skill::agent-skill-frontmatter",
            "conf": 0.9,
            "crit": 2,
            "desc": "Agent skill manifest frontmatter",
            "uses": [
              7,
              8
            ],
            "spans": [
              [
                4,
                0
              ]
            ]
          },
          {
            "id": "objectives/execution/automation/skill::skill-definition-marker",
            "atk": "T1059",
            "conf": 0.9,
            "crit": 3,
            "desc": "Declares an executable agent skill",
            "uses": [
              12
            ],
            "spans": [
              [
                4,
                36
              ]
            ]
          }
        ],
        "type": "markdown"
      },
      {
        "ctx": [
          {
            "b": "boQPsz*C#juVQsfx(mM\u003cy?X05A:-=BaARTDwD",
            "n": [
              {
                "c": 2,
                "d": "Ruby package version file basename",
                "i": "metadata/build/package::ruby-version-file",
                "o": 0,
                "z": 10,
                "cf": 0.8999999761581421
              }
            ],
            "ln": 1,
            "addr": 0
          },
          {
            "b": "",
            "ln": 2,
            "addr": 30
          },
          {
            "b": "zeS%cy?j.PB87",
            "ln": 3,
            "addr": 31
          }
        ],
        "depth": 2,
        "facts": {
          "metrics": {
            "ast": {
              "max_depth": 7.0,
              "bind_count": 1.0,
              "call_count": 0.0,
              "node_count": 19.0,
              "identifier_count": 3.0,
              "string_literal_count": 1.0
            },
            "file": {
              "size": 90.0,
              "entropy": 4.61,
              "size_bytes": 90.0
            },
            "text": {
              "digit_ratio": 0.05,
              "space_count": 14.0,
              "total_lines": 7.0,
              "char_entropy": 4.61,
              "unique_chars": 35.0,
              "string_density": 0.14,
              "avg_line_length": 11.86,
              "max_line_length": 29.0,
              "empty_line_ratio": 0.14,
              "last_line_length": 3.0,
              "whitespace_ratio": 0.23,
              "most_common_ratio": 0.08,
              "identifier_density": 0.43,
              "line_length_stddev": 9.69,
              "normalized_string_count": 0.38,
              "most_common_char_is_null": 0.0,
              "max_inline_whitespace_run": 1.0,
              "most_common_char_codepoint": 101.0,
              "normalized_unique_identifiers": 1.07
            },
            "binds": {
              "count": 1.0
            },
            "binary": {
              "overall_entropy": 4.61,
              "peak_region_bytes": 90.0,
              "peak_region_entropy": 4.61
            },
            "source": {
              "class_count": 2.0
            },
            "strings": {
              "total": 1.0,
              "avg_length": 5.0,
              "max_length": 5.0,
              "avg_entropy": 1.92,
              "total_bytes": 5.0
            },
            "comments": {
              "chars": 28.0,
              "lines": 1.0,
              "total": 1.0,
              "to_code_ratio": 0.17
            },
            "functions": {
              "count": 2.0
            },
            "identifiers": {
              "count": 3.0,
              "total": 3.0,
              "avg_length": 5.33,
              "max_length": 7.0,
              "min_length": 3.0,
              "avg_entropy": 2.21,
              "reuse_ratio": 1.0,
              "unique_count": 3.0,
              "length_stddev": 1.7,
              "all_uppercase_ratio": 0.33
            }
          }
        },
        "id": 6,
        "path": "data.tar.gz!!data.tar.gz!lib/ask/notion/version.rb",
        "risk": 1,
        "sha": "664ba8afa5479c23e16ff17a31f7fb4661704da9384a3ca581a3b78c4d11ff26",
        "size": 90,
        "traits": [
          {
            "id": "metadata/build/package::ruby-version-file",
            "conf": 0.8999999761581421,
            "crit": 2,
            "desc": "Ruby package version file basename",
            "spans": [
              [
                0,
                10
              ]
            ]
          },
          {
            "id": "metadata/file/metrics::low-overall-entropy-source",
            "conf": 0.8999999761581421,
            "crit": 2,
            "desc": "Script overall entropy stays low",
            "spans": [
              [
                0,
                29
              ]
            ]
          },
          {
            "id": "metadata/file/metrics::file-under-12-lines",
            "conf": 0.800000011920929,
            "crit": 1,
            "desc": "Very short file (under 12 lines)",
            "spans": [
              [
                0,
                23
              ]
            ]
          },
          {
            "id": "metadata/build/package::ruby-package-reference-context",
            "conf": 0.8999999761581421,
            "crit": 2,
            "desc": "Ruby package version or spec context",
            "spans": [
              [
                0,
                10
              ]
            ]
          }
        ],
        "type": "ruby"
      },
      {
        "id": 7,
        "sha": "4a81a53499175afdefebc91c5f3d07fda5399584cb3b9611ac86ba5d4b6720d3",
        "path": "data.tar.gz!!data.tar.gz!lib/ask/notion/context.rb",
        "risk": 1,
        "size": 1800,
        "type": "ruby",
        "depth": 2
      },
      {
        "id": 8,
        "sha": "caf50dc47069de67c1bafaa6b8079036c13b9ecce4bff2c97ca2f59a5a7b304f",
        "path": "data.tar.gz!!data.tar.gz!lib/ask/notion.rb",
        "size": 94,
        "type": "ruby",
        "depth": 2
      },
      {
        "id": 9,
        "sha": "e740598b3983d81e038d827da11405a0e77f8f9276a643a33d4d1d75dc28e3ea",
        "path": "data.tar.gz!!data.tar.gz!lib/ask-notion.rb",
        "risk": 1,
        "size": 186,
        "type": "ruby",
        "depth": 2
      },
      {
        "id": 10,
        "sha": "624df52ceb1531278fd71c1e5ee22e5cfb8d4e0fe1a64712f7c487e2c4a50005",
        "path": "data.tar.gz!!data.tar.gz!LICENSE",
        "risk": 1,
        "size": 1066,
        "type": "text",
        "depth": 2
      },
      {
        "id": 11,
        "sha": "ddf2de4bfbafd4afe5d3587c52707d2f7943ce61464d806a22e419271c1a6dc7",
        "path": "data.tar.gz!!data.tar.gz!README.md",
        "size": 1368,
        "type": "markdown",
        "depth": 2
      },
      {
        "id": 12,
        "sha": "48cc7b20258318c82b786bdf7ad6528606317702a5f2686623084c5c68f112b7",
        "path": "data.tar.gz!!data.tar.gz!CHANGELOG.md",
        "size": 635,
        "type": "markdown",
        "depth": 2
      },
      {
        "id": 13,
        "sha": "3611433429efcbb9f1fcab1a41682930622328e4932e38dafe5109c4d701683b",
        "path": "ask-notion-0.1.2.gem!!metadata.gz",
        "size": 740,
        "type": "gz",
        "depth": 1
      },
      {
        "id": 14,
        "sha": "35e0c2ee97992490f2c07a6ab509212b823d7011232db6b69b5a89a61fb63d16",
        "path": "metadata.gz!!metadata.gz!metadata",
        "size": 3168,
        "type": "pkg-info",
        "depth": 2
      }
    ],
    "omitted_files": 9,
    "rev": "868bd",
    "v": "8"
  }
}