Photoshop e Word riscritti in Rust con l’AI, Ghidra dentro l’agente: si assottiglia la barriera del reverse engineering

Una suite clean-room che ricalca Adobe e Office e un server MCP che porta i disassemblatori dentro gli agenti: una suite open source uscita a ottobre 2026, ancora in alpha, e un server MCP con oltre 220.000 stelle su GitHub mostrano che ricostruire o ispezionare un software chiuso è diventato un lavoro che un agente può tentare. Per le aziende la domanda si sposta dalla capacità al controllo.

PhotoCraft, la reimplementazione di Photoshop scritta da zero in Rust, risalva 307 dei 309 file PSD del test set di psd-tools mantenendo lo stesso render, secondo il repository ufficiale del progetto. Il suo autore, Brandon Thomas, ha scritto su Reddit di aver usato Claude Opus 5.5 per ricreare in Rust sette applicazioni Adobe, come riporta l’articolo “Someone Rebuilt Free, Open-Source Versions of Photoshop, Premiere, and Lightroom Using AI” pubblicato da PetaPixel il 7 ottobre 2026.

Finora ricostruire il comportamento di un software chiuso, senza sorgenti né specifiche complete, ha richiesto molto lavoro specialistico: una protezione economica che si aggiungeva a quella legale. I due progetti descritti qui toccano quella barriera in due punti diversi, la ricostruzione a partire da specifiche pubbliche e l’ispezione dei binari. Nessuna delle fonti consultate quantifica il tempo o il costo risparmiati, e i risultati sono parziali; ma per provarci oggi bastano repository pubblici, un agente e, per i binari nativi, un disassemblatore installato.

ArtCraft: sette app Adobe e una suite Office ricostruite da zero in Rust

Thomas, in passato CEO di Storyteller.ai e ingegnere software in Square, programma in Rust da circa dieci anni e, racconta PetaPixel, ha fondato ArtCraft quasi un anno fa. Le applicazioni ricalcano Photoshop, Illustrator, Premiere, Lightroom, Acrobat, After Effects e InDesign, girano su macOS, Windows e Linux e sono in alpha. L’obiettivo dichiarato di raggiungere la “100% feature parity” con Adobe entro un mese è, nelle parole di PetaPixel, “certainly an ambitious target”. Il repository di PhotoCraft è più prudente: la definisce “early alpha” e avverte che non sostituisce ancora Photoshop nel lavoro professionale quotidiano.

Sotto lo stesso marchio, e nella stessa organizzazione GitHub (storytold), esistono le controparti di Microsoft Office. L’articolo “Word, Excel e PowerPoint in Rust: nasce una suite Office open source clean-room” di Michele Nasi su IlSoftware.it riporta i dati pubblicati dagli sviluppatori, senza indicare verifiche indipendenti:

  • WordCraft (Word): copre circa l’87% dei comandi della barra multifunzione, ma la corrispondenza effettiva scende intorno al 62%;
  • GridCraft (Excel): oltre 500 funzioni e un grafo delle dipendenze che stabilisce quali formule ricalcolare;
  • DeckCraft (PowerPoint): circa il 79% delle funzionalità, il 93% se si contano solo quelle fondamentali.

I numeri cambiano in fretta: il repository di WordCraft oggi indica l’88% dei comandi del nastro e circa il 60% come sostituto completo di Word. Il dato di prestazioni in evidenza nel repository, 1,4 millisecondi su un documento di 188 pagine, riguarda il nuovo layout durante la digitazione e si deve alla cache dei paragrafi; non sono indicati hardware né metodo di misura.

Il metodo dichiarato, da IlSoftware.it e dal repository di WordCraft, è la reimplementazione clean-room: nessuna riga del codice originale, risorse grafiche create da zero o con licenze aperte, sviluppo basato su specifiche pubbliche e sull’osservazione del funzionamento delle applicazioni originali. Le fonti consultate non parlano di disassemblaggio. Resta aperta, segnala PetaPixel, la questione dei brevetti: riscrivere il codice evita di copiarlo, ma non esclude che una funzione o un algoritmo reimplementato ricada in un brevetto. Adobe, interpellata dalla testata, non aveva ancora risposto.

Applicazioni pensate per essere guidate da un agente

Per chi costruisce agenti, il dettaglio più utile sta nell’interfaccia più che nella copertura funzionale. WordCraft espone i propri comandi anche attraverso un canale di controllo JSON e un server MCP (Model Context Protocol), con strumenti come list_commands, execute, batch, inspect_document e render_page. Collegarlo a Claude Code richiede un comando:

Con il computer use classico l’agente lavora su ciò che vede: secondo la documentazione di Anthropic sul computer use, ogni screenshot costa all’incirca 1.000-1.800 token di input e i clic avvengono su coordinate in pixel. Un agente collegato via MCP legge invece la struttura del documento e invoca un comando per nome. Nessuna delle fonti confronta i due approcci con una misura, ma la differenza di meccanismo è evidente. Gli screenshot restano disponibili: quando l’app è aperta il server di WordCraft espone anche screenshot, click e key, ma smettono di essere l’unica via d’accesso.

