Skip to content
Report library
Purpose / Other

Gws Tasks Skill Security Audit

What the author says it does (original text)

Google Tasks: Manage task lists and tasks.

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.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
High risk

Deleting a task list or assigned task also deletes originals in Docs or Chat Spaces

Source references: 2
What we found

The exposed delete methods do not always affect only the object visible in Google Tasks. Deleting a list containing assigned tasks, or deleting an assigned task directly, also deletes the original tasks from their assignment surfaces.

Why this matters

A user intending to remove only a list or copy could permanently lose related original tasks in Docs or Chat Spaces, potentially affecting work records used by other participants.

The source explicitly says that deleting a list containing assigned tasks, or deleting an assigned task, also deletes the original task in assignment surfaces such as Docs or Chat Spaces. Thus, when such deletion is authorized, its impact may extend beyond the object shown in Google Tasks. The user can require a preview of linked tasks and affected surfaces plus per-operation confirmation.

SKILL.md:26In the instructionsOpen original file
  - `delete` — Deletes the authenticated user's specified task list. If the list contains assigned tasks, both the assigned tasks and the original tasks in the assignment surface (Docs, Chat Spaces) are deleted.  - `get` — Returns the authenticated user's specified task list.
Show 1 other places
SKILL.md:36In the instructionsOpen original file
  - `clear` — Clears all completed tasks from the specified task list. The affected tasks will be marked as 'hidden' and no longer be returned by default when retrieving all tasks for a task list.  - `delete` — Deletes the specified task from the task list. If the task is assigned, both the assigned task and the original task (in Docs, Chat Spaces) are deleted. To delete the assigned task only, navigate to the assignment surface and unassign the task from there.  - `get` — Returns the specified task.
Medium risk

A missing shared rules file triggers a generator that creates neighboring Skill content

Source references: 1
What we found

This is a live prerequisite: if the shared Skill is absent, the agent is told to run `gws generate-skills` to create it. The supplied source does not show the generator's full write scope and does not require preview or confirmation.

Why this matters

Using the Skill could modify local Skill files beyond the requested Tasks operation. Newly generated authentication and security instructions could also influence later access to the user's Google account.

What this evidence establishes

This is an active conditional instruction to run a generator when the adjacent shared Skill is missing, so it may write local files. It serves the relevant purpose of establishing authentication and security rules, rather than being clearly unrelated. However, the generator implementation, write scope, overwrite behavior, and user authorization are not shown. The user can require a missing-file check and a preview of generated paths before execution.

This assessment concerns the code and conditions shown, not proof that harm has occurred.
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.
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

2 instruction sections

This Skill documents a Google Tasks command-line interface. It directs the agent to use `gws tasks` for task lists and tasks and to inspect method parameters before making an API call.

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

Authentication, global flags, and security rules are not present in the supplied source; the Skill delegates them to a neighboring shared Skill. If that file is absent, it directs the agent to run a generator. The actual authentication handling and shared safeguards therefore cannot be reviewed from this source alone.

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 document lists read, create, update, move, clear, and delete operations, but the supplied source contains no workflow that automatically selects or executes a particular operation.

View source
SKILL.md:24In the instructionsOpen original file
### tasklists  - `delete` — Deletes the authenticated user's specified task list. If the list contains assigned tasks, both the assigned tasks and the original tasks in the assignment surface (Docs, Chat Spaces) are deleted.  - `get` — Returns the authenticated user's specified task list.  - `insert` — Creates a new task list and adds it to the authenticated user's task lists. A user can have up to 2000 lists at a time.  - `list` — Returns all the authenticated user's task lists. A user can have up to 2000 lists at a time.  - `patch` — Updates the authenticated user's specified task list. This method supports patch semantics.  - `update` — Updates the authenticated user's specified task list.
SKILL.md:35In the instructionsOpen original file
  - `clear` — Clears all completed tasks from the specified task list. The affected tasks will be marked as 'hidden' and no longer be returned by default when retrieving all tasks for a task list.  - `delete` — Deletes the specified task from the task list. If the task is assigned, both the assigned task and the original task (in Docs, Chat Spaces) are deleted. To delete the assigned task only, navigate to the assignment surface and unassign the task from there.  - `get` — Returns the specified task.  - `insert` — Creates a new task on the specified task list. Tasks assigned from Docs or Chat Spaces cannot be inserted from Tasks Public API; they can only be created by assigning them from Docs or Chat Spaces. A user can have up to 20,000 non-hidden tasks per list and up to 100,000 tasks in total at a time.  - `list` — Returns all tasks in the specified task list. Doesn't return assigned tasks by default (from Docs, Chat Spaces). A user can have up to 20,000 non-hidden tasks per list and up to 100,000 tasks in total at a time.  - `move` — Moves the specified task to another position in the destination task list. If the destination list is not specified, the task is moved within its current list. This can include putting it as a child task under a new parent and/or move it to a different position among its sibling tasks. A user can have up to 2,000 subtasks per task.  - `patch` — Updates the specified task. This method supports patch semantics.  - `update` — Updates the specified task.
Start here · InstructionsSKILL.md
gws-tasks
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 tasks <resource> <method> [flags]
SKILL.md:48In the instructionsOpen original file
```bash# Browse resources and methods
Lines read
58
File checksum (to compare versions)
af2c6e16267208b607a1121dac91959cfb55fc3422b7bfd28e5ea71bbfcbfaf4