Back to skill

Security audit

Use the Content3 Agent API to create short-form videos, manage content libraries, submit reviews for human approval, and draft social media posts.

Security checks for vulnerabilities and agentic risk

Overview

The skill matches its Content3 content-management purpose, but it needs review because it stores a bearer API key in a plain local file and documents actions that can create public review links or publish to connected social accounts without explicit confirmation guidance.

Install only if you trust Content3 with the content and connected social accounts you will use. Store the API key with owner-only permissions, avoid the full-access * scope, prefer separate least-privilege keys, and require explicit confirmation before creating public review links or publishing drafts.

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:14
Finding

API Key Stored Without Explicitly Restrictive File Permissions

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 14–15
Vulnerability Type: Plaintext credential exposure caused by insecure file permissions
Risk Level: Medium

Vulnerable Code:

bash
mkdir -p ~/.config/content3
echo "c3ak_your_key_here" > ~/.config/content3/api_key

Technical Analysis

The documented setup procedure writes a reusable Content3 bearer API key to a plaintext file but does not explicitly restrict permissions on either the configuration directory or the credential file. The resulting permissions depend on the user's current umask and environment. With a permissive configuration, other local users or processes may be able to read the key.

The key is subsequently placed in the HTTP Authorization header and can grant scopes such as content modification, review management, product management, social draft creation, and publishing. The documented * scope provides full API access. Because this is a bearer credential, possession of the key is sufficient for API authentication within its assigned scopes.

Attack Path

  1. A user follows the documented setup procedure and writes a valid API key to ~/.config/content3/api_key.
  2. The user's environment has a permissive umask, causing the directory or key file to be accessible to another local principal or untrusted process.
  3. That principal reads the plaintext bearer key from the file.
  4. The principal submits the stolen key in an Authorization: Bearer header to the Content3 API.
  5. The principal invokes API operations allowed by the key's scopes, potentially including content access or modification, public review-link management, draft creation, and social-media publishing.

Exploitation requires local read access to the credential file; the documented commands do not independently grant remote access.

Impact Assessment

Successful exploitation exposes the privileges assigned to the compromised API key. Depending ...[truncated 641 chars]

Remediation
View remediation

Remediation Suggestions

Create the credential directory and file with explicit owner-only permissions rather than relying on the ambient umask:

bash
install -d -m 700 ~/.config/content3
umask 077
printf '%s\n' "c3ak_your_key_here" > ~/.config/content3/api_key
chmod 600 ~/.config/content3/api_key

Additional hardening measures:

  1. Prefer an operating-system credential manager or secret store instead of a plaintext file.
  2. Grant each API key only the minimum scopes required for the intended workflow; avoid the * scope.
  3. Use separate keys for read-only, content-management, and publishing workflows.
  4. Rotate the key immediately if unauthorized file access is suspected.
  5. Document key revocation and rotation procedures.
  6. Require explicit user confirmation before public link creation or social-media publishing.
  7. Avoid printing the key in logs, command traces, diagnostics, or error messages.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (33)

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

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

md
# content3

Use the Content3 Agent API to create short-form videos, manage content libraries, submit reviews for human approval, and draft social media posts.

## Setup

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

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

API Basics

Base URL: https://api.content3.app/v1

All requests need:

bash

Static analysis

No suspicious patterns detected.