Skip to content
Report library
Purpose / Other

Gws Drive Skill Security Audit

What the author says it does (original text)

Google Drive: Manage files, folders, and shared drives.

Independent security check

Security risks found

Files checked
1
Risks found
3
Could it run dangerous commands?Looks for programs run straight after downloading, remote control of your computer, and hidden commands.No risks found
Could it expose your files or keys?Looks for uploads of files containing passwords or keys, and keys written directly in the code.No risks found
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.Risks found: 2
Medium risk

A missing shared prerequisite triggers a generator that can write local files

Source references: 2
What we found

The live prerequisite directs the agent to read `../gws-shared/SKILL.md` outside this package and, if absent, run `gws generate-skills`. The supplied material does not state which files that command creates or overwrites, so this audit cannot verify its write scope or generated instructions.

Why this matters

If the shared file is absent and the agent complies, local Skill files may be created or updated. An untrusted installed `gws` binary or generated payload could also introduce unaudited instructions into later Drive operations.

What this evidence establishes

This is a live prerequisite: if the shared file is missing, it directs the agent to run a generation command that may write local files. However, the supplied source does not show the implementation, destination, or overwrite behavior of `gws generate-skills`, so the write scope and risk to existing files cannot be confirmed. A user can ask for a generated-file manifest and restrict the command to an isolated directory.

This assessment concerns the code and conditions shown, not proof that harm has occurred.
SKILL.md:8In the instructionsOpen original file
    category: "productivity"    requires:      bins:        - gws    cliHelp: "gws drive --help"---
Show 1 other places
SKILL.md:16In the instructionsOpen original file
> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.
Medium risk

The revision deletion method can permanently remove file history

Source references: 2
What we found

The Skill lists `revisions.delete` and explicitly states that it permanently deletes versions of binary files. Although the last remaining version cannot be deleted, removed historical revisions are not available through ordinary Drive recovery.

Why this matters

If the agent selects the wrong file or revision ID, historical versions of images, videos, or other binary files may be permanently lost, weakening rollback and forensic recovery.

The documentation explicitly exposes a method that permanently deletes revisions. It is not automatic, applies only to binary Drive files such as images or videos, and cannot remove the final remaining version. If invoked through an authorized account against the wrong file or revision, the user would permanently lose that historical content. Users can disallow this method or require an explicit preview and confirmation of the file and revision IDs.

SKILL.md:111In the instructionsOpen original file
### revisions  - `delete` — Permanently deletes a file version. You can only delete revisions for files with binary content in Google Drive, like images or videos. Revisions for other files, like Google Docs or Sheets, and the last remaining file version can't be deleted. For more information, see [Manage file revisions](https://developers.google.com/drive/api/guides/manage-revisions).  - `get` — Gets a revision's metadata or content by ID. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions).  - `list` — Lists a file's revisions. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions). **Important:** The list of revisions returned by this method might be incomplete for files with a large revision history, including frequently edited Google Docs, Sheets, and Slides. Older revisions might be omitted from the response, meaning the first revision returned may not be the oldest existing revision.
Show 1 other places
SKILL.md:113In the instructionsOpen original file
  - `delete` — Permanently deletes a file version. You can only delete revisions for files with binary content in Google Drive, like images or videos. Revisions for other files, like Google Docs or Sheets, and the last remaining file version can't be deleted. For more information, see [Manage file revisions](https://developers.google.com/drive/api/guides/manage-revisions).  - `get` — Gets a revision's metadata or content by ID. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions).
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.Risks found: 1
Medium risk

Permission commands can grant, alter, or revoke Drive access

Source references: 3
What we found

The Skill exposes methods to create, update, and delete permissions on files or shared drives. Creating or broadening a permission can expose content to another principal, while deletion can remove a legitimate collaborator. The source places no confirmation requirement beside these methods for the target identity, role, or resource.

Why this matters

If an agent misinterprets a vague request to “share” or “clean up permissions,” a file could be shared with the wrong party, receive an excessive access level, or lose a legitimate collaborator. Concurrent operations may also leave only the last update applied.

