Back to skill

Security audit

LinkedIn DM

Security checks for vulnerabilities and agentic risk

Overview

This skill is coherent for LinkedIn outreach, but it gives agents high-impact messaging authority and includes explicit anti-detection guidance plus broad personal-data logging.

Review carefully before installing. This skill may send LinkedIn messages from your authenticated account, read profile information for you and recipients, and store identifiable outreach records in Google Sheets or a local JSON file. Only use it if the outreach complies with LinkedIn rules, applicable anti-spam requirements, and your privacy obligations; prefer per-message review and avoid retaining full message text or relationship notes unless needed.

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
Findings (1)

other

Warning
Location
SKILL.md:148
Finding

Automated Bulk Messaging with Platform Anti-Detection Guidance

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:44-47, 148-152; references/browser-workflow.md:4-6, 27-35
Vulnerability Type: Platform anti-abuse evasion
Risk Level: Medium

Evidence

SKILL.md:44-47:

markdown
### 4. Browser Setup
- **Option A — Chrome Browser Relay** (`profile="chrome"`): extension attached to LinkedIn tab (badge ON) — recommended for flagged accounts
- **Option B — OpenClaw Isolated Browser** (`profile="openclaw"`): openclaw-managed Chrome, LinkedIn logged in

SKILL.md:148-152:

markdown
## Anti-Detection Rules

- `/feed/` before **every single profile** — non-negotiable
- 3–5 second wait after feed loads
- Max **15–20 messages per session**
- Stop immediately if LinkedIn warns about messaging rate — tell the user

references/browser-workflow.md:4-6:

markdown
# Option A — Chrome Relay (recommended for flagged accounts):
browser action=tabs profile=chrome
→ note targetId of the LinkedIn tab — reuse throughout, never open new tabs

references/browser-workflow.md:27-35:

markdown
## ⚠️ Mandatory Between Every Profile — No Exceptions

Navigate to feed before every new profile. Jumping directly between profiles is the #1 automation detection trigger.

browser action=navigate profile=<PROFILE> targetId=<TAB> targetUrl=https://www.linkedin.com/feed/ browser action=act request={"kind":"wait","timeMs":4000}

text

Technical Analysis

The Skill performs repeated, browser-automated LinkedIn messaging and explicitly prescribes behavior intended to reduce automation detection. The instructions recommend a browser relay for accounts already flagged, require navigation through the feed because direct profile-to-profile navigation is described as an automation-detection trigger, introduce artificial delays, and cap each session below a stated messaging threshold.

Although rate limiting and stopping on a warning r ...[truncated 2689 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove all language and procedures explicitly intended to evade automation detection, including references to flagged accounts, detection triggers, and navigation patterns designed to appear human.
  2. Do not treat feed navigation, artificial waits, or session thresholds as methods for avoiding enforcement. Any pacing controls should be documented strictly as reliability and recipient-safety measures.
  3. Require the operator to confirm that the outreach complies with LinkedIn's current terms, applicable anti-spam rules, organizational policy, and recipient-consent requirements.
  4. Replace unattended batch sending with a human-in-the-loop control that displays the recipient and final text and requires an explicit confirmation immediately before each external send.
  5. Introduce conservative hard limits across both sessions and campaigns. Do not allow local or CRM state to be used to bypass a daily or campaign-wide limit.
  6. Add duplicate, prior-conversation, suppression-list, and recent-contact checks before composing or sending any message.
  7. Stop permanently for the current campaign when the platform presents a warning or restriction; do not recommend switching browser profiles, relays, accounts, or sessions to continue.
  8. Minimize profile-data collection to fields necessary for the approved message. Define retention periods and avoid storing location, education, mutual-connection, or conversation details unless required.
  9. Protect local progress files with restrictive permissions and avoid placing sensitive outreach records in shared or predictable working directories.
  10. Prefer an officially supported LinkedIn integration or API where available, using documented authorization, rate limits, and platform-approved messaging capabilities.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (10)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill makes reading the sender’s full LinkedIn profile mandatory, including career history, education, and location, without warning that these personal details are being collected and used. This is dangerous because it normalizes silent harvesting of personal profile data and increases the risk of unnecessary exposure or secondary use.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill stores personally identifiable outreach data in Google Sheets or a local JSON file without an explicit privacy warning, retention policy, or safeguards. This is dangerous because contact names, roles, profile URLs, message content, and campaign notes could be exposed, overshared, or retained longer than intended.

Content

No source excerpt is available for this finding.

Ssd 4

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The staged two-message sequence is intentionally designed to build rapport with individualized social cues before delivering a standardized pitch, making automated outreach appear more authentic than it is. In context, this increases deception and manipulative social engineering risk because recipients may infer a genuine personal outreach rather than scaled automated messaging.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The anti-detection rules are designed to evade LinkedIn rate limits and behavioral safeguards by forcing navigation patterns, wait times, and capped session volume. This is dangerous because it operationalizes stealthy automation against a third-party platform and encourages bypass of abuse-detection controls, increasing the chance of policy violations, account restrictions, and misuse at scale.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The workflow expands from LinkedIn messaging into exporting contact and outreach metadata to Google Sheets or a local file, which is a separate data-handling capability with privacy and security implications. Because it stores names, roles, companies, profile URLs, message content, notes, and timestamps, it increases the blast radius of any compromise or misuse beyond the browser automation task itself.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The workflow stores personal and outreach data externally or locally without any visible warning, consent checkpoint, or privacy notice. In this context, the data includes identifiable professional profile information and conversation context, so silent persistence creates privacy, compliance, and user-expectation risks.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The logging instructions explicitly capture opener text, pitch text, and free-form notes such as prior conversation history and mutual connections, which can contain sensitive personal data and relationship intelligence in plain language. Storing this in Google Sheets or a local JSON file materially increases exposure to unauthorized access, accidental sharing, and downstream misuse.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

Invoking an external CLI tool to append data to Google Sheets introduces an additional execution and exfiltration path not inherent to LinkedIn browser automation. This broadens the trust boundary to local tooling and external SaaS, and could leak outreach data if the tool is misconfigured, authenticated to the wrong account, or abused in a larger agent workflow.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
73% confidence
Finding

The manifest says the input is a file or list with connection names and companies, then the skill generates personalized outreach. The file's instructions broaden that by mandating collection and storage of the sender's profile details such as career history, education, and location to drive relationship analysis.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

The manifest description focuses on taking a list, generating personalized LinkedIn DMs, sending them, and tracking status. In contrast, the skill documentation expands behavior to requesting a Google Sheet, optionally setting one up, and treating it as the long-term source of truth for outreach, which is a broader operational capability than the manifest describes.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.