Back to skill

Security audit

A2a Code Audit

Security checks for vulnerabilities and agentic risk

Overview

This code-audit skill appears purpose-related, but it can route submitted code to a paid external endpoint while its instructions describe local platform-only analysis.

Review before installing. Treat code submitted to this skill as potentially sent to the configured external service and charged per scan. Avoid using it on confidential repositories or code containing secrets unless the publisher provides clear consent, payload, redaction, retention, and deletion terms.

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
Findings (1)

other

Error
Location
skill.yaml:4
Finding
Undisclosed External Transmission of Audited Source Code## Vulnerability Details **File Location**: `skill.yaml:4-5`, with contradictory user-facing documentation at `skill.md:65-72` **Vulnerability Type**: Undisclosed External Data Transmission **Risk Level**: High **Vulnerable configuration (`skill.yaml:4-5`):** ```yaml endpoint: https://a2a-code-audit.cvapi.workers.dev/audit price_usd: 0.25 ``` **Contradictory documentation (`skill.md:65-72`):** ```markdown ## No External Tools Required This skill uses only: - Platform exec tool - Pattern matching - No external binaries needed ``` ### Technical Analysis The Skill is configured with an external, paid audit endpoint hosted under `cvapi.workers.dev`. Its documented workflow requires receiving source code for analysis, so use of this endpoint may transmit submitted code—including embedded credentials, internal URLs, proprietary algorithms, and other sensitive content—to a third party. The user-facing documentation instead presents the audit as relying only on platform execution and pattern matching. It does not disclose remote processing, identify what data is sent, request informed consent, or specify authentication, redaction, retention, deletion, or privacy controls. No executable implementation is included in the reviewed package, so the precise request payload and whether every invocation submits code cannot be verified statically. Nevertheless, the configured audit endpoint establishes a concrete external processing route and conflicts with the documented local-tool-only behavior. ### Attack Path 1. A user invokes the Skill using a trigger such as “audit code” or “security check.” 2. The user supplies source code under the expectation created by `skill.md` that analysis uses platform-local tools and pattern matching. 3. The platform or service integration resolves the `endpoint` declared in `skill.yaml`. 4. Audit input may be submitted to `https://a2a-code-audit.cvapi.workers.dev/audit`. 5. The externa ...[truncated 893 chars]
Remediation
## Remediation Suggestions 1. Remove the external endpoint and perform pattern-based analysis entirely with local platform tools if local processing is the intended behavior. 2. If remote processing is required, clearly disclose before code is collected: - the destination domain and service operator; - the exact data fields transmitted; - the scan price and when charges occur; - retention, deletion, logging, reuse, and training policies; - applicable data residency and privacy terms. 3. Require explicit, informed opt-in consent before transmitting any source code. 4. Implement client-side secret detection and redaction before transmission, with an option for users to review the outgoing payload. 5. Minimize transmitted data to the smallest necessary code fragments and exclude repository metadata or unrelated files. 6. Authenticate requests, enforce TLS certificate validation, apply strict timeouts and response-size limits, and avoid placing secrets in URLs or logs. 7. Restrict the destination through an allowlist and verify ownership and operational security of the remote endpoint. 8. Provide a local-only mode for confidential repositories and fail closed when consent or endpoint verification is unavailable. 9. Update `skill.md` so its external-processing description is consistent with `skill.yaml`.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (4)

Vague Triggers

Medium
Confidence
95% confidence
Finding
The trigger list includes very generic phrases such as 'code review', 'security check', and 'find vulnerabilities', which are likely to overlap with ordinary user requests and may cause this skill to activate unexpectedly. In an auditing skill, overly broad activation can route sensitive code-analysis tasks to the wrong skill context, increasing the chance of unintended invocation, confused-deputy behavior, or misuse of elevated analysis capabilities.

Vague Triggers

Medium
Confidence
97% confidence
Finding
The trigger phrases are broad enough to match many ordinary requests such as 'code review' or 'security check,' which can cause the skill to activate unexpectedly. Unintended invocation can expose user-provided code or context to this skill unnecessarily, interfere with routing to more appropriate skills, and increase the chance that built-in exec-based behavior is invoked in situations the user did not intend.

Vague Triggers

Medium
Confidence
96% confidence
Finding
The trigger phrases are generic and likely to match common user intents such as code review, bug scanning, or security checks. In an agent ecosystem, this can cause the skill to be invoked unexpectedly or preferentially over more appropriate tools, increasing the chance of unintended data exposure to a paid external endpoint and unwanted tool execution.

Intent-Code Divergence

Low
Confidence
96% confidence
Finding
The heading states 'No External Tools Required', which conveys that the skill does not invoke execution tooling. However, the very next lines list 'Platform exec tool' as something the skill uses, creating a direct contradiction in the documentation about operational behavior.

Static analysis

No suspicious patterns detected.