REA porta Ghidra, IDA e Hopper dentro l’agente

Il secondo progetto è indipendente da ArtCraft e lavora dall’altro lato: l’ispezione di software di cui non si hanno i sorgenti. REA (Reverse Engineer Anything) è un server MCP open source con licenza MIT e oltre 220.000 stelle su GitHub al 14 ottobre 2026. Collega l’agente ai disassemblatori Ghidra e IDA già installati e a Hopper, che il setup può installare previa approvazione, oltre a GNU objdump e Rizin, e copre anche assembly .NET (solo analisi statica), binari Go, bytecode EVM e applicazioni JavaScript ed Electron.

La configurazione nei client agentici supportati, tra cui Claude Code, Codex, Cursor e Gemini CLI, passa da un comando:

L’analisi di un’applicazione Electron ne richiede un altro:

Per i binari nativi REA restituisce pseudocodice, stringhe, simboli e riferimenti; per le app Electron moduli, import e confini IPC. L’analisi gira in locale e ogni conclusione arriva con le evidenze e i limiti su cui si basa; i risultati passano però all’agente, che secondo il README li usa per spiegare il comportamento del programma oppure per “write and test an implementation”. Uno dei casi di studio pubblicati dal progetto parte da una chiamata audio del gioco DX-Ball e trasforma lo pseudocodice incompleto della funzione che calcola il panning in codice C: la ricostruzione supera 3.205 casi confrontati con il codice x86 originale e riproduce tutti i 63 byte della funzione compilata. Il README indica come usi previsti ricerca, didattica, interoperabilità, conservazione del software e analisi di programmi propri o per cui si ha autorizzazione, e chiarisce che REA non fornisce licenze per strumenti commerciali come IDA Pro.

Cosa consente la legge italiana, e dove si ferma

Messi accanto, i due progetti seguono due strade che il diritto d’autore tratta in modo diverso. La legge 633/1941, nelle norme che attuano la disciplina europea sui programmi per elaboratore (oggi codificata nella direttiva 2009/24/CE), all’articolo 64-ter consente a chi ha diritto di usare un programma di “osservare, studiare o sottoporre a prova” il suo funzionamento per capirne idee e principi, senza autorizzazione del titolare, durante le operazioni che la licenza gli consente. È un’eccezione pensata per chi usa il programma; se possa sostenere anche una reimplementazione clean-room come quella di ArtCraft, le fonti consultate non lo dicono e resta una questione aperta.

La decompilazione è regolata in modo più stretto dall’articolo 64-quater. È ammessa solo quando è indispensabile per l’interoperabilità con un programma creato in modo indipendente, se a svolgerla è il licenziatario o chi agisce per suo conto, se le informazioni non sono già facilmente accessibili e limitatamente alle parti necessarie. Le informazioni ottenute non possono essere comunicate a terzi, salvo che serva all’interoperabilità, né servire a sviluppare, produrre o commercializzare un programma sostanzialmente simile nella sua forma espressiva. In entrambi i casi le clausole contrattuali contrarie sono nulle.

Tradotto per chi usa agenti: un agente che con REA ricostruisce il protocollo di un sistema legacy per integrarlo può rientrare nell’eccezione, se ne rispetta le condizioni; lo stesso agente che usa quelle informazioni per sviluppare un programma sostanzialmente simile nella forma espressiva ne esce. Questo non è un parere legale, ma è la distinzione da avere chiara prima di dare a un agente l’accesso a un disassemblatore.

Quando replicare diventa delegabile, conta dimostrare cosa ha fatto l’agente

Se ispezionare un binario o ricostruire un’applicazione diventa un compito delegabile, in azienda il problema da gestire è chi autorizza l’agente e che cosa fa. Un agente con accesso a disassemblatori e toolchain MCP può analizzare software di terzi senza titolo, portare informazioni fuori dal perimetro consentito o produrre codice di cui nessuno sa ricostruire la provenienza.

Sono gli stessi problemi di cui abbiamo scritto parlando di utenze condivise per gli agenti in produzione e di Policy as Code. Per questo in AI WhiteBox ogni azione dell’agente viene valutata da policy prima dell’esecuzione, ogni agente ha una propria identità non umana con permessi minimi e gira in un ambiente isolato, e azioni, decisioni e accessi finiscono in un audit trail immutabile.

Nel post “Resell or Build?” sostenevamo che il codice sta diventando una commodity. ArtCraft, ancora in alpha, e REA indicano l’altra faccia: se anche il software degli altri diventa più leggibile e replicabile, il valore si sposta sulla capacità di dimostrare che cosa un agente ha guardato, con quale titolo e che cosa ne ha fatto.

Riferimenti