Back to skill

Security audit

Instagram auto reply comments with DMs

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed Upload-Post integration for Instagram comment-to-DM automation, but users should carefully confirm any persistent or bulk messaging setup.

Install only if you trust Upload-Post with your Instagram automation workflow and API key. Before starting a monitor or bulk DM action, confirm the exact post, message, keywords, audience, duration, and stop/delete controls, and verify that your campaign follows Meta rules and applicable consent or anti-spam requirements.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (1)

T08 · Insecure Dependencies

Warning
Location
README.md:27
Finding

Unpinned Remote Installation Creates a Supply-Chain Risk

Content
View full analysis

Vulnerability Details

File Location: README.md, lines 27–31
Vulnerability Type: Unpinned third-party installer and Skill source
Risk Level: Medium

Vulnerable Code

markdown
### Claude Code / skills.sh

```bash
npx skills add Upload-Post/upload-post-comment-funnel
text

### Technical Analysis

The documented installation command invokes `npx` without pinning the `skills` package to a reviewed version. It also identifies the Skill repository by a mutable repository reference rather than an immutable release or commit hash. No checksum, package signature, or other integrity-verification procedure is specified.

As a result, the content executed or installed when a user follows this command can differ from the content reviewed during this audit. A compromise of the package registry account, installer package, source repository, or associated publishing credentials could introduce malicious installer behavior or modified Skill instructions.

This finding concerns the documented installation path. The audited project itself contains only Markdown files, and no embedded malicious script was identified.

### Attack Path

1. An attacker compromises the unpinned `skills` package, its publishing account, the referenced Skill repository, or another relevant distribution component.
2. The attacker publishes a modified package or Skill revision containing malicious code or instructions.
3. A user follows the documented `npx skills add Upload-Post/upload-post-comment-funnel` command.
4. `npx` obtains and executes the currently resolved installer package, which retrieves the mutable Skill source.
5. The compromised component executes with the invoking user's permissions or installs malicious Skill content into the agent environment.
6. The installed content can subsequently influence agent operations or access resources available to the installation process.

### Impact Assessment

Successful exploitation could run arbitrary installer code with the 
...[truncated 429 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin the skills installer to a specific reviewed version rather than relying on the latest registry resolution:
    bash
    npx --yes skills@<reviewed-version> add Upload-Post/upload-post-comment-funnel@<immutable-reference>
    
  2. Pin the Skill source to an immutable release tag backed by a protected commit, or preferably to a full commit hash if the installer supports it.
  3. Publish SHA-256 checksums or signed release manifests for distributed artifacts and require verification before installation.
  4. Use package provenance and cryptographic signing supported by the package registry and release platform.
  5. Recommend downloading and reviewing the installer and Skill contents before execution in sensitive environments.
  6. Run installation with least privilege in a sandbox or isolated environment, without unrelated secrets in environment variables.
  7. Document the exact installer version, Skill revision, expected checksums, and verification commands so users can reproduce the audited installation.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (20)

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

The README instructs users to run npx skills add Upload-Post/upload-post-comment-funnel without pinning a specific version, which can cause installation of whatever package/version is current at execution time. That creates a supply-chain risk: if the package or one of its transient dependencies is compromised or changed maliciously, users may execute unreviewed code during installation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill describes automated comment monitoring and unsolicited private messaging of third parties but does not present a clear warning about consent, platform-policy constraints, rate limits, or privacy/compliance obligations. In this context, omission is risky because the tool is explicitly designed for scaled outreach and persistent monitoring, which increases the chance of abusive deployment, policy violations, or unlawful processing of user interactions.

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 · SKILL.md (reported line 13)May include surrounding context.

md
env:
        - UPLOAD_POST_API_KEY
      bins:
        - curl
    primaryEnv: UPLOAD_POST_API_KEY
    homepage: "https://upload-post.com"
---

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 · SKILL.md (reported line 37)May include surrounding context.

Authorization: Apikey YOUR_API_KEY

text

Base URL: `https://api.upload-post.com/api`

The `user` parameter is the **profile name** (not username) from the Upload-Post dashboard.

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 · SKILL.md (reported line 101)May include surrounding context.

Authorization: Apikey YOUR_API_KEY

text

Base URL: `https://api.upload-post.com/api`

The `user` parameter is the **profile name** (not username) from the Upload-Post dashboard.

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 · SKILL.md (reported line 110)May include surrounding context.

Authorization: Apikey YOUR_API_KEY

text

Base URL: `https://api.upload-post.com/api`

The `user` parameter is the **profile name** (not username) from the Upload-Post dashboard.

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 · SKILL.md (reported line 120)May include surrounding context.

Authorization: Apikey YOUR_API_KEY

text

