Google Suite Skill
Analysis
This skill appears purpose-aligned for Google services, but it requests broad Google account control, stores reusable OAuth tokens locally, and lacks clear safeguards for destructive actions.
Findings (6)
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.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
gmail.users().messages().delete(userId="me", id=msg_id).execute() calendar.events().delete(calendarId='primary', eventId=event_id).execute() drive.files().delete(fileId=file_id).execute()
The skill directly performs destructive Gmail, Calendar, and Drive API calls from provided parameters, with no visible approval, dry-run, or containment checks in the artifacts.
google-api-python-client>=2.0.0 google-auth-httplib2>=0.1.0 google-auth-oauthlib>=0.4.0
The dependencies are purpose-aligned Google API libraries, but the lower-bound-only version constraints make installs non-reproducible and allow future package changes to be pulled in.
dest_path = params.get("dest_path")
...
with open(dest_path, 'wb') as f:
...
downloader = MediaIoBaseDownload(f, request)Drive downloads write to a caller-supplied local path without visible path restrictions or overwrite protection, so one bad parameter can overwrite local files; the skill also operates on cloud-synced Google data without containment controls.
- OAuth2 tokens are stored securely and never logged. - All credentials are loaded from environment variables. - No sensitive data is printed or logged.
The documentation makes strong security assurances, but the code writes OAuth tokens to a local JSON file and the registry metadata does not declare the credential requirements, making the safety posture appear stronger than the artifacts support.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
- `https://www.googleapis.com/auth/gmail.modify` - `https://www.googleapis.com/auth/calendar` - `https://www.googleapis.com/auth/drive`
These OAuth scopes grant broad Gmail modification, full Calendar access, and broad Drive access, while the registry metadata declares no primary credential or required environment variables.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
TOKEN_PATH = Path(__file__).parent / 'google_suite_tokens.json'
...
with open(TOKEN_PATH, 'w') as token:
token.write(creds.to_json())The skill persists reusable OAuth tokens as a local JSON file in the skill directory, with no artifact evidence of encryption, restrictive file permissions, or explicit metadata disclosure of persistent credentials.
