T08 · Insecure Dependencies
- Location
SKILL.md:7- Finding
Unpinned External npm Package Creates a Supply-Chain Risk
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This lead-generation skill is a real contact-data scraper, but it needs Review because it combines broad contact harvesting with weak scoping and an unpinned external npm installer.
Review this carefully before installing. Use it only in a restricted environment, avoid sensitive targeting queries, verify that collected contacts are business-only and legally usable, protect or delete exported lead files promptly, and prefer a pinned, reviewed package version or the inspected local script over the unpinned npm installer.
SKILL.md:7Unpinned External npm Package Creates a Supply-Chain Risk
Referenced artifact was not completely inspected
node scripts/scraper.js --query "SaaS companies Austin Texas" --count 25 --output leads.json
Referenced artifact was not completely inspected
node scripts/scraper.js --query "SaaS companies Austin Texas" --count 25 --output leads.json
The skill advertises installation of a Node-based package and includes commands that invoke a scraper and lead-generation CLI, but it does not declare any explicit tool scope or allowed network permissions. Because the skill’s purpose is external research and data collection, hidden or overly broad network access could be exercised without clear user or platform-level constraints, increasing the chance of unreviewed outbound access and data handling.
The skill is specifically designed to collect, score, package, and deliver identifiable business contact information, including names, emails, phone numbers, and LinkedIn profiles, yet it does not present an explicit upfront warning about privacy-sensitive handling of personal/business contact data. Even though ethical guidelines are included later, the workflow normalizes mass collection and export of contact data, which can enable privacy violations, regulatory noncompliance, or downstream misuse for spam and unsolicited outreach.
The script advertises lead generation but implements broad scraping of Google results and arbitrary third-party sites to collect emails, phone numbers, and LinkedIn URLs. In the context of a B2B lead-generation skill, this creates privacy, compliance, and terms-of-service risk because it harvests contact data from sites not explicitly integrated or consented, and users may not realize their queries are being sent to external services and used for mass collection.
The script sends user-supplied domains and search terms to external services such as Google Search and Google DNS-over-HTTPS without explicit notice, consent, or privacy guidance. In a lead-generation skill, queries may reveal targeting strategy, customer lists, or sensitive business intent, so undisclosed transmission to third parties creates avoidable privacy and confidentiality exposure.
The code fabricates a contact profile by hardcoding values like name "Contact" and title "Decision Maker" while also assigning confidence labels such as "found_on_site" and scoring the lead as if it were qualified. This can mislead downstream users or automated systems into treating unverified or synthetic contact identities as trustworthy business intelligence, causing compliance, reputational, and operational harm.
The script writes scraped contact information, including emails and phone numbers, to disk with no warning, minimization, or protection guidance. Because the skill is specifically designed to collect lead data, this increases the chance that personal data is stored insecurely, retained too long, or redistributed without appropriate legal basis or access controls.