Cybersecurity Is No Longer a Hacker’s Game – An Italian Story: The Tinexta InfoCert GoSign Case

Versione italiana: qui

There was a time, up until the early 2000s, when those who worked in computer security did so because they simply couldn’t help it. Not for the market, not for certifications, not for a career. They did it because they had fallen into a strange world full of curious, often unruly people, all driven by an unstoppable desire to understand how things really worked, and -above all – to share and compare notes.

It was a living, underground ecosystem where every discovery automatically became someone else’s discovery, too. Where the hacker spirit – the real one, built on collaboration and exchange – mattered far more than any job title printed on a business card.

Today, looking at what the industry has become, that spirit seems to have evaporated.

Not because competent people are lacking, quite the opposite.
The generational shift brings into corporate cyber teams professionals with academic backgrounds, master’s degrees, certifications, and sparkling LinkedIn CVs. But something is missing. That sense of community, of “us against the complexity of the world”, which once held everything together, is gone.

And when that spirit is gone, you can tell.
You see it in communities that crumble and then die.
You see it in vendors who treat security reports as nuisances to be minimized rather than opportunities to improve – like what I personally experienced with Tinexta InfoCert’s GoSign Desktop.

A case that (unfortunately) reflects the present

GoSign Desktop is a widely used digital-signature application: public administrations, companies, professionals. Thousands of documents signed every day.

At the beginning of October this year (2025), I found two serious issues in GoSign Desktop (versions ≤ 2.4.0):

  • TLS verification was disabled when using a proxy (very common in enterprise environments);
  • the update mechanism relied on an unsigned manifest.

In practice, anyone capable of performing a MitM attack could:

  • intercept and read traffic;
  • provide a fake manifest with a malicious update;
  • execute arbitrary code on the victim’s machine:
    • on Windows and macOS with user privileges;
    • on Linux with root privileges.

Additionally, on Linux there was another Local Privilege Escalation scenario exploitable regardless of GoSign’s proxy settings.

A disaster waiting to happen.

Link to the official disclosure.

Responsible Disclosure (one-way)

I did what any serious researcher does: I reported the vulnerability to the vendor, shared details, PoCs, mitigations. I made myself available for a technical call on October 16th, where the security lead and product owner confirmed everything. Together we agreed on a patch deadline at the end of the month.

I didn’t ask for money; if anything, a mention in the ChangeLog – as is customary -would have been appreciated.

Anyway, I was waiting for them to notify me once the patch was ready, so I could publish the advisory with no risk to users.

And this is where the story stops.
Or rather: Tinexta Infocert S.p.A. stopped.

After that call, during which I shared all technical details pro bono, silence. No updates. No email replies. No discussion.

Then, on November 4th, version 2.4.1 was released. I noticed a few days later. A version that quietly included the very fix I had proposed – published silently, without any notice, without any acknowledgment, without recognizing the work of the person who found the issue, without even a message saying “okay, it’s out”.

Calling this mishandling “inappropriate” is an understatement.
It perfectly illustrates the state of the industry.

Why?

Because in a healthy environment – one based on mutual trust – a vendor would be grateful. They would collaborate. Engage. Acknowledge.
Instead, today security feels like just another piece of the product lifecycle: something to wrap up quickly, minimize, hush.

ACN/CSIRT Italy (the Italian National Cybersecurity Agency) has been informed about both the vulnerability and the vendor’s improper behavior. And that was the right thing to do.

Beyond GoSign

This story isn’t interesting only because of the vulnerabilities – serious ones – or the poorly handled disclosure.

It’s interesting because it’s symbolic. It’s an example of what’s left when the hacker spirit disappears: a cold, corporate world with no empathy, where someone reporting an issue – donating their skills for free – is seen as a reputational risk rather than an ally.

And it’s paradoxical, because security – and in this case even a bit of national security – depends precisely on those who still have that mindset: independent, curious people who dedicate their free time and expertise to checking what no one else checks. People who do pro bono research, without structures, without budgets, without product management teams.

People who do it because they believe that if something is broken, the right thing to do is to report it, for everyone’s benefit.

What We Lost

We’ve lost our sense of collective responsibility.
We’ve lost the ability to speak openly.
We’ve lost the idea that security is a common good, not a commercial asset to be locked behind a wall of NDAs.

And when the industry fills up with top-down professionals, trained more in academia than in the mud of real communities, this happens: we become excellent at threat modeling and incapable of talking to someone who’s trying to help.

Because empathy is missing.
The culture of exchange is missing.
The spirit is missing.

Cybersecurity is no longer a hacker’s game. And that’s a problem.

Because without hackers- the real ones, not the cartoon villains in corporate slides – what’s left is a sector full of rules, procedures, KPIs… and massive gaps. Gaps and holes no one sees.

Vibe Reverser – A reverse engineer AI agent

Non importa se funziona, l’importante è che il vibe sia giusto!

L’idea è semplice: dentro un container Docker, l’agente si installa da solo tutto l’arsenale da vero reverse engineer, da radare2 a gdb, passando per binwalk, xxd e compagnia bella.

