Back to skill

Security audit

Google Drive

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed Google Drive management wrapper around the porteden CLI, with sensitive but purpose-aligned Drive and credential use.

Before installing, treat this as granting an agent access to your Google Drive through porteden. Use the least-privileged Google account or token you can, review accessInfo/authWarnings, be especially careful with sharing and delete commands, and prefer a pinned or verified porteden release if available.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:6
Finding
Unpinned Installation of a Security-Sensitive Third-Party CLI## Vulnerability Details **File Location**: `SKILL.md`, lines 6 and 12 **Vulnerability Type**: Unpinned third-party dependency from mutable sources **Risk Level**: Medium ### Vulnerable Code ```text metadata: {"openclaw":{"emoji":"📂","homepage":"https://porteden.com","requires":{"bins":["porteden"]},"primaryEnv":"PE_API_KEY","envVars":[{"name":"PE_API_KEY","required":false,"description":"API key; if unset, credentials are read from the system keyring via `porteden auth login`"}],"install":[{"id":"brew","kind":"brew","formula":"porteden/tap/porteden","bins":["porteden"],"label":"Install porteden (brew)"},{"id":"go","kind":"go","module":"github.com/porteden/cli/cmd/porteden@latest","bins":["porteden"],"label":"Install porteden (go)"}]}} ``` ```shell brew install porteden/tap/porteden # or go install github.com/porteden/cli/cmd/porteden@latest ``` ### Technical Analysis The skill instructs users or agents to install the `porteden` CLI through a custom Homebrew tap or by using Go's mutable `@latest` version selector. It does not pin an immutable release or commit and provides no checksum, signature, provenance, or integrity-verification procedure. Because the installed CLI processes `PE_API_KEY`, can read credentials from the system keyring, and receives authorized Google Drive access, compromise or unexpected modification of the upstream repository, release pipeline, module, or Homebrew tap would have security consequences beyond an ordinary utility dependency. The use of `@latest` means that the installed artifact can change after this skill has been reviewed. The custom Homebrew source similarly relies on upstream package integrity without a verification step. The audit found no evidence that the currently referenced package is malicious; the vulnerability is the unsafe and mutable dependency acquisition process. ### Attack Path 1. An attacker compromises the upstream Go repository, module release process, custom Homebrew tap, or associated distributio ...[truncated 1431 chars]
Remediation
## Remediation Suggestions 1. Replace `@latest` with a specific, reviewed semantic version or immutable commit digest, for example: ```shell go install github.com/porteden/cli/cmd/porteden@vX.Y.Z ``` 2. Pin the Homebrew formula to an approved release where practical, and document the expected formula source and version. 3. Publish trusted SHA-256 checksums or cryptographic signatures through a channel independent of the downloadable artifact. 4. Verify checksums, signatures, and release provenance before installation. 5. Prefer reproducible builds and signed release artifacts from an official, verifiable distribution source. 6. Define an update-review process so dependency upgrades are explicitly audited rather than automatically resolved. 7. Document the exact OAuth scopes and token restrictions required, and grant only the minimum Drive permissions needed. 8. Avoid exposing `PE_API_KEY` to unrelated child processes and use a protected system keyring where possible. 9. Instruct users to review `accessInfo` and authentication warnings before performing sensitive operations. 10. Retain confirmation requirements for sharing and deletion operations.
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (3)

Credential Access

High
Category
Privilege Escalation
Content
name: google-drive-secure
description: Google Drive Secure Management. Use when the user wants to list, search, read text content, create files with inline content, upload binaries, create folders, rename, move, copy, share, or manage permissions on Google Drive files (porteden secure alternative).
version: 1.0.8
metadata: {"openclaw":{"emoji":"📂","homepage":"https://porteden.com","requires":{"bins":["porteden"]},"primaryEnv":"PE_API_KEY","envVars":[{"name":"PE_API_KEY","required":false,"description":"API key; if unset, credentials are read from the system keyring via `porteden auth login`"}],"install":[{"id":"brew","kind":"brew","formula":"porteden/tap/porteden","bins":["porteden"],"label":"Install porteden (brew)"},{"id":"go","kind":"go","module":"github.com/porteden/cli/cmd/porteden@latest","bins":["porteden"],"label":"Install porteden (go)"}]}}
---

# porteden drive
Confidence
70% confidence
Finding
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Credential Access

High
Category
Privilege Escalation
Content
name: google-drive-secure
description: Google Drive Secure Management. Use when the user wants to list, search, read text content, create files with inline content, upload binaries, create folders, rename, move, copy, share, or manage permissions on Google Drive files (porteden secure alternative).
version: 1.0.8
metadata: {"openclaw":{"emoji":"📂","homepage":"https://porteden.com","requires":{"bins":["porteden"]},"primaryEnv":"PE_API_KEY","envVars":[{"name":"PE_API_KEY","required":false,"description":"API key; if unset, credentials are read from the system keyring via `porteden auth login`"}],"install":[{"id":"brew","kind":"brew","formula":"porteden/tap/porteden","bins":["porteden"],"label":"Install porteden (brew)"},{"id":"go","kind":"go","module":"github.com/porteden/cli/cmd/porteden@latest","bins":["porteden"],"label":"Install porteden (go)"}]}}
---

# porteden drive
Confidence
70% confidence
Finding
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Credential Access

High
Category
Privilege Escalation
Content
name: google-drive-secure
description: Google Drive Secure Management. Use when the user wants to list, search, read text content, create files with inline content, upload binaries, create folders, rename, move, copy, share, or manage permissions on Google Drive files (porteden secure alternative).
version: 1.0.8
metadata: {"openclaw":{"emoji":"📂","homepage":"https://porteden.com","requires":{"bins":["porteden"]},"primaryEnv":"PE_API_KEY","envVars":[{"name":"PE_API_KEY","required":false,"description":"API key; if unset, credentials are read from the system keyring via `porteden auth login`"}],"install":[{"id":"brew","kind":"brew","formula":"porteden/tap/porteden","bins":["porteden"],"label":"Install porteden (brew)"},{"id":"go","kind":"go","module":"github.com/porteden/cli/cmd/porteden@latest","bins":["porteden"],"label":"Install porteden (go)"}]}}
---

# porteden drive
Confidence
70% confidence
Finding
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Static analysis

No suspicious patterns detected.