Come Mercari ha distribuito Claude Code internamente in sicurezza

@hermes_code
GIAPPONESE2 giorni fa · 14 lug 2026
836K
941
91
3
2.8K

TL;DR

Questo articolo analizza il framework di sicurezza di Mercari per la distribuzione di Claude Code, incluse le configurazioni JSON specifiche per bloccare i comandi pericolosi e proteggere i file sensibili.

«Capisco che sia comodo. Ma onestamente, non fa paura che l'AI esegua comandi sui PC dei dipendenti?»

Questa è la preoccupazione più comune che sento dai dirigenti quando supporto l'implementazione dell'AI. Un'AI che rimane confinata in un browser, come ChatGPT, non è così intimidatoria. Ma Claude Code legge i file sui computer dei dipendenti, esegue comandi e accede a internet. «So che velocizza le cose. Ma chi si assume la responsabilità se succede un incidente?» Molte aziende probabilmente si trovano bloccate a questo punto.

Una grande azienda ha fornito una risposta a questa ansia. Mercari ha recentemente condiviso le proprie «impostazioni di sicurezza e metodi di distribuzione» utilizzati per implementare Claude Code presso centinaia di dipendenti durante una sessione di studio.

Inoltre, il contenuto non riguardava sistemi costosi e proprietari. Preparando e distribuendo un singolo file di configurazione, anche le piccole e medie imprese (PMI) possono replicare gran parte di esso.

Il motivo per cui Mercari è riuscita a distribuirlo a centinaia di persone non è stato un meccanismo costoso, ma un singolo «file di configurazione che i dipendenti non possono rimuovere». Le PMI possono fare lo stesso a partire da oggi.

In questo articolo, analizzerò il design di Mercari nel modo più semplice possibile, coprendo «cosa temere», «come lo ha gestito Mercari» e «da dove può iniziare la vostra azienda». Aggiungerò spiegazioni per i termini tecnici man mano che compaiono, in modo che anche i dirigenti non tecnici e i PM possano seguire.

Potete trovare i materiali della presentazione qui:

(Mercari Claude Code Organization Deployment Security Settings / Speaker Deck).

La sintassi esatta delle impostazioni è stata verificata rispetto alla documentazione ufficiale di Anthropic.

Perché Claude Code è «Comodo ma Spaventoso»?

Prima di tutto, chiariamo la natura della paura. Credo che se si copiano le impostazioni senza capire questo, non si saprà cosa si sta effettivamente proteggendo.

Ciò che rende Claude Code diverso dalla chat AI standard è che può agire autonomamente all'interno del computer locale. Può cercare e leggere file, riscriverli ed eseguire comandi shell (comandi digitati in un terminale). Può anche accedere a internet. In altre parole, quasi tutto ciò che puoi fare su quel computer, l'AI può farlo.

Nello specifico, cosa potrebbe andare storto? I computer di solito contengono cose che non vuoi vengano viste:

  • Informazioni che fungono da password per cloud o API (file di configurazione come .env, ~/.aws/credentials, ecc.)
  • Chiavi per accedere ai server (contenuti di ~/.ssh/)
  • File importanti che sarebbe disastroso se venissero eliminati

L'AI non ha malizia. Tuttavia, a causa di istruzioni ambigue o comandi incorporati in testi sospetti sul web (noti come prompt injection), potrebbe accidentalmente leggere questi file segreti e inviarli a internet, o eliminare elementi importanti usando il comando rm. La documentazione ufficiale di Anthropic raccomanda un design che limiti le autorizzazioni in base a questi rischi (Impostazioni delle autorizzazioni - Ufficiale).

In breve, ci sono tre cose da proteggere: impedire la fuga di informazioni segrete, impedire che operazioni pericolose vengano eseguite automaticamente e restringere l'ambito di ciò che può essere toccato in primo luogo. Le misure di Mercari diventano molto più facili da capire se lette attraverso queste tre lenti.

Analisi delle «5 Misure» di Mercari

La presentazione di Mercari ha riassunto cinque misure principali. Esamineremo «lo scopo» e «come implementarlo» per ciascuna.

