T09 · Insecure Skill Coding Practices
- Location
SKILL.md:335- Finding
Shell and JSON Injection Through Unsafe Construction of curl Commands
- Content
View full analysis
.json", "time": , "content": "", "richContent": "", "stickerData": "", "diaryCoverImageName": null, "category": , "title": "", "imageList": [], "isDeleted": false, "lastModified": , "hideTitle": false }' ``` ```bash curl -s -X PUT "https://api.opennote.cc/api/v1/diaries/" \ -H "Authorization: Bearer $OPENNOTE_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "content": "...", "richContent": "...", "lastModified": }' ``` ```bash curl -s "https://api.opennote.cc/api/v1/diaries?category=CATEGORY_ID&search=KEYWORD&limit=50&offset=0" \ -H "Authorization: Bearer $OPENNOTE_API_TOKEN" ``` ```bash curl -s "https://api.opennote.cc/api/v1/diaries/FILENAME.json" \ -H "Authorization: Bearer $OPENNOTE_API_TOKEN" ``` ### Technical Analysis The Skill directs an agent to place user-controlled note text, titles, search terms, filenames, and image paths directly into shell command templates. It does not require use of a JSON serializer, URL encoding, strict filename validation, or a subprocess API that passes arguments without invoking a shell. The JSON request body is enclosed in shell single quotes. If untrusted content is inserted into that body without robust serialization, an embedd ...[truncated 2226 chars]- Remediation
View remediation
