T09 · Insecure Skill Coding Practices
- Location
SKILL.md:147- Finding
SMS Verification Codes Generated with a Non-Cryptographic PRNG
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is coherent and documentation-only, but its authentication examples include weak or incomplete security controls that users should review before copying into production.
Install only if you treat it as a high-level integration reference, not production-ready security code. Any generated implementation should add cryptographic OTP generation, enforced rate limits and attempt counters, atomic OTP verification, OAuth state validation, consent handling, encryption for identity data, and provider-specific review.
SKILL.md:147SMS Verification Codes Generated with a Non-Cryptographic PRNG
SKILL.md:137SMS Rate Limits Are Declared but Not Enforced and Verification Attempts Are Unlimited
SKILL.md:28WeChat OAuth Workflow Omits Required State Generation and Validation
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
REDIRECT_URI?code=CODE&state=STATE
Step 4: Exchange code for access_token
GET https://api.weixin.qq.com/sns/oauth2/access_token?
appid=APPID&
secret=SECRET&
code=CODE&
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
REDIRECT_URI?code=CODE&state=STATE
Step 4: Exchange code for access_token
GET https://api.weixin.qq.com/sns/oauth2/access_token?
appid=APPID&
secret=SECRET&
code=CODE&
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
REDIRECT_URI?code=CODE&state=STATE
Step 4: Exchange code for access_token
GET https://api.weixin.qq.com/sns/oauth2/access_token?
appid=APPID&
secret=SECRET&
code=CODE&
The WeChat user-info example hard-codes lang=zh_CN, which directs responses to a specific language/locale. The file does not indicate that this locale is optional or chosen based on user preference, so it can violate language/locale choice policy.
No suspicious patterns detected.