Back to skill

Security audit

Google Workspace CLI

Security checks for vulnerabilities and agentic risk

Overview

This skill appears to be a legitimate Google Workspace CLI helper, but it asks users to install an unpinned global third-party CLI that can access persistent OAuth tokens and modify real Drive, Docs, and Sheets content.

Review the npm package and source before installing, prefer a pinned reviewed version, authenticate with the least Google Workspace access practical, and treat ~/.11x/gworkspace/token.json, config.json, client secrets, and .env files as sensitive. Use explicit confirmation before allowing an agent to create, upload, append, or write Workspace content, especially in Shared Drives.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:19
Finding
Unpinned Global Installation of a Third-Party npm Package## Vulnerability Details **File Location**: `SKILL.md`, lines 19 and 24–26 **Vulnerability Type**: Supply-chain risk from an unpinned third-party dependency **Risk Level**: Medium The skill instructs users to install the latest available release of a third-party npm package globally: ```yaml install: npm i -g @11x.agency/gworkspace ``` The instruction is repeated in the setup documentation: ```markdown ## Do This First - Ensure `gw` is installed: `npm i -g @11x.agency/gworkspace` ``` ### Technical Analysis The installation command does not specify an exact package version or integrity digest. Consequently, the code installed depends on whichever release the npm registry resolves at installation time, rather than an artifact whose contents correspond to a previously reviewed version. npm package installation may execute package lifecycle scripts with the privileges of the installing user. Global installation also makes the package broadly available in the user's environment. The installed implementation is not included in this project, so its behavior—including lifecycle scripts, OAuth handling, and file access—cannot be verified from the audited artifact. This finding does not establish that the referenced package is malicious. The vulnerability is the unsafe dependency acquisition process, which exposes users to future upstream compromise, unauthorized package publication, or an unexpectedly unsafe release. ### Attack Path 1. An attacker compromises the upstream package publisher, maintainer account, release process, or registry artifact. 2. The attacker publishes a malicious release under `@11x.agency/gworkspace`. 3. A user or agent follows the documented `npm i -g @11x.agency/gworkspace` instruction. 4. npm resolves and installs the compromised release because no reviewed version or integrity value is pinned. 5. Malicious installation lifecycle code or the installed `gw` executable runs with the installin ...[truncated 1144 chars]
Remediation
## Remediation Suggestions 1. Pin the dependency to an exact reviewed version, for example: ```bash npm install --global @11x.agency/gworkspace@<reviewed-exact-version> ``` 2. Record and verify the expected package integrity digest before installation. 3. Use a lockfile and a reproducible installation workflow where possible. 4. Prefer a project-local installation over a global installation to reduce environmental exposure and make dependency resolution auditable. 5. Review the exact package artifact, including lifecycle scripts and transitive dependencies, before recommending it. 6. Use `--ignore-scripts` during installation when compatible with the package, or separately inspect and explicitly authorize required lifecycle scripts. 7. Publish or vendor the source corresponding exactly to the approved package artifact so the installed implementation can be audited with the skill. 8. Run the CLI with least privilege and limit Google OAuth scopes to those required for the intended operation. 9. Protect `~/.11x/gworkspace/token.json` with restrictive filesystem permissions and revoke tokens promptly if package compromise is suspected. 10. Document a trusted update process that requires review and integrity verification before changing the pinned version.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (2)

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The skill exposes high-impact commands that can create, append, upload, and otherwise modify remote Google Drive, Docs, and Sheets data, but it does not prominently warn that these actions affect real user-owned cloud resources. In an agent setting, this increases the chance of unintended destructive or privacy-impacting operations because an automated system may invoke write-capable commands without clear user confirmation boundaries.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The authentication section documents local storage of OAuth tokens and use of client credentials, including optional embedded credentials by default, but it does not include clear warnings about the sensitivity of these secrets or the risks of exposing them. In practice, agents or users could mishandle token files or environment variables, leading to unauthorized access to Google Workspace data tied to the authenticated account.

Static analysis

No suspicious patterns detected.