Back to skill

Security audit

ABM Outbound

Security checks for vulnerabilities and agentic risk

Overview

This skill openly supports outbound sales automation, but it collects and uses sensitive personal contact and home-address data without adequate privacy or consent guardrails.

Review this skill carefully before installing. Use it only for lawful, authorized business outreach, avoid personal emails, phone numbers, and home addresses unless you have a documented basis to process them, and verify vendor terms, suppression lists, unsubscribe handling, data retention, and privacy obligations before running any campaign.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (19)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

This section instructs users to perform skip tracing to obtain physical addresses and then use those addresses for handwritten outreach, which materially increases sensitivity and potential harm. Physical-address enrichment and unsolicited mail campaigns can enable stalking-like behavior, harassment, or serious privacy violations if recipients did not consent or if the data is inaccurate.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill is explicitly designed to scrape LinkedIn profiles, enrich them with email and phone data, and obtain mailing addresses for outbound campaigns, yet it provides no warning about privacy, consent, lawful basis, or sensitive-data handling. Because it operationalizes collection and use of personal data across multiple third-party services, users may process regulated personal information in ways that violate privacy policies, data protection law, or internal compliance requirements.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
83% confidence
Finding

This API call sends LinkedIn profile URLs to a third-party scraping service, which is an external transmission of prospect data. In context, the transmission is intentional functionality rather than covert exfiltration, but it is still security-relevant because users are not warned that prospect identifiers are being disclosed to an external processor.

Content

Scanner excerpt · SKILL.md (reported line 55)May include surrounding context.

Step 2: Scrape LinkedIn Profiles

bash
curl -X POST "https://api.apify.com/v2/acts/harvestapi~linkedin-profile-scraper/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

External Transmission

Medium
Category
Data Exfiltration
Confidence
83% confidence
Finding

This API call sends LinkedIn profile URLs to a third-party scraping service, which is an external transmission of prospect data. In context, the transmission is intentional functionality rather than covert exfiltration, but it is still security-relevant because users are not warned that prospect identifiers are being disclosed to an external processor.

Content

Scanner excerpt · SKILL.md (reported line 55)May include surrounding context.

Step 2: Scrape LinkedIn Profiles

bash
curl -X POST "https://api.apify.com/v2/acts/harvestapi~linkedin-profile-scraper/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

External Transmission

Medium
Category
Data Exfiltration
Confidence
86% confidence
Finding

The Apollo enrichment request transmits personal identifiers to a third party and requests additional sensitive contact data, including personal emails and phone numbers. In this skill's ABM/outreach context, that makes the transmission more dangerous because it directly supports large-scale contact enrichment without any privacy or authorization safeguards.

Content

Scanner excerpt · SKILL.md (reported line 71)May include surrounding context.

Step 3: Enrich with Apollo (Email & Phone)

bash
curl -X POST "https://api.apollo.io/api/v1/people/bulk_match" \
  -H "X-Api-Key: $APOLLO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

External Transmission

Medium
Category
Data Exfiltration
Confidence
94% confidence
Finding

This step transmits a person's name to a skip-tracing service to retrieve a mailing address, which is a particularly sensitive external disclosure because it facilitates identifying residential location data. In context, the data is then used for outreach, increasing the risk of privacy harm, targeting, and misuse if the lookup is inaccurate or unauthorized.

Content

Scanner excerpt · SKILL.md (reported line 91)May include surrounding context.

Step 4: Get Mailing Address (Skip Trace)

bash
curl -X POST "https://api.apify.com/v2/acts/one-api~skip-trace/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": ["John Doe"]}'

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The outreach workflow automates transmission of personal data to email, LinkedIn, and direct-mail providers without any warning that user-supplied and enriched PII will be sent to external systems and may trigger real-world communications. This raises risks of privacy noncompliance, spam/anti-harassment issues, accidental disclosure, and unwanted side effects at scale.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
82% confidence
Finding

This call pushes contacts into an email campaign platform, causing external transmission of prospect data and potentially immediate campaign enrollment. While expected for the feature, the skill does not warn that this action may trigger real outbound messaging and share PII with a third-party provider.

Content

Scanner excerpt · SKILL.md (reported line 107)May include surrounding context.

Option 1: Apollo Sequences (Recommended)

bash
curl -X POST "https://api.apollo.io/api/v1/emailer_campaigns/add_contact_ids" \
  -H "X-Api-Key: $APOLLO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

External Transmission

Medium
Category
Data Exfiltration
Confidence
84% confidence
Finding

