Codi obert

Claude posa OpenSSH a dieta

Anthropic, la creadora de Claude, va publicar el 20 d'octubre com va fer servir el seu model per reduir la superfície d'atac de 25 projectes de codi obert. Segons l'empresa, a OpenSSH unes 4.500 línies d'una signatura digital experimental quedaven a l'abast de qualsevol abans d'identificar-se; les correccions, ja publicades a l'agost i a l'octubre, eliminen al voltant d'una cinquena part del codi al qual arribava un client sense identificar-se amb la configuració per defecte, gairebé tot d'aquesta signatura.

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.

Freqüència:

Il·lustració: Puffy, el peix globus mascota d'OpenBSD, somriu dalt d'una bàscula de consulta, més prim que la silueta de guix de la seva versió anterior dibuixada a la paret, al costat d'un aparell blanc amb el logotip de Claude. Representa la retallada d'una cinquena part del codi que OpenSSH deixa exposat abans d'autenticar, feta amb l'ajuda de Claude.
📷 Imatge generada amb IA

En resum

  • Segons Anthropic, Claude va trobar 493 problemes en 25 projectes de codi obert amb més de cinc milions de línies.
  • A OpenSSH 10.4, del 6 de juliol, el servidor llegia la clau del client abans de comprovar si estava permesa, segons l'empresa.
  • Les versions 10.5, de l'11 d'agost, i 10.6, del 6 d'octubre, van avançar aquesta comprovació.
  • Els desenvolupadors d'OpenSSH, que reben molts avisos d'errors trobats amb IA, agraeixen sobretot els que porten una correcció proposada.

Menys portes, no menys errors

L'informe el signa Chris Rohlf, del Frontier Red Team d'Anthropic, l'empresa de Claude, que és una societat de benefici públic. La idea, segons Anthropic: corregir els errors d'un en un no dona l'abast; retallar el codi accessible des de fora no elimina els errors desconeguts, però els allunya i en rebaixa la gravetat.

L'empresa va buscar per tres vies: codi actiu per defecte que cap funció no fa servir, opcions raonables que, juntes, desactiven un control de seguretat, i codi delicat que s'executa abans que el servidor sàpiga amb qui parla.

El codi més vigilat del món

Segons Anthropic, OpenSSH, un codi en C «de gran qualitat» i dels més auditats del món, va ser el projecte amb la retallada més gran en proporció a les seves línies. A la versió 10.4, del 6 de juliol, el seu servidor, sshd, llegia la clau que enviava el client i només després mirava si aquell tipus de clau estava permès, segons l'empresa.

Una signatura nova a l'abast de qualsevol

Aquella versió va estrenar, en proves i desactivada per defecte, una signatura postquàntica híbrida que combina ML-DSA 44 i Ed25519, segons les seves notes. Tot i així, segons Anthropic, unes 4.500 de les seves línies quedaven a l'abast d'un client sense identificar, fins i tot si l'administrador havia exclòs l'algorisme: al voltant del 16 % del codi propi d'OpenSSH que s'executa abans d'identificar el client, i «codi complex i no segur en memòria».

La correcció va arribar en dues versions

OpenSSH, versió a versió
Versió Data Què va canviar
10.4 6 de juliol de 2026 Arriba en proves la signatura postquàntica híbrida ML-DSA 44 + Ed25519, desactivada per defecte, però unes 4.500 de les seves línies queden a l'abast de qualsevol client abans d'identificar-se
10.5 11 d'agost de 2026 La comprovació del tipus de clau passa a fer-se abans de llegir-la, a proposta de Chris Rohlf, d'Anthropic
10.6 6 d'octubre de 2026 La comprovació va dins del mateix lector de claus i certificats; desapareix al voltant d'una cinquena part del codi al qual arribava un client sense identificar
Dates i canvis, segons les notes de versió d'OpenSSH; les 4.500 línies i la cinquena part, segons Anthropic.