Tieni presente che le diapositive della presentazione si concentrano sui concetti e non includono ogni dettaglio del file di configurazione. Pertanto, presenterò questo sotto forma di «come implementare le policy di Mercari utilizzando le impostazioni ufficiali di Claude Code.» I nomi delle chiavi e la sintassi sono tutti verificati dai documenti ufficiali di Anthropic.

Misura ①: Rendere la Conferma Umana «Non Saltabile»

Claude Code ha una modalità che procede automaticamente senza chiedere conferma ogni volta. Sebbene sia comoda per gli sviluppatori sui loro PC sperimentali, permetterla quando viene distribuita a tutti in azienda rimuove i freni di sicurezza.

Mercari ha disabilitato questa «modalità di bypass della conferma». Ufficialmente, sono disponibili impostazioni come permissions.disableBypassPermissionsMode (e disableAutoMode per bloccare la modalità automatica). Impostarle su «disable» impedisce agli utenti di entrare in quelle modalità. Inoltre, se inserite nelle «impostazioni gestite» descritte in seguito, i dipendenti non possono disabilitarle da soli (Impostazioni delle autorizzazioni - Ufficiale).

Il significato è semplice: impone la regola che «un umano deve dare l'OK prima che l'AI muova le mani» in tutta l'azienda.

Misura ②: Bloccare i Comandi Pericolosi, o Confermare Sempre

Successivamente, mettiamo un guinzaglio ai comandi stessi. Ad esempio, curl (un comando per recuperare dati da internet). Se usato liberamente, può diventare un canale per inviare file segreti all'esterno.

In Claude Code, puoi impostare un elenco deny per comandi specifici e un elenco ask che richiede conferma prima dell'esecuzione. La sintassi è la seguente:

json
1{
2 "permissions": {
3 "deny": [
4 "Bash(curl:*)",
5 "Bash(wget:*)"
6 ],
7 "ask": [
8 "Bash(git push:*)"
9 ]
10 }
11}

Bash(curl:*) significa «blocca tutti i comandi che iniziano con curl» (il :* alla fine rappresenta «qualsiasi cosa dopo»). Una nota importante: i documenti ufficiali affermano che tentare di consentire curl solo per destinazioni specifiche come GitHub è facilmente aggirabile tramite reindirizzamenti. Pertanto, la raccomandazione ufficiale è di bloccare completamente la comunicazione internet e unificare i recuperi necessari attraverso una porta sicura separata (Impostazioni delle autorizzazioni - Ufficiale). Questa «porta sicura» è WebFetch (una funzionalità integrata di Claude Code per il recupero da internet), dove le destinazioni possono essere inserite in una whitelist.

Misura ③: Impedire la Lettura di File Segreti e la Modifica del Sistema

Blocchiamo anche l'accesso alle informazioni segrete stesse, come i file .env dove risiedono le password o il comando sudo utilizzato per modifiche profonde al sistema.

json
1{
2 "permissions": {
3 "deny": [
4 "Read(.env)",
5 "Read(.env.*)",
6 "Read(**/.ssh/**)",
7 "Bash(sudo:*)"
8 ]
9 }
10}

Scrivere Read(.env) rende .env illeggibile a qualsiasi livello all'interno della cartella di lavoro. Una cosa da sapere per la sicurezza è che, sebbene questo elenco deny funzioni contro la lettura dei file da parte di Claude o comandi ovvi come cat, non può fermare completamente uno script scritto dall'AI dall'aprire un file segretamente in background (Impostazioni delle autorizzazioni - Ufficiale). Ecco perché la Misura ④ è necessaria.

Misura ④: Racchiudere la «Portata» con un Sandbox

Mentre un elenco deny riguarda il tracciare linee per comandi specifici, un sandbox crea un muro a livello di sistema operativo. Limita fisicamente l'AI dal toccare qualsiasi cosa al di fuori della cartella di lavoro o dal connettersi a qualsiasi cosa diversa dai domini internet consentiti.

json
1{
2 "sandbox": {
3 "enabled": true,
4 "network": {
5 "allowedDomains": ["*.github.com", "registry.npmjs.org"]
6 }
7 }
8}

