Il modulo github.com/xinfeisoft/crypto rappresenta un attacco diretto alla supply chain Go: una copia alterata del pacchetto legittimo golang.org/x/crypto che intercetta password interattive e installa la backdoor Rekoobe su sistemi Linux. L’operazione sfrutta la fiducia nel repository pubblico e l’automatismo degli import nei file go.mod, trasformando una dipendenza apparentemente innocua in un vettore di compromissione persistente. L’impatto è particolarmente insidioso perché il modulo mantiene intatte le funzionalità crittografiche originali – bcrypt, argon2, chacha20, ssh – inserendo codice malevolo in un punto strategico: la funzione ReadPassword del file ssh/terminal/terminal.go.
Analisi tecnica del modulo github.com/xinfeisoft/crypto
Il codice malevolo si attiva esclusivamente in contesti interattivi, quando un’applicazione richiede una password da terminale. La funzione ReadPassword cattura l’input dell’utente, lo converte in stringa e lo appende a un file locale insolito, /usr/share/nano/.lock, percorso che simula un file di lock dell’editor nano ma funge da buffer di raccolta credenziali. Successivamente, il modulo effettua una richiesta HTTP GET verso un file ospitato su GitHub Raw, da cui recupera dinamicamente l’endpoint di esfiltrazione. Utilizzando la libreria aggiuntiva github.com/bitfield/script, non presente nel pacchetto originale, invia la password tramite POST e riceve in risposta un payload shell.

Su pkg.go.dev, github[.]com/xinfeisoft/cryptosi presenta come una libreria crittografica di routine con sotto-pacchetti familiari ( acme, argon2, bcrypt, blake2e altri). Questa superficie simile aiuta il modulo dannoso a mimetizzarsi nei grafici delle dipendenze e a eludere un rapido triage visivo. Copiando x/cryptoe modificando solo pochi altri elementi, l’autore della minaccia riduce le anomalie evidenti, preservando al contempo le funzionalità previste.
Il payload viene eseguito in background con exec.Command(“/bin/sh”, “-c”, payload), consentendo l’installazione automatica del backdoor. L’attivazione selettiva solo in modalità interattiva riduce la probabilità di rilevamento in ambienti CI/CD o script automatizzati.
Furto password e meccanismo di esfiltrazione
Il flusso è lineare ma sofisticato. L’utente digita la password, che viene salvata localmente in chiaro. Il modulo effettua quindi una richiesta verso l’infrastruttura controllata dagli attaccanti, inviando esclusivamente la stringa catturata. La scelta di scrivere prima su disco e poi trasmettere via rete garantisce resilienza: se l’esfiltrazione fallisce, le credenziali restano archiviate per successivo recupero. Il traffico HTTP appare minimo e privo di metadati aggiuntivi, riducendo il footprint. Il comportamento non altera l’output della funzione originale. L’applicazione riceve la password corretta e continua a funzionare normalmente, rendendo l’infezione invisibile all’utente finale.
Deploy della backdoor Rekoobe

Il payload scaricato avvia una catena di comandi che culmina nell’installazione di Rekoobe, backdoor noto in ambienti Linux x86_64. Il processo include l’aggiunta di una chiave SSH malevola in /home/ubuntu/.ssh/authorized_keys, apertura delle regole iptables e download di binari camuffati con estensione multimediale. Rekoobe stabilisce connessione verso un indirizzo remoto sulla porta 443, simulando traffico legittimo HTTPS pur senza handshake TLS completo. Consente esecuzione di comandi remoti, esfiltrazione dati e persistenza anche dopo riavvio. L’uso dell’utente “ubuntu” indica un target frequente in ambienti cloud. Se l’applicazione compromessa gira con privilegi elevati, l’impatto può includere escalation completa del sistema.
Indicatori di compromissione
Tra gli IoC principali figurano il modulo github.com/xinfeisoft/crypto, il repository GitHub associato, richieste verso raw.githubusercontent.com per update dinamici, traffico verso domini spoolsv.cc e modifiche sospette a authorized_keys o regole iptables. La presenza del file /usr/share/nano/.lock con contenuti non coerenti con l’uso dell’editor è un segnale anomalo rilevante, così come esecuzioni di curl pipate a sh in processi figli di applicazioni Go.
Implicazioni per la supply chain Go
Questo caso evidenzia una vulnerabilità strutturale dell’ecosistema open source: la somiglianza tra nomi di pacchetti e l’automatismo degli import possono indurre sviluppatori a includere dipendenze compromesse senza accorgersene. Il modulo malevolo altera solo porzioni specifiche del codice, evitando crash o malfunzionamenti evidenti. La funzionalità crittografica resta operativa, prolungando la permanenza nel tempo. La presenza di dipendenze aggiuntive non previste, come bitfield/script, rappresenta un indizio rilevabile in fase di audit, così come variazioni inattese nei file go.sum.
Mitigazioni operative
Le organizzazioni devono trattare le dipendenze Go come superficie critica di attacco. È necessario verificare attentamente i percorsi di import, confrontare hash in go.sum con fonti ufficiali e implementare controlli di integrità automatizzati. Monitorare scritture su percorsi di sistema non usuali, traffico HTTP verso endpoint non correlati al business e modifiche a file SSH è essenziale per rilevare compromissioni. L’adozione di strumenti di scanning supply chain e di policy restrittive sulle dipendenze riduce drasticamente il rischio. L’episodio conferma che la sicurezza open source non dipende solo dal codice, ma dalla verifica costante della provenienza e dell’integrità dei moduli integrati.
Iscriviti alla Newsletter
Non perdere le analisi settimanali: Entra nella Matrice Digitale.
Matrice Digitale partecipa al Programma Affiliazione Amazon EU. In qualità di Affiliato Amazon, ricevo un guadagno dagli acquisti idonei. Questo non influenza i prezzi per te.









