Raw scan report

SAP MCP Server — 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": "https://mcp.sap.oobeprotocol.ai/mcp",
    "source": {
      "kind": "http",
      "origin": "https://mcp.sap.oobeprotocol.ai/mcp"
    },
    "server": {
      "name": "sap-mcp-server",
      "version": "0.9.82"
    }
  },
  "grade": "A",
  "score": {
    "score": 94,
    "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": "coverage-honesty",
        "level": "live",
        "label": "inspection depth (live) — 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",
      "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"
    ]
  },
  "coverage": {
    "level": "live",
    "inputs": {
      "toolSurface": true,
      "implementationSource": false,
      "packageMetadata": false,
      "liveTransport": true
    },
    "caveats": []
  },
  "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: 3land_buyNFT → coingecko_getTokenPrice → bridging_bridgeDeBridge. 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": "3land_buyNFT → coingecko_getTokenPrice → bridging_bridgeDeBridge"
      },
      "owasp": "LLM02:2025 Sensitive Information Disclosure",
      "references": [],
      "data": {
        "untrusted": [
          "sap_agent_migrate_pricing_menu",
          "sap_report_calls",
          "sap_get_network_overview",
          "sap_get_agent_profile",
          "sap_is_agent_active",
          "sap_discover_agents",
          "sap_list_agents",
          "sap_list_all_agents",
          "sap_get_tool_category_summary",
          "sap_fetch_capability_index",
          "sap_fetch_protocol_index",
          "sap_fetch_tool_category_index",
          "sap_fetch_tool",
          "sap_fetch_feedback",
          "sap_fetch_attestation",
          "sap_fetch_escrow",
          "sap_fetch_escrow_v2",
          "sap_fetch_pending_settlement",
          "sap_fetch_dispute",
          "sap_fetch_vault",
          "sap_fetch_session",
          "sap_fetch_epoch_page",
          "sap_fetch_stake",
          "sap_fetch_subscription",
          "sap_x402_estimate_cost",
          "sap_x402_calculate_cost",
          "sap_x402_prepare_payment",
          "sap_x402_build_payment_headers",
          "sap_x402_build_headers_from_escrow",
          "sap_x402_has_escrow",
          "sap_x402_fetch_escrow",
          "sap_x402_get_balance",
          "sap_x402_settle",
          "sap_x402_settle_batch",
          "sap_create_escrow_v2",
          "sap_deposit_escrow_v2",
          "sap_settle_escrow_v2",
          "sap_next_settlement_index",
          "sap_finalize_settlement_v2",
          "sap_withdraw_escrow_v2",
          "sap_close_escrow_v2",
          "sap_give_feedback",
          "sap_revoke_feedback",
          "sap_revoke_attestation",
          "sap_fairscale_score",
          "sap_fairscale_trust_gate",
          "sap_init_vault",
          "sap_open_vault_session",
          "sap_inscribe_memory",
          "sap_compact_inscribe_memory",
          "sap_session_start",
          "sap_session_read_latest",
          "sap_session_status",
          "sap_report_tool_invocations",
          "sap_init_stake",
          "sap_request_unstake",
          "sap_complete_unstake",
          "sap_create_subscription",
          "sap_fund_subscription",
          "sap_cancel_subscription",
          "sap_sns_resolve_domain",
          "sap_sns_get_domain_pda",
          "sap_sns_get_record_pda",
          "sap_sns_get_domain_records",
          "sap_sns_get_record",
          "sap_sns_resolve_wallet",
          "sap_sns_check_ownership",
          "sap_network_stats",
          "sol_get_balance",
          "spl-token_deployToken",
          "spl-token_transfer",
          "spl-token_transferSol",
          "spl-token_mintTo",
          "spl-token_burn",
          "spl-token_freezeAccount",
          "spl-token_thawAccount",
          "spl-token_closeAccount",
          "spl-token_rugCheck",
          "staking_stakeSOL",
          "staking_unstakeSOL",
          "staking_getStakeAccounts",
          "staking_stakeJupSOL",
          "staking_unstakeJupSOL",
          "staking_stakeSolayer",
          "staking_unstakeSolayer",
          "bridging_bridgeWormhole",
          "bridging_bridgeWormholeStatus",
          "bridging_bridgeDeBridge",
          "bridging_bridgeDeBridgeStatus",
          "metaplex-nft_deployCollection",
          "metaplex-nft_mintNFT",
          "metaplex-nft_updateMetadata",
          "metaplex-nft_verifyCreator",
          "metaplex-nft_verifyCollection",
          "metaplex-nft_setAndVerifyCollection",
          "metaplex-nft_delegateAuthority",
          "metaplex-nft_revokeAuthority",
          "metaplex-nft_configureRoyalties",
          "3land_createCollection",
          "3land_mintAndList",
          "3land_listForSale",
          "3land_cancelListing",
          "3land_buyNFT",
          "das_getAsset",
          "das_getAssetsByOwner",
          "das_getAssetsByCreator",
          "das_getAssetsByCollection",
          "das_searchAssets",
          "pump_launchToken",
          "pump_trade",
          "raydium-pools_createCPMM",
          "raydium-pools_createCLMM",
          "raydium-pools_createAMMv4",
          "raydium-pools_addLiquidity",
          "raydium-pools_removeLiquidity",
          "orca_getWhirlpool",
          "orca_openPosition",
          "orca_closePosition",
          "orca_collectFees",
          "manifest_createMarket",
          "manifest_placeLimitOrder",
          "manifest_cancelOrder",
          "manifest_getOrderbook",
          "meteora_createDynamicPool",
          "meteora_createDLMMPool",
          "meteora_addDLMMLiquidity",
          "meteora_removeDLMMLiquidity",
          "meteora_createAlphaVault",
          "openbook_createMarket",
          "openbook_placeOrder",
          "openbook_cancelOrder",
          "adrena_openPosition",
          "adrena_closePosition",
          "adrena_addCollateral",
          "adrena_removeCollateral",
          "adrena_getPositions",
          "lulo_deposit",
          "lulo_withdraw",
          "lulo_getBestRates",
          "lulo_getPositions",
          "jito_sendBundle",
          "jito_getBundleStatus",
          "jito_getTipEstimate",
          "pyth_getPriceHistory",
          "pyth_listPriceFeeds",
          "coingecko_getTrending",
          "coingecko_getTopGainersLosers",
          "coingecko_getTokenInfo",
          "coingecko_getPoolsByToken",
          "coingecko_getOHLCV",
          "gibwork_createBounty",
          "gibwork_listBounties",
          "gibwork_submitWork",
          "send-arcade_listGames",
          "send-arcade_playGame",
          "blinks_getAction",
          "blinks_executeAction",
          "blinks_confirmAction",
          "blinks_resolveBlinkUrl",
          "blinks_validateActionsJson",
          "jupiter_getHoldings",
          "jupiter_shield",
          "jupiter_searchTokens",
          "jupiter_getQuote",
          "jupiter_programLabels",
          "jupiter_getTokenList",
          "jupiter_getTokenInfo",
          "jupiter_getLimitOrders",
          "jupiter_getDCAOrders",
          "sap_chat_derive_room",
          "sap_chat_start_room",
          "sap_chat_send_message",
          "sap_chat_publish_manifest",
          "sap_chat_read_latest",
          "sap_chat_read_all",
          "sap_chat_status",
          "sap_chat_seal_room",
          "sap_profile_switch",
          "sap_pricing_catalog",
          "sap_premium_activate_session",
          "sap_premium_close_session",
          "sap_premium_webhook_register",
          "sap_premium_webhook_unregister",
          "sap_premium_webhook_status",
          "sap_premium_webhook_relay",
          "sap_premium_stream_poll",
          "sap_premium_stream_flush",
          "sap_chart_ohlc",
          "sap_chart_long_term",
          "sap_chart_multi_ohlc",
          "sap_adrena_get_positions",
          "sap_adrena_get_custody_info",
          "sap_adrena_get_trader_info",
          "sap_adrena_get_trader_leaderboard",
          "sap_adrena_get_mutagen",
          "sap_adrena_get_mutagen_leaderboard",
          "sap_adrena_get_prices",
          "sap_adrena_get_trading_prices",
          "sap_adrena_oracle_readiness",
          "sap_adrena_get_position_status",
          "sap_phoenix_get_exchange",
          "sap_phoenix_get_market",
          "sap_phoenix_get_markets",
          "sap_phoenix_get_orderbook",
          "sap_phoenix_get_market_stats",
          "sap_phoenix_get_funding_history",
          "sap_phoenix_get_market_fills",
          "sap_phoenix_get_candles",
          "sap_phoenix_get_trader",
          "sap_phoenix_get_trader_state",
          "sap_phoenix_get_trader_pnl",
          "sap_phoenix_get_cross_chain_quote",
          "sap_phoenix_get_deposit_status",
          "sap_phoenix_get_supported_chains",
          "jupiter_universal_deposit_quote",
          "jupiter_universal_deposit_status",
          "jupiter_universal_deposit_chains",
          "sap_perp_fear_greed",
          "sap_skills_check_updates",
          "sap_skills_self_update",
          "magicblock_getIdentity",
          "magicblock_getDelegationStatus",
          "magicblock_getAccountInfo",
          "magicblock_getBlockhashForAccounts",
          "magicblock_getSignatureStatuses",
          "magicblock_health",
          "magicblock_challenge",
          "magicblock_login",
          "magicblock_private_balance",
          "magicblock_privateBalance",
          "magicblock_swap_quote",
          "magicblock_swapQuote",
          "magicblock_isMintInitialized",
          "magicblock_ensureCrank",
          "magicblock_getRandomnessResult",
          "sap_search_tools"
        ],
        "sources": [
          "spl-token_getBalance",
          "coingecko_getTokenPrice"
        ],
        "sinks": [
          "bridging_bridgeWormhole",
          "bridging_bridgeDeBridge",
          "metaplex-nft_mintNFT",
          "sap_chat_send_message",
          "sap_webhook_catalog",
          "sap_premium_plugin_template",
          "sap_premium_close_session",
          "sap_premium_webhook_register",
          "sap_premium_webhook_unregister",
          "sap_premium_webhook_relay",
          "sap_phoenix_get_cross_chain_quote",
          "jupiter_universal_deposit_quote"
        ],
        "path": [
          "3land_buyNFT",
          "coingecko_getTokenPrice",
          "bridging_bridgeDeBridge"
        ],
        "edges": [
          {
            "from": "3land_buyNFT",
            "to": "coingecko_getTokenPrice",
            "kind": "agent-mediated"
          },
          {
            "from": "coingecko_getTokenPrice",
            "to": "bridging_bridgeDeBridge",
            "kind": "agent-mediated"
          }
        ],
        "wired": false
      }
    },
    {
      "ruleId": "MTC-CAP-004",
      "title": "Open-world tool \"spl-token_getBalance\" also reads sensitive data",
      "category": "exfiltration",
      "severity": "medium",
      "confidence": "heuristic",
      "description": "Tool \"spl-token_getBalance\" declares openWorldHint=true — it interacts with entities outside the trust boundary — while also reading sensitive data. That combination is a canonical lethal-trifecta indicator.",
      "remediation": "Separate outward-facing tools from sensitive-data reads; require confirmation between them.",
      "location": {
        "kind": "tool",
        "name": "spl-token_getBalance"
      },
      "owasp": "LLM02:2025 Sensitive Information Disclosure",
      "data": {
        "tags": [
          "sensitive-source"
        ]
      }
    },
    {
      "ruleId": "MTC-CAP-004",
      "title": "Open-world tool \"coingecko_getTokenPrice\" also reads sensitive data",
      "category": "exfiltration",
      "severity": "medium",
      "confidence": "heuristic",
      "description": "Tool \"coingecko_getTokenPrice\" declares openWorldHint=true — it interacts with entities outside the trust boundary — while also reading sensitive data. That combination is a canonical lethal-trifecta indicator.",
      "remediation": "Separate outward-facing tools from sensitive-data reads; require confirmation between them.",
      "location": {
        "kind": "tool",
        "name": "coingecko_getTokenPrice"
      },
      "owasp": "LLM02:2025 Sensitive Information Disclosure",
      "data": {
        "tags": [
          "sensitive-source"
        ]
      }
    },
    {
      "ruleId": "MTC-CAP-007",
      "title": "Unconstrained URL/host parameter \"uri\" on \"spl-token_deployToken\"",
      "category": "network",
      "severity": "medium",
      "confidence": "heuristic",
      "description": "Tool \"spl-token_deployToken\" takes a URL/host parameter \"uri\" with no allowlist/pattern. An outbound-request tool with an unbounded destination enables SSRF and cloud-metadata access (e.g. 169.254.169.254).",
      "remediation": "Allowlist destinations or constrain the parameter; block private/link-local addresses server-side.",
      "location": {
        "kind": "tool",
        "name": "spl-token_deployToken",
        "field": "inputSchema.properties.uri"
      },
      "owasp": "LLM06:2025 Excessive Agency",
      "data": {
        "param": "uri"
      }
    },
    {
      "ruleId": "MTC-CAP-007",
      "title": "Unconstrained URL/host parameter \"uri\" on \"metaplex-nft_deployCollection\"",
      "category": "network",
      "severity": "medium",
      "confidence": "heuristic",
      "description": "Tool \"metaplex-nft_deployCollection\" takes a URL/host parameter \"uri\" with no allowlist/pattern. An outbound-request tool with an unbounded destination enables SSRF and cloud-metadata access (e.g. 169.254.169.254).",
      "remediation": "Allowlist destinations or constrain the parameter; block private/link-local addresses server-side.",
      "location": {
        "kind": "tool",
        "name": "metaplex-nft_deployCollection",
        "field": "inputSchema.properties.uri"
      },
      "owasp": "LLM06:2025 Excessive Agency",
      "data": {
        "param": "uri"
      }
    },
    {
      "ruleId": "MTC-CAP-007",
      "title": "Unconstrained URL/host parameter \"uri\" on \"metaplex-nft_mintNFT\"",
      "category": "network",
      "severity": "medium",
      "confidence": "heuristic",
      "description": "Tool \"metaplex-nft_mintNFT\" takes a URL/host parameter \"uri\" with no allowlist/pattern. An outbound-request tool with an unbounded destination enables SSRF and cloud-metadata access (e.g. 169.254.169.254).",
      "remediation": "Allowlist destinations or constrain the parameter; block private/link-local addresses server-side.",
      "location": {
        "kind": "tool",
        "name": "metaplex-nft_mintNFT",
        "field": "inputSchema.properties.uri"
      },
      "owasp": "LLM06:2025 Excessive Agency",
      "data": {
        "param": "uri"
      }
    },
    {
      "ruleId": "MTC-CAP-007",
      "title": "Unconstrained URL/host parameter \"uri\" on \"metaplex-nft_updateMetadata\"",
      "category": "network",
      "severity": "medium",
      "confidence": "heuristic",
      "description": "Tool \"metaplex-nft_updateMetadata\" takes a URL/host parameter \"uri\" with no allowlist/pattern. An outbound-request tool with an unbounded destination enables SSRF and cloud-metadata access (e.g. 169.254.169.254).",
      "remediation": "Allowlist destinations or constrain the parameter; block private/link-local addresses server-side.",
      "location": {
        "kind": "tool",
        "name": "metaplex-nft_updateMetadata",
        "field": "inputSchema.properties.uri"
      },
      "owasp": "LLM06:2025 Excessive Agency",
      "data": {
        "param": "uri"
      }
    },
    {
      "ruleId": "MTC-NET-005",
      "title": "Remote HTTP MCP endpoint",
      "category": "network",
      "severity": "info",
      "confidence": "strong",
      "description": "Remote endpoint mcp.sap.oobeprotocol.ai. MCP Trust Checker does not test server-side authentication/authorization; verify the endpoint requires auth.",
      "location": {
        "kind": "transport"
      }
    }
  ],
  "toxicFlows": [
    {
      "id": "flow-1",
      "severity": "critical",
      "confidence": "strong",
      "untrustedInput": [
        "sap_agent_migrate_pricing_menu",
        "sap_report_calls",
        "sap_get_network_overview",
        "sap_get_agent_profile",
        "sap_is_agent_active",
        "sap_discover_agents",
        "sap_list_agents",
        "sap_list_all_agents",
        "sap_get_tool_category_summary",
        "sap_fetch_capability_index",
        "sap_fetch_protocol_index",
        "sap_fetch_tool_category_index",
        "sap_fetch_tool",
        "sap_fetch_feedback",
        "sap_fetch_attestation",
        "sap_fetch_escrow",
        "sap_fetch_escrow_v2",
        "sap_fetch_pending_settlement",
        "sap_fetch_dispute",
        "sap_fetch_vault",
        "sap_fetch_session",
        "sap_fetch_epoch_page",
        "sap_fetch_stake",
        "sap_fetch_subscription",
        "sap_x402_estimate_cost",
        "sap_x402_calculate_cost",
        "sap_x402_prepare_payment",
        "sap_x402_build_payment_headers",
        "sap_x402_build_headers_from_escrow",
        "sap_x402_has_escrow",
        "sap_x402_fetch_escrow",
        "sap_x402_get_balance",
        "sap_x402_settle",
        "sap_x402_settle_batch",
        "sap_create_escrow_v2",
        "sap_deposit_escrow_v2",
        "sap_settle_escrow_v2",
        "sap_next_settlement_index",
        "sap_finalize_settlement_v2",
        "sap_withdraw_escrow_v2",
        "sap_close_escrow_v2",
        "sap_give_feedback",
        "sap_revoke_feedback",
        "sap_revoke_attestation",
        "sap_fairscale_score",
        "sap_fairscale_trust_gate",
        "sap_init_vault",
        "sap_open_vault_session",
        "sap_inscribe_memory",
        "sap_compact_inscribe_memory",
        "sap_session_start",
        "sap_session_read_latest",
        "sap_session_status",
        "sap_report_tool_invocations",
        "sap_init_stake",
        "sap_request_unstake",
        "sap_complete_unstake",
        "sap_create_subscription",
        "sap_fund_subscription",
        "sap_cancel_subscription",
        "sap_sns_resolve_domain",
        "sap_sns_get_domain_pda",
        "sap_sns_get_record_pda",
        "sap_sns_get_domain_records",
        "sap_sns_get_record",
        "sap_sns_resolve_wallet",
        "sap_sns_check_ownership",
        "sap_network_stats",
        "sol_get_balance",
        "spl-token_deployToken",
        "spl-token_transfer",
        "spl-token_transferSol",
        "spl-token_mintTo",
        "spl-token_burn",
        "spl-token_freezeAccount",
        "spl-token_thawAccount",
        "spl-token_closeAccount",
        "spl-token_rugCheck",
        "staking_stakeSOL",
        "staking_unstakeSOL",
        "staking_getStakeAccounts",
        "staking_stakeJupSOL",
        "staking_unstakeJupSOL",
        "staking_stakeSolayer",
        "staking_unstakeSolayer",
        "bridging_bridgeWormhole",
        "bridging_bridgeWormholeStatus",
        "bridging_bridgeDeBridge",
        "bridging_bridgeDeBridgeStatus",
        "metaplex-nft_deployCollection",
        "metaplex-nft_mintNFT",
        "metaplex-nft_updateMetadata",
        "metaplex-nft_verifyCreator",
        "metaplex-nft_verifyCollection",
        "metaplex-nft_setAndVerifyCollection",
        "metaplex-nft_delegateAuthority",
        "metaplex-nft_revokeAuthority",
        "metaplex-nft_configureRoyalties",
        "3land_createCollection",
        "3land_mintAndList",
        "3land_listForSale",
        "3land_cancelListing",
        "3land_buyNFT",
        "das_getAsset",
        "das_getAssetsByOwner",
        "das_getAssetsByCreator",
        "das_getAssetsByCollection",
        "das_searchAssets",
        "pump_launchToken",
        "pump_trade",
        "raydium-pools_createCPMM",
        "raydium-pools_createCLMM",
        "raydium-pools_createAMMv4",
        "raydium-pools_addLiquidity",
        "raydium-pools_removeLiquidity",
        "orca_getWhirlpool",
        "orca_openPosition",
        "orca_closePosition",
        "orca_collectFees",
        "manifest_createMarket",
        "manifest_placeLimitOrder",
        "manifest_cancelOrder",
        "manifest_getOrderbook",
        "meteora_createDynamicPool",
        "meteora_createDLMMPool",
        "meteora_addDLMMLiquidity",
        "meteora_removeDLMMLiquidity",
        "meteora_createAlphaVault",
        "openbook_createMarket",
        "openbook_placeOrder",
        "openbook_cancelOrder",
        "adrena_openPosition",
        "adrena_closePosition",
        "adrena_addCollateral",
        "adrena_removeCollateral",
        "adrena_getPositions",
        "lulo_deposit",
        "lulo_withdraw",
        "lulo_getBestRates",
        "lulo_getPositions",
        "jito_sendBundle",
        "jito_getBundleStatus",
        "jito_getTipEstimate",
        "pyth_getPriceHistory",
        "pyth_listPriceFeeds",
        "coingecko_getTrending",
        "coingecko_getTopGainersLosers",
        "coingecko_getTokenInfo",
        "coingecko_getPoolsByToken",
        "coingecko_getOHLCV",
        "gibwork_createBounty",
        "gibwork_listBounties",
        "gibwork_submitWork",
        "send-arcade_listGames",
        "send-arcade_playGame",
        "blinks_getAction",
        "blinks_executeAction",
        "blinks_confirmAction",
        "blinks_resolveBlinkUrl",
        "blinks_validateActionsJson",
        "jupiter_getHoldings",
        "jupiter_shield",
        "jupiter_searchTokens",
        "jupiter_getQuote",
        "jupiter_programLabels",
        "jupiter_getTokenList",
        "jupiter_getTokenInfo",
        "jupiter_getLimitOrders",
        "jupiter_getDCAOrders",
        "sap_chat_derive_room",
        "sap_chat_start_room",
        "sap_chat_send_message",
        "sap_chat_publish_manifest",
        "sap_chat_read_latest",
        "sap_chat_read_all",
        "sap_chat_status",
        "sap_chat_seal_room",
        "sap_profile_switch",
        "sap_pricing_catalog",
        "sap_premium_activate_session",
        "sap_premium_close_session",
        "sap_premium_webhook_register",
        "sap_premium_webhook_unregister",
        "sap_premium_webhook_status",
        "sap_premium_webhook_relay",
        "sap_premium_stream_poll",
        "sap_premium_stream_flush",
        "sap_chart_ohlc",
        "sap_chart_long_term",
        "sap_chart_multi_ohlc",
        "sap_adrena_get_positions",
        "sap_adrena_get_custody_info",
        "sap_adrena_get_trader_info",
        "sap_adrena_get_trader_leaderboard",
        "sap_adrena_get_mutagen",
        "sap_adrena_get_mutagen_leaderboard",
        "sap_adrena_get_prices",
        "sap_adrena_get_trading_prices",
        "sap_adrena_oracle_readiness",
        "sap_adrena_get_position_status",
        "sap_phoenix_get_exchange",
        "sap_phoenix_get_market",
        "sap_phoenix_get_markets",
        "sap_phoenix_get_orderbook",
        "sap_phoenix_get_market_stats",
        "sap_phoenix_get_funding_history",
        "sap_phoenix_get_market_fills",
        "sap_phoenix_get_candles",
        "sap_phoenix_get_trader",
        "sap_phoenix_get_trader_state",
        "sap_phoenix_get_trader_pnl",
        "sap_phoenix_get_cross_chain_quote",
        "sap_phoenix_get_deposit_status",
        "sap_phoenix_get_supported_chains",
        "jupiter_universal_deposit_quote",
        "jupiter_universal_deposit_status",
        "jupiter_universal_deposit_chains",
        "sap_perp_fear_greed",
        "sap_skills_check_updates",
        "sap_skills_self_update",
        "magicblock_getIdentity",
        "magicblock_getDelegationStatus",
        "magicblock_getAccountInfo",
        "magicblock_getBlockhashForAccounts",
        "magicblock_getSignatureStatuses",
        "magicblock_health",
        "magicblock_challenge",
        "magicblock_login",
        "magicblock_private_balance",
        "magicblock_privateBalance",
        "magicblock_swap_quote",
        "magicblock_swapQuote",
        "magicblock_isMintInitialized",
        "magicblock_ensureCrank",
        "magicblock_getRandomnessResult",
        "sap_search_tools"
      ],
      "sensitiveSource": [
        "spl-token_getBalance",
        "coingecko_getTokenPrice"
      ],
      "externalSink": [
        "bridging_bridgeWormhole",
        "bridging_bridgeDeBridge",
        "metaplex-nft_mintNFT",
        "sap_chat_send_message",
        "sap_webhook_catalog",
        "sap_premium_plugin_template",
        "sap_premium_close_session",
        "sap_premium_webhook_register",
        "sap_premium_webhook_unregister",
        "sap_premium_webhook_relay",
        "sap_phoenix_get_cross_chain_quote",
        "jupiter_universal_deposit_quote"
      ],
      "selfContained": false,
      "path": [
        "3land_buyNFT",
        "coingecko_getTokenPrice",
        "bridging_bridgeDeBridge"
      ],
      "pathWired": false,
      "description": "A cross-tool exfiltration chain exists: 3land_buyNFT → coingecko_getTokenPrice → bridging_bridgeDeBridge."
    }
  ],
  "capabilities": [
    {
      "tool": "sap_protocol_invariants",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_agent_identity_plan",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_register_agent",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_update_agent",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_deactivate_agent",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_reactivate_agent",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_agent_migrate_pricing_menu",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_close_agent",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_report_calls",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_update_reputation_metrics",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_get_agent",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_get_agent_stats",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_get_global_state",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_build_agent_register_transaction",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_build_agent_update_transaction",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_build_agent_lifecycle_transaction",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_build_agent_report_calls_transaction",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_get_network_overview",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_agent_context",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_export_agent_oasf",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_get_agent_profile",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_is_agent_active",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_discover_agents",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_list_agents",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_list_all_agents",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_find_tools_by_category",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_get_tool_category_summary",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_fetch_capability_index",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_fetch_protocol_index",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_fetch_tool_category_index",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_fetch_tool",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_fetch_feedback",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_fetch_attestation",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_fetch_escrow",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_fetch_escrow_v2",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_fetch_pending_settlement",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_fetch_dispute",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_fetch_vault",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_fetch_session",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_fetch_epoch_page",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_fetch_stake",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_fetch_subscription",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_x402_estimate_cost",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_x402_calculate_cost",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_x402_prepare_payment",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_x402_build_payment_headers",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_x402_build_headers_from_escrow",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_x402_has_escrow",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_x402_fetch_escrow",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_x402_get_balance",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_x402_settle",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_x402_settle_batch",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_escrow_build_create_transaction",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_escrow_build_deposit_transaction",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_escrow_build_settle_transaction",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_escrow_build_finalize_transaction",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_escrow_build_withdraw_transaction",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_escrow_build_close_transaction",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_create_escrow_v2",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_deposit_escrow_v2",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_settle_escrow_v2",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_next_settlement_index",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_finalize_settlement_v2",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_file_dispute_v2",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_withdraw_escrow_v2",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_close_escrow_v2",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_give_feedback",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_update_feedback",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_revoke_feedback",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_create_attestation",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_revoke_attestation",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_fairscale_score",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_fairscale_trust_gate",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_init_vault",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_open_vault_session",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_inscribe_memory",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_compact_inscribe_memory",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_session_start",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_session_read_latest",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_session_status",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_publish_tool_by_name",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_update_tool",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_deactivate_tool",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_reactivate_tool",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_report_tool_invocations",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_init_stake",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_deposit_stake",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_request_unstake",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_complete_unstake",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_create_subscription",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_fund_subscription",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_cancel_subscription",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_sns_check_domain",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_sns_batch_check_domains",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_sns_resolve_domain",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_sns_validate_records",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_sns_get_domain_pda",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_sns_get_record_pda",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_sns_register_agent_domain",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_sns_get_domain_records",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_sns_get_record",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_sns_resolve_wallet",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_sns_check_ownership",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_sns_build_manage_record_transaction",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_sns_build_set_primary_domain_transaction",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_network_stats",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sol_get_balance",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "spl-token_deployToken",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "spl-token_transfer",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "spl-token_transferSol",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "spl-token_getBalance",
      "tags": [
        "sensitive-source"
      ],
      "reasons": {
        "sensitive-source": [
          "keyword \"get_token\""
        ]
      }
    },
    {
      "tool": "spl-token_getTokenAccounts",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "spl-token_mintTo",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "spl-token_burn",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "spl-token_freezeAccount",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "spl-token_thawAccount",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "spl-token_closeAccount",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "spl-token_rugCheck",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "staking_stakeSOL",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "staking_unstakeSOL",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "staking_getStakeAccounts",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "staking_stakeJupSOL",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "staking_unstakeJupSOL",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "staking_stakeSolayer",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "staking_unstakeSolayer",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "bridging_bridgeWormhole",
      "tags": [
        "untrusted-input",
        "external-sink"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ],
        "external-sink": [
          "parameter \"recipient\""
        ]
      }
    },
    {
      "tool": "bridging_bridgeWormholeStatus",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "bridging_bridgeDeBridge",
      "tags": [
        "untrusted-input",
        "external-sink"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ],
        "external-sink": [
          "parameter \"recipient\""
        ]
      }
    },
    {
      "tool": "bridging_bridgeDeBridgeStatus",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "metaplex-nft_deployCollection",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "metaplex-nft_mintNFT",
      "tags": [
        "untrusted-input",
        "external-sink"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ],
        "external-sink": [
          "parameter \"recipient\""
        ]
      }
    },
    {
      "tool": "metaplex-nft_updateMetadata",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "metaplex-nft_verifyCreator",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "metaplex-nft_verifyCollection",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "metaplex-nft_setAndVerifyCollection",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "metaplex-nft_delegateAuthority",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "metaplex-nft_revokeAuthority",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "metaplex-nft_configureRoyalties",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "3land_createCollection",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "3land_mintAndList",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "3land_listForSale",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "3land_cancelListing",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "3land_buyNFT",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "das_getAsset",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "das_getAssetsByOwner",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "das_getAssetsByCreator",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "das_getAssetsByCollection",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "das_searchAssets",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "pump_launchToken",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "pump_trade",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "raydium-pools_createCPMM",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "raydium-pools_createCLMM",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "raydium-pools_createAMMv4",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "raydium-pools_addLiquidity",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "raydium-pools_removeLiquidity",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "orca_getWhirlpool",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "orca_swap",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "orca_openPosition",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "orca_closePosition",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "orca_collectFees",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "manifest_createMarket",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "manifest_placeLimitOrder",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "manifest_cancelOrder",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "manifest_getOrderbook",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "meteora_createDynamicPool",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "meteora_createDLMMPool",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "meteora_addDLMMLiquidity",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "meteora_removeDLMMLiquidity",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "meteora_createAlphaVault",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "openbook_createMarket",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "openbook_placeOrder",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "openbook_cancelOrder",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "adrena_openPosition",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "adrena_closePosition",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "adrena_addCollateral",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "adrena_removeCollateral",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "adrena_getPositions",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "lulo_deposit",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "lulo_withdraw",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "lulo_getBestRates",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "lulo_getPositions",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "jito_sendBundle",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "jito_getBundleStatus",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "jito_getTipEstimate",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sns_resolveDomain",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sns_reverseLookup",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "alldomains_registerDomain",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "alldomains_resolveDomain",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "alldomains_getOwnedDomains",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "pyth_getPrice",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "pyth_getPriceHistory",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "pyth_listPriceFeeds",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "coingecko_getTokenPrice",
      "tags": [
        "sensitive-source"
      ],
      "reasons": {
        "sensitive-source": [
          "keyword \"get_token\""
        ]
      }
    },
    {
      "tool": "coingecko_getTrending",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "coingecko_getTopGainersLosers",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "coingecko_getTokenInfo",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "coingecko_getPoolsByToken",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "coingecko_getOHLCV",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "gibwork_createBounty",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "gibwork_listBounties",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "gibwork_submitWork",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "send-arcade_listGames",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "send-arcade_playGame",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "blinks_getAction",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "blinks_executeAction",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "blinks_confirmAction",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "blinks_resolveBlinkUrl",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "blinks_validateActionsJson",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "blinks_buildActionUrl",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "jupiter_getOrder",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "jupiter_executeOrder",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "jupiter_getHoldings",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "jupiter_shield",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "jupiter_searchTokens",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "jupiter_getQuote",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "jupiter_swap",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "jupiter_swapInstructions",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "jupiter_programLabels",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "jupiter_getPrice",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "jupiter_getTokenList",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "jupiter_getTokenInfo",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "jupiter_createLimitOrder",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "jupiter_executeTrigger",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "jupiter_cancelLimitOrder",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "jupiter_cancelLimitOrders",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "jupiter_getLimitOrders",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "jupiter_createDCA",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "jupiter_executeDCA",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "jupiter_cancelDCA",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "jupiter_getDCAOrders",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "jupiter_smartSwap",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_decode_transaction",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_preview_transaction",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_sign_transaction",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_submit_signed_transaction",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_build_sol_transfer",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_build_spl_transfer",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_chat_derive_room",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_chat_start_room",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_chat_send_message",
      "tags": [
        "untrusted-input",
        "external-sink"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ],
        "external-sink": [
          "keyword \"send_message\""
        ]
      }
    },
    {
      "tool": "sap_chat_publish_manifest",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_chat_read_latest",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_chat_read_all",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_chat_status",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_chat_seal_room",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_payments_fund_prepaid",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_payments_prepaid_balance",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_profile_current",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_profile_list",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_profile_public_key",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_profile_switch",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_agent_start",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_agent_runtime_status",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_prepare_action",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_agent_standard_context",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_prepare_mandate",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_pricing_catalog",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_agent_next_action",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_estimate_tool_cost",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_quick_context",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_premium_plugin_catalog",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_stream_catalog",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_webhook_catalog",
      "tags": [
        "external-sink"
      ],
      "reasons": {
        "external-sink": [
          "keyword \"webhook\""
        ]
      }
    },
    {
      "tool": "sap_premium_validate_plugin_manifest",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_premium_plugin_template",
      "tags": [
        "external-sink"
      ],
      "reasons": {
        "external-sink": [
          "keyword \"webhook\""
        ]
      }
    },
    {
      "tool": "sap_premium_session_start",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_premium_session_status",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_premium_activate_session",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_premium_close_session",
      "tags": [
        "untrusted-input",
        "external-sink"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ],
        "external-sink": [
          "keyword \"webhook\""
        ]
      }
    },
    {
      "tool": "sap_premium_webhook_register",
      "tags": [
        "untrusted-input",
        "external-sink"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ],
        "external-sink": [
          "keyword \"webhook\""
        ]
      }
    },
    {
      "tool": "sap_premium_webhook_unregister",
      "tags": [
        "untrusted-input",
        "external-sink"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ],
        "external-sink": [
          "keyword \"webhook\""
        ]
      }
    },
    {
      "tool": "sap_premium_webhook_status",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_premium_webhook_relay",
      "tags": [
        "untrusted-input",
        "external-sink"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ],
        "external-sink": [
          "keyword \"webhook\""
        ]
      }
    },
    {
      "tool": "sap_premium_webhook_relay_status",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_premium_metrics",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_premium_stream_poll",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_premium_stream_flush",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_perp_markets",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_perp_position_info",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_perp_funding_history",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_chart_ohlc",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_chart_long_term",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_chart_volume_profile",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_chart_multi_ohlc",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_chart_indicators",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_perp_liquidation_zones",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_perp_trade_plan",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_perp_builder_status",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_open_long",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_open_short",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_close_long",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_close_short",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_set_stop_loss",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_set_take_profit",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_cancel_stop_loss",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_cancel_take_profit",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_simulate_position",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_position_package",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_trade_intent",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_trailing_stop",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_modify_position",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_market_snapshot",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_add_limit_order",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_cancel_limit_order",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_open_commodity_long",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_open_commodity_short",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_close_commodity_long",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_close_commodity_short",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_add_liquidity",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_remove_liquidity",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_swap",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_init_user_staking",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_add_liquid_stake",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_remove_liquid_stake",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_add_locked_stake",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_build_claim_stakes",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_get_positions",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_adrena_get_pool_info",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_adrena_get_custody_info",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_adrena_get_trader_info",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_adrena_get_trader_leaderboard",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_adrena_get_mutagen",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_adrena_get_mutagen_leaderboard",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_adrena_get_prices",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_adrena_get_trading_prices",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_adrena_oracle_readiness",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_adrena_get_position_status",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_adrena_get_markets",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_phoenix_get_exchange",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_phoenix_get_market",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_phoenix_get_markets",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_phoenix_get_orderbook",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_phoenix_get_market_stats",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_phoenix_get_funding_history",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_phoenix_get_market_fills",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_phoenix_get_candles",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_phoenix_get_trader",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_phoenix_get_trader_state",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_phoenix_get_trader_pnl",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_phoenix_build_place_limit_order",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_phoenix_build_place_market_order",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_phoenix_build_cancel_orders",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_phoenix_build_cancel_all",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_phoenix_build_place_stop_loss",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_phoenix_build_cancel_stop_loss",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_phoenix_build_place_conditional_order",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_phoenix_build_deposit",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_phoenix_build_withdraw",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_phoenix_build_register_trader",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_phoenix_build_onboard_trader",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_phoenix_submit_onboard_trader",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_phoenix_get_cross_chain_quote",
      "tags": [
        "untrusted-input",
        "external-sink"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ],
        "external-sink": [
          "parameter \"recipient\""
        ]
      }
    },
    {
      "tool": "sap_phoenix_get_deposit_status",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_phoenix_get_supported_chains",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "jupiter_universal_deposit_quote",
      "tags": [
        "untrusted-input",
        "external-sink"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ],
        "external-sink": [
          "parameter \"recipient\""
        ]
      }
    },
    {
      "tool": "jupiter_universal_deposit_status",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "jupiter_universal_deposit_chains",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_perp_risk_check",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_perp_portfolio_risk",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_perp_signal_score",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_perp_fear_greed",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "sap_skills_list",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_skills_bundle",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_skills_install",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_skills_upgrade_plan",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_runtime_repair_plan",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_skills_check_updates",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_skills_self_update",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "magicblock_getRoutes",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "magicblock_getIdentity",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "magicblock_getDelegationStatus",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "magicblock_getAccountInfo",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"fetch\""
        ]
      }
    },
    {
      "tool": "magicblock_getBlockhashForAccounts",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "magicblock_getSignatureStatuses",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "magicblock_health",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "magicblock_challenge",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "magicblock_login",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "magicblock_balance",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "magicblock_private_balance",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "magicblock_privateBalance",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "magicblock_deposit",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "magicblock_transfer",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "magicblock_withdraw",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "magicblock_swap_quote",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "magicblock_swapQuote",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "magicblock_swap",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "magicblock_initializeMint",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "magicblock_isMintInitialized",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "magicblock_ensureCrank",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "magicblock_requestRandomness",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "magicblock_getRandomnessResult",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    },
    {
      "tool": "sap_memory_record",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_memory_search",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_memory_summarize",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_memory_recall",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_memory_prune",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_strategy_save",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_strategy_load",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_strategy_list",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_strategy_activate",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_stream_buffer",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_stream_consume",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_stream_replay",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_audit_query",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_audit_record",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_audit_stats",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_hermes_search",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_hermes_recent",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_strategy_execute",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_trade_journal",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_trade_journal_query",
      "tags": [],
      "reasons": {}
    },
    {
      "tool": "sap_search_tools",
      "tags": [
        "untrusted-input"
      ],
      "reasons": {
        "untrusted-input": [
          "keyword \"read_pr\""
        ]
      }
    }
  ],
  "surfaceDigest": "1ec1211b6af3f0215ea7ebbf350b4482cc2e1089ea11cfffabf35db72dd68cfb",
  "stats": {
    "tools": 412,
    "prompts": 11,
    "resources": 0,
    "findingsBySeverity": {
      "critical": 1,
      "high": 0,
      "medium": 6,
      "low": 0,
      "info": 1
    }
  }
}