La compilazione e l’offuscamento sono state finora relativamente “efficaci” per proteggere il codice sorgente, almeno di tutti coloro che non ne sanno nulla Ingegneria inversa. Ma Claude D’Antropic e i suoi amici LLM hanno appena spruzzato questa barriera protettiva trasformando qualsiasi software in un codice open source per impostazione predefinita e MLDR;
Ho appena letto Un articolo iper interessante di un programmatore chiamato Geoffrey Huntley che si è immerso nel funzionamento del codice Claude. Se hai dormito nella tua grotta nelle ultime settimane, Claude Code, è uno strumento codificato in TypeScript che non è più o meno di un agente di intelligenza artificiale in grado di utilizzare il codice utilizzando LLM Claude Sonnet 3.7.
Il fatto è che osservando le viscere del codice di Claude, Geoffrey ha capito che l’applicazione segreta dell’applicazione è stata contrassegnata in un file cli.mjs minimizzato di 5 MB. Claude quindi autodidatta se preferisci.
Per arrivarci, ha prima installato il pacchetto NPM, quindi ha individuato il file Cl.MJS che costituisce il cuore dell’applicazione. Usando un LLM (non necessariamente Claude, chiunque con un contesto di finestra sufficiente), gli ha inviato questo prompt: “Cli.js è un’applicazione più tipicipt compilata con webpack. I simboli sono stati eliminati. Ispeziona in profondità il codice ma ignora il codice Sentrysdk. Crea una specifica delle funzionalità dell’applicazione. Converti il ​​codice sorgente in una versione leggibile.»
E lì, la cosa allucinante, nonostante i 5 MB del file (ben oltre i limiti teorici di una finestra di contesto), l’LLM ha iniziato ad analizzare il codice. Geoffrey deve ovviamente avere “babysitter” il processo incoraggiando regolarmente l’IA con “Continua, fai un buon lavoro“Per trenta minuti. È lungo ma i risultati sono lì!
E ciò non si ferma in codice minimizzato perché è sempre riuscito a LLM per rendere la deobfuscamento (rendere leggibile il codice volontariamente reso incomprensibile), trapelazione (conversione di una lingua in un’altra) o struttura a struttura (conservazione dell’architettura durante la conversione), su altri linguaggi, compresa la binaria. È anche arrivato al punto di convertire il codice valutatori in codice per lo spettro ZX.
Questo metodo accessibile a tutti i lavori sullo stesso principio di un frullatore Bitcoin ma per il codice. Dà all’LLM un codice proprietario più o meno sicuro (perché offuscato per esempio) e lo rende una versione pulita ricodificata che non ha nulla a che fare con il codice originale. Quindi sfoca completamente le tracce e consente di recuperare intere caratteristiche presenti nel codice proprietario senza essere bloccato. Mi ricorda questa serie Fermati e prendi il fuoco Dove una prima squadra dona completamente il BIOS PC IBM per documentare la sua operazione. E una seconda squadra che non è in contatto con la prima, utilizza questa documentazione per scrivere il proprio codice compatibile con PC IBM originale. Questa segmentazione consente di rifare la stessa cosa ma senza copiare il codice originale.
Con l’LLMS è un po ‘la stessa idea, tranne per il fatto che l’intero processo è automatizzato e richiede solo poche ore anziché il duro lavoro. Ciò che mi fa davvero triplicare è che qualsiasi scatola può ora vedere le caratteristiche del proprietario copiate in tempo di record.
In breve, è molto interessante come tecnica per sviluppatori e hacker che desiderano ad esempio donare il codice per creare nuove API, ricodificare bit del codice del proprietario a pagamento nel software o per rilasciare il codice sorgente corretto. Questa capacità di “leggere” facilmente il codice offuscato o compilato cambia la situazione perché ora la domanda non è più se il codice è protetto, ma come creare valore oltre il codice stesso.
Le implicazioni sono enormi e vanno ben oltre il semplice hack perché tutte queste startup “Fonte disponibile“Che hanno raccolto milioni con licenze restrittive si trovano improvvisamente vulnerabili. Chiunque ora può riprodurre le loro caratteristiche a pagamento in poche ore. Improvvisamente, come dice Huntley:”Se al momento non perdi il sonno e il codice 80 ore+ alla settimana, perché? Ci sono così tante opportunità disponibili e MLDR;“In breve, una nuova era si apre per gli sviluppatori intelligenti.
Allora cosa decompilerai prima?
Source link
Subscribe to our email newsletter to get the latest posts delivered right to your email.
Comments