Env credential access
- Finding
- Environment variable access combined with network send.
Security checks across static analysis, malware telemetry, and agentic risk
The calendar functions are mostly purpose-aligned, but the package includes prior personal calendar/sync state and persists Google OAuth tokens on disk without clearly disclosing that behavior.
Review and reset the included calendar.md and .calendar-google-sync-state.json before using this skill. If you enable Google sync, understand that it requests broad calendar access and stores OAuth session tokens locally in the project directory; only use it in a trusted folder and remove session files before sharing or archiving the project.
66/66 vendors flagged this skill as clean.
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.
If you sign in with Google, calendar access tokens may remain in the project directory and could be read by other local tools, agents, backups, or anyone with access to that folder.
The server requests broad Google Calendar access and persists access/refresh-token session data to a local JSON file. SKILL.md documents the Google sync-state file but does not disclose this separate token/session store.
const oauthScope = ["openid", "email", "profile", "https://www.googleapis.com/auth/calendar"].join(" ");
type SessionTokens = {
accessToken: string;
refreshToken?: string;
expiryAt: number;
...
const sessionStorePath = path.join(root, ".calendar-sessions.json");
...
fs.writeFileSync(sessionStorePath, JSON.stringify(data, null, 2));Only use Google sync in a trusted local directory, remove .calendar-sessions.json when done or when sharing the folder, and prefer an implementation that documents token storage and restricts OAuth scope where possible.
The agent may answer questions or schedule around someone else’s preloaded calendar, and the package itself exposes that prior schedule data.
The shipped source-of-truth calendar contains concrete personal-looking schedule entries rather than an empty or sample calendar. Because SKILL.md instructs agents to treat calendar.md as authoritative, a new user’s agent may over-trust this stale data.
- [ ] `evt_Z_1VeBj-` | 2026-02-25 18:10 -> 2026-02-25 18:25 | **Pick up sister** (`life`) - [ ] `evt_8nuraLrq` | 2026-02-25 19:45 -> 2026-02-25 20:45 | **Physics quiz prep (Torque & Rotational Inertia)** (`physics`)
Before use, replace calendar.md with your own clean calendar or a blank template, and do not sync until you have removed unrelated entries.
If you sync without resetting state, old mappings and preloaded events could be merged into or conflict with your Google Calendar data.
The package includes a non-empty Google sync-state file keyed to a specific email/calendar identity. In a two-way sync tool, stale mapping state can confuse deduplication or propagation when a new user connects their own Google account.
"112837351600268447145:niravsurabhi@gmail.com": {
"md_evt_vDmneprY": "26lhq70ge2m2nlm5jtre85l554"Delete .calendar-google-sync-state.json and any preloaded calendar data before connecting Google, then perform an initial sync only after reviewing what will be changed.
An agent following these instructions can alter or remove events in the local calendar file.
The skill gives the agent CLI commands that can mutate or delete local calendar events. This is expected for a calendar-management skill and is documented, but users should recognize that agent actions can change their schedule.
Update: `npm run cli -- update --id <event_id> [fields...]` ... Delete: `npm run cli -- delete --id <event_id>`
Keep backups before bulk changes and review agent-requested update/delete operations, especially before syncing them to Google Calendar.