other
- Location
gmail/SKILL.md:24- Finding
Gmail credentials and mailbox operations are routed through an unrelated third-party gateway
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The main CLI skill is understandable, but the package also includes separate Gmail gateway instructions and email-tracking code that expose sensitive mail data beyond the root disclosure.
Review before installing. Use this only if you trust the `gog` CLI and understand that bundled materials include broader Google account authority than the root description. Avoid the Maton nested Gmail gateway unless you explicitly intend to send Gmail traffic and a Maton API key through that service. Limit OAuth scopes, prefer read-only where possible, use the command allowlist for agent runs, and avoid email tracking unless you have a clear consent and privacy basis.
gmail/SKILL.md:24Gmail credentials and mailbox operations are routed through an unrelated third-party gateway
gmail/gogcli/internal/tracking/worker/src/index.ts:90Unauthenticated tracking-query endpoint exposes recipient and email-open metadata
The declared description says this skill is a Google Workspace CLI for multiple Google services. The supplied code does not implement any CLI behavior or any interaction with Google Workspace resources. Instead, it is a small browser-side script for a docs site that reads text from a DOM element and re-renders it incrementally as an animated typing effect. This is materially different from the declared primary purpose, so it should be flagged as a mismatch.
The declared description lists support for Gmail, Calendar, Drive, Contacts, Sheets, and Docs, but this code chunk is specifically for Google Apps Script operations via the Script API. It can read script project metadata and content, execute script functions, and create new Apps Script projects. Apps Script is not mentioned in the declared purpose, and executing/creating script projects is a materially distinct capability from the listed Workspace services. Therefore the description does not accurately represent this code chunk's behavior.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
Use `gog` for Gmail/Calendar/Drive/Contacts/Sheets/Docs. Requires OAuth setup.
Setup (once)
- `gog auth credentials /path/to/client_secret.json`
- `gog auth add you@gmail.com --services gmail,calendar,drive,contacts,sheets,docs`
- `gog auth list`
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
Use `gog` for Gmail/Calendar/Drive/Contacts/Sheets/Docs. Requires OAuth setup.
Setup (once)
- `gog auth credentials /path/to/client_secret.json`
- `gog auth add you@gmail.com --services gmail,calendar,drive,contacts,sheets,docs`
- `gog auth list`
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
# 🧭 gogcli — Google in your terminal.

<!-- Created with GitHub Repo Banner by Waren Gonzaga: https://ghrb.waren.build -->
Fast, script-friendly CLI for Gmail, Calendar, Chat, Classroom, Drive, Docs, Slides, Sheets, Forms, Apps Script, Contacts, Tasks, People, Groups (Workspace), and Keep (Workspace-only). JSON-first output, multiple accounts, and least-privilege auth built in.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## How it works
- Default client name: `default`
- Default credentials file: `$(os.UserConfigDir())/gogcli/credentials.json`
- Named credentials files: `$(os.UserConfigDir())/gogcli/credentials-<client>.json`
- Tokens are stored per client (`token:<client>:<email>`). Default client also writes legacy keys for backwards compatibility.
- Default account is stored per client, with a legacy global fallback for the default client.
Detected: suspicious.exposed_resource_identifier, suspicious.exposed_secret_literal