Skip to content
Report library
Purpose / Other

Gws Script Push Skill Security Audit

What the author says it does (original text)

Google Apps Script: Upload local files to an Apps Script project.

Independent security check

Security risks found

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

The upload replaces every file in the remote Apps Script project

Source references: 3
What we found

This is not an incremental sync: the documentation states that it replaces all project files. If --dir is omitted, it also selects files from the current directory, so a wrong directory, project ID, or incomplete source tree can overwrite the correct version. Confirmation reduces accidental execution but does not validate content or provide rollback.

Why this matters

Existing code, HTML, and manifests in the target Apps Script project may be removed or replaced, potentially breaking deployments and automations or causing hard-to-recover code loss.

This is a credible risk to the user's project files. The command writes a local directory to the specified Apps Script project and explicitly replaces every file; if `--dir` is omitted, it uses the current directory. A wrong project ID, wrong directory, or incomplete local file set could therefore overwrite valid remote content. The required user confirmation reduces accidental use but does not remove the replacement behavior. The user can ask whether preview, remote backup, or recovery is available and restrict execution to a verified project ID and directory.

SKILL.md:30In the instructionsOpen original file
|------|----------|---------|-------------|| `--script` | ✓ | — | Script Project ID || `--dir` | — | — | Directory containing script files (defaults to current dir) |
Show 2 other places
SKILL.md:44In the instructionsOpen original file
- Skips hidden files and node_modules automatically.- This replaces ALL files in the project.
SKILL.md:46In the instructionsOpen original file
> [!CAUTION]> This is a **write** command — confirm with the user before executing.
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

5 instruction sections

This Skill uploads files from a local directory to a specified Google Apps Script project. The project ID is required, while the current directory is used when no directory is specified.

View source
SKILL.md:18In the instructionsOpen original file
Upload local files to an Apps Script project
SKILL.md:30In the instructionsOpen original file
|------|----------|---------|-------------|| `--script` | ✓ | — | Script Project ID || `--dir` | — | — | Directory containing script files (defaults to current dir) |

The upload accepts .gs, .js, .html, and appsscript.json files, while automatically skipping hidden files and node_modules.

View source
SKILL.md:42In the instructionsOpen original file
- Supports .gs, .js, .html, and appsscript.json files.- Skips hidden files and node_modules automatically.- This replaces ALL files in the project.

Authentication, global flags, and security rules are delegated to an adjacent Skill that is not included in the supplied material; if it is missing, this Skill instructs the agent to run a generation command.

View source
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.

The documentation explicitly labels the operation as a write command and requires user confirmation before execution.

View source
SKILL.md:46In the instructionsOpen original file
> [!CAUTION]> This is a **write** command — confirm with the user before executing.
Start here · InstructionsSKILL.md
gws-script-push
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:22In the instructionsOpen original file
```bashgws script +push --script <ID>
SKILL.md:35In the instructionsOpen original file
```bashgws script +push --script SCRIPT_ID
Lines read
53
File checksum (to compare versions)
53a37925cb8abbad27394483571714c5da96a42727029fdf8d510904ec29ccd8