Skip to main content
Glama
@guardbee/mcp-security-proxy

@guardbee/mcp-security-proxy

Official

model_scanner__scan_file

Scans a single ML model file for supply-chain risks, including dangerous pickle gadgets, malformed headers, path traversal, Jinja sandbox escapes, and unsafe graph operations.

Instructions

Scan a single ML model file for supply-chain risks: dangerous Python globals reachable during pickle deserialization (os/subprocess/eval/socket/dill gadgets, inside PyTorch zip checkpoints, joblib dumps and NumPy object arrays too), a malformed or disguised .safetensors header, a Keras Lambda-layer RCE pattern in .h5/.keras files, a path-traversal external_data reference in .onnx files, malformed GGUF headers and chat templates that escape the Jinja sandbox or carry hidden instructions, and TensorFlow SavedModel/GraphDef/TFLite graphs that read or write files or call Python.

Input Schema

NameRequiredDescriptionDefault
pathYesAbsolute or relative path to the model file (.pt, .pth, .ckpt, .pkl, .pickle, .bin, .dill, .joblib, .jbl, .npy, .npz, .safetensors, .h5, .hdf5, .keras, .onnx, .gguf, .pb, .pbtxt, .tflite)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.5
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedInput schema / properties / path / description
      Previous value: -"Absolute or relative path to the model file (.pt, .pth, .ckpt, .pkl, .pickle, .bin, .safetensors, .h5, .hdf5, .keras, .onnx)"New value: +"Absolute or relative path to the model file (.pt, .pth, .ckpt, .pkl, .pickle, .bin, .dill, .joblib, .jbl, .npy, .npz, .safetensors, .h5, .hdf5, .keras, .onnx, .gguf, .pb, .pbtxt, .tflite)"
  2. Addedv0.1.1

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the full burden. It richly characterizes what it inspects (pickle globals, safetensors headers, Keras lambdas, onnx external_data, GGUF templates, TF graphs), but never states that it performs static analysis without executing/loading the model, nor describes cost, permissions, or result format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, but the remainder is a single ~90-word run-on sentence stacking format after format, which is hard to parse at a glance. The content earns its place, but the structure could be broken into scannable clauses.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no annotations, so the description should cover return shape and safety posture; it only covers detection scope. An agent knows what is checked but not what a finding looks like or whether the scan has side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter and schema description coverage is 100%; the schema already lists every accepted extension. The description's format mentions overlap with the schema rather than adding syntax or path-resolution guidance, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Scan a single ML model file') and enumerates the concrete risk classes and file formats it covers. 'Single ... file' plus the per-format detector list clearly distinguishes it from siblings like model_scanner__scan_directory and model_scanner__scan_hf_repo.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'single' implies this is for one file rather than a directory or repo, but the description never explicitly says when to prefer scan_directory/scan_hf_repo or when not to use this tool. Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools