T06 · System Persistence
Error
- Location
- SKILL.md:125
- Finding
- Persistent Calendar Bridge User Service<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 125-130 **Vulnerability Type**: Cross-session user service persistence **Risk Level**: High ### Vulnerable Code ```bash ### 5. Keep it running (systemd) ```bash systemctl --user enable calendar-bridge.service systemctl --user start calendar-bridge.service ``` ``` ### Technical Analysis The Skill explicitly directs the user to enable an externally obtained application as a systemd user service. The `enable` operation configures the service to start automatically in future user sessions, extending execution beyond the current Skill invocation. The installed service handles persistent Google OAuth tokens and private calendar information. Because the service implementation is retrieved separately and is not included in the audited artifact, its behavior cannot be independently verified from this package. Persistent execution amplifies the consequences of an upstream repository, dependency, or local installation compromise. ### Attack Path 1. A user follows the Skill instructions and downloads the external Calendar Bridge repository. 2. The user installs its dependencies and grants it Google Calendar OAuth access. 3. Refresh tokens are stored locally for long-term access. 4. The user enables `calendar-bridge.service` through systemd. 5. The downloaded application starts automatically in later user sessions. 6. If the application, its dependencies, or its service file is malicious or subsequently modified, attacker-controlled code executes persistently with the user's privileges and can access available calendar credentials and data. ### Impact Assessment Successful exploitation provides recurring code execution under the affected operating-system user account. The executable service may access files and environment variables available to that user, including Calendar Bridge configuration, Google client credentials, OAuth refresh tokens, and returned calendar data. This does not demons ...[truncated 216 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Remove the automatic `systemctl --user enable` instruction. - Run the bridge only on demand and stop it after the requested calendar operation. - If persistence is genuinely required, obtain explicit informed user approval before enabling it. - Pin the service implementation to a reviewed commit and provide a reviewed service-unit file. - Configure systemd sandboxing controls such as `NoNewPrivileges=true`, `PrivateTmp=true`, `ProtectSystem=strict`, and narrowly scoped `ReadWritePaths`. - Run the service under a dedicated, minimally privileged account where practical. - Document procedures to disable and remove the service, revoke OAuth access, and delete locally retained tokens. ]]>
