Back to skill

Security audit

BlueColumn ClawHub Integration

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent BlueColumn audio integration, but it asks users to send sensitive audio and identifiers to an external service while also permitting unsafe plaintext API key storage.

Review before installing. Use this only if you are comfortable sending audio, user references, transcripts, embeddings, and derived analysis to BlueColumn. Do not store API keys in TOOLS.md or any project document; use a managed secret store, minimize enabled processing options, and confirm consent, retention, deletion, and access controls for any sensitive audio.

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

Plaintext API Key Storage in Project Documentation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 118–125
Vulnerability Type: Plaintext sensitive credential storage
Risk Level: Medium

Vulnerable Code Snippet

markdown
## API Key Handling

Store the BlueColumn API key using the platform's secret store (preferred) or in `TOOLS.md`:

```text
### BlueColumn
API Key: bc_live_XXXXXXXXXXXXXXXXXXXX

Keys are generated at bluecolumn.ai/dashboard. Never log or expose keys in output.

text

### Technical Analysis

The skill permits storing a live BlueColumn API key in `TOOLS.md` as an alternative to using the platform's secret store. A project or workspace file does not provide the confidentiality, access controls, auditability, or automatic redaction normally offered by a dedicated secrets-management facility.

Although the displayed key is only a placeholder and no actual credential was found, following this instruction would place a real credential in plaintext. Such a file could be committed to source control, included in backups or diagnostic archives, exposed to other workspace users, or read by agents and tools with access to project files. The warning not to expose keys in output does not mitigate the risk created by plaintext storage.

### Attack Path

1. An operator follows the documented fallback and writes a live BlueColumn API key into `TOOLS.md`.
2. The file is committed, archived, shared, processed by another agent, or accessed by a user or tool with workspace read permissions.
3. The plaintext credential is extracted from the file or its retained history.
4. The attacker submits authenticated requests to BlueColumn using the stolen key.
5. The attacker gains access to the operations and data permitted by that key until it is revoked or rotated.

This path requires access to the workspace, repository, backup, diagnostic output, or another location containing the plaintext file.

### Impact Assessment

Successful exploitation compromises the confidentiality of the BlueColumn 
...[truncated 514 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove TOOLS.md as an approved credential-storage location.
  2. Require the platform's secret store or an equivalent managed secrets facility.
  3. Inject the credential at runtime through a protected secret reference rather than writing it into project files.
  4. Ensure secret-bearing files are excluded from source control, logs, generated output, backups, and diagnostic bundles.
  5. Grant the API key only the minimum scopes required for audio ingestion and retrieval.
  6. Use separate credentials for development, testing, and production.
  7. Enable automated secret scanning and pre-commit checks for BlueColumn key patterns.
  8. Rotate any credential previously stored in TOOLS.md, and remove it from repository history and retained artifacts.
  9. Document revocation, rotation, access-audit, and incident-response procedures.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (7)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill is designed to send calls, voice notes, and user identifiers to an external API, but it provides no user-facing notice about privacy, consent, or data handling. In this context, the omission is security-relevant because the transmitted content may contain sensitive personal, financial, health, or confidential business information, and operators may enable the integration without understanding disclosure and compliance consequences.

Content

No source excerpt is available for this finding.

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

Primary Endpoint

text
POST https://api.bluecolumn.ai/v1/audio/ingest

This endpoint handles uploaded calls, music, podcasts, voice notes, and mixed audio.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documented default and example options enable extensive processing and retention, including transcription, diarization, sentiment/entity extraction, embeddings, summaries, action items, and storing the original audio, without any warning about retention, sensitivity, or downstream access. This increases the blast radius of any compromise or misuse because raw audio plus enriched derived data can reveal identities, conversations, and highly sensitive inferred attributes.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The manifest describes an integration for audio ingest, memory, semantic retrieval, and real-time audio streaming, with emphasis on the /v1/audio/ingest pipeline. The documentation then directs preservation and field handling for several non-audio endpoints, broadening the operational scope beyond the declared integration focus.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
99% confidence
Finding

The skill explicitly permits storing a live BlueColumn API key in TOOLS.md as an alternative to a secret store, which normalizes placing credentials in documentation or other plaintext project artifacts. This creates a straightforward path to accidental disclosure through source control, prompt/context exposure, backups, or downstream tool access, and the example uses a production-style key prefix, increasing the likelihood of real secret leakage.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
99% confidence
Finding

The API key guidance suggests placing a live credential in TOOLS.md without warning that this is unsafe, effectively encouraging insecure secret handling in a user-visible artifact. Because documentation may be copied into prompts, repositories, tickets, or logs, this creates a realistic credential exposure path with immediate abuse potential against the external service.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

Allowing a live API key to be stored directly in documentation is a natural-language secret exfiltration pathway: the model or surrounding tooling may later read, summarize, or reproduce that content into outputs. In agent environments, plaintext credentials in skill-adjacent files are especially dangerous because they can be surfaced through context assembly, debugging, or retrieval workflows.

Content

No source excerpt is available for this finding.

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:124