These are callable Drive permission methods, not automatic actions; access changes occur only if the agent invokes them with an authorized account. Creating or updating a permission can broaden access, while deletion revokes it. The file only says to inspect method parameters before any call and does not require verifying the resource, recipient, role, or user approval beside permission changes. Users can restrict authorization to read-only scopes and require a preview of every target and role before changes.

SKILL.md:95In the instructionsOpen original file
### permissions  - `create` — Creates a permission for a file or shared drive. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied.  - `delete` — Deletes a permission. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied.  - `get` — Gets a permission by ID. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing).  - `list` — Lists a file's or shared drive's permissions. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing).  - `update` — Updates a permission with patch semantics. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied.
Show 2 other places
SKILL.md:97In the instructionsOpen original file
  - `create` — Creates a permission for a file or shared drive. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied.  - `delete` — Deletes a permission. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied.  - `get` — Gets a permission by ID. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing).  - `list` — Lists a file's or shared drive's permissions. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing).  - `update` — Updates a permission with patch semantics. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied.
SKILL.md:127In the instructionsOpen original file
Before calling any API method, inspect it:
Could it mislead the AI or hide text?Checks the skill instructions for requests to ignore you, influence the report, or hide text in invisible characters.No risks found
Could it change links or payment recipients without asking?Looks for forced referral or payment changes combined with instructions to hide the change.No risks found

Inside this skill

3 instruction sections

This Skill is a command catalog for the Google Drive CLI, covering files, shared drives, comments, permissions, revisions, and change notifications; operations are executed through `gws drive`.

View source
SKILL.md:2In the instructionsOpen original file
---name: gws-drivedescription: "Google Drive: Manage files, folders, and shared drives."metadata:
SKILL.md:18In the instructionsOpen original file
```bashgws drive <resource> <method> [flags]```

It directs the agent to inspect each API method's schema before calling it and then construct parameters and JSON bodies from that output. This helps identify required arguments but does not itself authorize a particular modification.

View source
SKILL.md:127In the instructionsOpen original file
Before calling any API method, inspect it:```bash# Browse resources and methodsgws drive --help# Inspect a method's required params, types, and defaultsgws schema drive.<resource>.<method>```Use `gws schema` output to build your `--params` and `--json` flags.

The supplied source contains command documentation rather than a script that directly makes API calls, transmits data, or embeds a fixed recipient. Its risks mainly arise if an agent later selects and executes one of the listed high-impact methods.

View source
SKILL.md:28In the instructionsOpen original file
## API Resources### about  - `get` — Gets information about the user, the user's Drive, and system capabilities. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).
Start here · InstructionsSKILL.md
gws-drive
Lines connect the instruction file to its sections, not an observed execution order. Select a section to read the source.
Files and check records1 files

Coverage and gaps

Content covered in each file

These are the source ranges included in this check, not a guarantee that every issue has been resolved.

  • SKILL.mdFull text included

This report is for the version above. We read the available code and instructions without running the skill or checking extra packages it installs. This is not a promise of safety: a different version or setup may behave differently.

  • SKILL.mdInstructions

Operations mentioned in code and instructions

Run commands
SKILL.md:18In the instructionsOpen original file
```bashgws drive <resource> <method> [flags]
SKILL.md:129In the instructionsOpen original file
```bash# Browse resources and methods
Connect to websites
SKILL.md:32In the instructionsOpen original file
  - `get` — Gets information about the user, the user's Drive, and system capabilities. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).
SKILL.md:36In the instructionsOpen original file
  - `get` — Retrieves an access proposal by ID. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access).  - `list` — List the access proposals on a file. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access). Note: Only approvers are able to list access proposals o 
SKILL.md:37In the instructionsOpen original file
  - `get` — Retrieves an access proposal by ID. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access).  - `list` — List the access proposals on a file. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access). Note: Only approvers are able to list access proposals on a file. If the user isn't an approver, a 403 error is returned.  - `resolve` — Approves or denies an access proposal. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access).
Lines read
139
File checksum (to compare versions)
e1ab0c1c3591824bb2adfe9c3e01abd8a447e747fa1af43f1603350fbfd95625