Skip to content
Report library
Purpose / Other

Recipe Bulk Download Folder Skill Security Audit

What the author says it does (original text)

List and download all files from a Google Drive folder.

Independent security check

Low-risk issues found

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
Low risk

Folder contents are copied to the local environment in bulk

Source references: 2
What we found

The workflow enumerates the folder, downloads each file, and exports Google documents as PDFs. The supplied instructions show no pre-download filtering, per-file confirmation, or sensitivity check.

Why this matters

If the selected folder contains confidential, personal, or regulated material, additional copies will be created in the current environment and become subject to that environment’s access, backup, and retention policies.

This is the Skill’s stated behavior: it lists files in a selected folder, downloads each one, and exports Google Docs as PDFs. The cloud read permissions granted to it and the selected folder therefore determine what is copied locally. The shown steps contain no pre-download filtering or per-file confirmation. A user can ask the author to document recursion, handling of shared files, and the local destination, or restrict access to the minimum required folder.

SKILL.md:24In the instructionsOpen original file
1. List files in folder: `gws drive files list --params '{"q": "'\''FOLDER_ID'\'' in parents"}' --format json`2. Download each file: `gws drive files get --params '{"fileId": "FILE_ID", "alt": "media"}' -o filename.ext`3. Export Google Docs as PDF: `gws drive files export --params '{"fileId": "FILE_ID", "mimeType": "application/pdf"}' -o document.pdf`
Show 1 other places
SKILL.md:20In the instructionsOpen original file
List and download all files from a Google Drive folder.
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.Risks found: 1
Low risk

Explicit output names may overwrite existing local files

Source references: 1
What we found

The download and export commands pass local filenames directly through `-o`, but the instructions do not require an existence check or define collision handling.

Why this matters

An existing file could be replaced if execution targets the same path. Google Drive also permits duplicate names, which can collide when mapped locally. The exact overwrite behavior depends on the omitted `gws` implementation.

What this evidence establishes

The commands do write through `-o` to the example names `filename.ext` and `document.pdf`, without showing a collision check. However, these appear to be placeholders; the evidence does not show how a real loop chooses names or whether `gws` overwrites, refuses, or renames an existing target. A filename collision is plausible, but overwrite behavior is not established by these lines alone. A user can ask for explicit unique-name and existing-target policies and constrain output to a new empty directory.

This assessment concerns the code and conditions shown, not proof that harm has occurred.
SKILL.md:25In the instructionsOpen original file
1. List files in folder: `gws drive files list --params '{"q": "'\''FOLDER_ID'\'' in parents"}' --format json`2. Download each file: `gws drive files get --params '{"fileId": "FILE_ID", "alt": "media"}' -o filename.ext`3. Export Google Docs as PDF: `gws drive files export --params '{"fileId": "FILE_ID", "mimeType": "application/pdf"}' -o document.pdf`
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

1 instruction sections

The Skill’s stated workflow lists files in a specified Google Drive folder and downloads them individually; native Google documents are exported separately as PDFs.

View source
SKILL.md:24In the instructionsOpen original file
1. List files in folder: `gws drive files list --params '{"q": "'\''FOLDER_ID'\'' in parents"}' --format json`2. Download each file: `gws drive files get --params '{"fileId": "FILE_ID", "alt": "media"}' -o filename.ext`3. Export Google Docs as PDF: `gws drive files export --params '{"fileId": "FILE_ID", "mimeType": "application/pdf"}' -o document.pdf`

Actual Drive access is delegated to the external `gws-drive` Skill and `gws` executable. Their source, permission scope, and credential handling are not included, so those aspects cannot be verified in this audit.

View source
SKILL.md:9In the instructionsOpen original file
    domain: "productivity"    requires:      bins:        - gws      skills:        - gws-drive---
SKILL.md:18In the instructionsOpen original file
> **PREREQUISITE:** Load the following skills to execute this recipe: `gws-drive`
Start here · InstructionsSKILL.md
recipe-bulk-download-folder
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
Lines read
28
File checksum (to compare versions)
9220adb849dea063841adde5d80ecc6f50e353fa9897f02c7d1b35788589d6f4