Poi prendi un binario, gli dici “ehi, analizza questo e dimmi come non farlo esplodere”, e lui inizia a produrre disassemblati, log e perfino un report PDF bello pronto. Perfetto da mostrare al capo oppure da usare per fare colpo con studentesse e studenti di ingegneria informatica.

Crack me, baby!

Per testare questa meraviglia gli ho fatto affrontare diverse challenge di crack-me. Spoiler: se l’è cavata niente male!

Prendiamo il classico esercizio della “bomba” da disinnescare.

Abbiamo un binario ELF strippato, quindi senza simboli di debug (già qui lo studente medio di ingegneria inizia a deprimersi), che quando lo lanci esplode subito con un bel messaggio: “Sono esploso!”. L’obiettivo? Farlo sopravvivere.

Ovviamente ci sono vari modi per riuscirci, ma la challenge chiede esplicitamente di non fare binary patching, ovvero di non girare i salti condizionali (JE , JNE, ecc). Quindi diciamo alla nostra creatura di non farlo. Bisognerà trovare una strada diversa, trovare una password, fare lib preloading, ecc, ma noi non gli diciamo niente di tutto ciò e lasciamo che trovi la sua strada (per l’inferno).

Avviamo l’agente dicendogli semplicemente:

Analyze the target file ./target/bingus and find a way to prevent it from exploding without a binary-patch.

Il fascino del caos incontrollato

A questo punto lui parte: tribola, disassembla, riflette e vomita a schermo tutto il vibe possibile, fino a mettere insieme la soluzione. Il tutto condito con un bel report ordinato.

Nel report ci rivela che la soluzione è lanciare il programma passandogli un parametro “pp” per non farlo esplodere, ed effettivamente è così.

Bello vero?

Se vuoi provarlo, trovi tutto sul mio GitHub. Prima di avviarlo leggiti il README, soprattutto il paragrafo “SECURITY”. Oppure fregatene: tanto lo sai già, l’importante è che il vibe sia giusto!

ChatGPT, la nuova bomba atomica

digital oppenheimer

Il 16 luglio 1945, nel deserto del New Mexico, il Trinity Test segnò l’alba dell’era atomica, un momento epocale raccontato anche nel recente film Oppenheimer. Quella detonazione non solo cambiò il corso della storia per gli sviluppi bellici, ma contaminò per sempre l’ambiente con particelle radioattive. Secondo alcuni accademici, un evento simile è accaduto nel mondo digitale il 30 novembre 2022: il lancio di ChatGPT di OpenAI.

L’affermazione, forte e quasi apocalittica, paragona l’impatto di ChatGPT a quello della prima bomba atomica, non per il suo potenziale distruttivo, ma per una conseguenza più subdola e permanente: l’inquinamento dei dati.

L’acciaio a bassa contaminazione

Dopo il 1945, i metalli prodotti iniziarono a contenere tracce di radioattività a causa del fallout nucleare, rendendoli inadatti per strumenti scientifici di precisione e le apparecchiature mediche. Per queste applicazioni, divenne necessario trovare il cosiddetto “acciaio a bassa radioattività” (low-background steel), ovvero acciaio prodotto prima dell’era atomica. Una delle fonti più preziose divenne la flotta navale tedesca che l’ammiraglio Ludwig von Reuter autoaffondò nel 1919, molto prima che l’atomo venisse scisso. Maurice Chiodo, ricercatore a Cambridge, arriva a dire che quell’ammiraglio diede “il più grande contributo alla medicina nucleare del mondo” fornendo questa riserva enorme di metallo “pulito”.

La contaminazione dei dati

La preoccupazione principale è un fenomeno noto come “AI model collapse” o “Model Autophagy Disorder” che si verifica quando i modelli di IA vengono addestrati su dati sintetici prodotti da altri modelli di IA. In pratica, i modelli “si nutrono della propria produzione“, portando a un degrado delle loro capacità.

Model Distillation meme

Nell’analogia con l’acciaio, i dati “puliti” sono quelli creati da esseri umani prima del 2022. La versione pre-atomica!

La preoccupazione non riguarda solo il fatto che un’IA possa produrre informazioni false. Il problema più grave riguarda il potere.

Le grandi aziende tecnologiche che hanno sviluppato i primi modelli di IA hanno avuto il tempo di “aspirare” enormi quantità di dati “puliti” dal web, creati interamente da esseri umani. Ora che il web è sempre più saturo di contenuti sintetici, le startup e i futuri sviluppatori faranno una fatica enorme a trovare dataset di alta qualità e non contaminati o comunque sarà proibitivamente costoso o probabilmente impossibile ripulirli.

Come per l’era atomica, il lancio di ChatGPT potrebbe aver segnato un punto di non ritorno, lasciandoci in un mondo in cui la distinzione tra il creato dall’uomo e il sintetizzato dalla macchina diventa sempre più labile, con conseguenze che stiamo solo iniziando a comprendere.

Disclaimer

Questo contenuto non è ovviamente scritto da un umano 😉

Vai all’articolo originale

Local Mess: Come le BigTech ti spiano in barba alle normative sulla privacy

