Back to skill

Security audit

Social Media Automation Skills Registry

Security checks for vulnerabilities and agentic risk

Overview

This registry is mostly transparent, but it recommends installing mutable remote skill content and can route users toward high-impact Bolta automation, so it should be reviewed before use.

Install only from a pinned, reviewed release or commit and verify checksums where possible. Use a least-privilege Bolta key, start in a test workspace, and separately review any downloaded skills before enabling admin, cron, autopilot, key-rotation, workspace-configuration, or agent-memory workflows.

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
SKILL.md:525
Finding

Mutable and Unverified Remote Skill-Pack Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 525-532
Vulnerability Type: Supply-chain risk from an unpinned remote dependency
Risk Level: Medium

Vulnerable Code

bash
# Clone the complete Bolta skills repository
git clone https://github.com/boltaai/bolta-skills.git

# Or download the latest release
curl -L https://github.com/boltaai/bolta-skills/archive/refs/heads/main.zip -o bolta-skills.zip
unzip bolta-skills.zip

Technical Analysis

Both installation methods retrieve content from the mutable default branch of an external repository. Neither method pins the downloaded content to an immutable commit or release, and no checksum or cryptographic signature is verified before extraction.

Although the ZIP archive is not directly executed by these commands, it contains instruction-bearing skills intended to be loaded by an AI agent. Consequently, changes made to the remote branch after this audit can alter the effective behavior of the installed skill pack without changing the audited SKILL.md.

Recommending installation of the complete repository also expands the trust boundary from this documentation-only registry to more than 36 externally maintained skills. This exceeds the minimum dependency footprint needed merely to provide registry and recommendation functionality.

Attack Path

  1. An attacker compromises the upstream repository, a maintainer account, or the branch publication process.
  2. The attacker adds malicious or unsafe instructions to one or more skills on the main branch.
  3. A user follows the documented git clone or curl installation command.
  4. The mutable, attacker-controlled content is downloaded without integrity verification.
  5. The user or agent loads one of the downloaded skills.
  6. The malicious instructions may then attempt to use whatever tools, credentials, network access, or workspace permissions are available to that agent.

Impact Ass

...[truncated 929 chars]

Remediation
View remediation

Remediation Suggestions

  1. Replace references to main with an immutable, reviewed commit hash or a specific release tag.
  2. Publish a SHA-256 digest for every supported archive and verify it before extraction:
    bash
    curl -L https://github.com/boltaai/bolta-skills/archive/<immutable-commit>.zip -o bolta-skills.zip
    echo "<expected-sha256>  bolta-skills.zip" | sha256sum --check -
    unzip bolta-skills.zip
    
  3. Prefer signed release artifacts and verify the maintainer's cryptographic signature before installation.
  4. Recommend downloading only the individual skills required for the selected workflow rather than installing the full repository.
  5. Require local review or automated security scanning of every downloaded SKILL.md and associated script before making it available to an agent.
  6. Load newly installed skills in a sandbox with no secrets and minimal tool permissions until their behavior has been verified.
  7. Document the exact reviewed version in both the registry metadata and installation instructions, and fail closed if that version cannot be retrieved or verified.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (42)

Self-Modification

High
Category
Rogue Agent
Confidence
85% confidence
Finding

Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.

Content

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

RECOMMEND: bolta.quota.status to view usage

IF daily_posts_used >= daily_post_limit: BLOCK: All posts:write skills RECOMMEND: Increase quota via bolta.workspace.config

text

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The frontmatter states "This is a registry index, not a callable skill," but later sections instruct users to "Run: bolta.skills.index" and describe it as returning personalized recommendations. In a markdown skill file, contradictory activation/invocation guidance makes it unclear when this skill should activate versus when it is documentation only, which can lead to unintended or confused use.

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 456)May include surrounding context.

See the full API documentation for all available endpoints.

bash
curl https://platty.boltathread.com/v1/posts \
  -H "Authorization: Bearer ${BOLTA_API_KEY}" \
  -H "X-Workspace-ID: ${BOLTA_WORKSPACE_ID}" \
  -H "Content-Type: application/json" \

Unsafe Defaults

Medium
Category
Tool Misuse
Confidence
80% confidence
Finding

Tool defaults are unsafe or overly permissive (e.g. disabled TLS verification, no authentication, world-writable permissions). Unsafe defaults widen the attack surface.

Content

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

md
"excluded_skills": [
    {
      "skill": "bolta.cron.generate_and_schedule",
      "reason": "Requires autonomy_mode=autopilot AND safe_mode=OFF"
    }
  ],
  "warnings": [],

Vague Triggers

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The "When to Use" section lists broad natural-language situations such as "What can Bolta do?" and "Which skills do I need?" without defining explicit trigger phrases, boundaries, or exclusion cases. For markdown guidance, this can create an overly broad activation scope because the registry could appear applicable to many common requests without clear constraints.

Content

No source excerpt is available for this finding.

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

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

md
**Purpose:** Interactive voice profile creation wizard
**Inputs:** Brand name, industry, target audience, sample content
**Outputs:** Complete VoiceProfile (tone, dos, don'ts, constraints)
**Permissions:** `voice:write`
**Safe Mode:** Compatible
**Roles:** Viewer, Creator, Editor, Admin
**Typical Duration:** 5-10 minutes (interactive)

Static analysis

Detected: suspicious.exposed_secret_literal

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
SKILL.md:385