Quando abilitato, anche se l'AI accidentalmente cerca di raggiungere un file segreto, non può arrivarci perché è al di fuori del «sandbox». I documenti ufficiali spiegano che si dovrebbero stratificare sia l'elenco deny (Misure ② & ③) che il sandbox per il confine finale (Sandboxing - Ufficiale). Pensalo come avere sia regole individuali che una recinzione perimetrale.

Un vincolo: Il sandboxing funziona su macOS, Linux e WSL2 (Linux su Windows), ma non è supportato su Windows nativo. Negli ambienti di lavoro incentrati su Windows, la decisione sarebbe quella di rafforzare le impostazioni delle autorizzazioni nelle Misure ①–③.

Misura ⑤: Far Leggere all'AI «Cosa Proteggere» Ogni Volta

Infine, un'angolazione diversa dalle impostazioni rigide: scrivere la policy di sicurezza aziendale in un manuale di istruzioni che l'AI legge ogni volta. Se le impostazioni sono «serrature fisiche», questo è come una «revisione delle regole del posto di lavoro».

Ci sono diversi modi tecnici per farlo, e non è chiaro dai materiali quale abbia usato Mercari. Tuttavia, il modo più semplice è posizionare un file chiamato CLAUDE.md direttamente nella cartella di lavoro ed elencare lì le regole interne. Claude Code legge questo file ogni volta.

markdown
1# Richieste di Sicurezza
2- Non aprire file .env o file di chiavi (~/.ssh/, ecc.)
3- Non inviare informazioni sui clienti o segreti commerciali a servizi esterni
4- Confermare sempre con un umano prima di eseguire operazioni di eliminazione o pubblicazione

Azione per oggi: Basta incollare queste tre righe in un file CLAUDE.md per aggiungere un livello di buon senso al comportamento dell'AI. Puoi iniziare con questo anche prima dei file di configurazione.

Azione per oggi: Non devi implementare tutto in una volta. Inizia aggiungendo solo la riga Read(.env) della Misura ③ a un file di configurazione chiamato .claude/settings.json. Crea una cartella chiamata .claude (incluso il punto iniziale) nella tua cartella di progetto e salva un file di testo chiamato settings.json al suo interno. Se vuoi che si applichi a tutti i progetti, posizionalo in ~/.claude/settings.json nella tua home directory. Puoi iniziare con la mossa più efficace: impedire all'AI di leggere file segreti.

La Vera Abilità di Mercari era nella «Distribuzione»

Finora, abbiamo coperto «cosa impostare». La presentazione di Mercari è stata particolarmente pratica perché ha affrontato come distribuire queste impostazioni a centinaia di persone.

Normalmente, i file di configurazione sono posizionati sul computer di ogni persona (impostazioni utente), il che significa che i dipendenti possono riscriverli. Questo porta a situazioni in cui «le impostazioni di sicurezza sono state distribuite, ma qualcuno le ha disabilitate».

Per risolvere questo problema, Mercari ha utilizzato MDM (Mobile Device Management, un sistema per le aziende per gestire i PC dei dipendenti) per distribuire simultaneamente «impostazioni gestite» che i dipendenti non possono sovrascrivere. Claude Code ha una posizione designata per le impostazioni gestite che hanno priorità sulle impostazioni individuali e non possono essere modificate dall'utente. Su macOS, questa è /Library/Application Support/ClaudeCode/managed-settings.json (Impostazioni - Ufficiale). Scrivendo qui le Misure ①–④, non possono essere allentate in loco.

Ancora più intelligente è stata la differenziazione dei livelli di sicurezza per ingegneri e non ingegneri:

  • Per gli Ingegneri: Impostazioni che consentono una certa personalizzazione e non ostacolano troppo la produttività.
  • Per i Non Ingegneri: Le impostazioni predefinite più sicure con meno spazio per modifiche.

Anche per lo stesso strumento, hanno regolato la lunghezza del guinzaglio in base all'alfabetizzazione dell'utente. Se tutti sono strettamente limitati, il lavoro si blocca; se tutti sono liberi, accadono incidenti. Hanno risolto questo problema variando le impostazioni distribuite.

Da Dove le PMI Possono Iniziare a Replicare

La maggior parte delle aziende probabilmente non ha MDM. Va bene così. Puoi estrarre le parti del design di Mercari che funzionano indipendentemente dalle dimensioni.

