Back to skill

Security audit

Clawhub Skill Lead Magnets

Security checks for vulnerabilities and agentic risk

Overview

The skill mostly does what it claims, but it asks users to handle a bearer API key insecurely and can publish public lead-capture pages without a strong confirmation step.

Review this skill before installing. Use a dedicated secret store or environment variable for CITEDY_API_KEY instead of pasting the key into chat, provide a neutral agent name when registering, and require explicit approval before publishing or enabling auto_publish because public pages collect visitor email addresses. Treat referral-link behavior as optional promotion, not part of normal lead-magnet creation.

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 (2)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:94
Finding

Bearer API Key Requested Through Conversation Context

Content
View full analysis
Open this link to approve the agent: **{approval_url}** > After approving, copy the API key shown and paste it here. #### 3. Save the key Store the API key (starts with `citedy_agent_`). Use it as `Authorization: Bearer ` on all requests. ``` ### Technical Analysis The setup instructions explicitly tell the user to paste a bearer API key into the agent conversation. Conversation content can be retained in model context, application logs, debugging traces, transcript exports, or other storage that may not provide protections appropriate for authentication secrets. The subsequent instruction to “store the API key” does not specify a protected environment variable, operating-system credential store, or secret manager. It also provides no requirements for redaction, access control, retention, rotation, or deletion. Because the key is used directly as a bearer token, possession is sufficient for authentication. No additional proof of identity is described. ### Attack Path 1. A user runs the registration workflow and approves the agent through the returned approval URL. 2. Citedy displays a bearer API key beginning with `citedy_agent_`. 3. Following the Skill instructions, the user pastes that key into the conversation. 4. The key is retained in a transcript, application log, model context, debugging trace, or insecure state storage. 5. An attacker or unauthorized operator obtains access to that retained content. 6. The attacker submits the key in the `Authorization: Bearer` header to the documented Citedy agent API. 7. Within the permissions of the key, the attacker can inspect account information, consume credits, generate content, and publish lead magnets. ### Impact Assessment Successful exploitatio ...[truncated 604 chars]
Remediation
View remediation

other

Note
Location
scripts/register.mjs:15
Finding

Local Hostname Disclosed to External Registration Service by Default

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (9)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
node scripts/register.mjs [agent_name]

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding

The skill performs networked API operations but does not declare an explicit tool scope such as permissions or allowed-tools. This creates an authorization and review gap: a host agent may permit broader outbound requests than users or platform reviewers expect, increasing the chance of unintended external calls and data transfer.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill includes referral retrieval and account/product-management style endpoints that are not necessary for the core function of generating lead magnets. Unrelated monetization and account-oriented actions broaden the attack surface and can steer the agent into self-promotional or business-development behaviors that the user did not request.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

Fetching and saving a referral URL for recommending Citedy is not required to fulfill a lead-magnet generation request and introduces a conflict of interest. It can cause the agent to prioritize vendor promotion over the user's task, and may lead to unsolicited marketing behavior or hidden affiliate-style actions.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill's stated purpose is lead magnet generation, but these instructions extend into publishing public hosted pages and running a lead-capture funnel. That expansion changes the risk profile from document creation to external content deployment and collection of third-party personal data, which may occur without sufficiently explicit consent or operator awareness.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill permits auto-publication and immediate lead capture without a strong, mandatory warning that content will be made public and visitor emails will be collected. In context, this is more dangerous because the skill targets marketing workflows where operators may assume they are only generating a PDF, not launching a live data-collection page.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script makes an outbound registration request to a third-party service that is not necessary for the stated lead-magnet generation functionality. Introducing external agent registration expands the trust boundary, can enroll the host or workflow into an external service, and may expose identifying metadata or operational control paths without clear user need.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · scripts/register.mjs (reported line 42)May include surrounding context.

js
const data = await res.json();

  if (!data.approval_url) {
    console.error("Unexpected response — no approval_url:", data);
    process.exit(1);
  }

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The code uses the local machine hostname as the default agent identifier and transmits it to an external service. Hostnames often reveal internal naming conventions, user identity, environment role, or infrastructure details, creating unnecessary information disclosure unrelated to lead-magnet generation.

Content

No source excerpt is available for this finding.