CanopiiCanopiiAll serversEnterprise →

terradev MCP Server Security Report

io.github.theoddden/terradev

Cross-cloud GPU orchestration CLI.

Security Trust Score
Grade D · Weak posture
Tier 1 · Public sourceLow confidence · 32%latest v6.2.20 Repository Publisher-verified
Declared MCP capabilities
ResourcesPrompts

Run it securely

This server scored D. Run it behind runtime policy enforcement so one bad tool call can't become an incident.

Are you the maintainer?

Verify with GitHub to get alerted whenever theoddden/Terradev changes score — and claim the badge for your README.

Claim this server
1 issue capping this score
  • mediumNo over-broad / destructive tools — 1 over-broad tool(s)

The short answer

Is terradev safe to use?
terradev scores 40/100 (grade D) on the Canopii Trust Index, and carries 1 confirmed security failure that caps its score: No over-broad / destructive tools. It passes 5 of the 30 controls that apply to it.
What security issues does terradev have?
terradev fails 1 control: No over-broad / destructive tools. Each failure on this page carries the evidence behind it — the file and line, dependency, or CVE that decided it.
How reliable is the security score for terradev?
We could evaluate 32% of the controls that apply to terradev. Scores are deterministic — the same source always produces the same score — and a partially-scannable server cannot present a high one, because confidence caps the result. The scanner is open source, so this score can be reproduced independently.
How was terradev scored?
Its published source was scanned against a fixed catalog of weighted security controls covering code safety, committed secrets, dependency vulnerabilities, tool-description integrity, authentication and transport, and maintenance. A confirmed flaw caps the score outright regardless of what else passes. The full rubric is published.

Security controlslatest scored version v6.2.20

Each control is evaluated deterministically with evidence. The score is earned from passing controls; a failed guard caps it.

Model–MCP Runtime Guardrails

  • Fail
    User-in-the-Loop / Approval Scopeguard1 over-broad tool(s)

    No over-broad or destructive tools (arbitrary shell, bulk-delete) that warrant human approval. How many servers fail this?

    agent_mem0_forget

    Fix: Scope tools narrowly; avoid arbitrary command execution and destructive defaults.

  • Pass
    Indirect Prompt Injection (IPI) Defensesguardno injection markers

    Tool/prompt/resource text is free of hidden instructions that could hijack the agent.

  • Pass
    Tool Definition Integrityguardtool definitions stable; no risky changes in version history

    Every consecutive version pair is diffed for new injection markers or destructive scope — a risky diff anywhere in history is a rug-pull (fail, durable); benign description drift warns.

  • Not checked
    Strict JSON Schema Enforcementno source files

    Tool inputs are constrained (additionalProperties:false), so unexpected arguments can't be smuggled in.

  • Not checked
    In-Session Definition Integrityguardno source

    Tool and prompt definitions stay fixed during a session — they don't change after a few calls, which is how runtime-gated rug-pulls slip past one-time review.