Base URL: `https://api.upload-post.com/api`

The `user` parameter is the **profile name** (not username) from the Upload-Post dashboard.

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 · SKILL.md (reported line 126)May include surrounding context.

Authorization: Apikey YOUR_API_KEY

text

Base URL: `https://api.upload-post.com/api`

The `user` parameter is the **profile name** (not username) from the Upload-Post dashboard.

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 · SKILL.md (reported line 132)May include surrounding context.

Authorization: Apikey YOUR_API_KEY

text

Base URL: `https://api.upload-post.com/api`

The `user` parameter is the **profile name** (not username) from the Upload-Post dashboard.

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 · SKILL.md (reported line 138)May include surrounding context.

Authorization: Apikey YOUR_API_KEY

text

Base URL: `https://api.upload-post.com/api`

The `user` parameter is the **profile name** (not username) from the Upload-Post dashboard.

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 · SKILL.md (reported line 153)May include surrounding context.

Authorization: Apikey YOUR_API_KEY

text

Base URL: `https://api.upload-post.com/api`

The `user` parameter is the **profile name** (not username) from the Upload-Post dashboard.

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 · SKILL.md (reported line 162)May include surrounding context.

Authorization: Apikey YOUR_API_KEY

text

Base URL: `https://api.upload-post.com/api`

The `user` parameter is the **profile name** (not username) from the Upload-Post dashboard.

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 · SKILL.md (reported line 169)May include surrounding context.

Authorization: Apikey YOUR_API_KEY

text

Base URL: `https://api.upload-post.com/api`

The `user` parameter is the **profile name** (not username) from the Upload-Post dashboard.

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 · SKILL.md (reported line 204)May include surrounding context.

Authorization: Apikey YOUR_API_KEY

text

Base URL: `https://api.upload-post.com/api`

The `user` parameter is the **profile name** (not username) from the Upload-Post dashboard.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill tells the agent to choose persistent monitoring when users say broad phrases like 'set up a funnel' or 'activate monitoring'. Because persistent mode launches a server-side background process that continues for up to 15 days and can DM commenters automatically, ambiguous activation language can cause the agent to take a durable external action the user may not have intended. This is more dangerous in context because the action is not limited to the current session and can continue messaging people after the conversation ends.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
94% confidence
Finding

The skill explicitly instructs the agent to start a background process on Upload-Post's servers that continues monitoring comments and sending DMs after the agent session ends. This is a true session-persistence risk because it creates durable autonomous behavior outside user visibility, and the monitor can run for up to 15 days, potentially messaging many users if misconfigured or started on ambiguous intent.

Content

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

md
### Persistent Monitor Endpoints

These start a background process on Upload-Post's servers that monitors comments and sends DMs automatically. No need for the agent to stay running.

#### Start Monitor

External Transmission

Medium
Category
Data Exfiltration
Confidence
88% confidence
Finding

This endpoint starts a remote background monitor that sends automated DMs through an external service. The action transmits post URLs, message content, profile identifiers, and automation parameters to a third party and initiates durable behavior outside the current session, which becomes risky if called without clear user authorization or adequate scoping such as trigger keywords.

Content

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

Start Monitor

bash
curl -X POST "https://api.upload-post.com/api/uploadposts/autodms/start" \
  -H "Authorization: Apikey YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{

External Transmission

Medium
Category
Data Exfiltration
Confidence
87% confidence
Finding

This endpoint sends private DMs to commenters through an external service, transmitting comment identifiers and message content and causing outreach to end users. In context, this is the skill's core purpose, but it is still security-relevant because misuse could spam users, send unintended content, or act on comments beyond what the user explicitly approved.

Content

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

This is the core action. It sends a DM to the person who wrote the comment, using Meta's official Private Replies API.

bash
curl -X POST "https://api.upload-post.com/api/uploadposts/comments/reply" \
  -H "Authorization: Apikey YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{

External Transmission

Medium
Category
Data Exfiltration
Confidence
80% confidence
Finding

This endpoint sends follow-up DMs to conversation participants via a third-party service. The risk is moderate because it performs outbound messaging based on conversation data and could be misused for unsolicited or overbroad follow-ups if the agent does not carefully respect the 24-hour window and user intent.

Content

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

Continue a conversation with someone who replied.

bash
curl -X POST "https://api.upload-post.com/api/uploadposts/dms/send" \
  -H "Authorization: Apikey YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The invocation examples for persistent mode overlap with ordinary setup requests such as 'set up a funnel' or 'activate it', which can be interpreted as configuration help rather than authorization to begin automated DM sending. In this skill, that ambiguity is significant because starting the monitor creates ongoing off-session behavior on a third-party service and may message all matching future commenters without another approval step.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.