Tutto ciò che devi fare è distribuire un singolo file con impostazioni di sicurezza e farlo posizionare. Se hai MDM, distribuiscilo come impostazione gestita; in caso contrario, condividilo e dì: «Per favore, metti questo settings.json nella tua cartella .claude/». L'applicazione è minore, ma la direzione è la stessa.

Come set minimo, combinare le Misure ①–③ appare così. Raccomando di usarlo come base e aggiungere eventuali comandi specifici che la tua azienda vuole bandire.

json
1{
2 "permissions": {
3 "disableBypassPermissionsMode": "disable",
4 "deny": [
5 "Bash(curl:*)",
6 "Bash(wget:*)",
7 "Bash(sudo:*)",
8 "Read(.env)",
9 "Read(.env.*)",
10 "Read(**/.ssh/**)"
11 ],
12 "ask": [
13 "Bash(git push:*)",
14 "Bash(rm:*)"
15 ]
16 }
17}

Dall'alto verso il basso: disabilita il bypass della conferma, blocca la comunicazione internet e le operazioni di amministrazione, proibisci la lettura di file segreti e conferma sempre l'eliminazione o la pubblicazione. Anche se non capisci i contenuti, funzionerà se lo copi e lo incolli.

Se lo distribuisci a non ingegneri, raccomando la versione più sicura, che aggiunge il sandbox (Misura ④). Combinare le due impostazioni in un unico file appare così:

json
1{
2 "permissions": {
3 "disableBypassPermissionsMode": "disable",
4 "deny": [
5 "Bash(curl:*)",
6 "Bash(wget:*)",
7 "Bash(sudo:*)",
8 "Read(.env)",
9 "Read(.env.*)",
10 "Read(**/.ssh/**)"
11 ],
12 "ask": [
13 "Bash(git push:*)",
14 "Bash(rm:*)"
15 ]
16 },
17 "sandbox": {
18 "enabled": true,
19 "network": {
20 "allowedDomains": ["*.github.com", "registry.npmjs.org"]
21 }
22 }
23}

Ho semplicemente posizionato permissions e sandbox uno accanto all'altro, separati da una virgola. Modifica allowedDomains in base ai servizi utilizzati dalla tua azienda. Ricorda, il sandboxing funziona su macOS, Linux e WSL2.

Quello che dico sempre alle persone quando supporto l'implementazione è: non fermarti perché punti alla perfezione. Anche se non puoi costruire immediatamente una difesa a più livelli come quella di Mercari, proteggere .env con una singola riga riduce significativamente la probabilità di un incidente.

Azione per oggi: Se anche solo una persona nella tua azienda sta iniziando a usare Claude Code, condividi il set minimo sopra come testo e fallo incollare in .claude/settings.json. È una dimensione perfetta per una prova di distribuzione.

Insidie: 3 Cose da Sapere Prima di Distribuire le Impostazioni

Poiché si tratta di rafforzare la sicurezza, ci sono punti che sono pericolosi se fraintesi.

  1. «Scrivere un elenco deny» non significa che sia perfettamente sicuro. Come accennato nella Misura ③, un elenco deny non può fermare tutto ciò che uno script potrebbe fare in background. Anche se blocchi curl, potrebbero rimanere altri metodi di comunicazione. Se vuoi racchiuderlo veramente, non dimenticare la premessa di stratificarlo con un sandbox (Misura ④).
  2. Non fare affidamento sul filtraggio per argomenti. Anthropic stesso avverte che le autorizzazioni condizionali, come consentire curl solo per un URL specifico, sono facilmente aggirabili. È più robusto bloccare completamente le cose pericolose e fornire un'alternativa sicura.
  3. Non limitarti a distribuire le impostazioni e chiamarla giornata. Anche se imponi impostazioni gestite, è inutile se i dipendenti installano da soli altri strumenti sospetti. Le impostazioni sono un «meccanismo per ridurre gli incidenti» e funzionano meglio se abbinate a una formazione sull'utilizzo. È qui che la Misura ⑤, «far leggere le regole», entra finalmente in gioco.

FAQ per Utenti Intermedi

D. Ha senso configurare tutto questo per uso personale?

