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

Content
View full analysis

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
View 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
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 5)May include surrounding context.

md
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

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 16)May include surrounding context.

md
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

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 17)May include surrounding context.

md
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

Static analysis

No suspicious patterns detected.