T09 · Insecure Skill Coding Practices
- Location
scripts/score_lead.py:202- Finding
Unrestricted Outbound Requests Enable Server-Side Request Forgery
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This lead-scoring skill is mostly coherent, but its scanner can make unsafe network requests and disables HTTPS verification, so it should be reviewed before installation.
Install only if you are comfortable with it fetching websites and DNS records, extracting public contact details, and writing those results where you specify. Run it in an isolated environment, avoid scanning internal or private-network hosts, use it only for domains you are authorized to assess, pin the dnspython dependency, and fix destination validation plus normal TLS verification before using it at scale.
scripts/score_lead.py:202Unrestricted Outbound Requests Enable Server-Side Request Forgery
scripts/score_lead.py:82TLS Certificate and Hostname Verification Are Disabled
SKILL.md:24Unpinned Third-Party Dependency Creates Supply-Chain Risk
The skill advertises network access and the ability to write output files, but it does not declare any explicit tool scope or permissions boundaries. That makes its operational authority ambiguous and can lead to overbroad execution in agent environments, especially since it performs scraping, DNS queries, CSV ingestion, and optional file output.
The skill is designed to scrape websites, query DNS, and collect contact and social signals, but the user-facing description does not clearly warn about those data-collection behaviors or their privacy implications. In batch mode, this can cause users to process large sets of domains and associated contact information without informed consent or appropriate handling expectations.
The skill performs live website scraping and extracts contact data without any explicit user-facing notice, consent boundary, or warning that contact information may be collected. In the context of a lead-scoring tool, that makes the behavior more dangerous because users may reasonably expect scoring signals, not silent harvesting of contact details from multiple pages.
The script extracts email addresses from homepage, about, and contact pages and then includes them in its returned data. That goes beyond lead scoring into contact harvesting, which creates privacy, compliance, and misuse risk if the tool is used to build outreach lists or collect personal/business contact data without clear consent or disclosure.
The output includes raw enrichment fields such as email addresses, social links, and detected tech stack in addition to the score. This materially broadens the skill from scoring to reconnaissance/enrichment, increasing the chance it will be used for profiling, unsolicited outreach, or downstream data aggregation beyond the stated purpose.
The top-level documentation frames the tool as a scorer producing a score and breakdown. However, the implementation returns raw_data containing extracted emails and social profile links, which is not just a scoring breakdown and materially broadens the apparent intent.
No suspicious patterns detected.