Back to skill

Security audit

Social Media Suite

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent social-media posting guide, but it asks users to store long-lived account credentials in local plaintext files and gives live public-posting examples without enough safety guidance.

Review carefully before installing or following this skill. Use a test account first, avoid public posting until you verify the target account and visibility, and do not store long-lived tokens in the project directory unless you add strict file permissions, git exclusions, and a rotation or revocation plan.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:38
Finding

Plaintext Storage of Long-Lived Social Media Credentials

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (7)

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

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

md
- An Instagram account with **Creator** or **Business** status.
    - A Facebook Page connected to your Instagram account.
    - A Facebook App with the necessary permissions: `instagram_basic`, `instagram_content_publish`, `pages_show_list`, `pages_read_engagement`.
    - A long-lived **User Access Token** from your Facebook App.

2.  **Credential Files**:
    Create the following files inside the `{baseDir}/credentials/` directory:

Credential Access

High
Category
Privilege Escalation
Confidence
88% confidence
Finding

The documentation instructs users to paste a long-lived Instagram access token into a plain local file in {baseDir}/credentials/. Storing high-value long-lived tokens in plaintext materially increases the chance of credential theft from filesystem access, accidental commits, backups, or other local compromise, which could enable unauthorized posting and account misuse.

Content

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

md
2.  **Credential Files**:
    Create the following files inside the `{baseDir}/credentials/` directory:
    - `instagram_user_access_token`: Paste your long-lived User Access Token into this file.
    - `instagram_account_id`: Paste your Instagram Account ID into this file.

### 1.2 YouTube Setup

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

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

md
bash {baseDir}/run.sh auth --platform youtube
    ```

    Follow the on-screen instructions to log in with your Google account and grant permission. This will create a `youtube_credentials.json` file in the `{baseDir}/credentials/` directory.

---

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

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

Refresh YouTube Token

The YouTube access token expires periodically. The script attempts to refresh it automatically, but you can also trigger a manual refresh if needed.

bash
bash {baseDir}/run.sh auth --platform youtube --refresh

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
This `SKILL.md` is the user-facing documentation. The actual logic would be implemented in a `run.sh` script that parses the arguments and calls the appropriate

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation promotes automatic posting to Instagram and YouTube but does not prominently warn that commands can publish to live accounts and make content publicly visible. This increases the risk of accidental posting, reputational harm, or unintended disclosure, especially because the examples include real publishing actions and a public privacy setting for YouTube.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The setup instructions tell users to store long-lived access tokens and OAuth credential files under a local credentials directory without any security guidance. This is dangerous because such files can be exposed through weak file permissions, backups, logs, source control, or multi-user systems, leading to takeover of connected social-media accounts.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.