T08 · Insecure Dependencies
- Location
SKILL.md:32- Finding
Unpinned Package Retrieval and Execution Through npx
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent recruiting bot, but it asks agents to expose complete candidate/job records and keep event data locally without enough safeguards.
Install only in a controlled test or reviewed production environment. Use restricted Supabase credentials with row-level and field-level controls, avoid exposing full candidate records by default, pin or verify the ClawHub installer, and ensure local inbox/checkpoint files are owner-only, minimized, retained briefly, and cleaned up when disabled.
SKILL.md:32Unpinned Package Retrieval and Execution Through npx
SKILL.md:156Excessive Disclosure of Candidate Personal Data
SKILL.md:207Sensitive Recruiting Events Persisted Without Local Storage Safeguards
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
For the bot to receive push and to see posts / profiles, install all of these on the bot machine:
1. Node.js 18+.
2. Supabase access credentials with least privilege:
- `SUPABASE_URL`
- `SUPABASE_ANON_KEY` or `SUPABASE_PUBLISHABLE_KEY` only if the project is intentionally public/test-only
- otherwise use a restricted runtime credential path provided by the host platform
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.
The bot should use its own runtime and only these install steps:
1. Install or update the skill.
2. Ask for or read the configured runtime credentials.
3. Use runtime env vars or the platform secret store. Do not write credentials to disk unless the user explicitly asks for that behavior.
4. Start or resume watch mode.
5. Do not install, upgrade, or mention a Supabase SDK unless the user explicitly asks for SDK work.
The skill tells the bot to run npx -y clawhub install jobs without pinning a specific package version. That creates a supply-chain risk because the latest published package is fetched and executed implicitly, so a compromised or malicious update could run code on the bot machine.
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
npx -y clawhub install jobs
If runtime credentials already exist, the bot should refresh the skill and continue watch mode without asking for extra files.
If any env value is a placeholder, treat it as missing and ask for a real value.
## Connection Gate
The skill instructs the bot to persist push events to ~/.openclaw/irecruiter-inbox.jsonl, while the same skill processes sensitive candidate and recruiter data including names, emails, education, employment history, and links. Local plaintext persistence of these events can expose personal data to other local users, backups, logs, or malware, especially because there is no explicit consent, retention limit, or storage protection requirement.
This is a second unpinned invocation of npx -y clawhub, again allowing whatever version is current at execution time to be downloaded and run. Repeatedly embedding this pattern in install/sync instructions increases exposure to remote package compromise or typo/publisher takeover scenarios.
No suspicious patterns detected.