T09 · Insecure Skill Coding Practices
- Location
SKILL.md:392- Finding
Cleartext Communication with an Unverified External API
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This English workbook skill is not malicious, but it should be reviewed because it directs users to a plaintext IP-based API that includes answer-key and question-bank operations without documented access controls.
Before installing or following this skill, verify who operates the API, require HTTPS on a named domain, avoid submitting student data or private materials, and ensure answer-key and teacher-PDF endpoints are protected by authentication and authorization.
SKILL.md:392Cleartext Communication with an Unverified External API
SKILL.md:511Unpinned Third-Party Python Dependencies
The skill explicitly supports teacher PDFs containing answers and answer-key retrieval, but it provides no indication that these outputs are sensitive and must be limited to authorized users. In an educational testing context, unrestricted access can enable students or unauthorized parties to obtain answer keys, undermining assessment integrity.
The documented endpoints /api/pdf/generate/{paper_id} and /api/answer-key/{paper_id} expose sensitive exam materials, yet the skill description omits any mention of access control, authorization, or protection of educational content. If implemented as documented, users who can guess or obtain a paper_id may retrieve protected materials without approval.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -X POST http://101.34.62.112:8083/api/practice/generate \
-H "Content-Type: application/json" \
-d '{
"version": "外研版",
SQP-3 covers language or locale policy violations when a skill forces a specific language without user opt-in. The title and throughout the document define the skill as generating English exercises only, with no indication that users can choose another language or explicitly opt into this constraint.
No suspicious patterns detected.