Scan result  ·  compute.googleapis.com
compute.googleapis.com

Risk

A critical issue, or a lethal-trifecta pattern, was observed on this surface.

scanned 2 months ago
Coverage
Low
Tests run
4
Findings
4 rules · 60 total
Worst severity
Critical

What ran on this surface

3 categories
Tool PoisoningMCP02 · ASI02 · CoSAI-T41 finding · 0 clean
CriticalI1Tool Annotation Deceptionconfidence 85%

Observed: annotations: { readOnlyHint: true, destructiveHint: false }.

Source
External Content
annotations: { readOnlyHint: true, destructiveHint: false }
Sink
Privilege Grant
AI client auto-approval path for tool "list_instance_attached_disks": the deceptive annota...
Mitigation
Annotation Hint
Tool declares readOnlyHint: true without a matching destructiveHint: true — no secondary h...
Impact
Privilege Escalation
user-data, exploitability trivial

Fix. Do not mark destructive tools as readOnlyHint=true. ChatGPT, JetBrains Copilot, and Roo Code skip confirmation dialogs for readOnlyHint tools. Set destructiveHint=true on any tool that modifies state.

Code VulnerabilitiesMCP03 · MCP05 · MCP072 findings · 0 clean
MediumB1Missing Input Validationconfidence 81% · 29 findings

Observed: 3/3 parameters unconstrained.

Source
User Parameter
3/3 parameters unconstrained.
Sink
Code Evaluation
Tool handler receives raw parameter values with no upfront validation.
Impact
Config Poisoning
server-host, exploitability moderate

Fix. Add input validation constraints to tool parameters. Use maxLength for strings, pattern for format validation, enum for known value sets, and min/max for numeric ranges.

MediumE1No Authentication Requiredconfidence 75%

Observed: Live connection to the MCP server over streamable-http succeeded with no credentials.

Source
Environment
Live connection to the MCP server over streamable-http succeeded with no credentials. `ini...
Sink
Privilege Grant
Full tool authority exposed without identity verification. Any client that reaches the tra...
Mitigation
Auth Check
No authentication mechanism present at the MCP server layer. Reverse-proxy-terminated auth...
Impact
Privilege Escalation
server-host, exploitability trivial

Fix. Require authentication for MCP server connections. Use API keys, bearer tokens, or OAuth to authenticate clients before allowing tool enumeration or invocation.

Model ManipulationMCP01 · MCP06 · MCP071 finding · 0 clean
MediumB6Schema Allows Unconstrained Additional Propertiesconfidence 75% · 29 findings

Observed: additionalProperties: (unset, defaults to true).

Source
User Parameter
additionalProperties: (unset, defaults to true)
Sink
Config Modification
Handler receives a superset of declared parameters — each extra key is an un-reviewed inpu...
Impact
Config Poisoning
server-host, exploitability moderate

Fix. Set 'additionalProperties: false' on all tool input schemas. Allowing additional properties bypasses all parameter validation, enabling clients to pass arbitrary keys that server-side code may process...

Not run on this surface
These rules could not be reached by this scan method. They stay listed and counted, so coverage is never overstated. Each says why it did not run and what would unlock it.
7Dependency manifestRules whose declared input (dependency manifest) this scan method did not supply.rescan to unlock
109Source codeRules whose declared input (source code) this scan method did not supply.rescan to unlock
64No execution recordNo record that these rules ran on this surface.rescan

Why these stay. The verdict is coverage aware. A clean result would read "Insufficient coverage", not "Safe", precisely because these rules did not run. Hiding them would let a shallow scan look as thorough as a deep one.

How this server was scanned

The method behind this result was not recorded: the scan predates it. How deep it reached is unknown, and is not implied by anything on this page.

Verifiable Findings

Not yet attested

This server has not been scanned with attestation enabled yet.

How to verify this yourself
# Re-run the analyzer on the signed snapshot and recompute the findings digest
curl -s https://mcp-sentinelapi-production.up.railway.app/api/v1/servers/compute-googleapis-com-20260728163042-10277d/attestation.json > att.json
npx mcp-sentinel verify-scan --attestation att.json

# Prove the attestation is in the public transparency log
curl -s https://mcp-sentinelapi-production.up.railway.app/api/v1/servers/compute-googleapis-com-20260728163042-10277d/attestation/inclusion.json > incl.json
npx mcp-sentinel transparency verify-inclusion --proof incl.json

Observed behaviorexecuted in sandbox

Declared tool hints vs. what each tool was actually observed to do when executed in our egress-denied sandbox - plus any witnessed tool→tool flow within this one server. This is not cross-server toxic flow, which composes several servers in one config.

Observed behavior not captured for this scan

No observed-behavior record is on file for this server's latest scan.

This is a coverage gap - we did not execute this server’s tools in the sandbox for this scan. It is not a clean result and is not scored as one. To see how observed behavior is rendered when a run does happen, view the illustrative cross-server toxic flow.

Intrinsic here, config-scoped elsewheredual unit

Everything on this page — the verdict, every finding — is compute.googleapis.com assessed on its own. That is its intrinsic posture. Whether it becomes one leg of a cross-server toxic flow is a different, config-scoped question: it depends on which other servers share its client config, and no verdict on this page changes for it.

Deepen this scan

Every link below opens a form prefilled with this server’s details. Nothing runs until you submit.

compute.googleapis.com - security audit · MCP Sentinel