{
  "llm": {
    "conf": 0.37882963,
    "grade": "benign",
    "model": "Qwen/Qwen3.6-27B",
    "review": false,
    "outcome": "benign",
    "interpretation": "Legitimate Slack MCP server package"
  },
  "ml": {
    "v": "7",
    "eng": "2.1.0",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.08781558,
        "rte": "az",
        "prob": 0.08781558
      },
      {
        "cls": 0,
        "raw": 0.6421612,
        "rte": "az/whl",
        "prob": 0.6421612
      }
    ],
    "prob": 0.112613775,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "whl"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "python"
      },
      {
        "id": 2,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "python"
      },
      {
        "id": 3,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "python"
      },
      {
        "id": 4,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00002473592758178711,
        "type": "python"
      },
      {
        "id": 5,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013083219528198242,
        "type": "python"
      },
      {
        "id": 6,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012268622413103003,
        "type": "python"
      },
      {
        "id": 7,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "python"
      },
      {
        "id": 8,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012228886589582544,
        "type": "python"
      },
      {
        "id": 9,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "python"
      },
      {
        "id": 10,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "python"
      },
      {
        "id": 11,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "python"
      },
      {
        "id": 12,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "python"
      },
      {
        "id": 13,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "python"
      },
      {
        "id": 14,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013232231140136719,
        "type": "python"
      },
      {
        "id": 15,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "python"
      },
      {
        "id": 16,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "python"
      },
      {
        "id": 17,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000017464160919189453,
        "type": "python"
      },
      {
        "id": 18,
        "lvl": -1,
        "conf": 0,
        "prob": 0.0000177919864654541,
        "type": "python"
      },
      {
        "id": 19,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "python"
      },
      {
        "id": 20,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001757343670760747,
        "type": "python"
      },
      {
        "id": 21,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "python"
      },
      {
        "id": 22,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "python"
      },
      {
        "id": 23,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "python"
      },
      {
        "id": 24,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "python"
      },
      {
        "id": 25,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000011722247108991724,
        "type": "python"
      },
      {
        "id": 26,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "python"
      },
      {
        "id": 27,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "python"
      },
      {
        "id": 28,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "pkg-info"
      },
      {
        "id": 29,
        "lvl": -1,
        "conf": 0,
        "prob": 0.11261377483606339,
        "type": "text"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-06-24T02:27:12Z"
  },
  "path": "slack_mpm-0.1.7-py3-none-any.whl",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "p!H([6Awak2MK\u00268lqTQ2O@K6R000i6000Ph0047RvpK7Wze:tBrZ/[+nL-8q=[\u003cfc?#S)Po9kqh00008",
            "ln": 0
          }
        ],
        "mol": "O(C)H₂(CmPo)",
        "sha": "e1ea2bb9997c740cbdee863d96f6bbf6dfd0f860bd7f3528e3d462d709210687",
        "path": "slack_mpm-0.1.7-py3-none-any.whl",
        "risk": 40,
        "size": 36903,
        "type": "whl",
        "facts": {
          "metrics": {
            "whl": {
              "native_extension_count": 0.0
            },
            "file": {
              "size": 36903.0,
              "entropy": 7.9,
              "size_bytes": 36903.0
            },
            "binary": {
              "overall_entropy": 7.9
            },
            "archive": {
              "file_count": 32.0,
              "member_count": 32.0,
              "script_count": 27.0,
              "zip_bomb_ratio": 7.74,
              "directory_count": 0.0,
              "executable_count": 0.0,
              "extra_field_size": 0.0,
              "noise_file_count": 0.0,
              "total_compressed": 32705.0,
              "compression.ratio": 0.23,
              "hidden_file_count": 0.0,
              "total_uncompressed": 139282.0,
              "crc_collision_count": 0.0,
              "entry_comment_count": 0.0,
              "max_filename_length": 42.0,
              "rtlo_filename_count": 0.0,
              "format.regular_count": 32.0,
              "nested_archive_count": 0.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,
              "duplicate_member_count": 0.0,
              "security.symlink_count": 0.0,
              "unicode_filename_count": 0.0,
              "homoglyph_filename_count": 0.0,
              "security.encrypted_count": 0.0,
              "timing.mtime_unique_count": 1.0,
              "timing.mtime_unique_ratio": 0.03,
              "misplaced_executable_count": 0.0,
              "timing.mtime_dominant_count": 32.0,
              "timing.mtime_spread_seconds": 0.0,
              "timing.sentinel_mtime_count": 0.0,
              "security.world_writable_count": 0.0,
              "timing.mtime_dominant_fraction": 1.0,
              "compression.method_counts.deflate": 32.0
            }
          }
        },
        "ident": {
          "name": {
            "value": "slack_mpm",
            "source": "whl.distribution",
            "verified": false
          },
          "trust": "unsigned",
          "version": {
            "value": "0.1.7",
            "source": "whl.version",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "objectives/credential-access/theft/keywords::secret",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Credential-access vocabulary word: secret",
            "from": [
              {
                "file": 8
              }
            ],
            "spans": [
              [
                1286,
                7
              ]
            ]
          },
          {
            "id": "metadata/package/quality/ecosystem::pkginfo-summary-field",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "PKG-INFO declares package summary",
            "from": [
              {
                "file": 28
              }
            ]
          },
          {
            "id": "objectives/credential-access/theft/keywords::token",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Credential-access vocabulary word: token",
            "from": [
              {
                "file": 4
              }
            ],
            "spans": [
              [
                3,
                5
              ]
            ]
          },
          {
            "id": "objectives/credential-access/theft/keywords::credential",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Credential-access vocabulary word: credential",
            "from": [
              {
                "file": 18
              }
            ]
          },
          {
            "id": "micro-behaviors/communications/http/lib/httpx::httpx-async-client",
            "conf": 0.800000011920929,
            "crit": 3,
            "desc": "httpx.AsyncClient usage",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "micro-behaviors/data/db/config::database-secret-key",
            "conf": 0.8500000238418579,
            "crit": 1,
            "desc": "Database secret config key",
            "from": [
              {
                "file": 5
              }
            ],
            "spans": [
              [
                4817,
                7
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/db/config::database-user-key",
            "conf": 0.8500000238418579,
            "crit": 1,
            "desc": "Database user config key",
            "from": [
              {
                "file": 5
              }
            ],
            "spans": [
              [
                1864,
                5
              ],
              [
                3313,
                5
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-protocol-reference",
            "crit": 3,
            "desc": "OAuth protocol reference",
            "from": [
              {
                "file": 17
              }
            ]
          },
          {
            "id": "metadata/package/quality/ecosystem::pkginfo-version-field",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "PKG-INFO declares package version",
            "from": [
              {
                "file": 28
              }
            ]
          },
          {
            "id": "metadata/package/quality/ecosystem::pkginfo-name-field",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "PKG-INFO declares package name",
            "from": [
              {
                "file": 28
              }
            ]
          },
          {
            "id": "micro-behaviors/data/db/config::database-secret-or-dsn-key",
            "conf": 0.8500000238418579,
            "crit": 1,
            "desc": "Database secret or DSN config key",
            "from": [
              {
                "off": 376,
                "file": 5,
                "line": 16
              },
              {
                "file": 20
              }
            ],
            "spans": [
              [
                4817,
                7
              ]
            ]
          },
          {
            "id": "metadata/package/scripts::entry-points-file",
            "conf": 0.949999988079071,
            "crit": 1,
            "desc": "Python entry_points.txt file",
            "from": [
              {
                "file": 29
              }
            ]
          },
          {
            "id": "metadata/package/quality/ecosystem::pkginfo-requires-dist",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "PKG-INFO declares runtime dependencies",
            "from": [
              {
                "file": 28
              }
            ]
          },
          {
            "id": "objectives/command-and-control/backdoor/webshell/client::webshell-upload-file-method",
            "atk": "T1505.003",
            "mbc": "B0030",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "Webshell upload file method",
            "from": [
              {
                "file": 9
              }
            ]
          },
          {
            "id": "micro-behaviors/process/interpreter/python::dunder-import-call",
            "atk": "T1059.006",
            "mbc": "E1059",
            "conf": 0.8500000238418579,
            "crit": 3,
            "desc": "Python __import__ call",
            "from": [
              {
                "file": 20
              }
            ]
          },
          {
            "id": "objectives/command-and-control/backdoor/webshell/client::webshell-delete-file-method",
            "atk": "T1505.003",
            "mbc": "B0030",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "Webshell delete file method",
            "from": [
              {
                "file": 9
              }
            ]
          },
          {
            "id": "objectives/impact/destroy/keywords::delete-verb--delete",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "Destructive-action word: delete",
            "from": [
              {
                "file": 11
              }
            ],
            "spans": [
              [
                1382,
                6
              ]
            ]
          },
          {
            "id": "objectives/command-and-control/backdoor/webshell/client::webshell-file-manager-payloads",
            "atk": "T1505.003",
            "mbc": "B0030",
            "conf": 0.9399999976158142,
            "crit": 4,
            "desc": "Webshell file manager payload builders",
            "from": [
              {
                "off": 5639,
                "file": 9,
                "line": 162
              }
            ]
          },
          {
            "id": "metadata/package/quality/ecosystem::pkginfo-core-metadata",
            "conf": 1.0,
            "crit": 1,
            "desc": "Python core metadata marker",
            "from": [
              {
                "file": 28
              }
            ]
          },
          {
            "id": "metadata/package/quality/ecosystem::pkginfo-requires-python",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "PKG-INFO declares Python requirement",
            "from": [
              {
                "file": 28
              }
            ]
          },
          {
            "id": "metadata/package/scripts::console-scripts-entry",
            "conf": 0.8799999952316284,
            "crit": 1,
            "desc": "Python console_scripts entry point",
            "from": [
              {
                "file": 29
              }
            ]
          }
        ]
      },
      {
        "ctx": [
          {
            "b": "a%Fjfy***?awCj1at1Zgz!9A}avy6+By/Ysaw^8%Bz\u003eVcy-)!gA=#2mazbLjax98+v@0ihz/PSmAa9l/azC.nwOl3(BzkVhe*qF-",
            "ln": 1,
            "addr": 0
          },
          {
            "b": "",
            "ln": 2,
            "addr": 81
          },
          {
            "b": "w].*baAIvcv@2B*AbvjmuV{13B7]MguTB{\u0026ze:AlBrB{$C4CYnx(v(@uJ",
            "ln": 3,
            "addr": 82
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "__version__"
            ],
            [
              "",
              "slack_mpm.__version__"
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 5.0,
              "bind_count": 1.0,
              "call_count": 0.0,
              "node_count": 26.0,
              "identifier_count": 3.0,
              "string_literal_count": 2.0,
              "array_literal_max_length": 1.0
            },
            "file": {
              "size": 155.0,
              "entropy": 4.52,
              "size_bytes": 155.0
            },
            "text": {
              "space_count": 15.0,
              "total_lines": 5.0,
              "char_entropy": 4.52,
              "unique_chars": 32.0,
              "string_density": 0.4,
              "avg_line_length": 30.0,
              "max_line_length": 80.0,
              "empty_line_ratio": 0.4,
              "last_line_length": 25.0,
              "whitespace_ratio": 0.13,
              "most_common_ratio": 0.11,
              "identifier_density": 0.8,
              "line_length_stddev": 30.17,
              "normalized_string_count": 0.89,
              "most_common_char_is_null": 0.0,
              "max_inline_whitespace_run": 1.0,
              "most_common_char_codepoint": 95.0,
              "normalized_unique_identifiers": 1.29
            },
            "binds": {
              "count": 1.0
            },
            "binary": {
              "overall_entropy": 4.52
            },
            "imports": {
              "count": 2.0,
              "unique_modules": 2.0,
              "third_party_count": 2.0,
              "third_party_ratio": 1.0
            },
            "strings": {
              "total": 2.0,
              "avg_length": 44.5,
              "max_length": 78.0,
              "avg_entropy": 3.53,
              "total_bytes": 89.0,
              "entropy_stddev": 0.79
            },
            "identifiers": {
              "count": 3.0,
              "total": 4.0,
              "avg_length": 9.0,
              "max_length": 11.0,
              "min_length": 7.0,
              "avg_entropy": 2.35,
              "reuse_ratio": 0.75,
              "unique_count": 3.0,
              "length_stddev": 1.63,
              "all_lowercase_ratio": 1.0,
              "double_underscore_count": 2.0,
              "underscore_prefix_count": 2.0
            }
          }
        },
        "id": 1,
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/__init__.py",
        "risk": 1,
        "sha": "617d0dce061de06149d15977b6445b6fc715d90579d3f39075346340533fa5c8",
        "size": 155,
        "traits": [
          {
            "id": "metadata/file/extension/identity::py",
            "conf": 1.0,
            "crit": 2,
            "desc": "Python file extension",
            "spans": [
              [
                0,
                11
              ]
            ]
          },
          {
            "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/extension/identity::python-artifact-extension",
            "conf": 1.0,
            "crit": 1,
            "desc": "Python artifact file extension (py/pyi/pyc)",
            "spans": [
              [
                0,
                11
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "a%FjiwPz\u003caz/cXizF0*czddK2z/cXfz/M$wy***?eP2Dze*qF-",
            "ln": 1,
            "addr": 0
          },
          {
            "b": "",
            "ln": 2,
            "addr": 41
          },
          {
            "b": "uTE$/A=U@kzEl-[jS\u003e}5e?[$qa]",
            "ln": 3,
            "addr": 42
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "ast": {
              "max_depth": 4.0,
              "bind_count": 1.0,
              "call_count": 0.0,
              "node_count": 14.0,
              "identifier_count": 1.0,
              "string_literal_count": 2.0
            },
            "file": {
              "size": 64.0,
              "entropy": 4.37,
              "size_bytes": 64.0
            },
            "text": {
              "digit_ratio": 0.08,
              "space_count": 5.0,
              "total_lines": 3.0,
              "char_entropy": 4.37,
              "unique_chars": 26.0,
              "string_density": 0.67,
              "avg_line_length": 20.33,
              "max_line_length": 40.0,
              "empty_line_ratio": 0.33,
              "last_line_length": 21.0,
              "whitespace_ratio": 0.13,
              "most_common_ratio": 0.13,
              "identifier_density": 0.33,
              "line_length_stddev": 16.34,
              "normalized_string_count": 1.15,
              "most_common_char_is_null": 0.0,
              "max_inline_whitespace_run": 1.0,
              "most_common_char_codepoint": 34.0,
              "normalized_unique_identifiers": 0.63
            },
            "binds": {
              "count": 1.0
            },
            "binary": {
              "overall_entropy": 4.37
            },
            "strings": {
              "total": 2.0,
              "avg_length": 21.5,
              "max_length": 38.0,
              "avg_entropy": 2.98,
              "total_bytes": 43.0,
              "entropy_stddev": 1.06
            },
            "identifiers": {
              "count": 1.0,
              "total": 1.0,
              "avg_length": 11.0,
              "max_length": 11.0,
              "min_length": 11.0,
              "avg_entropy": 2.73,
              "reuse_ratio": 1.0,
              "unique_count": 1.0,
              "all_lowercase_ratio": 1.0,
              "double_underscore_count": 1.0,
              "underscore_prefix_count": 1.0
            }
          }
        },
        "id": 2,
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/__version__.py",
        "risk": 1,
        "sha": "235bf82cf6784ac82435debb34593a28bc6b9cc046dc3300dc18d52d3bf7a54d",
        "size": 64,
        "traits": [
          {
            "id": "metadata/file/extension/identity::py",
            "conf": 1.0,
            "crit": 2,
            "desc": "Python file extension",
            "spans": [
              [
                0,
                14
              ]
            ]
          },
          {
            "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/extension/identity::python-artifact-extension",
            "conf": 1.0,
            "crit": 1,
            "desc": "Python artifact file extension (py/pyi/pyc)",
            "spans": [
              [
                0,
                14
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "a%Fjfy***?ave*}az(4cB.\u003eSge*qF-",
            "ln": 1,
            "addr": 0
          },
          {
            "b": "",
            "ln": 2,
            "addr": 25
          },
          {
            "b": "w].*baAIvcv@2B*AbvjoAa{Ceze:AlBrz$",
            "ln": 3,
            "addr": 26
          },
          {
            "b": "arR^HvScg2zddE2B1v",
            "ln": 4,
            "addr": 54
          },
          {
            "b": "arR^Hv{%m#vrl13ec",
            "ln": 5,
            "addr": 69
          },
          {
            "b": "arR^Hv}Yp*zE)T9ec",
            "ln": 6,
            "addr": 83
          },
          {
            "b": "arR^HB7n({wozZ1wgN",
            "ln": 11,
            "addr": 148
          },
          {
            "b": "arR^HB-RbmB1v",
            "ln": 12,
            "addr": 163
          },
          {
            "b": "arR^HCw?IqB8UL$wH)",
            "ln": 13,
            "addr": 174
          },
          {
            "b": "df",
            "ln": 14,
            "addr": 189
          },
          {
            "b": "",
            "ln": 15,
            "addr": 191
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "bookmarks"
            ],
            [
              "",
              "canvases"
            ],
            [
              "",
              "channels"
            ],
            [
              "",
              "files"
            ],
            [
              "",
              "lists"
            ],
            [
              "",
              "messages"
            ],
            [
              "",
              "reminders"
            ],
            [
              "",
              "scheduled"
            ],
            [
              "",
              "slack_mpm.api"
            ],
            [
              "",
              "users"
            ],
            [
              "",
              "workspace"
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 5.0,
              "bind_count": 1.0,
              "call_count": 0.0,
              "node_count": 102.0,
              "identifier_count": 13.0,
              "string_literal_count": 11.0,
              "array_literal_max_length": 10.0
            },
            "file": {
              "size": 361.0,
              "entropy": 4.15,
              "size_bytes": 361.0
            },
            "text": {
              "space_count": 87.0,
              "total_lines": 27.0,
              "char_entropy": 4.15,
              "unique_chars": 36.0,
              "string_density": 0.41,
              "avg_line_length": 12.37,
              "max_line_length": 27.0,
              "empty_line_ratio": 0.07,
              "last_line_length": 1.0,
              "whitespace_ratio": 0.32,
              "most_common_ratio": 0.09,
              "identifier_density": 0.48,
              "line_length_stddev": 6.14,
              "normalized_string_count": 2.12,
              "most_common_char_is_null": 0.0,
              "max_inline_whitespace_run": 1.0,
              "most_common_char_codepoint": 115.0,
              "normalized_unique_identifiers": 2.73
            },
            "binds": {
              "count": 1.0
            },
            "binary": {
              "overall_entropy": 4.15
            },
            "imports": {
              "count": 11.0,
              "unique_modules": 11.0,
              "third_party_count": 11.0,
              "third_party_ratio": 1.0
            },
            "strings": {
              "total": 11.0,
              "avg_length": 8.82,
              "max_length": 22.0,
              "avg_entropy": 2.62,
              "total_bytes": 97.0,
              "entropy_stddev": 0.55
            },
            "identifiers": {
              "count": 13.0,
              "total": 13.0,
              "avg_length": 7.23,
              "max_length": 9.0,
              "min_length": 3.0,
              "avg_entropy": 2.37,
              "reuse_ratio": 1.0,
              "unique_count": 13.0,
              "length_stddev": 1.97,
              "all_lowercase_ratio": 1.0,
              "double_underscore_count": 1.0,
              "underscore_prefix_count": 1.0
            }
          }
        },
        "id": 3,
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/api/__init__.py",
        "risk": 1,
        "sha": "f34f9654943db944acf9fa1c71a2f8e24f0508ebb9462d78819130c1474c2d25",
        "size": 361,
        "traits": [
          {
            "id": "metadata/file/extension/identity::py",
            "conf": 1.0,
            "crit": 2,
            "desc": "Python file extension",
            "spans": [
              [
                0,
                11
              ]
            ]
          },
          {
            "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/extension/identity::python-artifact-extension",
            "conf": 1.0,
            "crit": 1,
            "desc": "Python artifact file extension (py/pyi/pyc)",
            "spans": [
              [
                0,
                11
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "ctx": [
          {
            "b": "a%FjfxKL{)wfs/!vpK6}nk@L+ay/k4wO#Pxa%Fi",
            "ln": 1,
            "addr": 0
          },
          {
            "b": "",
            "ln": 2,
            "addr": 32
          },
          {
            "b": "w].*baywF/B-.+DwNw^!x(d*cA=-BjzF\u003cxmvruj4zGt",
            "ln": 3,
            "addr": 33
          },
          {
            "b": "x(d*cA=-BqBAzFD",
            "ln": 9,
            "addr": 154
          },
          {
            "b": "",
            "ln": 10,
            "addr": 167
          },
          {
            "b": "q+PFAoj6$YnNB!Iq:?/(ar\u003eGvBz#pZfe4x.vpK79v@Diqvq]{8",
            "ln": 11,
            "addr": 168
          },
          {
            "b": "",
            "ln": 12,
            "addr": 209
          },
          {
            "b": "",
            "ln": 13,
            "addr": 210
          },
          {
            "b": "arR^HarR^Hq/2(LyE7=*mriA!AYLsszxJ?nzy)R*CPZ)xzy)X2iuSuNB8V5nB7Gznz/M$AxK#67z!?HFvqH0@e=",
            "ln": 42,
            "addr": 1195
          },
          {
            "b": "arR^Ha%Fi",
            "ln": 43,
            "addr": 1265
          },
          {
            "b": "arR^Hw]zYjvruQ5ze:Otx(k5lvqYZ?c#AyquVG.1A+P9adlm",
            "ln": 44,
            "addr": 1273
          },
          {
            "b": "arR^HarR^HA+frhz/fScauZ\u0026QCvticaAz4kB.bSouUjg7df",
            "ln": 45,
            "addr": 1312
          },
          {
            "b": "",
            "ln": 46,
            "addr": 1350
          },
          {
            "b": "arR^HarR^HarR^HA+fukD0:#(By/FnjS[DRBsqfvB8V5nB7D$qwNPaXA=S\u003cCwPPsAqE%@\u003cC}zr]By/FpefDb\u003ea$j@",
            "ln": 48,
            "addr": 1391
          },
          {
            "b": "arR^HarR^HarR^Hx\u003ewF@BAz8hAc9i+az\u003eLiuVG.1A+P9aat1Y\u003ciS",
            "ln": 49,
            "addr": 1463
          },
          {
            "b": "arR^HarR^HarR^HarR^HvrVc]BrC1fD1?gHB8kA0A42:rBAhUlvp\u003cQ)AWZ",
            "ln": 50,
            "addr": 1505
          },
          {
            "b": "arR^HarR^HarR^HarR^Hv@Dmbx(n68",
            "ln": 51,
            "addr": 1552
          },
          {
            "b": "arR^HarR^HarR^HboPB1xKM48By!#9A+fukx\u003equd\u0026^^mow)]H(aARpqz/]YaaARJAA:-W6wGT]/vpK7sp!s8@A=k$vvR6v]Cp\u0026",
            "ln": 52,
            "addr": 1577
          },
          {
            "b": "",
            "ln": 53,
            "addr": 1656
          },
          {
            "b": "arR^HarR^HwmoN*iV}%Ev@${@BAe]Pl2H%NauZ\u0026/wPI*ezGxwwyiarhc[b",
            "ln": 54,
            "addr": 1657
          },
          {
            "b": "arR^HarR^Hx\u003ewG9z/^ajvrt{gxjVfkb5.lvdlm",
            "ln": 55,
            "addr": 1704
          },
          {
            "b": "arR^HarR^HarR^HA:-W6wGT]/vpK7sp!s8@A=k$DwO#3$z!T9hefFFiByu!mwPPsAwPz*fAW04Sb6v^szF%-puUam#z/N3JefFFiByuP",
            "ln": 56,
            "addr": 1735
          },
          {
            "b": "",
            "ln": 62,
            "addr": 1956
          },
          {
            "b": "vrlZiv\u003c2q[w/#ehvpK7WxjVfk",
            "ln": 63,
            "addr": 1957
          },
          {
            "b": "arR^HBz\u003e@azAn[YBAe]",
            "ln": 64,
            "addr": 1978
          },
          {
            "b": "arR^HwO#3$z!T9hiV@G=AX4",
            "ln": 65,
            "addr": 1994
          },
          {
            "b": "arR^HAa9=}zf4-XwnbK}txs[befEk@D0ILuawM\u0026)wGTbUph+2Yec",
            "ln": 66,
            "addr": 2013
          },
          {
            "b": "arR^HarR^Hq/2(LyE7=*mriA!AYLsmw/$2*vpK6}A+funA=b}vz!?HFvqH0@e=",
            "ln": 79,
            "addr": 2366
          },
          {
            "b": "arR^Ha%Fi",
            "ln": 80,
            "addr": 2416
          },
          {
            "b": "arR^HvrlZiv\u003c2#fBz8!gBAzFDe\u003cTM7zEV4Ix\u003eqg7d0ffuwP8ZkjU[=AfEXbMB0a$ex\u003eqg7iS",
            "ln": 81,
            "addr": 2424
          },
          {
            "b": "arR^HarR^HA+funA=91dCvticayxe2ADL\u0026lByflaBzb34wPR%rc\u0026",
            "ln": 82,
            "addr": 2482
          },
          {
            "b": "arR^HarR^HarR^HwO#3$z!T9hec",
            "ln": 83,
            "addr": 2524
          },
          {
            "b": "arR^HarR^HarR^Hy*?f\u0026wmmIwv@b\u003c\u003czGEHzwPPs",
            "ln": 84,
            "addr": 2546
          },
          {
            "b": "arR^HarR^HarR^HarR^Hw*hO2oHh3suQmHWuQv4Smsu?owO#3$z!T9hEiHi",
            "ln": 85,
            "addr": 2578
          },
          {
            "b": "arR^HarR^HarR^HarR^HxK$Q.wPz\u0026PDM\u003e:#BzbPkx)Kifx(v(kiV@2Uls\u003cOCwPw]uBz\u003e@azHAZSec",
            "ln": 86,
            "addr": 2626
          },
          {
            "b": "arR^HarR^HarR^HarR^HAa9=}zf4\u003cVvrb^[B0bywaBwI/",
            "ln": 87,
            "addr": 2688
          },
          {
            "b": "arR^HarR^HarR^Hdj+",
            "ln": 88,
            "addr": 2725
          },
          {
            "b": "arR^HarR^HarR^HarR^HxK$Q.wPz\u0026PDJ",
            "ln": 115,
            "addr": 3420
          },
          {
            "b": "arR^HarR^HarR^HarR^HarR^Hb0*u[xM4{9Dsp]fz/c:Waz8/:wNPQ\u003cAV/ZJz!\u0026{4EiHi",
            "ln": 116,
            "addr": 3446
          },
          {
            "b": "arR^HarR^HarR^HarR^HarR^Hb13o^By/uieMv1mwG\u003ceTb4kCfy?Wx/BzkVhfktMDzAw$JxKL}5wPQ7TBy)9:a$J",
            "ln": 117,
            "addr": 3502
          },
          {
            "b": "arR^HarR^HarR^HarR^HEjL",
            "ln": 118,
            "addr": 3573
          },
          {
            "b": "arR^HarR^HarR^HarR^Hyiarhj./4RzEl{.ByuqgAV/ZSec",
            "ln": 119,
            "addr": 3592
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "super().__init__"
            ],
            [
              "",
              "super"
            ],
            [
              "",
              "range"
            ],
            [
              "",
              "request_fn"
            ],
            [
              "",
              "int"
            ],
            [
              "",
              "response.headers.get"
            ],
            [
              "",
              "anyio.sleep"
            ],
            [
              "",
              "response.json"
            ],
            [
              "",
              "data.get"
            ],
            [
              "",
              "SlackAPIError"
            ],
            [
              "",
              "data.get"
            ],
            [
              "",
              "SlackAPIError"
            ],
            [
              "",
              "httpx.AsyncClient"
            ],
            [
              "",
              "request_with_retry"
            ],
            [
              "",
              "client.get"
            ],
            [
              "",
              "httpx.AsyncClient"
            ],
            [
              "",
              "request_with_retry"
            ],
            [
              "",
              "client.post"
            ],
            [
              "",
              "Any"
            ],
            [
              "",
              "Callable"
            ],
            [
              "",
              "Coroutine"
            ],
            [
              "",
              "anyio"
            ],
            [
              "",
              "collections.abc"
            ],
            [
              "",
              "httpx"
            ],
            [
              "",
              "typing"
            ]
          ],
          "mbr": [
            "anyio.sleep",
            "client.get",
            "client.post",
            "data.get",
            "httpx.AsyncClient",
            "httpx.Response",
            "response.headers",
            "response.headers.get",
            "response.json",
            "response.status_code",
            "self.endpoint",
            "self.error",
            "self.response",
            "super().__init__"
          ],
          "tgt": [
            "SlackAPIError",
            "_request_with_retry",
            "anyio.sleep",
            "client.get",
            "client.post",
            "data.get",
            "httpx.AsyncClient",
            "int",
            "range",
            "request_fn",
            "response.headers.get",
            "response.json",
            "super",
            "super().__init__"
          ],
          "metrics": {
            "ast": {
              "op.lor": 2.0,
              "op.sub": 1.0,
              "max_depth": 17.0,
              "bind_count": 7.0,
              "call_count": 18.0,
              "node_count": 717.0,
              "member_count": 14.0,
              "op_density.lor": 0.0,
              "op_density.sub": 0.0,
              "identifier_count": 43.0,
              "member_depth_max": 3.0,
              "string_literal_count": 21.0
            },
            "file": {
              "size": 3655.0,
              "entropy": 4.61,
              "size_bytes": 3655.0
            },
            "text": {
              "digit_ratio": 0.01,
              "space_count": 946.0,
              "total_lines": 121.0,
              "char_entropy": 4.61,
              "unique_chars": 79.0,
              "string_density": 0.17,
              "avg_line_length": 29.21,
              "high_byte_ratio": 0.0,
              "max_line_length": 84.0,
              "non_ascii_ratio": 0.0,
              "empty_line_ratio": 0.21,
              "last_line_length": 9.0,
              "whitespace_ratio": 0.29,
              "most_common_ratio": 0.07,
              "identifier_density": 1.12,
              "line_length_stddev": 24.24,
              "normalized_string_count": 1.91,
              "repeated_char_sequences": 22.0,
              "suspicious_string_ratio": 0.19,
              "most_common_char_is_null": 0.0,
              "max_inline_whitespace_run": 1.0,
              "most_common_char_codepoint": 101.0,
              "normalized_unique_identifiers": 6.21
            },
            "binds": {
              "count": 7.0
            },
            "calls": {
              "count": 18.0
            },
            "binary": {
              "overall_entropy": 4.61
            },
            "source": {
              "class_count": 1.0,
              "function_count": 4.0
            },
            "imports": {
              "count": 7.0,
              "stdlib_count": 2.0,
              "stdlib_ratio": 0.29,
              "unique_modules": 7.0,
              "third_party_count": 5.0,
              "third_party_ratio": 0.71
            },
            "members": {
              "count": 14.0
            },
            "strings": {
              "total": 21.0,
              "url_count": 1.0,
              "avg_length": 74.0,
              "max_length": 540.0,
              "avg_entropy": 3.29,
              "sql_strings": 3.0,
              "total_bytes": 1554.0,
              "entropy_stddev": 1.17,
              "shell_command_strings": 1.0
            },
            "comments": {
              "chars": 121.0,
              "lines": 2.0,
              "total": 2.0,
              "to_code_ratio": 0.02
            },
            "functions": {
              "count": 5.0,
              "avg_params": 3.5,
              "max_params": 4.0,
              "length_stddev": 11.97,
              "avg_name_length": 11.5,
              "avg_length_lines": 24.75,
              "max_length_lines": 37.0,
              "min_length_lines": 5.0,
              "single_char_params": 1.0,
              "avg_param_name_length": 6.86,
              "density_per_100_lines": 3.31,
              "code_in_functions_ratio": 0.82
            },
            "identifiers": {
              "count": 43.0,
              "total": 135.0,
              "avg_length": 7.37,
              "max_length": 19.0,
              "min_length": 3.0,
              "avg_entropy": 2.42,
              "reuse_ratio": 0.32,
              "unique_count": 43.0,
              "length_stddev": 3.46,
              "all_lowercase_ratio": 0.81,
              "all_uppercase_ratio": 0.02,
              "double_underscore_count": 1.0,
              "underscore_prefix_count": 2.0
            }
          }
        },
        "id": 4,
        "mol": "H(Cm)",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/api/_client.py",
        "risk": 1,
        "sha": "1cc2841ede8297c6d6ed16604c4ca0cef9a7003060e0718ad4992dbfea38fafe",
        "size": 3655,
        "traits": [
          {
            "id": "micro-behaviors/communications/http/lib/httpx::httpx-async-client",
            "conf": 0.800000011920929,
            "crit": 3,
            "desc": "httpx.AsyncClient usage",
            "spans": [
              [
                2439,
                18
              ]
            ]
          },
          {
            "id": "objectives/credential-access/theft/keywords::token",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Credential-access vocabulary word: token",
            "spans": [
              [
                1982,
                5
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "id": 5,
        "sha": "f3f2cb1b1e8bf325ca7d896697e74ce00ac94790a36e90b42599b44e653e57e4",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/api/_pagination.py",
        "risk": 1,
        "size": 1352,
        "type": "python",
        "depth": 1
      },
      {
        "id": 6,
        "sha": "74748d527618f87b4c4bb460c23665bbe1eb56174b77128c29152808cb7ea87d",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/api/bookmarks.py",
        "risk": 1,
        "size": 1752,
        "type": "python",
        "depth": 1
      },
      {
        "id": 7,
        "sha": "712b80b8ba65d99202af745d849551048ed50d2ecfb50f5908adacc2a32c65f7",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/api/canvases.py",
        "risk": 1,
        "size": 6743,
        "type": "python",
        "depth": 1
      },
      {
        "id": 8,
        "sha": "b2ced8715ab433843f021d5efc322df079053fbebe85ddf37eb91485fa33607d",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/api/channels.py",
        "risk": 1,
        "size": 4305,
        "type": "python",
        "depth": 1
      },
      {
        "ctx": [
          {
            "b": "a%Fjfy***?azbt7wGTonnG.R/zEW^5z/fRG",
            "ln": 1,
            "addr": 0
          },
          {
            "b": "",
            "ln": 2,
            "addr": 29
          },
          {
            "b": "ph+k=iV}ynwGU/2xjkp}azbt7wPGFDAboD3wftD3wn(E3zGE1BvriM4wPhW3v{%E\u003cwftubax98+v@0h}zE:(hB-8niBrBs%B%5K]gbQV",
            "ln": 3,
            "addr": 30
          },
          {
            "b": "l2puWB-qenvpTB4B-RapBzbkdzeS@@A=90QePV2BA3e+ez*ak",
            "ln": 4,
            "addr": 114
          },
          {
            "b": "arSx\u003eazbt7wPGFpwPQ{\u003ey\u0026r-)rz(HVCYWIqzEEu7aMv{oaA7.hvqfQ4B-qenvpQGXqCnh-azbt7wNxdZ",
            "ln": 5,
            "addr": 154
          },
          {
            "b": "arSA(av]Ehp-@Ogq=B(YzY\u003cgwy\u0026r-)axqrkarR^HaMv{oaAITBwNPA#vTi6bB0bNyax75",
            "ln": 6,
            "addr": 219
          },
          {
            "b": "arSD)azbt7wPGFlz/6DfwPRG-AboD3wjp-+wPzV%y-}./LPU0Txk8BewPw]oAboD3wftP7aA}:AyJBD6v}t",
            "ln": 7,
            "addr": 275
          },
          {
            "b": "a%Fi",
            "ln": 8,
            "addr": 342
          },
          {
            "b": "",
            "ln": 9,
            "addr": 346
          },
          {
            "b": "",
            "ln": 15,
            "addr": 463
          },
          {
            "b": "",
            "ln": 16,
            "addr": 464
          },
          {
            "b": "vrlZiv\u003c2q[w/#kny\u0026r-)uUj1*wHE",
            "ln": 17,
            "addr": 465
          },
          {
            "b": "arR^HBz\u003e@azAn[YBAe]",
            "ln": 18,
            "addr": 488
          },
          {
            "b": "arR^Hv}Yp*zE)T9iV@lMB97ScBAgUr",
            "ln": 19,
            "addr": 504
          },
          {
            "b": "arR^Hv@DmbwO#PJaAITBaBCqvD30RsaBCqbz/fbejS)HrzE\u003ev",
            "ln": 20,
            "addr": 529
          },
          {
            "b": "arR^HBzbYavpS.!B2\u003eB+BAeHKawM\u0026)wGTbUph+2Yec",
            "ln": 24,
            "addr": 657
          },
          {
            "b": "diHiaay]g@Bx-*dAX5t0zH2IG",
            "ln": 25,
            "addr": 691
          },
          {
            "b": "arR^Ha%FjhAboD3wftq6w[=6)asHYkzEENhaA8oyBy/YsdiJ.JaA8deaA8oyzeTDaay/7[zF\u003c34B1N",
            "ln": 26,
            "addr": 712
          },
          {
            "b": "",
            "ln": 27,
            "addr": 775
          },
          {
            "b": "arR^Hs7(\u003euaw^8%C4\u003eF#B0a)lB-7]9x\u003ep/$wO#QgC{46Ax(n2nw]zYjw[=6)ay]51x)a6dC{4fJAbY-oBzkS9ayYnhxDR2beP26oz/Qa",
            "ln": 28,
            "addr": 776
          },
          {
            "b": "",
            "ln": 99,
            "addr": 3710
          },
          {
            "b": "arR^HboP{bwPe+EiV}Bwy\u0026r-)aARpdazbt7wGUDcBy/IoBz\u0026pzxK@r9A=lbnwmYo]rz(G",
            "ln": 100,
            "addr": 3711
          },
          {
            "b": "arR^HvrlZiv\u003c2#fBz8!gBAzFDe\u003cTM7zEV4Ix\u003eqg7d0ffuwP8ZkjVj#DfEXbMB0a$ex\u003eqg7iS",
            "ln": 101,
            "addr": 3767
          },
          {
            "b": "arR^HarR^HB-qenvpS.=wPI/kjS[fSvqf*av@b\u003c\u003czGEHIz/Z1G",
            "ln": 102,
            "addr": 3825
          },
          {
            "b": "arR^HarR^HarR^HB-qenvpS./A+)o",
            "ln": 103,
            "addr": 3866
          },
          {
            "b": "arR^HarR^HarR^HxK$Q.wPz\u0026PDM\u003e*}zGGDcBs*EqAaHjOar\u003elkAbok#vruj4zzb{rBy/LCB98ClvqNipec",
            "ln": 105,
            "addr": 3925
          },
          {
            "b": "arR^HarR^Hdf",
            "ln": 106,
            "addr": 3991
          },
          {
            "b": "arR^HarR^HB-qenvpS.=wPI/yA:-W6wNx4/A:J)fvruTkc[b",
            "ln": 107,
            "addr": 4001
          },
          {
            "b": "",
            "ln": 108,
            "addr": 4040
          },
          {
            "b": "arR^HboP{bwPe+FiV{!dze:r5By=OpxK@reAboD3wgO\u003cAxKL{}zF78lzY?ttoDW?UvqY%]y\u0026Z.kzxJ\u003enwGUF\u003ey?$Z",
            "ln": 109,
            "addr": 4041
          },
          {
            "b": "arR^Hl2{QViS",
            "ln": 152,
            "addr": 5403
          },
          {
            "b": "arR^HarR^HBz\u003e@azAn[sy***?ayYnhaARKqwO%a",
            "ln": 153,
            "addr": 5413
          },
          {
            "b": "arR^HarR^Hw[=6)iV{[ay?j.Xl)9)?e[V^/asxSkgby:AhA9PQfEFq4arR)KAb]x1zdbEFvqG:#CwH#mBrCTov@=d5",
            "ln": 154,
            "addr": 5445
          },
          {
            "b": "",
            "ln": 155,
            "addr": 5518
          },
          {
            "b": "arR^HqE%@)A=b}V",
            "ln": 156,
            "addr": 5519
          },
          {
            "b": "",
            "ln": 160,
            "addr": 5637
          },
          {
            "b": "",
            "ln": 161,
            "addr": 5638
          },
          {
            "b": "vrlZiv\u003c2q[w/$R}y?mZ1uUj1*wHIUsyH}xAaAITBefFLsy?kTIB98BKat2=1wnbK}txs[befEk@D0JD",
            "ln": 162,
            "addr": 5639
          },
          {
            "b": "arR^Ha%Fj0wO+}1wGUz7w[=6)e=",
            "ln": 163,
            "addr": 5703
          },
          {
            "b": "",
            "ln": 164,
            "addr": 5725
          },
          {
            "b": "arR^Hl2{QViS",
            "ln": 165,
            "addr": 5726
          },
          {
            "b": "arR^Ha%Fi",
            "ln": 185,
            "addr": 6273
          },
          {
            "b": "arR^HA+frmy\u0026\u003c.Vaz++kBx-o\u0026v@${@BAe]Pl2H%Nt{8oMtu}",
            "ln": 186,
            "addr": 6281
          },
          {
            "b": "arR^Hw]zYjv}Yp*zE)Sbx(k56xKL^@wO=AG",
            "ln": 187,
            "addr": 6320
          },
          {
            "b": "arR^HarR^HA+frmy\u0026*^.ayPF5x(\u003eFsy***?uVo}8Bsm",
            "ln": 188,
            "addr": 6349
          },
          {
            "b": "arR^HarR^HarR^HBz\u003e@azy+",
            "ln": 189,
            "addr": 6384
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "ValueError"
            ],
            [
              "",
              "ValueError"
            ],
            [
              "",
              "ValueError"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "path.exists"
            ],
            [
              "",
              "FileNotFoundError"
            ],
            [
              "",
              "path.read_bytes"
            ],
            [
              "",
              "isinstance"
            ],
            [
              "",
              "content.encode"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "slack_get"
            ],
            [
              "",
              "httpx.AsyncClient"
            ],
            [
              "",
              "client.post"
            ],
            [
              "",
              "upload_resp.raise_for_status"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "slack_post"
            ],
            [
              "",
              "slack_get"
            ],
            [
              "",
              "slack_get"
            ],
            [
              "",
              "slack_post"
            ],
            [
              "",
              "slack_post"
            ],
            [
              "",
              "results.append"
            ],
            [
              "",
              "Any"
            ],
            [
              "",
              "Path"
            ],
            [
              "",
              "httpx"
            ],
            [
              "",
              "pathlib"
            ],
            [
              "",
              "slack_get"
            ],
            [
              "",
              "slack_mpm.api._client"
            ],
            [
              "",
              "slack_post"
            ],
            [
              "",
              "typing"
            ]
          ],
          "mbr": [
            "client.post",
            "complete_payload.channel_id",
            "complete_payload.channels",
            "complete_payload.thread_ts",
            "content.encode",
            "httpx.AsyncClient",
            "params.channel",
            "path.exists",
            "path.name",
            "path.read_bytes",
            "results.append",
            "upload_resp.raise_for_status",
            "url_data.file_id",
            "url_data.upload_url",
            "url_params.title"
          ],
          "tgt": [
            "FileNotFoundError",
            "Path",
            "ValueError",
            "client.post",
            "content.encode",
            "httpx.AsyncClient",
            "isinstance",
            "len",
            "path.exists",
            "path.read_bytes",
            "results.append",
            "slack_get",
            "slack_post",
            "upload_resp.raise_for_status"
          ],
          "metrics": {
            "ast": {
              "op.bor": 6.0,
              "op.lor": 1.0,
              "op.land": 2.0,
              "max_depth": 16.0,
              "bind_count": 20.0,
              "call_count": 21.0,
              "node_count": 1075.0,
              "member_count": 15.0,
              "op_density.bor": 0.01,
              "op_density.lor": 0.0,
              "op_density.land": 0.0,
              "identifier_count": 58.0,
              "member_depth_max": 2.0,
              "string_literal_count": 43.0,
              "array_literal_max_length": 1.0
            },
            "file": {
              "size": 6615.0,
              "entropy": 4.64,
              "size_bytes": 6615.0
            },
            "text": {
              "digit_ratio": 0.01,
              "space_count": 1496.0,
              "total_lines": 195.0,
              "char_entropy": 4.64,
              "unique_chars": 83.0,
              "string_density": 0.22,
              "avg_line_length": 32.92,
              "high_byte_ratio": 0.0,
              "max_line_length": 90.0,
              "non_ascii_ratio": 0.0,
              "empty_line_ratio": 0.21,
              "last_line_length": 66.0,
              "whitespace_ratio": 0.26,
              "most_common_ratio": 0.07,
              "identifier_density": 0.96,
              "line_length_stddev": 27.22,
              "normalized_string_count": 3.08,
              "repeated_char_sequences": 10.0,
              "suspicious_string_ratio": 0.07,
              "most_common_char_is_null": 0.0,
              "suspicious_comment_ratio": 0.27,
              "max_inline_whitespace_run": 5.0,
              "most_common_char_codepoint": 101.0,
              "normalized_unique_identifiers": 7.62
            },
            "binds": {
              "count": 20.0
            },
            "calls": {
              "count": 21.0
            },
            "binary": {
              "overall_entropy": 4.64
            },
            "source": {
              "function_count": 5.0
            },
            "imports": {
              "count": 8.0,
              "stdlib_count": 2.0,
              "stdlib_ratio": 0.25,
              "unique_modules": 8.0,
              "third_party_count": 6.0,
              "third_party_ratio": 0.75
            },
            "members": {
              "count": 15.0
            },
            "strings": {
              "total": 43.0,
              "avg_length": 76.26,
              "max_length": 1575.0,
              "avg_entropy": 2.95,
              "empty_count": 2.0,
              "sql_strings": 2.0,
              "total_bytes": 3279.0,
              "domain_count": 1.0,
              "entropy_stddev": 0.99,
              "very_long_strings": 1.0,
              "shell_command_strings": 1.0
            },
            "comments": {
              "chars": 491.0,
              "lines": 11.0,
              "total": 11.0,
              "to_code_ratio": 0.06,
              "base64_in_comments": 2.0,
              "high_entropy_comments": 1.0
            },
            "functions": {
              "count": 5.0,
              "avg_params": 3.4,
              "max_params": 7.0,
              "length_stddev": 37.15,
              "over_100_lines": 1.0,
              "avg_name_length": 11.0,
              "avg_length_lines": 34.2,
              "max_length_lines": 108.0,
              "min_length_lines": 11.0,
              "avg_param_name_length": 6.06,
              "density_per_100_lines": 2.56,
              "code_in_functions_ratio": 0.88
            },
            "identifiers": {
              "count": 58.0,
              "total": 187.0,
              "avg_length": 7.67,
              "max_length": 17.0,
              "min_length": 3.0,
              "avg_entropy": 2.55,
              "reuse_ratio": 0.31,
              "unique_count": 58.0,
              "length_stddev": 3.35,
              "all_lowercase_ratio": 0.91,
              "underscore_prefix_count": 1.0
            }
          }
        },
        "id": 9,
        "mol": "O(C)H(Cm)",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/api/files.py",
        "risk": 39,
        "sha": "a91b7a7ba556fef991c5371024d9233eb2e9f53d62a84f77af3ed477fff175f1",
        "size": 6615,
        "traits": [
          {
            "id": "objectives/command-and-control/backdoor/webshell/client::webshell-delete-file-method",
            "atk": "T1505.003",
            "mbc": "B0030",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "Webshell delete file method",
            "spans": [
              [
                5639,
                11
              ]
            ]
          },
          {
            "id": "objectives/command-and-control/backdoor/webshell/client::webshell-upload-file-method",
            "atk": "T1505.003",
            "mbc": "B0030",
            "conf": 0.8999999761581421,
            "crit": 1,
            "desc": "Webshell upload file method",
            "spans": [
              [
                465,
                11
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/lib/httpx::httpx-async-client",
            "conf": 0.800000011920929,
            "crit": 3,
            "desc": "httpx.AsyncClient usage",
            "spans": [
              [
                3782,
                18
              ]
            ]
          },
          {
            "id": "objectives/credential-access/theft/keywords::token",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Credential-access vocabulary word: token",
            "spans": [
              [
                492,
                5
              ]
            ]
          },
          {
            "id": "objectives/credential-access/theft/keywords::secret",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Credential-access vocabulary word: secret",
            "spans": [
              [
                5511,
                6
              ]
            ]
          },
          {
            "id": "objectives/command-and-control/backdoor/webshell/client::webshell-file-manager-payloads",
            "atk": "T1505.003",
            "mbc": "B0030",
            "conf": 0.9399999976158142,
            "crit": 4,
            "desc": "Webshell file manager payload builders",
            "spans": [
              [
                465,
                11
              ],
              [
                5639,
                11
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "id": 10,
        "sha": "5494729880c70f954bbe2fdea46205c366d1f05940f344a32620f0fe8f7845cb",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/api/lists.py",
        "risk": 1,
        "size": 9598,
        "type": "python",
        "depth": 1
      },
      {
        "id": 11,
        "sha": "ea42c49da1a4ea4d09900870fb064b0c2c09e3aa6e14f54d564a56728affdaf2",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/api/messages.py",
        "risk": 1,
        "size": 7967,
        "type": "python",
        "depth": 1
      },
      {
        "id": 12,
        "sha": "3169d5f892caf51980b5f67d598d11713b059535b3efffcbc5bfba30dcf3bb67",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/api/reminders.py",
        "risk": 1,
        "size": 1586,
        "type": "python",
        "depth": 1
      },
      {
        "id": 13,
        "sha": "bf1b3a3e421af5cc7b17e6775f5f66c3fd54704c3f861496c77cb009e1dff05a",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/api/scheduled.py",
        "risk": 1,
        "size": 1821,
        "type": "python",
        "depth": 1
      },
      {
        "id": 14,
        "sha": "4f5f5d90d5ecfd306bd33af6b3d0fa81297953170a6f70949ad6b14497c0307e",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/api/users.py",
        "risk": 1,
        "size": 2501,
        "type": "python",
        "depth": 1
      },
      {
        "id": 15,
        "sha": "c26168a3f30ff15309a78b602e015c9589548fca193e506e625020007d85dc17",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/api/workspace.py",
        "risk": 1,
        "size": 1355,
        "type": "python",
        "depth": 1
      },
      {
        "id": 16,
        "sha": "2fb4e90e5bcb7832dd6ff0e6663e2c4db6bc6be5384eda8bcb24ceefbdbcb569",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/auth/__init__.py",
        "risk": 1,
        "size": 213,
        "type": "python",
        "depth": 1
      },
      {
        "ctx": [
          {
            "b": "a%FjcD1pu3BzkkczeS@@y\u0026Z.hz/M$0y***?ayPzmxK#76x\u003e7N[x(v(wa%Fi",
            "ln": 1,
            "addr": 0
          },
          {
            "b": "",
            "ln": 2,
            "addr": 48
          },
          {
            "b": "w].*baz2Ckz6iLfAbP=savQf\u003cz2",
            "ln": 3,
            "addr": 49
          },
          {
            "b": "",
            "ln": 4,
            "addr": 71
          },
          {
            "b": "w].*baAhQpvqZg3v\u003c2G5AbP=savoHTwLE8NwO-[umRMBIwb",
            "ln": 5,
            "addr": 72
          },
          {
            "b": "",
            "ln": 7,
            "addr": 111
          },
          {
            "b": "v@bN{B0aC2yH}xZByxolB0#9KAX5t4zGP!BiS",
            "ln": 8,
            "addr": 112
          },
          {
            "b": "arR^Ha%FjfByxolB0bykayMx\u003ey***?aARKqwO%aAa%E",
            "ln": 9,
            "addr": 142
          },
          {
            "b": "",
            "ln": 10,
            "addr": 177
          },
          {
            "b": "arR^HrZxzJl)aSnb6Eyhx\u003eey",
            "ln": 11,
            "addr": 178
          },
          {
            "b": "arR^HBz\u003e@azEmHhAaI6MB98BBjS)jdwO+)9e?O+cay]58v@=p5BzkVhjT9\u003cJAaHegw/#hlyH}xAasySpBsehHAV=-LB7Gwta$i",
            "ln": 21,
            "addr": 425
          },
          {
            "b": "arR^HB97\u0026jB-PO^rbVL-zC$T=BAITEjS)jdwO+)9wmYvYB.(d.rbVL-zC$T=BAITSrzDgZpGHpxay]58v@=p5BzkVhjT9{ny?WA*BzkVhaAITkBAITGdf",
            "ln": 22,
            "addr": 504
          },
          {
            "b": "arR^HBy!($uUK4iaAITBaBCqbz/fbejS)jdwO+)9wmYvYB.(d.ph+2YefFFmB7ol8Acb/jzAPgxy***?aA}:AyJBD6v}vrnwNPA#nKK:K",
            "ln": 23,
            "addr": 598
          },
          {
            "b": "arR^HBy!($uV6p?wJy@PBAeHKawM\u0026)wGTbUmRMBIwgg#1w)]*#BuJxqzE\u003evwwmY*(A+PGmx(v(Lb2-q^v@0ihz/PSmAa9l/az$R8wG\u0026M",
            "ln": 24,
            "addr": 683
          },
          {
            "b": "arR^HB-RbmuUK4iaAITBaBCqbz/fbejS)jdwO+)9wmYvYB.(d.ph+2YefFFmB7ol8Acb/jzAPgzB7GwmnKKXfB8#nfx\u003c(9{wfu8gBz8!sz!\u0026{4a$i",
            "ln": 25,
            "addr": 767
          },
          {
            "b": "arR^HvScu}x\u003efmEB98BBD(#g5zE\u003c}NavZ6Ry?a@8wObv[y\u0026?*nz/fbqay]58v@=p5BzkVhjT9jhBrBdyasH\u0026uAV!?fBrCWzyH}y8diZh",
            "ln": 26,
            "addr": 858
          },
          {
            "b": "arR^HB7occwPG)Py?W%jtxs[bt{8oMmRMBIwgg#1w)]*#ByeS*v@#TfC%b$TB95@QwmY*(A+PGmx(v(Lb2pHEBz8!rv@Dr$B0baovqZf#wfJD",
            "ln": 27,
            "addr": 942
          },
          {
            "b": "",
            "ln": 28,
            "addr": 1030
          },
          {
            "b": "arR^Hv@bN{B09?*zF0P}iS",
            "ln": 29,
            "addr": 1031
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "Field"
            ],
            [
              "",
              "Field"
            ],
            [
              "",
              "Field"
            ],
            [
              "",
              "Field"
            ],
            [
              "",
              "Field"
            ],
            [
              "",
              "Field"
            ],
            [
              "",
              "Field"
            ],
            [
              "",
              "Field"
            ],
            [
              "",
              "self.token.startswith"
            ],
            [
              "",
              "self.token.startswith"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "Field"
            ],
            [
              "",
              "Field"
            ],
            [
              "",
              "Field"
            ],
            [
              "",
              "Field"
            ],
            [
              "",
              "Field"
            ],
            [
              "",
              "Field"
            ],
            [
              "",
              "BaseModel"
            ],
            [
              "",
              "Enum"
            ],
            [
              "",
              "Field"
            ],
            [
              "",
              "enum"
            ],
            [
              "",
              "pydantic"
            ]
          ],
          "mbr": [
            "TokenStatus.UNKNOWN",
            "self.token",
            "self.token.startswith"
          ],
          "tgt": [
            "Field",
            "len",
            "self.token.startswith"
          ],
          "metrics": {
            "ast": {
              "op.add": 2.0,
              "op.bor": 8.0,
              "op.sub": 1.0,
              "max_depth": 10.0,
              "bind_count": 19.0,
              "call_count": 17.0,
              "node_count": 610.0,
              "member_count": 3.0,
              "op_density.add": 0.0,
              "op_density.bor": 0.01,
              "op_density.sub": 0.0,
              "identifier_count": 38.0,
              "member_depth_max": 3.0,
              "string_literal_count": 30.0,
              "string_concat_chain_max_length": 3.0
            },
            "file": {
              "size": 2124.0,
              "entropy": 4.8,
              "size_bytes": 2124.0
            },
            "text": {
              "digit_ratio": 0.0,
              "space_count": 373.0,
              "total_lines": 57.0,
              "char_entropy": 4.8,
              "unique_chars": 68.0,
              "string_density": 0.53,
              "avg_line_length": 36.26,
              "max_line_length": 93.0,
              "empty_line_ratio": 0.28,
              "last_line_length": 89.0,
              "whitespace_ratio": 0.2,
              "most_common_ratio": 0.08,
              "identifier_density": 1.93,
              "line_length_stddev": 30.66,
              "normalized_string_count": 3.97,
              "repeated_char_sequences": 1.0,
              "most_common_char_is_null": 0.0,
              "max_inline_whitespace_run": 1.0,
              "most_common_char_codepoint": 101.0,
              "normalized_unique_identifiers": 6.51
            },
            "binds": {
              "count": 19.0
            },
            "calls": {
              "count": 17.0
            },
            "binary": {
              "overall_entropy": 4.8
            },
            "source": {
              "class_count": 4.0,
              "function_count": 3.0
            },
            "imports": {
              "count": 5.0,
              "stdlib_count": 1.0,
              "stdlib_ratio": 0.2,
              "unique_modules": 5.0,
              "third_party_count": 4.0,
              "third_party_ratio": 0.8
            },
            "members": {
              "count": 3.0
            },
            "strings": {
              "total": 30.0,
              "avg_length": 21.43,
              "max_length": 53.0,
              "avg_entropy": 3.23,
              "total_bytes": 643.0,
              "entropy_stddev": 1.1
            },
            "functions": {
              "count": 7.0,
              "avg_params": 1.0,
              "max_params": 1.0,
              "length_stddev": 0.94,
              "avg_name_length": 9.67,
              "avg_length_lines": 3.67,
              "max_length_lines": 5.0,
              "min_length_lines": 3.0,
              "avg_param_name_length": 4.0,
              "density_per_100_lines": 5.26,
              "code_in_functions_ratio": 0.19
            },
            "identifiers": {
              "count": 38.0,
              "total": 110.0,
              "avg_length": 7.76,
              "max_length": 15.0,
              "min_length": 3.0,
              "avg_entropy": 2.58,
              "reuse_ratio": 0.35,
              "unique_count": 38.0,
              "length_stddev": 3.35,
              "high_entropy_count": 2.0,
              "high_entropy_ratio": 0.05,
              "all_lowercase_ratio": 0.71,
              "all_uppercase_ratio": 0.11
            }
          }
        },
        "id": 17,
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/auth/models.py",
        "risk": 1,
        "sha": "6bfea6b53e6bfb246fdd05bb636f04b8a6c365d38e835cc1585d1117f2fba20f",
        "size": 2124,
        "traits": [
          {
            "id": "objectives/credential-access/theft/keywords::token",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Credential-access vocabulary word: token",
            "spans": [
              [
                167,
                5
              ]
            ]
          },
          {
            "id": "micro-behaviors/communications/http/oauth::oauth-protocol-reference",
            "crit": 3,
            "desc": "OAuth protocol reference",
            "spans": [
              [
                1007,
                5
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "id": 18,
        "mol": "H(Cm)",
        "sha": "66452c8c4a15ff10379c7d3402825e90459737ffc7a881a96aec2106c11e732e",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/auth/token_manager.py",
        "risk": 1,
        "size": 7769,
        "type": "python",
        "depth": 1
      },
      {
        "id": 19,
        "sha": "d77675809d84e11af8d7c4ec31ba4e964400e09dde48aba1490e511a64fc1190",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/cli/__init__.py",
        "risk": 1,
        "size": 32,
        "type": "python",
        "depth": 1
      },
      {
        "ctx": [
          {
            "b": "a%Fi#oI3vrzGG]AaAhmkzGG}xw]zYjq/2(LyAMtsp-%*\u003cA=#2me*qF-",
            "ln": 1,
            "addr": 0
          },
          {
            "b": "",
            "ln": 2,
            "addr": 45
          },
          {
            "b": "x(d*cA=-BjB9RUkx(r",
            "ln": 3,
            "addr": 46
          },
          {
            "b": "x(d*cA=-BBD2\u0026",
            "ln": 4,
            "addr": 61
          },
          {
            "b": "",
            "ln": 5,
            "addr": 72
          },
          {
            "b": "kX1RAv@0YuwPz\u003caz/e{2Acb/jzyxWtA=U@kzARulC4CYnx(v(@uO0ssA=kO$zEEx[jTa@-vpK78ze:todf",
            "ln": 13,
            "addr": 204
          },
          {
            "b": "wmYu}zddc@c[cn\u003cj%iQszE\u003e\u003c",
            "ln": 14,
            "addr": 270
          },
          {
            "b": "arR^Ha%Fjfy***?awCj1ax8\u0026(C4CXpeG^#dvpK6}Cw?IqB8UL$wGUY8By/99vruj4zxKapviwo.wmYN1lVl\u003c:wQ5qtp\u0026ZF@z!0Z4e*qF-",
            "ln": 15,
            "addr": 290
          },
          {
            "b": "",
            "ln": 16,
            "addr": 375
          },
          {
            "b": "",
            "ln": 17,
            "addr": 376
          },
          {
            "b": "kY6}zzz2BqzeAZ0wge(",
            "ln": 18,
            "addr": 377
          },
          {
            "b": "wmYu}B7GDoA40dTeJ$pLz/fbE",
            "ln": 19,
            "addr": 393
          },
          {
            "b": "arR^Ha%FjiwPzG%C{344vpK6}Bz\u003e@azxJCczF0P}B-H]jx(v(ivqYP#Cw?IqB8UL$wGUG3zF\u003c2}Bzk]jBA]F.a%E",
            "ln": 20,
            "addr": 414
          },
          {
            "b": "arR^Hv@b\u003c?yC6gdxM2pyq/2(LyAMtsp-@XFBAIKDdf",
            "ln": 21,
            "addr": 485
          },
          {
            "b": "arR^Hv@b\u003c?yC6gdxM2pyjT80#at\u003e\u00264",
            "ln": 22,
            "addr": 519
          },
          {
            "b": "arR^HboPu!wN/G#vScuhBz\u003e@azu",
            "ln": 26,
            "addr": 575
          },
          {
            "b": "arR^Hx\u003ewG9z/^asvqYH^wPxzpvrk^+z//udz!\u0026{4c[dg",
            "ln": 27,
            "addr": 597
          },
          {
            "b": "arR^HarR^Hv@b\u003c?yC6gdxM2qey?Wx{e]#bWy?k1smn^2VqAt}0oHh3suQvK/uSo/]mns$tB0bvsBrCToBs[:*azbmHb64m9a$j@",
            "ln": 28,
            "addr": 633
          },
          {
            "b": "arR^HarR^Hv@b\u003c?yC6gdxM2pF",
            "ln": 29,
            "addr": 713
          },
          {
            "b": "arR^HarR^Hv@b\u003c?yC6gdxM2pyrbS)\u003ex)p+xxLzJGa$i",
            "ln": 30,
            "addr": 734
          },
          {
            "b": "arR^HvrlZiv\u003c2q[w/$D7vqGT*vru6ediHiaawM\u0026)wJx",
            "ln": 48,
            "addr": 1392
          },
          {
            "b": "arR^HarR^HvScu}A+frmy\u0026*^.ayPF5x(\u003eFmvqYH^wPxzDvqGT*vru6/vScu}Bz\u003e@azyu}",
            "ln": 49,
            "addr": 1427
          },
          {
            "b": "arR^HarR^Hx\u003ewF%z//ubwPJ0gBs}SRvruTke{pVtB.8WUjS\u003e}(vqGT*b02",
            "ln": 50,
            "addr": 1483
          },
          {
            "b": "arR^HarR^HarR^Hv@b\u003c?yC6gdxM2qey?Wx{e]#bWy?k1slt{@*Bz\u003e@azAn[vk$\u003c\u003cra$K\u003cGxfvCKA+e*1a$j@",
            "ln": 51,
            "addr": 1530
          },
          {
            "b": "arR^HarR^HarR^Hx\u003ewF%z//ubwPJ0gBs}VDvqPv?vqPNp",
            "ln": 52,
            "addr": 1598
          },
          {
            "b": "arR^HarR^HarR^HarR^Hv@b\u003c?yC6gdxM2qha%n1cwNPA#nKLPZarV2uz//ubwPJ0gBs}VDvqPv=wpkTJ",
            "ln": 55,
            "addr": 1737
          },
          {
            "b": "arR^HarR^HarR^Hx\u003ewF%z//ubwPJ0gBs}YSwPzc(wi6",
            "ln": 56,
            "addr": 1802
          },
          {
            "b": "arR^HarR^HarR^HarR^Hv@b\u003c?yC6gdxM2qha%n0{z/^a4B7GwMarV2uz//ubwPJ0gBs}YSwPzc(wpkTJ",
            "ln": 57,
            "addr": 1837
          },
          {
            "b": "arR^HarR^HwO=B0iS",
            "ln": 58,
            "addr": 1902
          },
          {
            "b": "arR^HarR^HarR^Hv@b\u003c?yC6gdxM2qey?Wx{e]#bWy?k2bb0{i\u0026aARKqwO%KKnLSqLoI4R{d0]AwByf61B9hqve]#byBAITSC42ifwQM0KefFLqjTa]TwfJDK",
            "ln": 59,
            "addr": 1916
          },
          {
            "b": "arR^Hw]zYjzEEx[efF!FwozZ1azCZowmY.3e[]Aszf49OiS",
            "ln": 110,
            "addr": 3579
          },
          {
            "b": "arR^HarR^HBAhT/",
            "ln": 111,
            "addr": 3617
          },
          {
            "b": "arR^HarR^HarR^HuTEI:AbP=suTCi#z!a0bwHN",
            "ln": 112,
            "addr": 3630
          },
          {
            "b": "arR^HarR^HarR^Hv@b\u003c?yC6gdxM2qha%n1PzEEx[El5GPDT*(av@0YrBA}Xlc)}!-cOcxLxfvRPA+e*1cN\u003cEHa$i",
            "ln": 113,
            "addr": 3661
          },
          {
            "b": "arR^HarR^HwQ4Y@Ac9i]ze:AlBvyj\u003cz/N(",
            "ln": 114,
            "addr": 3732
          },
          {
            "b": "arR^HarR^HarR^Hv@b\u003c?yC6gdxM2qha%n1PzEEx[El5GPDT*(av@0YrBA}Xlc)}.Xq=um.m\u003c/\u0026gw[KmOA+e=edsCFCdf",
            "ln": 115,
            "addr": 3760
          },
          {
            "b": "arR^HarR^HarR^HvqG:!wmY.3uVfZ5jS)j5y\u0026:d",
            "ln": 116,
            "addr": 3834
          },
          {
            "b": "arR^HarR^Hv@b\u003c?yC6gdxM2p",
            "ln": 136,
            "addr": 4441
          },
          {
            "b": "arR^HarR^HarR^Hw*euuq+PFAoj7W$mn^F(pFjbKiV}TNv@b\u003c?yC6WID2d4ucSrDkcOcxLxfvRPA+e*1cN\u003cEHar*",
            "ln": 137,
            "addr": 4461
          },
          {
            "b": "arR^HarR^HarR^Hw*eTIuU%j)yHqg4yH}xizddr\u003cxjV9oB-RbmuVZj4wO@SeAV=.SdsAS?",
            "ln": 138,
            "addr": 4532
          },
          {
            "b": "arR^HarR^Hdf",
            "ln": 144,
            "addr": 4756
          },
          {
            "b": "",
            "ln": 145,
            "addr": 4766
          },
          {
            "b": "arR^Hx\u003ewG8vqYH^wPxzAx\u003eIr$zF9r$wN/:(Buf",
            "ln": 146,
            "addr": 4767
          },
          {
            "b": "arR^HarR^Hv@b\u003c?yC6gdxM2qha%n1boHh3suSfJ^pdXhJuSfxXqBKLCax%h5y?Wx{e]#bWy?k1xq:\u003cUkefFLqjTT(.wO2:bdsCFCdf",
            "ln": 147,
            "addr": 4798
          },
          {
            "b": "arR^HwO=B0iS",
            "ln": 148,
            "addr": 4880
          },
          {
            "b": "arR^HarR^Hv@b\u003c?yC6gdxM2p",
            "ln": 149,
            "addr": 4890
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "click.group"
            ],
            [
              "",
              "click.version_option"
            ],
            [
              "",
              "main.command"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "TokenManager"
            ],
            [
              "",
              "manager.has_bot_token"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "sys.exit"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "mask_token"
            ],
            [
              "",
              "manager.has_user_token"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "mask_token"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "manager.validate_bot_token"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "sys.exit"
            ],
            [
              "",
              "manager.has_user_token"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "manager.validate_user_token"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "asyncio.run"
            ],
            [
              "",
              "validate"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "main.command"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "click.echo"
            ],
            [
              "",
              "deps.items"
            ],
            [
              "",
              "import__"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "TokenManager"
            ],
            [
              "",
              "manager.has_bot_token"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "mask_token"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "manager.has_user_token"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "mask_token"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "manager.has_bot_token"
            ],
            [
              "",
              "manager.validate_bot_token"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "asyncio.run"
            ],
            [
              "",
              "check_tokens"
            ],
            [
              "",
              "manager.has_bot_token"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "click.style"
            ],
            [
              "",
              "main.command"
            ],
            [
              "",
              "SlackMCPServer"
            ],
            [
              "",
              "server.run"
            ],
            [
              "",
              "anyio.run"
            ],
            [
              "",
              "len"
            ],
            [
              "",
              "main"
            ],
            [
              "",
              "SlackMCPServer"
            ],
            [
              "",
              "TokenManager"
            ],
            [
              "",
              "__version__"
            ],
            [
              "",
              "anyio"
            ],
            [
              "",
              "asyncio"
            ],
            [
              "",
              "click"
            ],
            [
              "",
              "slack_mpm.__version__"
            ],
            [
              "",
              "slack_mpm.auth.token_manager"
            ],
            [
              "",
              "slack_mpm.server.slack_mcp_server"
            ],
            [
              "",
              "sys"
            ]
          ],
          "mbr": [
            "anyio.run",
            "asyncio.run",
            "bot_result.status",
            "bot_result.status.value",
            "bot_result.team_id",
            "bot_result.team_name",
            "bot_result.user_id",
            "click.echo",
            "click.group",
            "click.style",
            "click.version_option",
            "deps.items",
            "main.command",
            "manager.bot_token",
            "manager.has_bot_token",
            "manager.has_user_token",
            "manager.signing_secret",
            "manager.team_id",
            "manager.user_token",
            "manager.validate_bot_token",
            "manager.validate_user_token",
            "py_version.major",
            "py_version.minor",
            "result.status",
            "result.status.value",
            "result.team_name",
            "server.run",
            "sys.exit",
            "sys.version_info",
            "user_result.status",
            "user_result.status.value",
            "user_result.user_id"
          ],
          "tgt": [
            "SlackMCPServer",
            "TokenManager",
            "__import__",
            "_check_tokens",
            "_mask_token",
            "_validate",
            "anyio.run",
            "asyncio.run",
            "click.echo",
            "click.group",
            "click.style",
            "click.version_option",
            "deps.items",
            "len",
            "main",
            "main.command",
            "manager.has_bot_token",
            "manager.has_user_token",
            "manager.validate_bot_token",
            "manager.validate_user_token",
            "server.run",
            "sys.exit"
          ],
          "metrics": {
            "ast": {
              "op.add": 2.0,
              "op.lor": 6.0,
              "op.mul": 2.0,
              "op.sub": 1.0,
              "op.land": 2.0,
              "max_depth": 21.0,
              "bind_count": 13.0,
              "call_count": 111.0,
              "node_count": 2209.0,
              "member_count": 32.0,
              "op_density.add": 0.0,
              "op_density.lor": 0.0,
              "op_density.mul": 0.0,
              "op_density.sub": 0.0,
              "op_density.land": 0.0,
              "identifier_count": 64.0,
              "member_depth_max": 3.0,
              "string_literal_count": 90.0,
              "array_literal_max_length": 2.0,
              "numeric_array_max_length": 2.0,
              "string_concat_chain_max_length": 3.0
            },
            "file": {
              "size": 6804.0,
              "entropy": 4.75,
              "size_bytes": 6804.0
            },
            "text": {
              "digit_ratio": 0.0,
              "space_count": 1631.0,
              "total_lines": 211.0,
              "char_entropy": 4.75,
              "unique_chars": 77.0,
              "string_density": 0.43,
              "avg_line_length": 31.25,
              "max_line_length": 99.0,
              "empty_line_ratio": 0.21,
              "last_line_length": 10.0,
              "whitespace_ratio": 0.27,
              "most_common_ratio": 0.06,
              "identifier_density": 1.68,
              "line_length_stddev": 27.42,
              "normalized_string_count": 6.2,
              "repeated_char_sequences": 44.0,
              "most_common_char_is_null": 0.0,
              "max_inline_whitespace_run": 3.0,
              "most_common_char_codepoint": 101.0,
              "normalized_unique_identifiers": 8.29
            },
            "binds": {
              "count": 13.0
            },
            "calls": {
              "count": 111.0
            },
            "binary": {
              "overall_entropy": 4.75
            },
            "source": {
              "function_count": 8.0
            },
            "imports": {
              "count": 10.0,
              "stdlib_count": 2.0,
              "stdlib_ratio": 0.2,
              "unique_modules": 10.0,
              "third_party_count": 8.0,
              "third_party_ratio": 0.8
            },
            "members": {
              "count": 32.0
            },
            "strings": {
              "total": 90.0,
              "avg_length": 27.22,
              "max_length": 78.0,
              "avg_entropy": 3.22,
              "total_bytes": 2450.0,
              "entropy_stddev": 1.32,
              "high_entropy_count": 4.0
            },
            "comments": {
              "chars": 115.0,
              "lines": 6.0,
              "total": 6.0,
              "to_code_ratio": 0.03
            },
            "functions": {
              "count": 8.0,
              "avg_params": 0.13,
              "max_params": 1.0,
              "length_stddev": 33.85,
              "over_100_lines": 1.0,
              "avg_name_length": 7.75,
              "no_params_count": 7.0,
              "avg_length_lines": 28.0,
              "max_length_lines": 104.0,
              "min_length_lines": 2.0,
              "nested_functions": 3.0,
              "avg_nesting_depth": 0.38,
              "max_nesting_depth": 1.0,
              "avg_param_name_length": 5.0,
              "density_per_100_lines": 3.79,
              "code_in_functions_ratio": 1.06
            },
            "identifiers": {
              "count": 64.0,
              "total": 354.0,
              "avg_length": 8.0,
              "max_length": 19.0,
              "min_length": 2.0,
              "avg_entropy": 2.54,
              "reuse_ratio": 0.18,
              "unique_count": 64.0,
              "length_stddev": 3.94,
              "high_entropy_count": 1.0,
              "high_entropy_ratio": 0.02,
              "all_lowercase_ratio": 0.95,
              "double_underscore_count": 3.0,
              "underscore_prefix_count": 7.0
            }
          }
        },
        "id": 20,
        "mol": "H(Po)",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/cli/main.py",
        "risk": 2,
        "sha": "0429f89cc17f9dae1db2377950184fcb35f236e215efae461770df0c9130e8d8",
        "size": 6804,
        "traits": [
          {
            "id": "objectives/credential-access/theft/keywords::token",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Credential-access vocabulary word: token",
            "spans": [
              [
                434,
                5
              ]
            ]
          },
          {
            "id": "objectives/credential-access/theft/keywords::secret",
            "conf": 0.30000001192092896,
            "crit": 1,
            "desc": "Credential-access vocabulary word: secret",
            "spans": [
              [
                4790,
                6
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/interpreter/python::dunder-import-call",
            "atk": "T1059.006",
            "mbc": "E1059",
            "conf": 0.8500000238418579,
            "crit": 3,
            "desc": "Python __import__ call",
            "spans": [
              [
                3642,
                8
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/db/config::database-user-key",
            "conf": 0.8500000238418579,
            "crit": 1,
            "desc": "Database user config key",
            "spans": [
              [
                1864,
                5
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/db/config::database-secret-key",
            "conf": 0.8500000238418579,
            "crit": 1,
            "desc": "Database secret config key",
            "spans": [
              [
                4817,
                7
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/db/config::database-secret-or-dsn-key",
            "conf": 0.8500000238418579,
            "crit": 1,
            "desc": "Database secret or DSN config key",
            "spans": [
              [
                4817,
                7
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "id": 21,
        "sha": "c86b2a3e50317ca74a415516e8dbf151fe1a84c2ed40a98ddf4407678fa88f92",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/content/__init__.py",
        "risk": 1,
        "size": 381,
        "type": "python",
        "depth": 1
      },
      {
        "id": 22,
        "sha": "1caccec85d3bc9e72c3975326feec0e2e0e4365367f3d432f1a27bb74eaa3f3c",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/content/_markdown.py",
        "risk": 1,
        "size": 1994,
        "type": "python",
        "depth": 1
      },
      {
        "id": 23,
        "sha": "c97bdb7d63ee56a0874f432d9732e41df66732137c7a4dfb86911f83673dc10f",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/content/canvas_converter.py",
        "risk": 1,
        "size": 1919,
        "type": "python",
        "depth": 1
      },
      {
        "id": 24,
        "sha": "a0368dc454c6fe471db8101117307ab2367ae51fa5a83e40dfc8e83151710f2b",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/content/errors.py",
        "risk": 1,
        "size": 881,
        "type": "python",
        "depth": 1
      },
      {
        "id": 25,
        "sha": "7180c9b3891616ce9794b2bfe199edcaa0a603143b6af0c93b35ef159e07c443",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/content/list_converter.py",
        "risk": 1,
        "size": 5455,
        "type": "python",
        "depth": 1
      },
      {
        "id": 26,
        "sha": "b6e0f63084a832bc431df1d109311608caf05a04d16290cceed5b8a376216c53",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/server/__init__.py",
        "risk": 1,
        "size": 139,
        "type": "python",
        "depth": 1
      },
      {
        "id": 27,
        "sha": "90ae6ab1b42da3112f6f9706208dee2e7bf26d13f6dfa5e3917b450ae8923ee6",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm/server/slack_mcp_server.py",
        "risk": 1,
        "size": 58624,
        "type": "python",
        "depth": 1
      },
      {
        "id": 28,
        "sha": "dfbceaf8f65bdceb4c3d509cdc7700e51a8a64bc8e9c5424924de4f30c26dec3",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm-0.1.7.dist-info/METADATA",
        "risk": 1,
        "size": 345,
        "type": "pkg-info",
        "depth": 1
      },
      {
        "id": 29,
        "sha": "8b2edbecf3ec5e97a22abb173548399b0cc7c676d611087fe27cc33eabab3969",
        "path": "slack_mpm-0.1.7-py3-none-any.whl!!slack_mpm-0.1.7.dist-info/entry_points.txt",
        "risk": 1,
        "size": 54,
        "type": "text",
        "depth": 1
      }
    ],
    "omitted_files": 22,
    "rev": "b520a",
    "v": "8"
  }
}