T06 · System Persistence
- Location
SKILL.md:115- Finding
Unattended Cross-Session Execution Through Scheduled Tasks or System Services
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill’s sales automation purpose is clear, but it asks users to run mutable external code with credentials and scheduled cold-email/public-deployment automation without enough guardrails.
Review carefully before installing. Use a pinned, reviewed commit; install in an isolated environment; configure least-privilege API keys only after install; keep Google service-account keys protected; require manual approval before public deployments and each email batch; set strict sending limits; and document how to disable cron/systemd jobs and delete lead/generated-site data.
SKILL.md:115Unattended Cross-Session Execution Through Scheduled Tasks or System Services
SKILL.md:81Mutable External Code Retrieval and Unverified Dependency Installation
SKILL.md:36Broad Disclosure of Lead and Contact Data to Multiple External Services
The skill performs potentially sensitive and externally visible actions—scraping business websites, storing lead artifacts, deploying generated demo sites publicly, and sending automated cold outreach—but the description does not prominently warn users about these behaviors or their operational/compliance implications. This increases the chance of uninformed use, accidental data collection, reputational harm, or policy/legal violations because an operator may enable the pipeline without understanding its reach and automation level.
The manifest explicitly advertises automated cold-email outreach but provides no warning, consent boundary, or acknowledgment of privacy, compliance, and reputation risks from contacting external parties. In this skill context, the capability is central to the workflow, which makes accidental misuse, spam complaints, and unauthorized outreach more likely rather than hypothetical.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
## Service Account Access
1. Create a GCP project and enable the Sheets API
2. Create a service account and download the JSON key
3. Share your sheet with the service account email (Editor access)
4. Save the JSON key to `~/.openclaw/workspace/gcp-service-account.json`
The document instructs users to download a Google service-account JSON key and store it at a fixed local path without any warning about the sensitivity of the credential, file-permission restrictions, rotation, or safer secret-management alternatives. Service-account keys are long-lived credentials; if the workstation, home directory, backups, or the workspace path are exposed, an attacker could use the key to access and modify the linked Google Sheet with the granted permissions.
The description implies end-to-end automated outreach to businesses, yet there is no indication that users can review or control language, locale, or regional targeting before messages are generated and sent. In a cold-outreach pipeline, this increases the chance of inappropriate, noncompliant, or misleading messaging to recipients in the wrong language or jurisdiction.
No suspicious patterns detected.