Back to skill

Security audit

ez-google

Security checks across malware telemetry and agentic risk

Overview

This skill appears to be a real Google Workspace automation tool, but it needs careful review because it grants broad, persistent Google access through a third-party OAuth flow and includes powerful write, delete, and messaging actions.

Install only if you are comfortable giving this skill broad access to Gmail, Drive, Calendar, Docs, Sheets, Slides, Contacts, and Google Chat. Review the Google consent screen carefully, prefer a dedicated or low-risk Google account, avoid bulk-trash -y unless you explicitly verified the query, and revoke the OAuth grant when you are done.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (11)

Lp3

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding
The skill documents capabilities that imply network access, token handling, and file writes, but it does not declare permissions. This creates a transparency and governance gap: an agent or reviewer cannot accurately assess what sensitive operations the skill may perform, increasing the risk of unintended data access or exfiltration.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding
The manifest says the skill is for Gmail, Calendar, Drive, Docs, Sheets, Slides, and Contacts, but the documented commands also include Google Chat read/send operations. This mismatch can cause the skill to be invoked in contexts where users and orchestrators do not expect chat access, expanding access to sensitive communications and enabling unintended message sending.

Description-Behavior Mismatch

Medium
Confidence
94% confidence
Finding
The manifest description omits Google Chat even though the skill exposes Chat space listing, message reading, and message sending. Hidden or under-declared communication capabilities are risky because they broaden access to sensitive workspace data beyond what a user may reasonably infer from the description.

Description-Behavior Mismatch

Medium
Confidence
94% confidence
Finding
The OAuth helper requests Google Chat scopes in addition to Gmail, Drive, Calendar, and other Workspace scopes, but the skill description does not disclose Chat access. Undisclosed scope expansion violates least privilege and can grant the agent access to read spaces and send messages in Google Chat, increasing the blast radius if the skill or its tokens are misused.

Description-Behavior Mismatch

Medium
Confidence
91% confidence
Finding
The file implements Google Chat capabilities including listing spaces, reading messages, sending messages, and retrieving space details, but the skill metadata only advertises Gmail, Calendar, Drive, Docs, Sheets, Slides, and Contacts. This creates a scope mismatch that can lead users or higher-level agents to authorize and use broader communication functionality than expected, increasing the risk of unauthorized message access or outbound messaging.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The skill documents bulk Gmail operations, including bulk trash with a confirmation bypass flag, without prominent safety warnings or confirmation requirements in the skill description. In an agent context, this can lead to large-scale destructive actions against user mailboxes from ambiguous prompts or routing mistakes.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
Many commands create, modify, append, replace, send, or delete Workspace data, but the skill description does not prominently warn about these state-changing effects. In an agent-integrated environment, missing guardrails around mutating operations can cause accidental data loss, unintended communications, or unauthorized modifications.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The script stores OAuth access and refresh tokens on disk in the user's home directory without warning the user that long-lived credentials will be persisted locally. If the host is shared, compromised, or backed up insecurely, these tokens can be stolen and used to access the user's Google Workspace data across multiple services.

Missing User Warnings

Low
Confidence
77% confidence
Finding
The local OAuth flow state is written to disk and may include client configuration details or a path to client secrets without explicit disclosure. While less severe than storing refresh tokens, it still creates unnecessary sensitive local artifacts that may expose app configuration or aid follow-on attacks on a shared or compromised system.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The delete command permanently removes a calendar event immediately after receiving an event ID, with no confirmation prompt, dry-run mode, or safety guard. In an agent-facing skill that can act on a user's Google Calendar, this increases the risk of accidental or prompt-induced destructive actions that can delete important meetings without user awareness.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
@cli.command("bulk-trash")
@click.argument("query")
@click.option("--max", "-n", "max_results", type=int, help="Max messages to trash")
@click.option("--yes", "-y", is_flag=True, help="Skip confirmation prompt")
def bulk_trash(query: str, max_results: int | None, yes: bool):
    """Trash all messages matching a query.
Confidence
92% confidence
Finding
Skip confirmation

VirusTotal

66/66 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.