Trust Assessment
google-calendar received a trust score of 57/100, placing it in the Caution category. This skill has some security considerations that users should review before deployment.
SkillShield's automated analysis identified 4 findings: 0 critical, 2 high, 2 medium, and 0 low severity. Key findings include Suspicious import: urllib.request, Potential data exfiltration: file read + network send, Google Access Token written to local plaintext file.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. All layers scored 70 or above, reflecting consistent security practices.
Last analyzed on February 13, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings4
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Potential data exfiltration: file read + network send Function 'refresh' reads files and sends data over the network. This may indicate data exfiltration. Review this function to ensure file contents are not being sent to external servers. | Static | skills/adrianmiller99/google-calendar/scripts/refresh_token.py:34 | |
| HIGH | Google Access Token written to local plaintext file The `scripts/refresh_token.py` script obtains a Google access token and explicitly writes it to a local file at `~/.config/google-calendar/secrets.env` in plaintext. This practice bypasses the platform's secure secret management (e.g., `openclaw secret set`) and stores a sensitive credential on the local filesystem. While access tokens are typically short-lived, storing them in a potentially unprotected file increases the risk of unauthorized access to the token, which could then be used to interact with the user's Google Calendar. Modify `scripts/refresh_token.py` to avoid writing the access token to a local file. Instead, the script should print the access token to stdout, allowing the OpenClaw runtime or user to capture and store it securely using `openclaw secret set GOOGLE_ACCESS_TOKEN <value>`. If the OpenClaw platform provides an API for updating secrets, that should be used. The `google_calendar.py` script should continue to retrieve `GOOGLE_ACCESS_TOKEN` from the environment, as it currently does. | LLM | scripts/refresh_token.py:30 | |
| MEDIUM | Suspicious import: urllib.request Import of 'urllib.request' detected. This module provides network or low-level system access. Verify this import is necessary. Network and system modules in skill code may indicate data exfiltration. | Static | skills/adrianmiller99/google-calendar/scripts/google_calendar.py:2 | |
| MEDIUM | Suspicious import: urllib.request Import of 'urllib.request' detected. This module provides network or low-level system access. Verify this import is necessary. Network and system modules in skill code may indicate data exfiltration. | Static | skills/adrianmiller99/google-calendar/scripts/refresh_token.py:2 |
Scan History
Embed Code
[](https://skillshield.io/report/ac26ae24ebb96b1a)
Powered by SkillShield