T09 · Insecure Skill Coding Practices
- Location
references/wechat-pay-guide.md:220- Finding
Client-Controlled Payment Amount Enables Order Price Manipulation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This Chinese mini-program monetization guide is not deceptive, but its payment and membership examples contain serious security gaps that could mishandle paid access or revenue.
Install only if you treat this as a high-level monetization reference, not production-ready payment code. Before using its examples, require server-authoritative pricing, verified payment callbacks, order locking, amount and currency reconciliation, idempotent fulfillment, authenticated user identity, pinned dependencies, and a review by someone familiar with WeChat Pay security.
references/wechat-pay-guide.md:220Client-Controlled Payment Amount Enables Order Price Manipulation
references/wechat-pay-guide.md:121Payment Callback Marks Orders Paid Without Complete Transaction Reconciliation
references/membership-implementation.md:115Membership Activation and Renewal Do Not Require Verified Payment
references/ad-monetization.md:254Client-Controlled User Identifier Is Used for Advertisement Entitlement
references/wechat-pay-guide.md:45Third-Party Payment Dependencies Are Installed Without Version Pinning
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
代码实现:
<!-- 页面底部Banner广告 -->
<ad unit-id="adunit-xxx" ad-type="banner" />
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
代码实现:
<!-- 页面底部Banner广告 -->
<ad unit-id="adunit-xxx" ad-type="banner" />
The natural-language content presents the skill in Chinese and does not indicate that the user can choose another language. Under the policy, forcing a specific language without user opt-in is a language/locale policy concern unless the restriction is clearly justified.
The skill says to use it when users mention broad terms like "会员系统", "支付接入", and similar keywords, which can appear in many general product or development conversations beyond monetization-specific requests. It does not provide exclusion conditions or negative examples to clarify when those terms should not invoke this skill.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
**后端关键点:**
- 统一下单接口:`https://api.mch.weixin.qq.com/v3/pay/transactions/jsapi`
- 签名算法:HMAC-SHA256
- 回调通知:验签 + 更新订单状态
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
**后端关键点:**
- 统一下单接口:`https://api.mch.weixin.qq.com/v3/pay/transactions/jsapi`
- 签名算法:HMAC-SHA256
- 回调通知:验签 + 更新订单状态
In this markdown file, the embedded frontend purchase flow creates an order, requests payment parameters, and triggers payment via multiple remote API calls, but the surrounding skill description provides no warning that user/order data will be sent to backend payment endpoints or that a paid action will be initiated. Under the markdown criteria for SQP-2, behaviors affecting user data and financial actions should be disclosed clearly in the description.
The file’s natural-language instructions, examples, and labels are all presented only in Chinese. Under the policy rule, forcing a specific language without user opt-in can be a locale/language policy violation when no alternative or justification is provided.
该技能文档从标题开始即完全以中文编写,没有说明这是面向特定中文用户群体的区域性文档,也没有提供其他语言选项或用户可选的本地化说明。根据规则,强制单一语言而无用户选择,属于自然语言层面的语言/locale 政策风险。