Ciberseguretat
Claude Code anota les teves contrasenyes
Segons l'empresa de seguretat Apiiro, l'opció «Sí, i no ho tornis a preguntar» de Claude Code, l'agent de programació d'Anthropic, desava en text pla, en un fitxer de configuració del projecte, les contrasenyes i les claus d'API escrites a les ordres aprovades. Còpies d'aquest fitxer van acabar en més de 1.000 repositoris públics de GitHub: 1.379 secrets diferents en 1.122 fitxers. Anthropic diu que estudia com evitar-ho.
Rep el resum diari d'IA
Cada matí, l'essencial de la intel·ligència artificial al teu correu, sense fum. Al dia amb la IA.
En subscriure-t'hi acceptes rebre el butlletí d'AI Informator. Pots donar-te de baixa quan vulguis.
En resum
- Segons Apiiro, l'opció «Yes, and don't ask again» de Claude Code desava en text pla les contrasenyes i les claus escrites a les ordres aprovades.
- Segons Apiiro, 1.122 fitxers públics a GitHub contenien almenys un secret real, 1.379 de diferents en total.
- Segons Apiiro, 215 d'aquests fitxers van escapar alhora de gitleaks i de TruffleHog, dos escàners de secrets habituals.
- Boris Cherny, responsable de Claude Code a Anthropic, va dir que l'equip estudia com evitar-ho i té previst provar un escaneig bàsic de secrets.
Una drecera per no haver d'aprovar cada ordre
Claude Code demana permís abans d'executar la majoria d'ordres. Perquè no calgui aprovar el mateix una vegada i una altra, ofereix la resposta «Yes, and don't ask again» («Sí, i no ho tornis a preguntar»).
Segons la documentació d'Anthropic, aquesta resposta desa l'aprovació com una regla allow al fitxer .claude/settings.local.json del projecte. El problema, segons Apiiro, apareix quan la regla registra l'ordre exacta en lloc d'un patró: qualsevol contrasenya escrita en aquella ordre hi queda desada, en text pla.
Apiiro ho va trobar en més de mil repositoris
Apiiro va compartir la seva investigació amb Anthropic abans de publicar-la. Les seves xifres les recull iTnews, mitjà australià de tecnologia per a professionals.
Segons Apiiro, l'error es reprodueix amb Opus 5.5 i Fable 5.1, els models actuals d'Anthropic, i és una propietat de Claude Code, no del model. Segons Apiiro, al GitHub públic hi ha 104.185 còpies del fitxer repartides en 103.617 repositoris.
Més d'un terç obria una base de dades
Veure les dades en una taula
| Contrasenyes de bases de dades | Claus de Supabase | Accessos SSH | Tokens de GitHub, GitLab i npm | Claus d'AWS | |
|---|---|---|---|---|---|
| Secrets | 379secrets | 122secrets | 43secrets | 42secrets | 23secrets |
Segons Apiiro, 1.122 d'aquestes còpies contenien almenys un secret real, 1.379 de diferents en total, i més d'un terç donava accés directe a una base de dades. Segons Apiiro, al desglossament hi figuren claus de rol de servei de Supabase, un servei de bases de dades; accessos SSH a servidors públics, alguns amb la contrasenya de root, i claus d'Amazon Web Services (AWS).
Segons Apiiro, si s'hi sumen les versions antigues del fitxer, el fitxer de configuració compartit que els equips pugen expressament i les transcripcions desades de converses amb l'agent, el recompte arriba a 2.539 secrets en 1.994 repositoris.
Almenys una clau continuava activa
Segons Apiiro, que no va comprovar si les credencials continuaven funcionant, una organització a la qual va avisar va confirmar que la seva clau estava activa. La majoria dels fitxers eren de desenvolupadors individuals, però segons Apiiro també hi havia 63 organitzacions afectades.
Entre aquestes, segons Apiiro, una empresa de bases de dades amb la seva pròpia clau d'API al núvol amb accés de gestió, una agència de programari amb un token de producció i la contrasenya de propietari de la base de dades al núvol d'una aplicació d'històries clíniques.
Els escàners deixen passar 215 fitxers
| Escàner | Fitxers (de 1.122 amb secret) |
|---|---|
| gitleaks | 564 |
| TruffleHog | 643 |
| Van escapar dels dos | 215 |
Segons Apiiro, dels 1.122 fitxers amb secret, 215 no els van detectar ni gitleaks ni TruffleHog.
El risc no s'acaba a GitHub: el fitxer queda en format JSON i en text pla a l'ordinador del desenvolupador. El cuc Shai-Hulud, que es propagava pel registre de paquets npm, ja va passar TruffleHog pels fitxers de les seves víctimes el setembre del 2025.
El problema tampoc no és nou. Usuaris de Claude Code ho assenyalaven a GitHub des de l'agost del 2025, i l'abril del 2026 Lakera, propietat de l'empresa de ciberseguretat Check Point, va trobar credencials en 33 d'aquests fitxers dins de 30 paquets publicats a npm.
Anthropic estudia com evitar-ho
Boris Cherny, responsable de Claude Code a Anthropic, va respondre a Hacker News, el fòrum d'Y Combinator: «Fins ara Claude Code no ha netejat secrets (hi ha moltes bones eines per fer-ho), però estem estudiant què podem fer per evitar-ho».
Segons Cherny, l'equip té previst provar que el mode automàtic detecti aquestes ordres i un escaneig bàsic de secrets, tot i que podria no ser suficient. Quan un lector li va fer notar que en el mode automàtic podia passar el mateix, va respondre: «Sí, ben vist».
Cherny sosté que, com que Claude Code exclou el fitxer de git quan el crea, les còpies exposades es van crear o es van pujar a mà. La documentació d'Anthropic descriu aquest comportament: la primera vegada que Claude Code escriu el fitxer, l'afegeix a les exclusions globals de git, i si algú l'ha creat a mà l'ha d'afegir ell mateix al .gitignore. Cherny recomana el mode automàtic en lloc de les regles de permís, juntament amb l'escaneig de secrets que ofereixen GitHub i altres serveis.
Primer es canvien les claus i després es neteja el fitxer
Apiiro recomana canviar totes les credencials que hagi contingut el fitxer abans de netejar-lo, perquè esborrar-lo deixa els secrets a l'historial de git, a les bifurcacions i als clons. Després, cal deixar de fer el seguiment del fitxer i afegir-lo al .gitignore de cada repositori, fer servir variables d'entorn en lloc d'escriure secrets a les ordres i aprovar patrons en lloc d'ordres literals.
Conclusió
Una drecera pensada per estalviar clics ha deixat contrasenyes i claus d'API en més de 1.000 repositoris públics. Anthropic estudia com evitar-ho, però el mateix responsable de Claude Code admet que la solució que vol provar podria no ser suficient; mentrestant, la neteja depèn de cada desenvolupador i comença per canviar les claus.
Fonts primàries
Rep el resum diari d'IA
Cada matí, l'essencial de la intel·ligència artificial al teu correu, sense fum. Al dia amb la IA.
En subscriure-t'hi acceptes rebre el butlletí d'AI Informator. Pots donar-te de baixa quan vulguis.
Comentaris