{"data":{"skill":{"slug":"sickn33-azure-storage-file-share-ts","name":"azure-storage-file-share-ts","icon":"📦","repo":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-storage-file-share-ts","status":"approved","author":"sickn33","authorVersion":null,"skillstoreRevision":2},"audit":{"id":"08c24a72-4baf-449a-9b6a-4f97fe0cc946","skill_id":"77060db9-5778-47a6-9adf-9448694afdf6","version":5,"content_hash":"v3:f9e2c34b4f19c7f3e6b0a1e93227b5f77cc12526:1c75e7bc0c1e860e7285714bde3588ffcb14ec017aa8d96c2947aa6fc2d761af:be6054649e2a3197afa27335a3625847a8078c9280a15b9e15ee7c8cab587407:736b696c6c732f7369636b6e33332f617a7572652d73746f726167652d66696c652d73686172652d7473:f4014d31a56b98aec079d155825c9fb9","risk_level":"safe","is_blocked":false,"safe_to_publish":true,"analysis_status":"ok","agent_auto_install_policy":"allowed","manual_install_policy":"allowed","summary":"All 116 static findings are false positives caused by Markdown formatting or expected Azure SDK examples. The file shows named environment variables, official Azure endpoints, and explicit local paths without hidden execution, credential disclosure, or unexpected external destinations. No prompt injection or other malicious intent was found.","remediation":[],"risk_factor_evidence":[{"factor":"external_commands","evidence":[{"file":"SKILL.md","line_end":17,"line_start":15},{"file":"SKILL.md","line_end":24,"line_start":17},{"file":"SKILL.md","line_end":29,"line_start":24},{"file":"SKILL.md","line_end":35,"line_start":29},{"file":"SKILL.md","line_end":41,"line_start":35},{"file":"SKILL.md","line_end":45,"line_start":41},{"file":"SKILL.md","line_end":53,"line_start":45},{"file":"SKILL.md","line_end":56,"line_start":53},{"file":"SKILL.md","line_end":60,"line_start":56},{"file":"SKILL.md","line_end":66,"line_start":60},{"file":"SKILL.md","line_end":69,"line_start":66},{"file":"SKILL.md","line_end":73,"line_start":69},{"file":"SKILL.md","line_end":80,"line_start":73},{"file":"SKILL.md","line_end":82,"line_start":80},{"file":"SKILL.md","line_end":86,"line_start":82},{"file":"SKILL.md","line_end":91,"line_start":86},{"file":"SKILL.md","line_end":97,"line_start":91},{"file":"SKILL.md","line_end":103,"line_start":97},{"file":"SKILL.md","line_end":107,"line_start":103},{"file":"SKILL.md","line_end":116,"line_start":107},{"file":"SKILL.md","line_end":120,"line_start":116},{"file":"SKILL.md","line_end":125,"line_start":120},{"file":"SKILL.md","line_end":129,"line_start":125},{"file":"SKILL.md","line_end":133,"line_start":129},{"file":"SKILL.md","line_end":137,"line_start":133},{"file":"SKILL.md","line_end":139,"line_start":137},{"file":"SKILL.md","line_end":145,"line_start":139},{"file":"SKILL.md","line_end":152,"line_start":145},{"file":"SKILL.md","line_end":156,"line_start":152},{"file":"SKILL.md","line_end":161,"line_start":156},{"file":"SKILL.md","line_end":163,"line_start":161},{"file":"SKILL.md","line_end":166,"line_start":163},{"file":"SKILL.md","line_end":170,"line_start":166},{"file":"SKILL.md","line_end":175,"line_start":170},{"file":"SKILL.md","line_end":179,"line_start":175},{"file":"SKILL.md","line_end":184,"line_start":179},{"file":"SKILL.md","line_end":190,"line_start":184},{"file":"SKILL.md","line_end":199,"line_start":190},{"file":"SKILL.md","line_end":203,"line_start":199},{"file":"SKILL.md","line_end":213,"line_start":203},{"file":"SKILL.md","line_end":217,"line_start":213},{"file":"SKILL.md","line_end":223,"line_start":217},{"file":"SKILL.md","line_end":227,"line_start":223},{"file":"SKILL.md","line_end":236,"line_start":227},{"file":"SKILL.md","line_end":240,"line_start":236},{"file":"SKILL.md","line_end":253,"line_start":240},{"file":"SKILL.md","line_end":257,"line_start":253},{"file":"SKILL.md","line_end":260,"line_start":257},{"file":"SKILL.md","line_end":264,"line_start":260},{"file":"SKILL.md","line_end":268,"line_start":264}]},{"factor":"network","evidence":[{"file":"SKILL.md","line_end":53,"line_start":53},{"file":"SKILL.md","line_end":66,"line_start":66},{"file":"SKILL.md","line_end":80,"line_start":80},{"file":"SKILL.md","line_end":283,"line_start":283},{"file":"SKILL.md","line_end":391,"line_start":391}]},{"factor":"filesystem","evidence":[{"file":"SKILL.md","line_end":209,"line_start":209},{"file":"SKILL.md","line_end":232,"line_start":232},{"file":"SKILL.md","line_end":231,"line_start":231}]},{"factor":"env_access","evidence":[{"file":"SKILL.md","line_end":39,"line_start":39},{"file":"SKILL.md","line_end":48,"line_start":48},{"file":"SKILL.md","line_end":49,"line_start":49},{"file":"SKILL.md","line_end":64,"line_start":64},{"file":"SKILL.md","line_end":76,"line_start":76},{"file":"SKILL.md","line_end":77,"line_start":77},{"file":"SKILL.md","line_end":39,"line_start":39},{"file":"SKILL.md","line_end":48,"line_start":48},{"file":"SKILL.md","line_end":49,"line_start":49},{"file":"SKILL.md","line_end":64,"line_start":64},{"file":"SKILL.md","line_end":76,"line_start":76},{"file":"SKILL.md","line_end":77,"line_start":77}]}],"critical_findings":[],"high_findings":[],"medium_findings":[],"low_findings":[],"dangerous_patterns":[],"files_scanned":1,"total_lines":503,"audit_model":"codex","audited_at":"2026-07-23T20:56:22.792+00:00","created_at":"2026-07-26T07:21:29.960908+00:00","static_findings":[{"id":"external_commands:SKILL.md:15:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":17,"severity":"medium","line_start":15},{"id":"external_commands:SKILL.md:17:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":24,"severity":"medium","line_start":17},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```bash","category":"external_commands","line_end":29,"severity":"medium","line_start":24},{"id":"external_commands:SKILL.md:29:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":35,"severity":"medium","line_start":29},{"id":"external_commands:SKILL.md:35:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":41,"severity":"medium","line_start":35},{"id":"external_commands:SKILL.md:41:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":45,"severity":"medium","line_start":41},{"id":"external_commands:SKILL.md:45:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":53,"severity":"medium","line_start":45},{"id":"external_commands:SKILL.md:53:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"`https://${accountName}.file.core.windows.net`,","category":"external_commands","line_end":56,"severity":"medium","line_start":53},{"id":"external_commands:SKILL.md:56:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":60,"severity":"medium","line_start":56},{"id":"external_commands:SKILL.md:60:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":66,"severity":"medium","line_start":60},{"id":"external_commands:SKILL.md:66:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"`https://${accountName}.file.core.windows.net`,","category":"external_commands","line_end":69,"severity":"medium","line_start":66},{"id":"external_commands:SKILL.md:69:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":73,"severity":"medium","line_start":69},{"id":"external_commands:SKILL.md:73:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":80,"severity":"medium","line_start":73},{"id":"external_commands:SKILL.md:80:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"`https://${accountName}.file.core.windows.net${sasToken}`","category":"external_commands","line_end":82,"severity":"medium","line_start":80},{"id":"external_commands:SKILL.md:82:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":86,"severity":"medium","line_start":82},{"id":"external_commands:SKILL.md:86:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":91,"severity":"medium","line_start":86},{"id":"external_commands:SKILL.md:91:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":97,"severity":"medium","line_start":91},{"id":"external_commands:SKILL.md:97:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":103,"severity":"medium","line_start":97},{"id":"external_commands:SKILL.md:103:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":107,"severity":"medium","line_start":103},{"id":"external_commands:SKILL.md:107:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":116,"severity":"medium","line_start":107},{"id":"external_commands:SKILL.md:116:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":120,"severity":"medium","line_start":116},{"id":"external_commands:SKILL.md:120:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":125,"severity":"medium","line_start":120},{"id":"external_commands:SKILL.md:125:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":129,"severity":"medium","line_start":125},{"id":"external_commands:SKILL.md:129:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":133,"severity":"medium","line_start":129},{"id":"external_commands:SKILL.md:133:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":137,"severity":"medium","line_start":133},{"id":"external_commands:SKILL.md:137:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":139,"severity":"medium","line_start":137},{"id":"external_commands:SKILL.md:139:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":145,"severity":"medium","line_start":139},{"id":"external_commands:SKILL.md:145:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":152,"severity":"medium","line_start":145},{"id":"external_commands:SKILL.md:152:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":156,"severity":"medium","line_start":152},{"id":"external_commands:SKILL.md:156:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":161,"severity":"medium","line_start":156},{"id":"external_commands:SKILL.md:161:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"console.log(`[DIR] ${item.name}`);","category":"external_commands","line_end":163,"severity":"medium","line_start":161},{"id":"external_commands:SKILL.md:163:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"console.log(`[FILE] ${item.name} (${item.properties.contentLength} bytes)`);","category":"external_commands","line_end":166,"severity":"medium","line_start":163},{"id":"external_commands:SKILL.md:166:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":170,"severity":"medium","line_start":166},{"id":"external_commands:SKILL.md:170:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":175,"severity":"medium","line_start":170},{"id":"external_commands:SKILL.md:175:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":179,"severity":"medium","line_start":175},{"id":"external_commands:SKILL.md:179:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":184,"severity":"medium","line_start":179},{"id":"external_commands:SKILL.md:184:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":190,"severity":"medium","line_start":184},{"id":"external_commands:SKILL.md:190:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":199,"severity":"medium","line_start":190},{"id":"external_commands:SKILL.md:199:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":203,"severity":"medium","line_start":199},{"id":"external_commands:SKILL.md:203:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":213,"severity":"medium","line_start":203},{"id":"external_commands:SKILL.md:213:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":217,"severity":"medium","line_start":213},{"id":"external_commands:SKILL.md:217:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":223,"severity":"medium","line_start":217},{"id":"external_commands:SKILL.md:223:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":227,"severity":"medium","line_start":223},{"id":"external_commands:SKILL.md:227:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":236,"severity":"medium","line_start":227},{"id":"external_commands:SKILL.md:236:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":240,"severity":"medium","line_start":236},{"id":"external_commands:SKILL.md:240:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":253,"severity":"medium","line_start":240},{"id":"external_commands:SKILL.md:253:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":257,"severity":"medium","line_start":253},{"id":"external_commands:SKILL.md:257:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":260,"severity":"medium","line_start":257},{"id":"external_commands:SKILL.md:260:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":264,"severity":"medium","line_start":260},{"id":"external_commands:SKILL.md:264:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":268,"severity":"medium","line_start":264},{"id":"external_commands:SKILL.md:268:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":272,"severity":"medium","line_start":268},{"id":"external_commands:SKILL.md:272:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":278,"severity":"medium","line_start":272},{"id":"external_commands:SKILL.md:278:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":282,"severity":"medium","line_start":278},{"id":"external_commands:SKILL.md:282:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":289,"severity":"medium","line_start":282},{"id":"external_commands:SKILL.md:289:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":295,"severity":"medium","line_start":289},{"id":"external_commands:SKILL.md:295:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":303,"severity":"medium","line_start":295},{"id":"external_commands:SKILL.md:303:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":307,"severity":"medium","line_start":303},{"id":"external_commands:SKILL.md:307:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":312,"severity":"medium","line_start":307},{"id":"external_commands:SKILL.md:312:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":316,"severity":"medium","line_start":312},{"id":"external_commands:SKILL.md:316:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":322,"severity":"medium","line_start":316},{"id":"external_commands:SKILL.md:322:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":328,"severity":"medium","line_start":322},{"id":"external_commands:SKILL.md:328:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":331,"severity":"medium","line_start":328},{"id":"external_commands:SKILL.md:331:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":335,"severity":"medium","line_start":331},{"id":"external_commands:SKILL.md:335:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":337,"severity":"medium","line_start":335},{"id":"external_commands:SKILL.md:337:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":341,"severity":"medium","line_start":337},{"id":"external_commands:SKILL.md:341:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":343,"severity":"medium","line_start":341},{"id":"external_commands:SKILL.md:343:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":349,"severity":"medium","line_start":343},{"id":"external_commands:SKILL.md:349:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":352,"severity":"medium","line_start":349},{"id":"external_commands:SKILL.md:352:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":356,"severity":"medium","line_start":352},{"id":"external_commands:SKILL.md:356:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":360,"severity":"medium","line_start":356},{"id":"external_commands:SKILL.md:360:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":364,"severity":"medium","line_start":360},{"id":"external_commands:SKILL.md:364:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":366,"severity":"medium","line_start":364},{"id":"external_commands:SKILL.md:366:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":372,"severity":"medium","line_start":366},{"id":"external_commands:SKILL.md:372:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":391,"severity":"medium","line_start":372},{"id":"external_commands:SKILL.md:391:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"const sasUrl = `https://${accountName}.file.core.windows.net/my-share/my-directory/my-file.txt?${sas","category":"external_commands","line_end":392,"severity":"medium","line_start":391},{"id":"external_commands:SKILL.md:392:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":396,"severity":"medium","line_start":392},{"id":"external_commands:SKILL.md:396:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":407,"severity":"medium","line_start":396},{"id":"external_commands:SKILL.md:407:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":411,"severity":"medium","line_start":407},{"id":"external_commands:SKILL.md:411:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":429,"severity":"medium","line_start":411},{"id":"external_commands:SKILL.md:429:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"console.error(`Storage error ${error.statusCode}: ${error.message}`);","category":"external_commands","line_end":434,"severity":"medium","line_start":429},{"id":"external_commands:SKILL.md:434:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":438,"severity":"medium","line_start":434},{"id":"external_commands:SKILL.md:438:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```typescript","category":"external_commands","line_end":470,"severity":"medium","line_start":438},{"id":"external_commands:SKILL.md:470:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"```","category":"external_commands","line_end":477,"severity":"medium","line_start":470},{"id":"external_commands:SKILL.md:477:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"4. **Use streaming for large files** — `uploadStream`/`downloadToFile` for files > 256MB","category":"external_commands","line_end":477,"severity":"medium","line_start":477},{"id":"external_commands:SKILL.md:480:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"7. **Handle errors gracefully** — Check `RestError.statusCode` for specific handling","category":"external_commands","line_end":481,"severity":"medium","line_start":480},{"id":"external_commands:SKILL.md:481:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"8. **Use `*IfExists` methods** — For idempotent operations","category":"external_commands","line_end":487,"severity":"medium","line_start":481},{"id":"external_commands:SKILL.md:487:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `StorageSharedKeyCredential` | ✅ | ❌ |","category":"external_commands","line_end":488,"severity":"medium","line_start":487},{"id":"external_commands:SKILL.md:488:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `uploadFile()` | ✅ | ❌ |","category":"external_commands","line_end":489,"severity":"medium","line_start":488},{"id":"external_commands:SKILL.md:489:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `uploadStream()` | ✅ | ❌ |","category":"external_commands","line_end":490,"severity":"medium","line_start":489},{"id":"external_commands:SKILL.md:490:ruby-shell-backtick-execution","file":"SKILL.md","pattern":"Ruby/shell backtick execution","snippet":"| `downloadToFile()` | ✅ | ❌ |","category":"external_commands","line_end":491,"severity":"medium","line_start":490},{"id":"network:SKILL.md:53:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"`https://${accountName}.file.core.windows.net`,","category":"network","line_end":53,"severity":"low","line_start":53},{"id":"network:SKILL.md:66:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"`https://${accountName}.file.core.windows.net`,","category":"network","line_end":66,"severity":"low","line_start":66},{"id":"network:SKILL.md:80:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"`https://${accountName}.file.core.windows.net${sasToken}`","category":"network","line_end":80,"severity":"low","line_start":80},{"id":"network:SKILL.md:283:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"const sourceUrl = \"https://account.file.core.windows.net/share/source.txt\";","category":"network","line_end":283,"severity":"low","line_start":283},{"id":"network:SKILL.md:391:hardcoded-url","file":"SKILL.md","pattern":"Hardcoded URL","snippet":"const sasUrl = `https://${accountName}.file.core.windows.net/my-share/my-directory/my-file.txt?${sas","category":"network","line_end":391,"severity":"low","line_start":391},{"id":"filesystem:SKILL.md:209:node-js-fs-stat-operations","file":"SKILL.md","pattern":"Node.js fs stat operations","snippet":"const fileSize = fs.statSync(localFilePath).size;","category":"filesystem","line_end":209,"severity":"low","line_start":209},{"id":"filesystem:SKILL.md:232:node-js-fs-stat-operations","file":"SKILL.md","pattern":"Node.js fs stat operations","snippet":"const fileSize = fs.statSync(\"/path/to/local/file.txt\").size;","category":"filesystem","line_end":232,"severity":"low","line_start":232},{"id":"filesystem:SKILL.md:231:file-stream-creation","file":"SKILL.md","pattern":"File stream creation","snippet":"const readStream = fs.createReadStream(\"/path/to/local/file.txt\");","category":"filesystem","line_end":231,"severity":"medium","line_start":231},{"id":"env_access:SKILL.md:39:environment-variable-access-dot-notation","file":"SKILL.md","pattern":"Environment variable access (dot notation)","snippet":"process.env.AZURE_STORAGE_CONNECTION_STRING!","category":"env_access","line_end":39,"severity":"low","line_start":39},{"id":"env_access:SKILL.md:48:environment-variable-access-dot-notation","file":"SKILL.md","pattern":"Environment variable access (dot notation)","snippet":"const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME!;","category":"env_access","line_end":48,"severity":"low","line_start":48},{"id":"env_access:SKILL.md:49:environment-variable-access-dot-notation","file":"SKILL.md","pattern":"Environment variable access (dot notation)","snippet":"const accountKey = process.env.AZURE_STORAGE_ACCOUNT_KEY!;","category":"env_access","line_end":49,"severity":"low","line_start":49},{"id":"env_access:SKILL.md:64:environment-variable-access-dot-notation","file":"SKILL.md","pattern":"Environment variable access (dot notation)","snippet":"const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME!;","category":"env_access","line_end":64,"severity":"low","line_start":64},{"id":"env_access:SKILL.md:76:environment-variable-access-dot-notation","file":"SKILL.md","pattern":"Environment variable access (dot notation)","snippet":"const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME!;","category":"env_access","line_end":76,"severity":"low","line_start":76},{"id":"env_access:SKILL.md:77:environment-variable-access-dot-notation","file":"SKILL.md","pattern":"Environment variable access (dot notation)","snippet":"const sasToken = process.env.AZURE_STORAGE_SAS_TOKEN!;","category":"env_access","line_end":77,"severity":"low","line_start":77},{"id":"env_access:SKILL.md:39:environment-variable-object","file":"SKILL.md","pattern":"Environment variable object","snippet":"process.env.AZURE_STORAGE_CONNECTION_STRING!","category":"env_access","line_end":39,"severity":"low","line_start":39},{"id":"env_access:SKILL.md:48:environment-variable-object","file":"SKILL.md","pattern":"Environment variable object","snippet":"const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME!;","category":"env_access","line_end":48,"severity":"low","line_start":48},{"id":"env_access:SKILL.md:49:environment-variable-object","file":"SKILL.md","pattern":"Environment variable object","snippet":"const accountKey = process.env.AZURE_STORAGE_ACCOUNT_KEY!;","category":"env_access","line_end":49,"severity":"low","line_start":49},{"id":"env_access:SKILL.md:64:environment-variable-object","file":"SKILL.md","pattern":"Environment variable object","snippet":"const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME!;","category":"env_access","line_end":64,"severity":"low","line_start":64},{"id":"env_access:SKILL.md:76:environment-variable-object","file":"SKILL.md","pattern":"Environment variable object","snippet":"const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME!;","category":"env_access","line_end":76,"severity":"low","line_start":76},{"id":"env_access:SKILL.md:77:environment-variable-object","file":"SKILL.md","pattern":"Environment variable object","snippet":"const sasToken = process.env.AZURE_STORAGE_SAS_TOKEN!;","category":"env_access","line_end":77,"severity":"low","line_start":77},{"id":"sensitive:SKILL.md:39:environment-file-access","file":"SKILL.md","pattern":"Environment file access","snippet":"process.env.AZURE_STORAGE_CONNECTION_STRING!","category":"sensitive","line_end":39,"severity":"high","line_start":39},{"id":"sensitive:SKILL.md:48:environment-file-access","file":"SKILL.md","pattern":"Environment file access","snippet":"const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME!;","category":"sensitive","line_end":48,"severity":"high","line_start":48},{"id":"sensitive:SKILL.md:49:environment-file-access","file":"SKILL.md","pattern":"Environment file access","snippet":"const accountKey = process.env.AZURE_STORAGE_ACCOUNT_KEY!;","category":"sensitive","line_end":49,"severity":"high","line_start":49},{"id":"sensitive:SKILL.md:64:environment-file-access","file":"SKILL.md","pattern":"Environment file access","snippet":"const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME!;","category":"sensitive","line_end":64,"severity":"high","line_start":64},{"id":"sensitive:SKILL.md:76:environment-file-access","file":"SKILL.md","pattern":"Environment file access","snippet":"const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME!;","category":"sensitive","line_end":76,"severity":"high","line_start":76},{"id":"sensitive:SKILL.md:77:environment-file-access","file":"SKILL.md","pattern":"Environment file access","snippet":"const sasToken = process.env.AZURE_STORAGE_SAS_TOKEN!;","category":"sensitive","line_end":77,"severity":"high","line_start":77}],"finding_verdicts":[{"id":"external_commands:SKILL.md:15:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:17:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:24:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:29:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:35:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:41:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:45:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:53:ruby-shell-backtick-execution","reason":"The backticks form a JavaScript template literal for an Azure File service URL. They are not shell execution, and no command API receives the string.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:56:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:60:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:66:ruby-shell-backtick-execution","reason":"The backticks form a JavaScript template literal for an Azure File service URL. They are not shell execution, and no command API receives the string.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:69:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:73:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:80:ruby-shell-backtick-execution","reason":"The backticks form a JavaScript template literal for an Azure File service URL. They are not shell execution, and no command API receives the string.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:82:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:86:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:91:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:97:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:103:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:107:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:116:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:120:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:125:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:129:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:133:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:137:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:139:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:145:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:152:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:156:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:161:ruby-shell-backtick-execution","reason":"The backticks form a JavaScript template literal used for console output in an illustrative TypeScript example. No shell or process API executes the string.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:163:ruby-shell-backtick-execution","reason":"The backticks form a JavaScript template literal used for console output in an illustrative TypeScript example. No shell or process API executes the string.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:166:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:170:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:175:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:179:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:184:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:190:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:199:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:203:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:213:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:217:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:223:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:227:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:236:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:240:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:253:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:257:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:260:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:264:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:268:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:272:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:278:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:282:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:289:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:295:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:303:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:307:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:312:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:316:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:322:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:328:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:331:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:335:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:337:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:341:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:343:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:349:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:352:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:356:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:360:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:364:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:366:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:372:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:391:ruby-shell-backtick-execution","reason":"The backticks form a JavaScript template literal for an Azure File service URL. They are not shell execution, and no command API receives the string.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:392:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:396:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:407:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:411:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:429:ruby-shell-backtick-execution","reason":"The backticks form a JavaScript template literal used for console output in an illustrative TypeScript example. No shell or process API executes the string.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:434:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:438:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:470:ruby-shell-backtick-execution","reason":"The matched backticks are Markdown code-fence delimiters, not Ruby or shell execution. SKILL.md contains documentation examples and does not invoke a command runner.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:477:ruby-shell-backtick-execution","reason":"The backticks provide inline Markdown formatting for an SDK identifier or method name. They do not execute an external command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:480:ruby-shell-backtick-execution","reason":"The backticks provide inline Markdown formatting for an SDK identifier or method name. They do not execute an external command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:481:ruby-shell-backtick-execution","reason":"The backticks provide inline Markdown formatting for an SDK identifier or method name. They do not execute an external command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:487:ruby-shell-backtick-execution","reason":"The backticks provide inline Markdown formatting for an SDK identifier or method name. They do not execute an external command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:488:ruby-shell-backtick-execution","reason":"The backticks provide inline Markdown formatting for an SDK identifier or method name. They do not execute an external command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:489:ruby-shell-backtick-execution","reason":"The backticks provide inline Markdown formatting for an SDK identifier or method name. They do not execute an external command.","verdict":"false_positive","confidence":0.99},{"id":"external_commands:SKILL.md:490:ruby-shell-backtick-execution","reason":"The backticks provide inline Markdown formatting for an SDK identifier or method name. They do not execute an external command.","verdict":"false_positive","confidence":0.99},{"id":"network:SKILL.md:53:hardcoded-url","reason":"The URL is the standard Azure File service endpoint derived from the caller's storage account name. This expected SDK endpoint is not a suspicious hardcoded destination.","verdict":"false_positive","confidence":0.97},{"id":"network:SKILL.md:66:hardcoded-url","reason":"The URL is the standard Azure File service endpoint derived from the caller's storage account name. This expected SDK endpoint is not a suspicious hardcoded destination.","verdict":"false_positive","confidence":0.97},{"id":"network:SKILL.md:80:hardcoded-url","reason":"The URL combines the expected Azure File service endpoint with a caller-provided SAS token for SDK authentication. The example does not expose the token to another host.","verdict":"false_positive","confidence":0.97},{"id":"network:SKILL.md:283:hardcoded-url","reason":"The URL is an illustrative Azure File service source passed to the documented copy API. It targets the expected Microsoft service domain, not an unexpected third party.","verdict":"false_positive","confidence":0.97},{"id":"network:SKILL.md:391:hardcoded-url","reason":"The example constructs an Azure File service SAS URL for the documented resource. It neither logs the token nor sends it to an unrelated destination.","verdict":"false_positive","confidence":0.97},{"id":"filesystem:SKILL.md:209:node-js-fs-stat-operations","reason":"The example checks the size of an explicit local file before an upload. This expected SDK workflow does not enumerate files or access an undisclosed path.","verdict":"false_positive","confidence":0.94},{"id":"filesystem:SKILL.md:232:node-js-fs-stat-operations","reason":"The example checks the size of an explicit local file before an upload. This expected SDK workflow does not enumerate files or access an undisclosed path.","verdict":"false_positive","confidence":0.94},{"id":"filesystem:SKILL.md:231:file-stream-creation","reason":"The example opens an explicit placeholder path to demonstrate a caller-requested file upload. It does not discover files, derive paths from untrusted input, or read covertly.","verdict":"false_positive","confidence":0.94},{"id":"env_access:SKILL.md:39:environment-variable-access-dot-notation","reason":"The example reads a specific Azure configuration variable by name for authentication. It does not enumerate, print, persist, or transmit the broader environment.","verdict":"false_positive","confidence":0.97},{"id":"env_access:SKILL.md:48:environment-variable-access-dot-notation","reason":"The example reads a specific Azure configuration variable by name for authentication. It does not enumerate, print, persist, or transmit the broader environment.","verdict":"false_positive","confidence":0.97},{"id":"env_access:SKILL.md:49:environment-variable-access-dot-notation","reason":"The example reads a specific Azure configuration variable by name for authentication. It does not enumerate, print, persist, or transmit the broader environment.","verdict":"false_positive","confidence":0.97},{"id":"env_access:SKILL.md:64:environment-variable-access-dot-notation","reason":"The example reads a specific Azure configuration variable by name for authentication. It does not enumerate, print, persist, or transmit the broader environment.","verdict":"false_positive","confidence":0.97},{"id":"env_access:SKILL.md:76:environment-variable-access-dot-notation","reason":"The example reads a specific Azure configuration variable by name for authentication. It does not enumerate, print, persist, or transmit the broader environment.","verdict":"false_positive","confidence":0.97},{"id":"env_access:SKILL.md:77:environment-variable-access-dot-notation","reason":"The example reads a specific Azure configuration variable by name for authentication. It does not enumerate, print, persist, or transmit the broader environment.","verdict":"false_positive","confidence":0.97},{"id":"env_access:SKILL.md:39:environment-variable-object","reason":"The example reads a specific Azure configuration variable by name for authentication. It does not enumerate, print, persist, or transmit the broader environment.","verdict":"false_positive","confidence":0.97},{"id":"env_access:SKILL.md:48:environment-variable-object","reason":"The example reads a specific Azure configuration variable by name for authentication. It does not enumerate, print, persist, or transmit the broader environment.","verdict":"false_positive","confidence":0.97},{"id":"env_access:SKILL.md:49:environment-variable-object","reason":"The example reads a specific Azure configuration variable by name for authentication. It does not enumerate, print, persist, or transmit the broader environment.","verdict":"false_positive","confidence":0.97},{"id":"env_access:SKILL.md:64:environment-variable-object","reason":"The example reads a specific Azure configuration variable by name for authentication. It does not enumerate, print, persist, or transmit the broader environment.","verdict":"false_positive","confidence":0.97},{"id":"env_access:SKILL.md:76:environment-variable-object","reason":"The example reads a specific Azure configuration variable by name for authentication. It does not enumerate, print, persist, or transmit the broader environment.","verdict":"false_positive","confidence":0.97},{"id":"env_access:SKILL.md:77:environment-variable-object","reason":"The example reads a specific Azure configuration variable by name for authentication. It does not enumerate, print, persist, or transmit the broader environment.","verdict":"false_positive","confidence":0.97},{"id":"sensitive:SKILL.md:39:environment-file-access","reason":"This is process.env access in a TypeScript authentication example, not access to an environment file. The value is passed only to the documented Azure credential flow and is not logged.","verdict":"false_positive","confidence":0.98},{"id":"sensitive:SKILL.md:48:environment-file-access","reason":"This is process.env access in a TypeScript authentication example, not access to an environment file. The value is passed only to the documented Azure credential flow and is not logged.","verdict":"false_positive","confidence":0.98},{"id":"sensitive:SKILL.md:49:environment-file-access","reason":"This is process.env access in a TypeScript authentication example, not access to an environment file. The value is passed only to the documented Azure credential flow and is not logged.","verdict":"false_positive","confidence":0.98},{"id":"sensitive:SKILL.md:64:environment-file-access","reason":"This is process.env access in a TypeScript authentication example, not access to an environment file. The value is passed only to the documented Azure credential flow and is not logged.","verdict":"false_positive","confidence":0.98},{"id":"sensitive:SKILL.md:76:environment-file-access","reason":"This is process.env access in a TypeScript authentication example, not access to an environment file. The value is passed only to the documented Azure credential flow and is not logged.","verdict":"false_positive","confidence":0.98},{"id":"sensitive:SKILL.md:77:environment-file-access","reason":"This is process.env access in a TypeScript authentication example, not access to an environment file. The value is passed only to the documented Azure credential flow and is not logged.","verdict":"false_positive","confidence":0.98}],"semantic_findings":[],"subject_marketplace_commit_sha":"f9e2c34b4f19c7f3e6b0a1e93227b5f77cc12526","subject_content_hash":"1c75e7bc0c1e860e7285714bde3588ffcb14ec017aa8d96c2947aa6fc2d761af","subject_tree_hash":"be6054649e2a3197afa27335a3625847a8078c9280a15b9e15ee7c8cab587407","subject_plugin_path":"skills/sickn33/azure-storage-file-share-ts","audit_payload_hash":"f4014d31a56b98aec079d155825c9fb9","confirmed_risk_level":"safe","scanner_version":"3.0.0","policy_version":"skillstore-security-audit-policy-v1","subject":{"marketplaceCommitSha":"f9e2c34b4f19c7f3e6b0a1e93227b5f77cc12526","contentHash":"1c75e7bc0c1e860e7285714bde3588ffcb14ec017aa8d96c2947aa6fc2d761af","treeHash":"be6054649e2a3197afa27335a3625847a8078c9280a15b9e15ee7c8cab587407","pluginPath":"skills/sickn33/azure-storage-file-share-ts","auditPayloadHash":"f4014d31a56b98aec079d155825c9fb9"},"scannerVersion":"3.0.0","policyVersion":"skillstore-security-audit-policy-v1"},"auditTranslation":null,"localization":{"requestedLocale":"en","contentLocale":"en","availableLocales":["en"],"fallbackToEnglish":false},"attestation":{"availability":"issued","url":"/api/skills/sickn33-azure-storage-file-share-ts/audits/5/attestation","status":"superseded"},"trust":{"publicState":"public","auditState":"complete","auditCurrentness":null,"confirmedRiskLevel":"safe","confirmedFindingCount":0,"capabilityReviewCount":0,"needsReviewCount":0,"falsePositiveCount":0,"agentAutoInstallPolicy":"allowed","manualInstallPolicy":"allowed","artifactSignatureState":"available","attestationState":"superseded","verificationState":"not_verified"},"isLatest":false}}