Skip to content
Report library
Purpose / Other

Gws Script Skill Security Audit

What the author says it does (original text)

Manage Google Apps Script projects.

Independent security check

Do not install or run it yet

Files checked
1
Risks found
2
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.Risks found: 1
Medium risk

The upload helper may send an overly broad set of local files to Google Apps Script

Source references: 1
What we found

The Skill explicitly offers a helper to upload local files, but the helper's source is absent from this evidence, so its file selection, ignore rules, and pre-upload confirmation cannot be verified.

Why this matters

If the agent runs it in a directory containing secrets, configuration, customer data, or other unintended files, those contents could be copied into the remote Apps Script project and become visible to its collaborators.

What this evidence establishes

The available source only links to a helper skill that uploads local files to an Apps Script project. Its implementation and file-selection rules are absent, so it is not possible to determine which files it sends, whether it could read sensitive files, or whether confirmation is required. The text supports the existence of an upload capability, but not the specific claim that its scope is excessive. Before use, users can request the referenced skill and restrict uploads to explicitly listed directories and files.

This assessment concerns the code and conditions shown, not proof that harm has occurred.
SKILL.md:26In the instructionsOpen original file
|---------|-------------|| [`+push`](../gws-script-push/SKILL.md) | Upload local files to an Apps Script project |
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.Risks found: 1
High risk

Updating project content clears every existing file in the remote project

Source references: 1
What we found

`updateContent` does more than edit selected files: the documentation explicitly says it clears all existing project files and stores the replacement as the HEAD version used by triggers, previews, web apps, and development-mode APIs.

Why this matters

If the agent targets the wrong project, submits incomplete content, or proceeds without a backup, the project's source and manifest can be replaced wholesale. Active triggers or web apps may then use the incorrect code.

The skill exposes `updateContent` as a project operation and explicitly says it clears every existing file in the target Apps Script project. This occurs only if the agent actually calls that method. The replacement becomes HEAD content used by triggers, web apps, and other development contexts, so it could erase remote code or immediately affect development execution. Users can ask for a project-ID and full-file preview, explicit confirmation, and a backup/version check.

SKILL.md:41In the instructionsOpen original file
  - `getMetrics` — Get metrics data for scripts, such as number of executions and active users.  - `updateContent` — Updates the content of the specified script project. This content is stored as the HEAD version, and is used when the script is executed as a trigger, in the script editor, in add-on preview mode, or as a web app or Apps Script API in development mode. This clears all the existing files in the project.  - `deployments` — Operations on the 'deployments' resource
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.No risks found
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-line interface catalog for Google Apps Script. It requires the `gws` executable and delegates authentication, global flags, and security rules to a separate shared Skill that is not included in the supplied evidence.

View source
SKILL.md:8In the instructionsOpen original file
    category: "productivity"    requires:      bins:        - gws    cliHelp: "gws script --help"---
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.

It exposes remote Apps Script operations including project reads, metrics, deployments, versions, and script execution, and instructs the agent to inspect each API method before calling it.

View source
SKILL.md:38In the instructionsOpen original file
  - `create` — Creates a new, empty script project with no script files and a base manifest file.  - `get` — Gets a script project's metadata.  - `getContent` — Gets the content of the script project, including the code source and metadata for each script file.  - `getMetrics` — Get metrics data for scripts, such as number of executions and active users.  - `updateContent` — Updates the content of the specified script project. This content is stored as the HEAD version, and is used when the script is executed as a trigger, in the script editor, in add-on preview mode, or as a web app or Apps Script API in development mode. This clears all the existing files in the project.  - `deployments` — Operations on the 'deployments' resource  - `versions` — Operations on the 'versions' resource### scripts  - `run` — 
SKILL.md:51In the instructionsOpen original file
Before calling any API method, inspect it:```bash# Browse resources and methodsgws script --help# Inspect a method's required params, types, and defaultsgws schema script.<resource>.<method>```Use `gws schema` output to build your `--params` and `--json` flags.

The Skill also references a helper Skill that uploads local files to an Apps Script project; its selection, confirmation, and safety behavior is not present in the supplied files.

View source
SKILL.md:22In the instructionsOpen original file
## Helper Commands| Command | Description ||---------|-------------|| [`+push`](../gws-script-push/SKILL.md) | Upload local files to an Apps Script project |
Start here · InstructionsSKILL.md
gws-script
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 script <resource> <method> [flags]
SKILL.md:53In the instructionsOpen original file
```bash# Browse resources and methods
Lines read
63
File checksum (to compare versions)
bf42c070ea95ecd2991f670421535dd4b33983ff33d0364af3b656e485cc2dc5