Back to skill

Security audit

SocialKit Mastodon Post

Security checks for vulnerabilities and agentic risk

Overview

The skill’s Mastodon posting behavior matches its purpose and requires approval, though its separate approval-helper dependency was not supplied for review.

Review the separate socialkit-social-core dependency before use because it was not included. Protect your token and any env.sh file containing it, verify the configured HTTPS instance, and review the text, attachments, visibility, and schedule before approving; visibility defaults to public. The bundled source was inspected statically, but live posting and the external approval helper were not tested.

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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
3. Write `post.json` (text, media with alt text, options). See `node scripts/publish.mjs --help`.

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
4. Validate: `node scripts/publish.mjs --check --dir masto-<slug>`

Incomplete referenced artifact analysis

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
6. Publish: `node scripts/publish.mjs --publish --dir masto-<slug>` and report the result.

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 · references/setup.md (reported line 6)May include surrounding context.

Generated from docs/platforms/mastodon-setup.md; edit it there. Facts checked 2026-10-24.

  1. On your instance: Preferences > Development > New application.
  2. Scopes: read:statuses, write:statuses, write:media. Save and copy Your access token.
  3. In ~/.config/social-skills/env.sh:
    sh
    export MASTODON_INSTANCE="https://mastodon.social"
    

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 · scripts/publish.mjs (reported line 271)May include surrounding context.

js
onError: (status, body) => new PlatformError(
      `MASTODON_${status}`,
      String(body.error ?? `Mastodon API error ${status}`),
      status === 401 || status === 403 ? "The access token is invalid or lacks write:statuses / write:media." : void 0
    )
  });
}

Skill declares no tool scope ('permissions' or 'allowed-tools') but code capabilities were detected: env, network.

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.