This Instantly.ai request transmits personal contact details and personalization content to a third-party outbound system for campaign use. The risk is amplified by the automation context because users may unknowingly upload leads and initiate outreach without reviewing privacy, spam, or disclosure implications.

Content

Scanner excerpt · SKILL.md (reported line 119)May include surrounding context.

Option 2: Instantly.ai

bash
curl -X POST "https://api.instantly.ai/api/v1/lead/add" \
  -H "Authorization: Bearer $INSTANTLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/enrichment.md (reported line 6)May include surrounding context.

LinkedIn Scraping (Apify)

bash
curl -X POST "https://api.apify.com/v2/acts/harvestapi~linkedin-profile-scraper/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"profileUrls": ["https://linkedin.com/in/username"]}'

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/enrichment.md (reported line 6)May include surrounding context.

LinkedIn Scraping (Apify)

bash
curl -X POST "https://api.apify.com/v2/acts/harvestapi~linkedin-profile-scraper/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"profileUrls": ["https://linkedin.com/in/username"]}'

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

This reference explicitly instructs collection and enrichment of sensitive personal data, including personal emails, phone numbers, and home addresses from public records, without any discussion of consent, lawful basis, minimization, or handling restrictions. In the context of an outbound automation skill, this materially increases privacy, stalking, harassment, and compliance risk because the data is meant to be operationalized for multi-channel contact, including physical mail.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
93% confidence
Finding

This API call transmits personal identifiers to Apollo while explicitly enabling revelation of personal emails and phone numbers. In this skill's ABM outbound context, the transmission is part of a workflow to acquire sensitive contact data for unsolicited outreach, making it more dangerous than a generic third-party API call because it facilitates doxxing-like enrichment and privacy-invasive targeting.

Content

Scanner excerpt · references/enrichment.md (reported line 24)May include surrounding context.

Apollo: Email & Phone Enrichment

bash
curl -X POST "https://api.apollo.io/api/v1/people/bulk_match" \
  -H "X-Api-Key: $APOLLO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

External Transmission

Medium
Category
Data Exfiltration
Confidence
93% confidence
Finding

This API call transmits personal identifiers to Apollo while explicitly enabling revelation of personal emails and phone numbers. In this skill's ABM outbound context, the transmission is part of a workflow to acquire sensitive contact data for unsolicited outreach, making it more dangerous than a generic third-party API call because it facilitates doxxing-like enrichment and privacy-invasive targeting.

Content

Scanner excerpt · references/enrichment.md (reported line 24)May include surrounding context.

Apollo: Email & Phone Enrichment

bash
curl -X POST "https://api.apollo.io/api/v1/people/bulk_match" \
  -H "X-Api-Key: $APOLLO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{

External Transmission

Medium
Category
Data Exfiltration
Confidence
99% confidence
Finding

This API call sends a person's name to a skip-trace service specifically to obtain a home mailing address and additional personal contact details. In an outbound campaign skill that coordinates physical mail, this is especially dangerous because it operationalizes residential-address discovery for contact or targeting, creating severe privacy, harassment, stalking, and regulatory risk.

Content

Scanner excerpt · references/enrichment.md (reported line 54)May include surrounding context.

Skip Trace (Mailing Address)

bash
curl -X POST "https://api.apify.com/v2/acts/one-api~skip-trace/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": ["John Doe"]}'

External Transmission

Medium
Category
Data Exfiltration
Confidence
99% confidence
Finding

This API call sends a person's name to a skip-trace service specifically to obtain a home mailing address and additional personal contact details. In an outbound campaign skill that coordinates physical mail, this is especially dangerous because it operationalizes residential-address discovery for contact or targeting, creating severe privacy, harassment, stalking, and regulatory risk.

Content

Scanner excerpt · references/enrichment.md (reported line 54)May include surrounding context.

Skip Trace (Mailing Address)

bash
curl -X POST "https://api.apify.com/v2/acts/one-api~skip-trace/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": ["John Doe"]}'

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
85% confidence
Finding

This markdown file includes example API usage that sends an API key in headers and recipient-identifying data in request bodies. While the file warns that the API key cannot be viewed again, it does not warn users that they are transmitting personal/contact data to an external service or remind them to ensure they have authority to share that data.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/scribeless-api.md (reported line 18)May include surrounding context.

The Scribeless API uses the X-API-Key header for authentication.

bash
curl -X POST "https://platform.scribeless.co/api/recipients" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '...'

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/scribeless-api.md (reported line 94)May include surrounding context.

Example: Single Recipient

bash
curl --location 'https://platform.scribeless.co/api/recipients' \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{

Static analysis

No suspicious patterns detected.