Back to skill

Security audit

B2B Outbound Sniper

Security checks across malware telemetry and agentic risk

Overview

This skill is not malware, but it can automatically add scraped contacts to a live outbound email campaign, so users should review it carefully before installing.

Install only if you intentionally want automated commercial outreach. Use a dedicated Hunter campaign and limited API keys, confirm unsubscribe and legal compliance settings, set strict quotas, review leads before enrollment where possible, and protect or delete local tracking files containing contact data.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (7)

Lp3

Medium
Category
MCP Least Privilege
Confidence
96% confidence
Finding
The skill declares access to secrets, file writes, and networked automation in metadata and documentation, but the finding indicates those capabilities are not explicitly declared as permissions. That mismatch is dangerous because users and the platform may not receive an accurate trust boundary: the skill can scrape external services, write local config/log files, and use API keys to modify Hunter campaigns, including adding leads that trigger outbound email workflows.

Missing User Warnings

Medium
Confidence
97% confidence
Finding
The documentation describes an automated pipeline that scrapes hiring signals, verifies business emails, adds net-new recipients to a Hunter campaign, and states that 'Hunter handles the full send sequence automatically,' but it does not present this as a prominent user warning. This is dangerous because a user could enable the skill expecting research or lead generation only, while in practice it can cause autonomous commercial outreach and associated legal, reputational, and account-abuse consequences.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The script is explicitly designed to send scraped job-board data, discovered domains, and verified recipient details to third-party services (Apify and Hunter) and to load contacts into an outbound campaign automatically. In an agent skill context, this is a genuine security/privacy concern because it performs external data disclosure and campaign mutation without any interactive consent, disclosure prompt, or policy guardrails.

External Transmission

Medium
Category
Data Exfiltration
Content
"country": "US",
        "maxItems": MAX_ITEMS,
    }
    r = requests.post(url, params=params, json=payload, timeout=300)
    r.raise_for_status()
    return r.json()
Confidence
89% confidence
Finding
This call transmits query and location data plus an API token to Apify, initiating remote scraping and exporting workflow inputs to an external service. While expected for the feature, it is still a real exfiltration/network-action surface in an autonomous skill because the user may not realize their prompts, targeting criteria, and credentials are being sent off-platform.

External Transmission

Medium
Category
Data Exfiltration
Content
"website": website,
        }]
    }
    r = requests.post(
        f"https://api.hunter.io/v2/campaigns/{campaign_id}/recipients",
        params={"api_key": api_key},
        json=payload,
Confidence
95% confidence
Finding
This request uploads recipient email addresses, names, company, and website directly into a Hunter campaign, causing an external side effect beyond simple retrieval. In an autonomous agent setting this is more dangerous than a read-only API call because it can silently create outreach targets, trigger downstream sales operations, and leak personal/contact data to a third party.

External Transmission

Medium
Category
Data Exfiltration
Content
def hunter_domain_search(api_key, domain, limit=5):
    """Return emails for a domain at or above MIN_CONFIDENCE."""
    r = requests.get(
        "https://api.hunter.io/v2/domain-search",
        params={"domain": domain, "api_key": api_key, "limit": limit},
        timeout=15,
    )
Confidence
86% confidence
Finding
This call sends company domains and an API key to Hunter's domain-search service to retrieve employee email data. In context, this is intentional functionality, but it still represents external disclosure and automated enrichment of lead data, which is sensitive in a prospecting skill and should not occur silently.

External Transmission

Medium
Category
Data Exfiltration
Content
offset = 0
    while True:
        r = requests.get(
            f"https://api.hunter.io/v2/campaigns/{campaign_id}/recipients",
            params={"api_key": api_key, "limit": 100, "offset": offset},
            timeout=15,
        )
Confidence
84% confidence
Finding
This request fetches full recipient lists from an external campaign, exposing campaign membership and contact data to the running script. Although read-only, it expands access to potentially sensitive business data and should be treated as a meaningful external-data access path in an autonomous skill.

VirusTotal

66/66 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.