Back to skill

Security audit

V19 Agent Rating

Security checks for vulnerabilities and agentic risk

Overview

The skill is a simple agent-rating guide, but it asks users to contact an opaque external tunnel with governance keys and agent identifiers, so it needs review before use.

Review this skill before installing if you would rely on its ratings for real agent trust decisions. Treat the remote service as third-party infrastructure, avoid sending sensitive agent metadata, use only scoped per-user keys, and do not treat returned ratings as authoritative without independent validation.

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:55
Finding
Hard-Coded Shared Governance API Credential## Vulnerability Details **File Location**: `SKILL.md`, lines 55-61 **Vulnerability Type**: Hard-coded shared credential **Risk Level**: Medium ```bash ## Public Experience Public key: `v19-e5d585e28439decc614f09f91c4caa8c` ```bash curl -s https://boat-atlas-spa-flexible.trycloudflare.com/governance/health \ -H "X-Governance-Key: v19-e5d585e28439decc614f09f91c4caa8c" ``` ``` ### Technical Analysis The Skill publishes a reusable governance API credential directly in its documentation. Although it is explicitly described as a public key, it is transmitted through an authentication-style `X-Governance-Key` header. No documented restrictions, expiration, request scope, rate limits, or per-user attribution controls are provided. Anyone with access to the Skill can copy the key and submit requests independently. A shared credential prevents the service operator from reliably distinguishing legitimate Skill users from abusive clients. If the key grants access to endpoints beyond the demonstrated health operation, the exposure may affect additional governance functions. ### Attack Path 1. An attacker obtains the key from the publicly distributed `SKILL.md`. 2. The attacker sends requests to the governance service with the disclosed value in the `X-Governance-Key` header. 3. Requests are attributed to the shared credential rather than an individual authorized user. 4. The attacker automates requests to consume service capacity, enumerate accessible endpoints, or invoke any other operations permitted to that key. 5. Revoking the shared key disrupts every legitimate consumer using the documented example. ### Impact Assessment This issue does not grant local system privileges or access to files on the user's machine. Its scope is limited to permissions assigned to the exposed governance key. Potential effects include unauthorized API usage, quota or capacity consumption, weak audit attribution, service impersonation, a ...[truncated 94 chars]
Remediation
## Remediation Suggestions - Revoke or rotate the published key. - Do not embed reusable credentials in Skill documentation or source files. - Require each consumer to obtain an individual, revocable credential. - Store credentials in protected environment variables or an appropriate secrets manager. - Restrict credentials to the minimum necessary endpoints and operations. - Add expiration, rate limiting, per-client attribution, and automated abuse detection. - Clearly distinguish non-secret identifiers from authentication secrets. If this value is genuinely public and provides no authorization, replace the authentication-style header design with an unauthenticated public endpoint.

other

Warning
Location
SKILL.md:59
Finding
Governance Operations Depend on an Ephemeral External Tunnel## Vulnerability Details **File Location**: `SKILL.md`, lines 59-61 **Vulnerability Type**: Untrusted external service integration **Risk Level**: Medium ```bash curl -s https://boat-atlas-spa-flexible.trycloudflare.com/governance/health \ -H "X-Governance-Key: v19-e5d585e28439decc614f09f91c4caa8c" ``` ### Technical Analysis The Skill directs users to a service hosted through a `trycloudflare.com` tunnel. This is an externally controlled and potentially temporary hostname rather than a stable domain whose ownership is clearly associated with the Skill author or an identified organization. TLS protects transport to the hostname, but it does not independently establish that the tunnel operator is the intended governance provider. The documentation provides no service ownership statement, privacy policy, availability commitment, response schema, integrity verification, or instructions for validating returned governance data. Other documented operations also use the same tunnel for Agent rating and registration. The endpoint does not retrieve or execute code, so this finding is not classified as remote payload execution. The risk arises from sending requests to and trusting responses from an opaque external service. ### Attack Path 1. A user follows the Skill instructions and contacts the documented tunnel. 2. The remote service receives request metadata and any values submitted to its endpoints. 3. The tunnel operator controls the content and semantics of all responses. 4. If the service is compromised, reassigned, or operated dishonestly, it can return manipulated health or rating information. 5. A downstream Agent that trusts those responses without schema and semantic validation may make decisions based on inaccurate governance data. Exploitation requires control or compromise of the documented remote service, its tunnel configuration, or its backend. The reviewed file does not establish that such control is currentl ...[truncated 470 chars]
Remediation
## Remediation Suggestions - Host the governance API on a stable, organization-controlled domain. - Publish verifiable service ownership, operator identity, privacy terms, retention rules, and security contact information. - Make remote registration explicit and optional, and clearly describe which data is transmitted. - Minimize submitted identifiers and avoid transmitting sensitive Agent metadata. - Define and validate strict response schemas, permitted content types, size limits, and expected status codes. - Apply conservative connection and read timeouts and fail safely when the service is unavailable. - Do not treat remote rating responses as authoritative without integrity controls and independent verification. - Consider cryptographically signing governance results where downstream Agents rely on their authenticity.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (3)

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill includes ready-to-run curl commands that send requests to an external trycloudflare endpoint using a governance key and a registration API, but it does not clearly warn users that data and identifiers will leave their environment. This creates a real risk of unintended external transmission of agent metadata or secrets, especially because a public demo key is also advertised, which may normalize unsafe use of remote services.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# 按类型获取Agent评分标准
curl -s https://boat-atlas-spa-flexible.trycloudflare.com/governance/agent-rating \
  -H "X-Governance-Key: <你的专属密钥>" \
  -H "Content-Type: application/json"
```
Confidence
96% confidence
Finding
The example explicitly instructs users to send a governance key to an external endpoint, which is a direct external transmission pattern. In this skill's context, that is more dangerous because the endpoint is an externally hosted trycloudflare service and the document also promotes a public key and registration flow, increasing the chance that users will disclose operational data or credentials without sufficient scrutiny.

Natural-Language Policy Violations

Low
Confidence
95% confidence
Finding
The natural-language content of the skill is presented only in Chinese, including the description and usage guidance. Under the policy, forcing a specific language without user opt-in can be a locale-policy violation when no justification or alternative is provided.

Static analysis

No suspicious patterns detected.