Una skill per coding agent può contenere comandi eseguibili, oltre alle istruzioni. In una ricerca pubblicata l'11 maggio, Datadog Security Labs ha descritto una skill pubblica di Claude Code che tentava di ottenere il token GitHub dell'utente. La domanda pratica è se esaminate una skill come codice eseguibile prima di consentire a un agente di caricarla.
La skill, chiamata Clawsights, si presentava come una classifica sull'uso di Claude Code. Datadog vi ha trovato istruzioni per eseguire `gh auth token` e inviare il token a un endpoint esterno insieme a un rapporto d'uso. I ricercatori hanno identificato un tentativo di furto di credenziali. Il loro rapporto non dimostra che la skill pubblicata abbia effettivamente sottratto token a utenti reali.
Perché il rifiuto del modello può arrivare troppo tardi?
Datadog ha prima provato una copia modificata della skill, sostituendo la destinazione con un dominio controllato dai ricercatori. Claude Code con Opus 4.6 ha riconosciuto la richiesta visibile del token e si è rifiutato di eseguirla. In quel test la difesa ha funzionato, ma la verifica non si è fermata lì.
Le skill di Claude Code supportano anche il contesto dinamico: i comandi shell marcati con `!` vengono eseguiti durante la preparazione della skill, prima che il testo risultante arrivi al modello. In un test controllato, Datadog ha usato questo meccanismo per aggiungere comandi di lettura e invio del token. I comandi sono partiti prima che il modello potesse rifiutare la skill. In prove successive, il team riferisce anche che Opus 4.7 ha eseguito la skill modificata senza riconoscere il furto. Sono osservazioni nelle condizioni descritte, non una previsione per ogni modello o configurazione.
Quali percorsi dovreste verificare?
- Step 01Fate l'inventario delle skill nelle directory personali, di progetto, annidate e dei plugin. Trattate i file di skill presenti in un repository come codice da esaminare prima dell'uso.
- Step 02Controllate le impostazioni iniziali della skill e i comandi di contesto dinamico: permessi shell estesi, lettura di credenziali e richieste verso l'esterno. Valutate l'impostazione gestita `disableSkillShellExecution` se la funzione non serve.
- Step 03Limitate l'ambito dei token e le connessioni in uscita dalla postazione; monitorate processi e rete durante il lavoro dell'agente. Un rifiuto del modello non può annullare un comando già eseguito.
Con Find It, HikmaAI può valutare le superfici supportate degli agenti basati su skill; Fix It e Prove It si applicano alle interazioni instradate attraverso un confine protetto. Un comando shell eseguito in preparazione sulla postazione dello sviluppatore può trovarsi fuori da quel percorso. Verificate le impostazioni di esecuzione della skill e i controlli dell'host nella stessa revisione.
Un test semplice: prendete una skill già in uso, individuate ogni comando che può partire prima che il modello lo veda e verificate quali credenziali e destinazioni può raggiungere.