Recentemente è stata pubblica una ricerca che mostra una tecnica di tracciamento utilizzata da grandi attori del settore tech, come Meta e Yandex, che abusa una funzionalità di rete per collegare l’attività di navigazione web (anche da browser anonimi) all’identità dell’utente.

Non solo questa tecnica elude la “Cookie Law” – quella normativa europea che dovrebbe imporre un opt-in esplicito per raccogliere la volontà di essere tracciati – ma è anche difficilmente aggirabile con le comuni pratiche di protezione della privacy poiché questo metodo di tracciamento elude l’isolamento tra processi (partizionamento, sandboxing) e rende inutile anche la cancellazione esplicita dello stato (cookie, vari storage, ecc) lato client.

Come funziona?

Il meccanismo alla base di “Local Mess” è ingegnoso nella sua semplicità. Applicazioni Android ufficiali, come quelle di Facebook, Instagram o Yandex, una volta installate sul dispositivo, si mettono in ascolto su porte di rete locali usando l’interfaccia di loopback (127.0.0.1).

Parallelamente, quando l’utente visita un sito web che integra specifici script di tracciamento (come il Meta Pixel o Yandex Metrica), questi script inviano metadati della sessione di navigazione, cookie e persino comandi direttamente alle porte in ascolto sull’interfaccia di loopback.

L’app, quindi, riceve queste informazioni riuscendo così a collegare l’attività di navigazione web, che potrebbe altrimenti apparire anonima, all’identità associata all’account dell’app.

Questo permette di de-anonimizzare l’utente, superando difese comuni come la cancellazione dei cookie del browser, l’utilizzo della modalità di navigazione in incognito, vpn, ecc.

Dal punto di vista dei permessi Android, la situazione è particolarmente interessante. Non è richiesto alcun permesso speciale o invasivo per implementare questa tecnica. La semplice autorizzazione INTERNET, che la stragrande maggioranza delle app richiede per funzionare (per accedere a contenuti online, API, ecc.), è sufficiente per consentire a un’applicazione di aprire una socket in ascolto sull’interfaccia di loopback.

Ciò significa che l’utente, concedendo un permesso apparentemente innocuo e ubiquitario, sta inconsapevolmente abilitando questo potenziale canale di comunicazione locale tra il browser (e quindi la sua attività sul web) e le app installate.

Su iOS la ricerca è ancora a uno stato primordiale ma, tecnicamente, è possibile utilizzare lo stesso vettore. Così come potrebbe essere utilizzato in dispositivi diversi come Smart TV, eBook Reader, ecc, i quali non sono stati ancora indagati.

Spie

Le evidenze raccolte durante la ricerca, mostrano che non si tratta solo di un tecnicismo per il tracciamento ma è a tutti gli effetti una pratica “illecita” e nascosta che avviene senza avvertire l’utente e ovviamente senza raccogliere il suo consenso.

È palese che tali pratiche violino sia il GDPR che le policy degli Store dei dispositivi.
Infatti, il 3 giugno 2025, Facebook ha rimosso dalla libreria di Meta Pixel le funzionalità che sfruttano questa tecnica. Esattamente il giorno dopo la pubblicazione della ricerca!
¯\_(ツ)_/¯

Browser e mitigazioni

Per quanto non sia un fan di Brave e non ami le sue politiche, è risultato l’unico browser non sfruttabile da questa tecnica poiché le connessioni verso 127.0.0.1 richiedono un permesso esplicito (dal 2022).

Su DuckDuckGo è possibile includere 127.0.0.1 e localhost in blocklist.

Chrome, dalla versione 137 rilasciata il 26 maggio 2025, blocca le connessioni originate da Yandex e Meta. In futuro, l’adozione di un permesso esplicito sulle connessioni a localhost risolverebbe in maniera definitiva il problema.

La mitigazione su Firefox è work in progress.

Microsoft Edge non pervenuto.

Come mitigazione generale in ambito OpSec, è buona norma utilizzare una propria VPN (non parlo di servizi come N*rd VPN e simili) per accedere ad internet dai propri dispositivi ed utilizzare dei DNS propri che implementino una blocklist, ad esempio Pi-hole.
Meglio ancora, utilizzare come forwarder di Pi-hole dei propri resolver ricorsivi, ad esempio con unbound.
Questa contromisura, nonostante non impedisca al browser di connettersi a socket aperti in localhost, bloccherebbe la libreria JavaScript di tracciamento (come Meta Pixel e Yandex) prima che venga caricata ed eseguita dal browser.

Implicazioni sulle operazioni Offensive

Se da un lato la finalità primaria descritta è quella del tracciamento pubblicitario e dell’analisi del comportamento utente, le implicazioni di una simile architettura non si fermano qui e aprono scenari anche in ambito di operazioni offensive malevole.

Una applicazione malevola, anch’essa dotata del solo permesso INTERNET, potrebbe teoricamente tentare di “ascoltare” su queste stesse porte locali, intercettando il traffico destinato alle app legittime e/o scambiando dati con gli script web.

Inoltre, è stato già sollevato da tempo come socket in ascolto su indirizzamento locale possono essere abusati per fare data leakage o persistent tracking.