Raw scan report

Rhino3dm — the complete, unedited output of the deterministic mcptrustchecker engine v1.13.0, scanned . Every finding, capability tag and score component below is exactly what the engine produced — no AI, no post-processing.

← Back to the scan page
{
  "tool": {
    "name": "mcptrustchecker",
    "version": "1.13.0",
    "methodologyVersion": "mcptrustchecker-1.13"
  },
  "target": {
    "id": "rhino3dm-mcp",
    "source": {
      "kind": "package",
      "origin": "rhino3dm-mcp"
    },
    "server": {
      "name": "rhino3dm-mcp"
    }
  },
  "grade": "A",
  "score": {
    "score": 93,
    "threatScore": 100,
    "grade": "A",
    "band": "A",
    "categorySubtotals": {
      "injection": 0,
      "exfiltration": 0,
      "permissions": 0,
      "supply-chain": 0,
      "network": 0,
      "hygiene": 0
    },
    "vector": [
      {
        "kind": "client",
        "term": "capability-exposure",
        "level": "high",
        "label": "capability blast radius (high) — client exposure if the model is manipulated",
        "appliedPenalty": 6
      },
      {
        "kind": "client",
        "term": "verification-discount",
        "level": "repo",
        "label": "publisher verification (public source) — no provenance, but the source is public and inspectable",
        "appliedPenalty": 1
      },
      {
        "kind": "client",
        "term": "coverage-honesty",
        "level": "source",
        "label": "inspection depth (source) — how much of the target the scan could see",
        "appliedPenalty": 0
      }
    ],
    "gatesFired": [],
    "methodologyVersion": "mcptrustchecker-1.13"
  },
  "capability": {
    "level": "high",
    "reasons": [
      "ingests untrusted external content (a prompt-injection entry point)",
      "can send data / act on an external service",
      "can create, modify or delete files",
      "reads sensitive or local data",
      "has a read → egress path (a data-exfiltration surface)",
      "untrusted-input, sensitive-source and egress co-exist across tools (toxic-flow surface)"
    ],
    "tags": [
      "untrusted-input",
      "sensitive-source",
      "external-sink",
      "file-write"
    ]
  },
  "coverage": {
    "level": "source",
    "inputs": {
      "toolSurface": true,
      "implementationSource": true,
      "packageMetadata": true,
      "liveTransport": false
    },
    "caveats": [
      "Tools were statically extracted from the published source (200 recovered), not enumerated from a running server. Tool-poisoning, Unicode-smuggling, capability and toxic-flow analysis ran on this inferred surface, but a mis-parsed registration could be missed or mis-attributed, so tool-derived findings are capped below “confirmed”. To grade the real runtime surface, scan the running server: --command \"npx -y <package>\"."
    ]
  },
  "findings": [
    {
      "ruleId": "MTC-FLOW-002",
      "title": "Completed toxic-flow trifecta across tools",
      "category": "exfiltration",
      "severity": "critical",
      "confidence": "strong",
      "description": "This server (without client built-ins) exposes a complete data-exfiltration chain: rhino_bim_pset_get → rhino_viewport_image → rhino_drawing_sheet_create. Untrusted input is ingested, private data is read, and it can be sent to an external sink via the agent composing the tools (→). Static analysis proves the primitive exists, not that a specific run will occur.",
      "remediation": "Remove one leg of the trifecta: isolate untrusted-input tools from secret-reading tools and from egress tools, or require human approval between them.",
      "location": {
        "kind": "flow",
        "name": "rhino_bim_pset_get → rhino_viewport_image → rhino_drawing_sheet_create"
      },
      "owasp": "LLM02:2025 Sensitive Information Disclosure",
      "references": [],
      "data": {
        "untrusted": [
          "rhino_bim_pset_get",
          "rhino_get_module_functions"
        ],
        "sources": [
          "rhino_viewport_image"
        ],
        "sinks": [
          "rhino_drawing_sheet_create",
          "rhino_export_step",
          "rhino_export_iges",
          "rhino_export_dxf"
        ],
        "path": [
          "rhino_bim_pset_get",
          "rhino_viewport_image",
          "rhino_drawing_sheet_create"
        ],
        "edges": [
          {
            "from": "rhino_bim_pset_get",
            "to": "rhino_viewport_image",
            "kind": "agent-mediated"
          },
          {
            "from": "rhino_viewport_image",
            "to": "rhino_drawing_sheet_create",
            "kind": "agent-mediated"
          }
        ],
        "wired": false
      }
    },
    {
      "ruleId": "MTC-CAP-002",
      "title": "Tool \"gh_save_file\" can modify the filesystem",
      "category": "permissions",
      "severity": "medium",
      "confidence": "strong",
      "description": "Tool \"gh_save_file\" can write, overwrite or delete files (keyword \"save_file\" in tool name). Verify it is scoped to a safe directory.",
      "remediation": "Constrain file operations to an explicit, non-sensitive root; reject path traversal.",
      "location": {
        "kind": "tool",
        "name": "gh_save_file"
      },
      "data": {
        "tags": [
          "file-write"
        ]
      }
    },
    {
      "ruleId": "MTC-CAP-005",
      "title": "Mutating tool \"gh_save_file\" declares no destructiveHint",
      "category": "hygiene",
      "severity": "low",
      "confidence": "heuristic",
      "description": "Tool \"gh_save_file\" can mutate/egress but declares no destructiveHint. Clients that don't default to spec-safe behavior may not prompt before running it.",
      "remediation": "Declare accurate annotations, and gate destructive tools on user confirmation regardless.",
      "location": {
        "kind": "tool",
        "name": "gh_save_file"
      },
      "data": {
        "tags": [
          "file-write"
        ]
      }
    }
  ],
  "toxicFlows": [
    {
      "id": "flow-1",
      "severity": "critical",
      "confidence": "strong",
      "untrustedInput": [
        "rhino_bim_pset_get",
        "rhino_get_module_functions"
      ],
      "sensitiveSource": [
        "rhino_viewport_image"
      ],
      "externalSink": [
        "rhino_drawing_sheet_create",
        "rhino_export_step",
        "rhino_export_iges",
        "rhino_export_dxf"
      ],
      "selfContained": false,
      "path": [
        "rhino_bim_pset_get",
        "rhino_viewport_image",
        "rhino_drawing_sheet_create"
      ],
      "pathWired": false,
      "description": "A cross-tool exfiltration chain exists: rhino_bim_pset_get → rhino_viewport_image → rhino_drawing_sheet_create."
    }
  ],
  "capabilities": [
    {
      "tool": "rhino_area",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_volume",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_bounding_box",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_distance",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_curvature_analysis",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_draft_angle",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_zebra",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_section",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_contour",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_probe_intersection",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_text_dot",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_text",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_annotation_north_arrow",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_annotation_scale_bar",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_annotation_revision_cloud",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_annotation_callout",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_dimension_linear",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_dimension_aligned",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_dimension_angular",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_leader",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_hatch",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_clipping_plane",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_annotation_dimension_style",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_batch_modify",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_batch_call",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_export_ifc",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_import_ifc",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_export_gbxml",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_bim_metadata_set",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_bim_pset_get",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "rhino_bim_pset_set",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_bim_pset_delete",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_block_define",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_block_insert",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_block_list",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_block_explode",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_block_redefine",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_bridge_list_instances",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_bridge_select_instance",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_place_grid",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_stack_floors",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_scatter",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_replicate_along_curve",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_get_control_points",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_set_control_points",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_curve_length",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_curve_point_at",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_curve_split",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_bend",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_twist",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_taper",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_flow_along_curve",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_view_set",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_zoom_extent",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_named_view_save",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_display_mode_set",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_turntable",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_zoom_object",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_zoom_layer",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_viewport_image",
      "tags": [
        "sensitive-source"
      ],
      "reasons": {
        "sensitive-source": [
          "keyword \"dump\""
        ]
      }
    },
    {
      "tool": "rhino_document_units_get",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_document_units_set",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_tolerance_get",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_tolerance_set",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_origin_set",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_document_settings",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_drawing_sheet_create",
      "tags": [
        "external-sink"
      ],
      "reasons": {
        "external-sink": [
          "keyword \"export_to\""
        ]
      }
    },
    {
      "tool": "rhino_drawing_view_place",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_drawing_section_cut",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_drawing_title_block_add",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_drawing_export_pdf",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_sun_position",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_sun_path",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_shadow_project",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_direct_irradiance",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_solar_exposure_estimate",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_dup_edge",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_dup_border",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_isocurve",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_make2d",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_surface_normal_at",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_surface_developable_score",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_attractor_displace_points",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_smooth_polyline",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_uv_grid_panels",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_panel_planarity",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_panel_curvature_classify",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_skin_from_sections",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_section_at_axis",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_point",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_line",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_polyline",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_arc",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_circle",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_ellipse",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_rectangle",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_polygon",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_helix",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_spiral",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_nurbs_curve",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_interpolate_curve",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_rebuild_curve",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_validate_brep",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_report_mesh_health",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_curve_continuity",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_open_file",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_save_file",
      "tags": [
        "file-write"
      ],
      "reasons": {
        "file-write": [
          "keyword \"save_file\" in tool name"
        ]
      }
    },
    {
      "tool": "gh_new_canvas",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_run",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_reset",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_preview_toggle",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_bake_to_rhino",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_add_component",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_connect_components",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_connect_many",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_delete_component",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_component_list",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_cluster_create",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_cluster_expand",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_plugin_list",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_components_search",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_data_tree_get",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_data_tree_set",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_get_parameter",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_set_parameter",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_set_slider",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_set_panel",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_set_toggle",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_place_slider",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_template_list",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_load_template",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_bind_template_parameter",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "gh_run_template",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_undo",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_redo",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_open",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_save",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_export_obj",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_export_stl",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_import",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_export_step",
      "tags": [
        "external-sink"
      ],
      "reasons": {
        "external-sink": [
          "keyword \"export_to\""
        ]
      }
    },
    {
      "tool": "rhino_export_iges",
      "tags": [
        "external-sink"
      ],
      "reasons": {
        "external-sink": [
          "keyword \"export_to\""
        ]
      }
    },
    {
      "tool": "rhino_export_dxf",
      "tags": [
        "external-sink"
      ],
      "reasons": {
        "external-sink": [
          "keyword \"export_to\""
        ]
      }
    },
    {
      "tool": "rhino_screenshot",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_layer_create",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_layer_delete",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_layer_set_color",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_layer_set_material",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_object_move_to_layer",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_object_select",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_object_delete",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_group",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_material_create",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_material_assign",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_material_preset_list",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_material_preset_create",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_render_viewport",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_environment_set",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_mesh_box",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_mesh_from_surface",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_mesh_from_brep",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_weld_mesh",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_unweld_mesh",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_reduce_mesh",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_mesh_boolean_union",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_mesh_boolean_difference",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_rebuild_surface",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_surface_from_points",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_unroll",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_surface_closest_point",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_evaluate_surface",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_panelize_surface",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_create_uv_grid",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_panel_frames",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_list_objects",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_object_info",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_document_summary",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_layer_list",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_get_selected_objects",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_get_user_text",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_set_user_text",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_camera_set",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_light_add",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_render_setup",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_render_to_file",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_turntable_render",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_render_queue_submit",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_render_queue_status",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_render_queue_cancel",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_render_queue_list",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_search_rhinoscript_functions",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_get_rhinoscript_docs",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_list_rhinoscript_modules",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_get_module_functions",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"browse\""
        ]
      }
    },
    {
      "tool": "rhino_schedule_by_layer",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_schedule_by_user_text",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_schedule_by_material",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_object_quantity",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_schedule_export_csv",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "rhino_execute_python",
      "tags": [],
      "reasons": {}
    }
  ],
  "surfaceDigest": "6ea281046e5c49e272d93b149d7ab2748ce6ac7869ce88b8512d19ca5f28229b",
  "stats": {
    "tools": 200,
    "prompts": 0,
    "resources": 0,
    "findingsBySeverity": {
      "critical": 1,
      "high": 0,
      "medium": 1,
      "low": 1,
      "info": 0
    }
  }
}