CtrlK
BlogDocsLog inGet started
Tessl Logo

odyssey4me/google-drive

Upload, download, search, and share files on Google Drive. Create folders and manage permissions. Use when asked to share a file, upload to gdrive, search cloud storage, manage a Drive folder, or organize Google Drive files.

75

Quality

94%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

High

Do not use without reviewing

Overview
Quality
Evals
Security
Files

Security

1 high severity finding. You should review these findings carefully before considering using this skill.

High

W007: Insecure credential handling detected in skill instructions.

What this means

The skill handles credentials insecurely by requiring the agent to include secret values verbatim in its generated output. This exposes credentials in the agent’s context and conversation history, creating a risk of data exfiltration.

Why it was flagged

The skill's examples and setup require placing client_id/client_secret in a config file and passing --client-secret on the command line, which instructs embedding secret values verbatim in files/commands and creates exfiltration risk.

Where we found it

--client-secret

command · 6 sites

The plugin accepts OAuth client_secret via --client-secret command-line argument, which exposes the secret in shell history, process tables, and logs.

[REDACTED]

secret · 15 sites

The plugin stores OAuth client_secret in plaintext config files (~/.config/agent-skills/google.yaml or google-drive.yaml), which can be read by any process with filesystem access.

Report incorrect finding

Low

Low-risk findings.

1 low severity finding. Worth noting, but not necessarily harmful.

Low

W011: Third-party content exposure detected (indirect prompt injection risk).

What this means

The skill exposes the agent to untrusted, user-generated content from public third-party sources, creating a risk of indirect prompt injection. This includes browsing arbitrary URLs, reading social media posts or forum comments, and analyzing content from unknown websites.

Why it was flagged

The skill directly accesses user/third-party Google Drive content (see SKILL.md and scripts/google-drive.py commands like `files list`, `files search`/fullText queries, and `files download`) so the agent can fetch and read arbitrary user-generated files which could contain instructions that influence subsequent actions (e.g., share, move, upload).

Where we found it

www.googleapis.com

domain · 5 sites

The plugin directly calls the Google Drive API at www.googleapis.com to list, search, download, and read user files, which can contain arbitrary user-generated content that could influence agent behavior.

scripts/google-drive.py

79

DRIVE_SCOPES_READONLY = ["https://www.googleapis.com/auth/drive.readonly"]

scripts/google-drive.py

80

DRIVE_SCOPES_WRITE = ["https://www.googleapis.com/auth/drive"]

scripts/google-drive.py

81

DRIVE_SCOPES_METADATA = ["https://www.googleapis.com/auth/drive.metadata.readonly"]

scripts/google-drive.py

347

return build("drive", "v3", credentials=creds)

scripts/google-drive.py

880

service = build("drive", "v3", credentials=creds)

accounts.google.com

domain · 3 sites

The plugin uses accounts.google.com for OAuth 2.0 authorization flow, which is a third-party domain the plugin fetches during authentication.

scripts/google-drive.py

189

"auth_uri": "https://accounts.google.com/o/oauth2/auth"

scripts/google-drive.py

267

flow = InstalledAppFlow.from_client_config(client_config, scopes)

scripts/google-drive.py

268

creds = flow.run_local_server(port=0) # Opens browser for consent

oauth2.googleapis.com

domain · 3 sites

The plugin uses oauth2.googleapis.com for OAuth 2.0 token exchange during authentication.

scripts/google-drive.py

190

"token_uri": "https://oauth2.googleapis.com/token"

scripts/google-drive.py

267

flow = InstalledAppFlow.from_client_config(client_config, scopes)

scripts/google-drive.py

268

creds = flow.run_local_server(port=0) # Opens browser for consent

Audited
Security analysis
Snyk