Back to skill

Security audit

Calendar

Security checks for vulnerabilities and agentic risk

Overview

This skill is a clear calendar-management wrapper for the Porteden CLI, with disclosed credential handling and confirmation required before calendar changes.

Install only if you trust Porteden with the selected calendar account. Prefer narrow OAuth scopes and a dedicated profile, confirm all create/update/delete/respond actions carefully, avoid --all unless needed, and run porteden auth logout plus provider-side revocation when finished on shared or sensitive machines.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:5
Finding

Unpinned Third-Party CLI Receives Sensitive Calendar Access

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:14
Finding

Undisclosed Network Trust Boundary for Credentials and Calendar Data

Content
View full analysis
` — stored in system keyring - **Verify:** `porteden auth status` - If `PE_API_KEY` is set in the environment, the CLI uses it automatically (no login needed). ``` ```markdown - List calendars: `porteden calendar calendars -jc` - Events today (or --tomorrow, --week): `porteden calendar events --today -jc` - Events custom range: `porteden calendar events --from 2026-02-01 --to 2026-02-07 -jc` - All events (auto-pagination): `porteden calendar events --week --all -jc` - Search events: `porteden calendar events -q "meeting" --today -jc` - Events by contact: `porteden calendar by-contact "user@example.com" -jc` (or --name "John Smith") - Get single event: `porteden calendar event -jc` - Create event: `porteden calendar create --calendar --summary "Meeting" --from "..." --to "..." --location "Room A" --attendees "a@b.com,c@d.com"` - Update event: `porteden calendar update --summary "New Title"` (also: --from, --to, --location) - Update attendees: `porteden calendar update --add-attendees "new@example.com"` (or --remove-attendees; add --notify to send notifications) - Delete event: `porteden calendar delete ` (add --no-notify to skip attendee notifications) - Respond to invite: `porteden calendar respond accepted` (or: declined, tentative) ``` ### Technical Analysis Network communication is intrinsic to the declared calendar-management functionality and is therefore not inherently unauthorized. Nevertheless, the Skill passes authentication material and sensitive cale ...[truncated 2250 chars]
Remediation
View remediation
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 16)May include surrounding context.

md
## Setup (once)

- **Browser login (recommended):** `porteden auth login` — opens browser, credentials stored in system keyring
- **Direct token:** `porteden auth login --token <key>` — stored in system keyring
- **Verify:** `porteden auth status`
- If `PE_API_KEY` is set in the environment, the CLI uses it automatically (no login needed).

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
## Setup (once)

- **Browser login (recommended):** `porteden auth login` — opens browser, credentials stored in system keyring
- **Direct token:** `porteden auth login --token <key>` — stored in system keyring
- **Verify:** `porteden auth status`
- If `PE_API_KEY` is set in the environment, the CLI uses it automatically (no login needed).

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 24)May include surrounding context.

md
## Setup (once)

- **Browser login (recommended):** `porteden auth login` — opens browser, credentials stored in system keyring
- **Direct token:** `porteden auth login --token <key>` — stored in system keyring
- **Verify:** `porteden auth status`
- If `PE_API_KEY` is set in the environment, the CLI uses it automatically (no login needed).

Static analysis

No suspicious patterns detected.