Sì. Il criterio è se le informazioni segrete sono su quel computer, non se è per un'azienda. Liberi professionisti e sviluppatori individuali hanno ancora .env e ~/.ssh/ in locale. Come minimo, è più sicuro includere il divieto di lettura della Misura ③.

D. Limitare le autorizzazioni non renderà l'AI inutile?

È una questione di come le limiti. I comandi di sola lettura (come ls o cat) funzionano senza conferma per impostazione predefinita, quindi il lavoro quotidiano raramente si ferma. Ciò che si ferma sono operazioni come eliminazione, pubblicazione e comunicazione internet—cose che danneggiano se vanno male. In effetti, spostandosi su «gli umani controllano solo quando è pericoloso», puoi espandere in sicurezza la gamma di ciò che lasci fare automaticamente all'AI.

D. Qual è la differenza tra `settings.json` e le impostazioni gestite (`managed-settings.json`)?

La posizione e la «forza» differiscono. settings.json nella cartella .claude/ di un progetto è un'impostazione condivisa che chiunque può modificare. managed-settings.json è distribuito dall'azienda e non può essere modificato dall'utente. Per individui o piccoli gruppi, il primo è sufficiente; passa al secondo quando raggiungi la fase in cui «è un problema se qualcuno allenta le impostazioni».

D. Posso usare lo stesso ragionamento per Cursor o altri strumenti di codifica AI?

Le cose che vuoi proteggere (segreti, operazioni pericolose, portata) sono le stesse, quindi il concetto si applica. Tuttavia, la sintassi e la presenza del sandboxing variano da strumento a strumento, quindi considera questa notazione settings.json specifica per Claude Code. Se usi altri strumenti, la scorciatoia è applicare queste stesse tre prospettive alla rispettiva documentazione ufficiale.

Riepilogo: Dal «Non Usarlo» al «Distribuirlo in Sicurezza»

Quando ricevo consulenze sull'implementazione dell'AI, la risposta più comune era «È pericoloso, quindi non possiamo ancora lasciarlo usare». Ma quella decisione getta via anche tutta la comodità.

Mercari ci ha mostrato una via d'uscita da quella scelta binaria. Disabilita il bypass della conferma, blocca le operazioni pericolose, proibisci di toccare file segreti, racchiudi in un sandbox e falli leggere le regole. Quindi, distribuiscilo a tutti come impostazioni che non possono essere manomesse. È un design che trasforma «proibito perché fa paura» in «distribuito con un guinzaglio perché fa paura».

  • Obiettivi da proteggere: Impedire la fuga di segreti / Impedire operazioni pericolose / Restringere la portata.
  • Le 5 Misure di Mercari: Disabilita il bypass, limita i comandi pericolosi, proibisci i file segreti, sandbox e lettura delle regole.
  • Distribuzione: Usa impostazioni gestite che l'utente non può sovrascrivere, differenziate per alfabetizzazione.

Infine, ecco tre passi da iniziare oggi:

  1. Aggiungi `Read(.env)` al tuo computer: Inizia proibendo la lettura di file segreti. Questa è la singola mossa più efficace.
  2. Crea un unico file del set minimo: Basandoti sull'esempio permissions sopra, aggiungi i comandi che la tua azienda vuole bloccare.
  3. Distribuiscilo a una persona in azienda per testarlo: Fallo incollare in .claude/settings.json e verificate insieme che il lavoro non si blocchi.

Il primo passo è solo una riga per proteggere .env. Puoi stratificare una perfetta difesa a più livelli una alla volta partendo da lì. Perché non posizionare quel primo file oggi e cambiare «fermarsi perché fa paura» in «delegare con un guinzaglio»?

Link di Riferimento

Rielabora in YouMind

Turn one viral article into a full content workflow

Collect the source, decode the pattern, create assets, draft the story, and distribute from one AI workspace.

Explore YouMind
Per i creator

Trasforma il tuo Markdown in un articolo 𝕏 pulito

Quando pubblichi i tuoi testi lunghi, formattare immagini, tabelle e blocchi di codice per 𝕏 è una seccatura. YouMind trasforma un'intera bozza Markdown in un articolo 𝕏 pulito e pronto da pubblicare.

Prova Markdown verso 𝕏

Altri pattern da decodificare

Articoli virali recenti

Esplora altri articoli virali