T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:340- Finding
Client-Controlled User Identity Permits Unauthorized Premium Operations
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a documentation-only RPC development skill, but its examples include unsafe payment, authorization, secret-handling, and logging patterns that could be copied into production.
Review this skill before installing or using it as a coding reference. It is not an active malware-like package, but developers should not copy the premium payment, authorization, logging, Vault, or secret-loading examples without adding authenticated identity checks, verified payment callbacks, transaction/idempotency handling, redaction, endpoint validation, and path traversal protections.
SKILL.md:340Client-Controlled User Identity Permits Unauthorized Premium Operations
SKILL.md:283Premium Entitlement Is Granted Without Verified Payment
references/v1.3.0-security.md:304Vault Token Can Be Transmitted to a Caller-Controlled or Plaintext Endpoint
references/v1.3.0-security.md:333Secret Name Is Used in a Filesystem Path Without Traversal Protection
references/v1.1.0-error-handling.md:145Logging Examples Expose Complete Requests and Private Message Content
references/v1.3.0-security.md:180CSRF Referer Validation Can Be Bypassed With a Prefix-Matching Domain
The markdown mixes English headings with substantial instructional content presented only in Chinese, including the highlighted version note and navigation items. This imposes a language choice on users without offering an alternative or opt-in, which matches the language/locale policy violation criteria.
This is a true issue: the guide’s primary implementation demonstrates unsafe patterns that it later explicitly labels as 'Wrong', including ignored errors (_ = ...), fire-and-forget async payment processing, and lack of context propagation/cancellation handling. Because this is a development skill intended to be copied by engineers, these contradictions can directly propagate reliability and security flaws into production payment and entitlement code.
This is a real vulnerability pattern: the purchase flow records a transaction and later activates premium status without a transaction boundary or compensating mechanism, despite the guide later recommending atomic operations. In payment/entitlement logic, partial failure can leave inconsistent state, such as successful activation without confirmed payment or stuck pending transactions, enabling fraud, support burden, and accounting errors.
The examples normalize logging user IDs, request data, and related sensitive fields without warning about privacy implications or safe-handling requirements. In a developer guidance skill, omission of those warnings is risky because readers are likely to treat the examples as approved patterns and replicate privacy-invasive logging broadly.
The logging guidance includes recording full request data via req.String(), which can easily capture message bodies, identifiers, tokens, or other sensitive fields. In an error-handling/logging best-practices document, demonstrating broad request logging normalizes over-collection and can lead downstream developers to persist sensitive data into logs, increasing privacy and incident-response risk.
The business-operation example logs message_preview, which directly encourages logging user-generated content. Even partial message content may contain secrets, personal information, or regulated data, so this example can cause widespread sensitive-data leakage if copied into production services.
This markdown file presents its title and surrounding instructional content in Chinese only, and there is no visible opt-in, alternative language, or justification that the skill is region-specific. That can violate a language/locale policy requiring user choice rather than forcing a specific language by default.
The file title and all instructional content are presented in Chinese, with no indication that other languages are supported or that the locale is intentionally region-specific. Under the policy, forcing a specific language without user opt-in is a natural-language locale violation.
This markdown file contains user-facing instructional content in Chinese, including headings and code-context descriptions, but does not indicate that the skill is region- or language-specific or offer an opt-in language choice. Under the policy rule, forcing a specific language without user choice is a natural-language policy violation.
The document title, headings, comments, and examples are all presented in Chinese, and there is no indication that users can opt into another language or that the file is intentionally region-specific. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy violation.
The example claims to enforce tenant isolation automatically, but it does so by blindly appending WHERE tenant_id = ? to any query string. This can produce invalid SQL when the original query already contains WHERE, ORDER BY, LIMIT, joins, or subqueries, and it can also give developers a false sense that tenant isolation is reliably enforced when it is not. In a multi-tenant RPC development guide, misleading isolation examples are security-relevant because they may be copied into production code and lead to cross-tenant data exposure or broken access controls.
The file's natural-language instructions and headings are entirely in Chinese, which effectively forces a specific language for readers without any opt-in or explanation. Under the stated policy, language constraints should either offer a choice or be clearly justified as region-specific.
The tracing example logs client IP addresses even though IPs are not necessary to illustrate trace propagation. IP addresses are personal data in many environments, and adding them to standard request logs increases privacy exposure and data-retention obligations without a clear operational need in this documentation context.
This markdown file presents its instructions and examples entirely in Chinese, beginning with the title and section headings, with no indication that the user can choose another language. Under the policy rule for natural-language violations, forcing a specific language without user opt-in is a reportable issue.
The file title and all instructional content are presented in Chinese, which imposes a specific language choice in natural-language content. The file does not indicate that language selection is optional or that the skill is intentionally region-specific.
The heading is entirely in Chinese ("数据库优化"), which indicates a language-specific presentation without any visible user choice or justification in the file. The policy explicitly flags language or locale constraints when they are imposed without opt-in.
This markdown file uses Chinese headings and labels throughout, such as the title and section names, but does not indicate that the skill is region-specific or provide any user language choice. Under the policy rule for natural-language violations, forcing a specific language without opt-in is a reportable issue.