Todolist Md Clawdbot

Security checks across malware telemetry and agentic risk

Overview

The skill matches its todo-file purpose, but it needs review because its helper scripts can use and persist broad Google Drive credentials while the registry declares no credentials or binary requirements.

Install or run this only if you are comfortable granting a helper script persistent Google Drive access. Use a dedicated Drive account or folder, verify the fileId/rootFolderId, inspect edits before write-back, and remove /root/clawd/.secrets/todolist_drive_oauth.json or gog credentials when no longer needed.

VirusTotal

65/65 vendors flagged this skill as clean.

View on VirusTotal

Risk analysis

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

#
ASI03: Identity and Privilege Abuse
High
What this means

If approved with the wrong account or OAuth client, the skill could have persistent access to read or update more Google Drive content than just the intended Markdown todo files.

Why it was flagged

The helper requests the broad Google Drive OAuth scope and persists a refresh token to a default secrets path, giving the script reusable Drive access rather than one-time access to a single todo file.

Skill content
const scopes = ['https://www.googleapis.com/auth/drive']; ... const refreshTokenFile = args.refreshTokenFile || process.env.REFRESH_TOKEN_FILE || '/root/clawd/.secrets/todolist_drive_oauth.json';
Recommendation

Use a dedicated Google account or least-privileged OAuth setup where possible, verify the exact folder/file IDs before running, and remove the stored refresh token when you no longer need the skill.

#
ASI03: Identity and Privilege Abuse
High
What this means

The script may use an existing local Google/gog credential profile, which could access Drive data under that account without the user realizing this dependency from the registry listing.

Why it was flagged

The folder runner reads a local gog credential file and uses the account/password values for Drive access, but the registry metadata declares no primary credential, env vars, or required config paths.

Skill content
const envFile = '/root/clawd/.secrets/gog.env'; ... const text = fs.readFileSync(envFile, 'utf8'); ... if (k === 'GOG_KEYRING_PASSWORD' && !pw) pw = v;
Recommendation

Do not run this unless you understand which gog account it will use. Prefer passing explicit credentials for a dedicated account, and the publisher should declare these credential/config requirements.

#
ASI02: Tool Misuse and Exploitation
Medium
What this means

A mistaken fileId or accepted edit could change a Markdown file in Google Drive.

Why it was flagged

The script can overwrite-update the same Google Drive fileId. This is aligned with the skill's write-back purpose and includes a revision gate, but it is still mutation authority over user Drive files.

Skill content
method: 'PATCH', ... `https://www.googleapis.com/upload/drive/v3/files/${fileId}?uploadType=multipart`
Recommendation

Review proposed edits before applying them, keep backups or Drive revision history enabled, and verify the target fileId/root folder.

#
ASI05: Unexpected Code Execution
Low
What this means

Running the helper executes local commands on the host, not just in-agent text processing.

Why it was flagged

The folder runner executes the gog CLI through a fixed argument array. This is expected for the Drive listing workflow, but it is local command execution and depends on a trusted gog binary.

Skill content
const raw = execFileSync(cmd[0], cmd.slice(1), { encoding: 'utf8' });
Recommendation

Only run it in an environment where the gog binary and GOG_BIN setting are trusted.

#
ASI04: Agentic Supply Chain Vulnerabilities
Low
What this means

The skill may fail or behave differently depending on the local gog installation and account setup.

Why it was flagged

The helper relies on an external gog executable and sudo workflow, while the registry lists no required binaries or install spec. This is likely an under-declared dependency rather than hidden malicious behavior.

Skill content
const gogBin = process.env.GOG_BIN || '/home/linuxbrew/.linuxbrew/bin/gog'; ... 'sudo','-u','ubuntu','-H','env'
Recommendation

The publisher should declare gog/sudo requirements and pin or document the expected gog version and provenance.