Application Security Checks

  • Warn
    Established maintainerrecently published

    Brand-new / single anonymous maintainers raise takeover and malware risk.

    Fix: Publish under an established account/org; add multiple maintainers.

  • Pass
    No known-vulnerable dependencies1 runtime deps, no known CVEs

    Runtime dependencies (parsed from the lockfile) are scanned against OSV.dev for published CVEs. Advisory: flagged dependencies lower the score but don't hard-cap it, since transitive reachability is unproven.

  • Pass
    Package name not typosquattingguarddistinct package name

    Names mimicking popular packages are a common malware delivery vector.

  • Not checked
    No command-injection sinksguardno source

    Untrusted tool input reaching a shell yields remote code execution.

  • Not checked
    No dynamic code executionguardno source

    eval()/exec()/Function() on tool-derived strings allows arbitrary code execution.

  • Not checked
    No path traversalguardno source

    Naive path checks let tools read/write outside intended directories (EscapeRoute-class).

  • Not checked
    No SSRF sinksguardno source

    Fetching tool-supplied URLs can pivot into internal networks and metadata services.

  • Not checked
    No unsafe deserializationguardno source

    pickle/yaml.load/etc. on untrusted data can execute code.

  • Not checked
    No committed secretsguardno source

    Hardcoded keys/tokens in published source are live credentials an attacker can use.

  • Not checked
    Credentials sourced from environmentno source files

    Reading secrets from env/secret stores avoids hardcoding them.

  • Not checked
    Dependencies pinned (lockfile)no source files

    A lockfile makes installs reproducible and resistant to silent dependency swaps.

  • Not checked
    No install/post-install scriptsguardnot determinable from PyPI metadata

    install hooks run arbitrary code on every consumer at install time.

  • Not checked
    Published with provenancenot determinable

    Build provenance attests the artifact was built from the claimed source by CI.

  • Not checked
    Actively maintainedGitHub API unavailable

    Unmaintained servers don't receive security fixes.

  • Not checked
    Repository not archivedguardGitHub API unavailable

    Archived repositories will never be patched.

  • Not checked
    Declares a licenseGitHub API unavailable

    A clear license is required for legal enterprise use.

  • Not checked
    Has a security policyno source files

    A SECURITY.md gives a private path to report vulnerabilities.

  • Not checked
    Signed releasesnot evaluated

    Signed releases let consumers verify artifacts weren't tampered with.

  • Not checked
    Adoption & popularityno adoption signal

    A small, capped nudge from stars/downloads — widely-used servers get more eyes on bugs. It can never offset a real security failure.

Transport & Trust Model

  • Warn
    IAM / Authentication Scopingno authentication handling detected

    OAuth 2.1 / Protected Resource Metadata gates who can invoke tools.

    Fix: Implement OAuth 2.1 with a .well-known/oauth-protected-resource document.

  • Pass
    Transport Encryption (TLS)guardall remotes use HTTPS

    Plaintext HTTP exposes traffic and bearer tokens to interception.

  • Not checked
    No Token Passthroughguardno source

    The client's token is never forwarded to downstream APIs — the server obtains its own, correctly-scoped credential instead.

  • Not checked
    DNS-Rebinding Protectionno source to inspect

    HTTP endpoints reject requests carrying an unlisted Origin, so a malicious web page can't drive the server through the user's browser.

  • Not checked
    Execution Sandboxingno source files

    A container/sandbox image limits blast radius; a server that runs natively has full host access.

  • Not checked
    Network Exposureno source files

    Binding 0.0.0.0 or exposing debug inspectors widens the attack surface.

  • N/A
    Live Endpoint Reachablenot dynamically scanned

    A dynamic scan connected to the declared remote endpoint and it responded — verified live, not a dead URL.

  • N/A
    Authentication Enforced (live)not dynamically scanned

    If the server declares auth is required, it must actually reject anonymous clients. Serving tools to unauthenticated callers is a real exposure.

Embed this score

Add the live badge to your README — it updates automatically on every rescan.

Canopii Trust Score badge preview
markdown[![Canopii Trust Score](https://index.canopii.dev/api/badge/io.github.theoddden/terradev)](https://index.canopii.dev/server/io.github.theoddden/terradev)
html<a href="https://index.canopii.dev/server/io.github.theoddden/terradev"><img src="https://index.canopii.dev/api/badge/io.github.theoddden/terradev" alt="Canopii Trust Score" /></a>

Versions

VersionScoreStatus
v6.2.20latest40Dscored
v6.2.1940Dscored
v6.2.16—unverified
v6.2.15—unverified
v6.2.12—unverified
v6.2.8—unverified
v6.2.685Bscored
v6.2.4—unverified
v6.2.1—unverified
v6.1.5—unverified
v6.1.1—unverified
v6.0.11—unverified
v6.0.10—unverified
v6.0.6—unverified
v6.0.4—unverified
v6.0.1—unverified
v5.7.10—unverified
v5.7.4—unverified
v5.7.3—unverified
v5.7.1—unverified
v5.6.5—unverified
v2.0.680Bscored

Wondering how this compares? The MCP Security Index tracks grade distribution, committed secrets, and missing authentication across the whole ecosystem, refreshed monthly.