T08 · Insecure Dependencies
- Location
README.md:25- Finding
Execution of an Unpinned npm Package During Installation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This meetup-planning skill is mostly coherent, but it deserves review because it can create persistent scheduled searches and inspects installed skills outside its declared workspace.
Install only if you are comfortable with local storage of your event preferences, location, schedule, tracked events, and reminders, and with optional recurring background searches. Before enabling automation, ask to see the exact scheduled task and how to remove it, and avoid allowing the skill to inspect unrelated installed skills unless you explicitly approve that access.
README.md:25Execution of an Unpinned npm Package During Installation
BOOTSTRAP.md:11Installed Skill Enumeration Outside the Declared Filesystem Scope
The bootstrap explicitly creates a persistent configuration file containing user preferences and state markers such as bootstrap completion and scheduling metadata. Session persistence is not inherently malicious, but here it increases privacy and security risk because behavioral preferences, location, and automation state remain on disk across sessions without clear consent, retention, or deletion controls.
---
## 3) Create preferences file
Save all responses to `~/.openclaw/workspace/meetup-planner/config.json`:
The bootstrap stores detailed user interests, location, schedule, and requirements to disk without any privacy notice, retention policy, or minimization guidance. This creates unnecessary privacy risk because sensitive preference and location data may persist locally longer than the user expects and could be exposed through other local compromise or backup flows.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
mkdir -p ~/.openclaw/workspace/meetup-planner/{events,backups}
chmod 700 ~/.openclaw/workspace/meetup-planner chmod 600 ~/.openclaw/workspace/meetup-planner/config.json
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
chmod 700 ~/.openclaw/workspace/meetup-planner chmod 600 ~/.openclaw/workspace/meetup-planner/config.json
Initialize empty data files:
The automation flow enables recurring searches and notifications, but the disclosure is framed as a convenience feature rather than a security-relevant persistent behavior change. Users should be explicitly warned that the skill will continue making periodic web activity and storing/updating state after setup, otherwise they may not understand the extent of ongoing autonomous behavior.
The bootstrap instructs the agent to create a cron job or equivalent scheduled task for autonomous execution. Persistent background execution expands the skill's privileges and attack surface because it allows the skill to continue acting outside an active user session, potentially making web requests and processing data without a fresh user prompt each time.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
**Permissions errors:**
- Check file permissions with `ls -la`
- Fix with `chmod 600` or `chmod 700`
---
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
**Permissions errors:**
- Check file permissions with `ls -la`
- Fix with `chmod 600` or `chmod 700`
---
The skill prominently advertises automated web searching and scraping, but the README does not clearly warn that user interests, locations, and search queries may be transmitted to third-party search engines, event sites, or scraping targets. Because the skill is personalized and runs automatically, it can expose behavioral and location-related data without users fully understanding the privacy implications.
The README instructs users to run npx clawhub@latest install meetup-planner, which fetches and executes the latest package version at install time without pinning. This creates a supply-chain risk: if the package or one of its dependencies is compromised later, users may execute unintended code during installation.
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
git clone https://github.com/apresmoi/meetup-planner.git
mkdir -p ~/.claude/skills/meetup-planner cp -r meetup-planner/* ~/.claude/skills/meetup-planner/
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.
git clone https://github.com/apresmoi/meetup-planner.git
mkdir -p ~/.claude/skills/meetup-planner cp -r meetup-planner/* ~/.claude/skills/meetup-planner/
The README indicates the skill relies on cron-based scheduled tasks for reminders and automated searches, which establishes persistence beyond the immediate user session. Persistent scheduled execution increases risk because future web access and scraping may continue automatically, potentially after the user forgets it was enabled or after configuration changes introduce unsafe behavior.
- Verify your search and scraping tools are working
**Reminders not working:**
- Verify cron job is set up: `crontab -l`
- Check `~/.openclaw/workspace/meetup-planner/reminders.json` for scheduled reminders
**Tool errors:**
The skill explicitly instructs the agent to automatically run a bootstrap process after installation and to always check bootstrap status before any other action. Even if the setup is framed as interactive, this creates autonomous behavior that can trigger capability checks, file reads, workspace creation, and potentially further actions from BOOTSTRAP.md without an explicit user request at invocation time.
## One-time Setup
**IMPORTANT**: After installing this skill, the agent will automatically run the bootstrap setup process from `BOOTSTRAP.md`.
The bootstrap process:
1. Checks for web search and crawling capabilities
The skill establishes persistent local storage under ~/.openclaw/workspace/meetup-planner/ and later directs the agent to maintain long-lived files for preferences, events, reminders, config, and backups. This persistence is not inherently malicious, but it creates retained behavioral and interest data over time, increases privacy exposure, and can support unattended future actions such as scheduled searches and reminders.
1. ✅ Check for web search and crawling capabilities
2. 🎯 Learn your event preferences through a friendly conversation
3. ⏰ Set up automated daily searches (optional)
4. 📁 Create workspace structure with proper permissions
**Setup takes 2-3 minutes**. If you don't have search/crawling tools installed, I'll ask you to provide them.
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.
"entryPoint": "SKILL.md",
"install": {
"preInstall": {
"message": "⚠️ SETUP REQUIRED\n\nBefore installing this skill:\n1. Ensure you have web search and scraping tools/skills available\n2. Review required permissions\n\nThis skill will:\n- Create files in ~/.openclaw/workspace/meetup-planner/\n- Set up cron jobs for scheduled tasks (optional)\n- Use whatever search and scraping capabilities you have installed\n\nContinue only if you trust this source.",
"confirm": true
},
"postInstall": {
The skill directs the agent to inspect the global skills directory to discover installed search and scraping capabilities. Enumerating unrelated installed skills exceeds the minimum needed for a meetup planner and can reveal environment details or create unnecessary coupling to other capabilities that were not explicitly granted for this task.
No suspicious patterns detected.