Anthropic va avisar els desenvolupadors amb els pedaços fets. La 10.5, de l'11 d'agost, va situar la comprovació abans de llegir la clau, un canvi que les seves notes atribueixen a un suggeriment de Christopher Paul Rohlf, d'Anthropic.

Més endavant, Claude hi va veure dos forats, segons Anthropic. Un client podia anunciar ssh-ed25519, un tipus permès, i colar-hi una clau ML-DSA, perquè el lector es guiava pel tipus escrit dins de la clau. I amb certificats, el servidor verificava la signatura de l'autoritat emissora abans de mirar la configuració, cosa que deixava tots els seus verificadors de signatures a l'abast de qualsevol client que completés l'intercanvi de claus.

Després d'una prova de concepte i diverses rondes amb els mantenidors, la comprovació es va traslladar al mateix lector de claus. La 10.6, del 6 d'octubre, la inclou i l'acredita a Rohlf «in collaboration with Claude and Anthropic Research» («en col·laboració amb Claude i Anthropic Research»).

OpenSSH vol els avisos amb la correcció feta

Les notes de la 10.6 hi afegeixen l'altra cara. L'equip d'OpenSSH diu que rep «un gran nombre» d'avisos d'errors de seguretat trobats per la IA o amb la seva ajuda, molts sense impacte real, i tot i així els rep «molt bé», sobretot si arriben amb revisió humana, proves i una correcció proposada.

I avisa: en diversos casos, un error trobat amb IA l'ha descobert després, pel seu compte, un altre investigador, de manera que és probable que els atacants que no avisen també el puguin trobar. Per això, de moment, publicarà versions més sovint.

Gairebé cinc-cents problemes en 25 projectes

El que va trobar Claude
Troballa Casos
Problemes en total, en 25 projectes 493
Combinacions d'opcions acceptades sense avís ni documentació 162
… d'aquestes, desactiven en silenci un control de seguretat 94
Codi innecessari abans d'identificar-se, per defecte (11 projectes amb accés controlat) 93
Combinacions que afebleixen un control previ a la identificació (els mateixos 11) 61
Punts que executen codi o desen dades abans d'identificar-se (els mateixos 11) 37
Dades segons Anthropic, sobre 25 projectes de codi obert: 10 públics, 11 amb accés controlat i 4 privats. Segons l'empresa, cap de les troballes dels 11 projectes amb accés controlat no era explotable immediatament per si sola.

Dels 25 projectes, escrits en C, C++, Java, PHP o Python, entre altres llenguatges, 10 donen servei a qualsevol, 11 només a usuaris identificats i 4 a l'entorn privat de qui els instal·la, segons Anthropic. Un dels seus exemples, sense dir de quin projecte es tracta: dues opcions que, juntes, desactivaven l'exigència de certificat al client i convivien des de feia 21 anys. Cap de les troballes dels 11 projectes amb accés controlat no era explotable immediatament per si sola, segons l'empresa.

Una recepta en tres passades

Anthropic ha reunit el mètode en un paquet d'instruccions reutilitzable per a Claude que, segons l'empresa, està treballant per integrar a OSS-Scanner, la seva eina de revisió de codi obert. Fa tres passades, una per via, confirma cada troballa executant el programa i exigeix que les proves del mateix projecte donin resultats idèntics. Els canvis que afectarien una configuració diferent de la que ve per defecte els decideix una persona.

Conclusió

El cas d'OpenSSH no va d'un error concret, sinó de codi que ningú no havia demanat i que quedava a la vista de qualsevol. Que aparegués en un dels programes més revisats és l'argument d'Anthropic per aplicar el mètode a tota la resta. OpenSSH hi posa la condició: avisos revisats i amb la correcció feta, perquè el que troba una IA també ho poden trobar els atacants.

Fonts primàries

Comentaris

Sigues respectuós. Els comentaris es moderen.

    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.

    Freqüència:

    ← Torna al blog