Register Renaming


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

[Shreeyash] asks an interesting question: how many registers does your CPU have? The answer is probably more than you think. The reason? Modern CPUs — at least many of them — execute instructions out of sequence so they can perform multiple instructions per clock cycle. To do this, they may need to execute instructions that change registers that other instructions are still reading. In addition, you might be writing a result speculatively — a branch might make it where your result won’t wind up in the target register. The answer to both of these problems is register renaming.

The ARM CPU he looks at has many physical registers you can’t see. These get mapped to the registers you use on the fly. So when you read a register in software, you are really getting an underlying physical register. Which one? Depends on when you read it.

The RAT, or Register Alias Table, keeps track of the mapping between physical registers and the register names you use. Not only does this allow the CPU to run operations out of order, but it also lets results sit in unnamed physical registers until the time is right for it to become the real register. As a byproduct, moving one register to another becomes fast since you can just copy the alias of one physical register to another logical register.

Not clear? Try reading the post. There are other ways to get the same result (e.g., reservation stations), but the technique goes way back to mainframe computers. While it didn’t appear right away in microprocessors, modern ones often execute out of order and have to have some scheme to address this problem.

If you build your own CPUs with FPGAs, it is possible to do the same trick. There are also RISC-V variants that can do it.


hackaday.com/2026/04/27/regist…

Trying Pair Programming With an LLM Chatbot


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

When it comes to software developers, there are t a few distinct types. For example, the extroverted, chatty type, who is always going out there to share the latest and newest libraries and projects with everyone, and is very much into bouncing ideas off others, regardless of whether they know what you’re talking about. Then there is the introverted loner, who prefers to tackle programming challenges by bouncing things around inside their own minds and going on long walks to mull things over before committing to anything significant.

This leads to interesting scenarios when it comes to management-enforced ‘optimization’ strategies, like Pair Programming. This approach involves two developers sharing the same computer and keyboard, theoretically doubling the effective output by some kind of metric, but realistically often leading to at least one side feeling pretty miserable and disconnected unless you put two of the chatty types together.

As a certified introverted loner developer, the idea of using an LLM chatbot as a coding assistant naturally triggers unpleasant flashbacks to hours of forced awkward pair ‘programming’. However, maybe using an LLM chatbot could be more pleasant because you can skip the whole awkward socializing bit. In order to give it a shake, I put together a little experiment to see whether LLM-based coding assistants is something that I could come to appreciate, unlike pair programming.

Setting Expectations


Any good experimental setup features clear goals and parameters that define what will be tested and what the expectations are. Obviously I come from a somewhat negative angle into this whole experiment, so to make it easy I’ll be picking two fairly straightforward scenarios for the LLM to assist with:

  • C++ embedded coding for STM32 and CMSIS.
  • Ada network development.

These are topics that I’m fairly familiar and comfortable with, so that I know what questions I have here, and what I’m roughly expecting as output. I’ll be treating the chatbot for the most part as I would use StackOverflow or nag people on IRC, with my main fear being that it’ll be expecting pleasantries from me instead of brutal and cold professionalism. Ideally it’ll be a step above me hurling profanities at a search engine for clearly willfully misunderstanding what I am looking for.

My expectations are that it’ll have some answers for me for the questions I have about how to do certain aspects of the tasks, and may even produce half-way usable code that I can fairly easily understand and double-check using my usual documentation references.

This just leaves one big question, being which LLM chatbot to pick and how the heck any of it is supposed to work, since I have avoided the things like the proverbial plague.

Meeting the Crew


Although I am aware that everyone who is into using LLM-assisted programming seem to like to promote LLMs like Claude, I’d ideally not be signing up to another service. This pretty much just leaves GitHub Copilot, which I have access to already. I have written about this particular LLM chatbot quite a bit since it was introduced, with my generally negative feelings towards these tools increasingly backed up by research.

Biased I may be, but to be a true scientist you have to be able to set aside your biases for an experiment and accept reality in the face of new evidence. Thus, with all biases and doubts firmly pushed aside in favor of the aforementioned cold professionalism, let’s get down to brass tacks.

Micro Code


My pet project for STM32-related programming has for a while been my Nodate project, involving the use of the CMSIS standard headers and the macros defined therein in order to write things ranging from start-up to running the Dhrystone benchmark and deciphering the various flavors of real-time clocks.

Much of this work entails digging through datasheets, reference manuals and piles of reference code, as well as throwing queries at search engines to see what potentially useful results percolate out of that particular resource. Coming across the trials and tribulations of fellow STM32 developers in forum threads and the like can be both heartening and disheartening, but all of it tends to condense into something that you can use to progress in the project.

Perhaps ironically, the moment that I tried to use the chatbot in the browser I got an error with the GitHub status page indicating that some of their systems are down, including those for Copilot.
GitHub Copilot chat failed to load, with browser console open. (Credit: Maya Posch)GitHub Copilot chat failed to load, with browser console open. (Credit: Maya Posch)
This raises another interesting point: regardless of whether an LLM chatbot makes for a good programming partner, a human partner doesn’t generally randomly keel over or become unresponsive in the midst of trying to do some work together. If they do, however, that’s absolutely a medical emergency and you should call 911, 112, or your local equivalent emergency number stat.
Ask for CMSIS, get HAL. (Credit: Maya Posch)Ask for CMSIS, get HAL. (Credit: Maya Posch)
Anyway, after waiting for services to be restored, I was eventually able to ask the chatbot how to properly set the clock speed on an STM32F411 MCU, after getting tripped up previously by the need to set the regulator voltage scaling (VOS) in the power control register (PWR_CR). This is a power saving feature whose adjusting is required for hitting specific and clearly power-wasting clocks.

Shockingly, the chatbot happily spits out ST HAL code and ignores the ‘CMSIS’ bit, although you could maybe argue that the ST HAL uses CMSIS inside. But then so does Arduino code for many MCUs.

To its credit, it does mention in a ‘Key CMSIS Requirements’ list that you need to set PWR_REGULATOR_VOLTAGE_SCALE1 yet without further detail on where to set it. There is also the tiny detail that this isn’t even the CMSIS macro, which would be PWR_CR_VOS to set both bits for the full range.

Fortunately we can do the digital equivalent of smacking the chatbot upside the head and tell it to do the thing we asked it to do. This being to provide the real CMSIS version. Doing so results in another gobsmacking moment when it happily spits out code that doesn’t bother to include the CMSIS headers, but simply copies every single used struct definition and more into the code as well, bloating it up massively:
I guess that's kinda what I asked for? (Credit: Maya Posch)I guess that’s kinda what I asked for? (Credit: Maya Posch)
This is of course very annoying when it should have used #define macros, and it clearly can generate include statements based on its inclusion of <cstdint>, but the absolutely deadly sin here is that his code isn’t even functional for an STM32F411, as can be observed here:
Broken VOS scaling code courtesy of Copilot. (Credit: Maya Posch)Broken VOS scaling code courtesy of Copilot. (Credit: Maya Posch)
I’m not entirely sure where it got the PWR_CR_VOS_SCALE1 thing from, with asking a friendly search engine leading to just a handful of results, one of which is for an STM32F407 that runs at 168 MHz max. This is hilarious in light of the comments right above the code. It makes you wonder what example code it pilfered from.

At this point I could probably continue to pick at this generated code, but suffice it to say that my confidence level in its generated code and overall output hovers somewhere between ‘low’ and ‘bottom of a black hole’. I’m more than happy to flip this particular table, rage quit, and not lose what remains of my sanity.

Findings


Although I had intended to also do some fun porting to Ada together with my buddy Copilot of some C++ networking code in my NymphRPC remote procedure call library, I found my nerves to be sufficiently frayed and the bouts of near-hysterical laughter out of sheer disbelief worrisome enough to abort this attempt.

I also do not feel that it’d do much more than hammer home the point that GitHub Copilot at the very least doesn’t make for a good pair programming partner, nor as a programming tool, or a search engine, or much of anything. When the only thing that it got me was having to check its output for very obvious errors and shaking my head in disbelief when I found them, it beggars belief that anyone would voluntarily use it.

When we also got reports that the use of such LLM chatbots are likely to degrade human cognition and critical thinking skills, not to mention the worrisome prospect of cognitive surrender, then it’s probably best to avoid these chatbots altogether.

I also agree generally with Advait Sarkar et al. in their 2022 paper that you cannot really do pair programming as-such with an LLM chatbot, but that it offers something different. Something that’s very different from using a search engine and digesting various articles and forum posts along with reference material into something new.

Thus, after using an LLM chatbot for some coding ‘assistance’ I’ll be happily scurrying back to my boring references and yelling invectives at search engines.


hackaday.com/2026/04/27/trying…

Cybersecurity & cyberwarfare ha ricondiviso questo.

Il convegno conclusivo del progetto di ricerca Clinical trial data between privatization of knowledge and Open Science, patrocinato da AISA, si svolgerà l’8 maggio a Lecce.

Programma e locandina della conferenza sono visibili qui. Tutti i testi riconducibili al progetto sono disponibili su Zenodo.
- The post’s content. aisa.sp.unipi.it/privatizzazio…

Cybersecurity & cyberwarfare ha ricondiviso questo.

Chinese spy posed as researcher in spear-#phishing campaign targeting #NASA to steal defense software
securityaffairs.com/191347/int…
#securityaffairs #hacking #China

reshared this

Cybersecurity & cyberwarfare ha ricondiviso questo.

#LINKEDIN #BROWSERGATE
securityaffairs.com/191383/sec…
#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.

Una patch di Windows introduce un nuovo bug: credenziali rubate tramite Esplora File

📌 Link all'articolo : redhotcyber.com/post/una-patch…

A cura di Carolina Vivianti

#redhotcyber #news #cybersecurity #hacking #malware #ransomware #windows #vulnerabilita

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.

Arriva la BIXONIMANIA! E se la prossima pandemia venga creata dalle AI?

📌 Link all'articolo : redhotcyber.com/post/arriva-la…

A cura di Erminia Minieri

#redhotcyber #news #bixomania #lavoratorepc #stanchezzaoculare #occhiarosse #patologialavoro

Cybersecurity & cyberwarfare ha ricondiviso questo.

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

LangChain.js per sviluppatori JavaScript: corso gratuito per costruire agenti AI
#tech
spcnet.it/langchain-js-per-svi…
@informatica


LangChain.js per sviluppatori JavaScript: corso gratuito per costruire agenti AI


Volete costruire agenti AI con JavaScript che vadano oltre le semplici chat? Agenti che ragionano, chiamano strumenti esterni e interrogano knowledge base in modo autonomo? Microsoft ha pubblicato un corso gratuito e open source per fare esattamente questo: LangChain.js for Beginners, 8 capitoli con oltre 70 esempi TypeScript eseguibili.

Se già conoscete Node.js, npm, TypeScript e async/await, non avete bisogno di passare a Python per sviluppare applicazioni AI. LangChain.js vi mette a disposizione i componenti necessari — chat model, tool, agenti, retrieval e molto altro — senza dover cablare tutto da zero.

Perché LangChain.js?


LangChain.js è come avere un negozio di ferramenta completamente fornito a portata di mano. Invece di fabbricare ogni strumento dal metallo grezzo, prendete quello che serve dallo scaffale e iniziate a costruire. La libreria astrae l’integrazione con vari LLM (OpenAI, Azure OpenAI, Anthropic e altri), standardizza l’interfaccia per tool e agenti, e fornisce primitive per la costruzione di pipeline RAG.

Il vantaggio rispetto a Python? Zero friction per chi già lavora nell’ecosistema JavaScript/TypeScript. Stessi strumenti di build, stesso toolchain CI/CD, stessa base di codice.

Struttura del corso: un approccio agent-first


La maggior parte dei tutorial su LangChain inizia con document loader ed embedding. Questo corso arriva agli agenti e ai tool presto, perché è lì che si trovano i sistemi AI in produzione. Gli agenti decidono cosa fare, quando usare strumenti, e se hanno bisogno di cercare dati.

Capitoli 1-3: fondamenta


La prima chiamata a un LLM, chat model, streaming, prompt template e output strutturati con schemi Zod. Contenuto classico, ma necessario prima che le cose si facciano interessanti.

Capitolo 4: Function Calling e Tool


Qui l’AI smette di parlare e inizia a fare. Si insegna al modello a chiamare funzioni personalizzate, e lui ragiona su quando usarle. Esempio pratico:

import { ChatOpenAI } from "@langchain/openai";
import { tool } from "@langchain/core/tools";
import { z } from "zod";

const weatherTool = tool(
  async ({ city }) => {
    // chiamata a una API meteo reale
    return `Il meteo a ${city} è soleggiato, 22°C`;
  },
  {
    name: "get_weather",
    description: "Ottieni le condizioni meteo correnti per una città",
    schema: z.object({
      city: z.string().describe("Il nome della città"),
    }),
  }
);

const model = new ChatOpenAI({ model: "gpt-4o" });
const modelWithTools = model.bindTools([weatherTool]);

const result = await modelWithTools.invoke(
  "Che tempo fa a Milano?"
);
console.log(result.tool_calls);

Capitolo 5: Agenti con pattern ReAct


Un LLM risponde a domande. Un agente ragiona attraverso i problemi, sceglie i tool giusti ed esegue piani multi-step. Il capitolo 5 mostra come costruire agenti con il pattern ReAct (Reason + Act): il modello alterna tra pensiero esplicito e azioni concrete fino a raggiungere la risposta finale.

import { createReactAgent } from "@langchain/langgraph/prebuilt";
import { ChatOpenAI } from "@langchain/openai";

const agent = createReactAgent({
  llm: new ChatOpenAI({ model: "gpt-4o" }),
  tools: [weatherTool, searchTool, calculatorTool],
});

const response = await agent.invoke({
  messages: [{ role: "user", content: "Pianifica un itinerario a Roma per domani" }],
});
console.log(response.messages.at(-1)?.content);

Capitolo 6: MCP — Model Context Protocol


Il Model Context Protocol sta diventando lo standard per connettere l’AI a servizi esterni. Il capitolo guida alla costruzione di server MCP e al collegamento degli agenti tramite trasporti HTTP e stdio. È un’abilità sempre più richiesta man mano che l’ecosistema AI aziendale matura.

Capitoli 7 e 8: RAG agentivo


I capitoli finali portano documenti, embedding e ricerca semantica, poi combinano tutto in Agentic RAG. L’agente decide quando cercare nella knowledge base e quando rispondere direttamente da ciò che già conosce.

È una distinzione importante. Il RAG tradizionale è come lo studente che sfoglia il libro di testo per ogni domanda, anche “Quanto fa 2+2?”. Il RAG agentivo è lo studente intelligente che risponde alle domande semplici a memoria e apre il libro solo quando ne ha davvero bisogno. Il risultato: risposte più veloci, costi inferiori (meno ricerche di embedding non necessarie) e un’esperienza complessivamente migliore.

Come iniziare


Il corso è open source su GitHub. Per iniziare bastano tre comandi:

# Clona il repository
git clone https://github.com/microsoft/generative-ai-with-javascript

# Installa le dipendenze
cd generative-ai-with-javascript/lessons/08-langchain/
npm install

# Configura la chiave API
cp .env.example .env
# Aggiungi AZURE_OPENAI_API_KEY o OPENAI_API_KEY nel file .env

# Esegui il primo esempio
npx ts-node chapter1/01-first-llm-call.ts

Ogni capitolo include spiegazioni concettuali con analogie concrete, esempi di codice eseguibili immediatamente, sfide pratiche per testare la comprensione e punti chiave per consolidare l’apprendimento.

A chi è rivolto


Il corso si rivolge a sviluppatori JavaScript/TypeScript che conoscono npm install e async/await. Non è richiesta esperienza precedente in AI o machine learning. Ogni capitolo inizia con un’analogia del mondo reale per ancorare il concetto prima di qualsiasi codice.

Per chi già lavora su applicazioni .NET o backend e vuole esplorare il lato AI senza cambiare linguaggio, questo corso rappresenta il punto di ingresso ideale: nessun boilerplate Python, nessun ambiente virtuale da gestire, solo TypeScript e strumenti già familiari.

Considerazioni finali


LangChain.js ha raggiunto una maturità che lo rende adatto a progetti di produzione. Il corso di Microsoft colma un gap reale: la maggior parte della documentazione e dei tutorial sull’AI generativa è orientata a Python. Avere un percorso strutturato, gratuito e orientato agli agenti per l’ecosistema JavaScript è un vantaggio concreto per chi già lavora in questo stack.

Se state valutando come integrare capacità AI nelle vostre applicazioni Node.js o Deno, o se volete costruire un copilota interno per il vostro team, questo è il punto di partenza più pragmatico disponibile oggi.


Fonte originale: LangChain.js for Beginners: A Free Course to Build Agentic AI Apps with JavaScript — Microsoft for Developers


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.

UNC6692 usa Microsoft Teams per distribuire SNOW: email bombing, impersonazione helpdesk e compromissione del dominio Active Directory
#CyberSecurity
insicurezzadigitale.com/unc669…


UNC6692 usa Microsoft Teams per distribuire SNOW: email bombing, impersonazione helpdesk e compromissione del dominio Active Directory


Si parla di:
Toggle

Non serve uno zero-day quando si puo’ semplicemente telefonare. O meglio: mandare un messaggio su Microsoft Teams fingendo di essere il supporto IT aziendale. E’ questa la filosofia operativa di UNC6692, un gruppo di minaccia documentato da Google Threat Intelligence Group (GTIG) e Mandiant il 22 aprile 2026, che ha sviluppato una delle catene di intrusione piu’ efficaci osservate di recente: zero vulnerabilita’ software sfruttate, impatto devastante.

La catena di attacco: dalla casella di posta al dominio compromesso


La campagna di UNC6692 si articola in piu’ fasi con una logica narrativa precisa, progettata per sfruttare i processi cognitivi delle vittime anziche’ le vulnerabilita’ del software. Tutto inizia tra fine dicembre 2025 e i mesi successivi con un’operazione di email bombing: le vittime — prevalentemente dipendenti senior (77% dei casi rilevati) — si trovano improvvisamente sommerse da migliaia di email spam, un’inondazione che paralizza l’attivita’ lavorativa e genera panico.

Nel momento di massima confusione, arriva il soccorso: un messaggio su Microsoft Teams da un account che si presenta come tecnico del supporto IT interno. L’attaccante offre assistenza per il problema email e guida la vittima attraverso una sequenza di azioni apparentemente legittime. Il punto critico e’ il click su un link che porta a una pagina di phishing ospitata su un bucket Amazon S3 — presentata come “Mailbox Repair and Sync Utility v2.1.5”. L’URL su S3 non e’ in lista di blocco di quasi nessun proxy aziendale, e il dominio amazonaws.com gode di alta reputazione nei sistemi di URL filtering.

La suite SNOW: tre strumenti, un’unica operazione


Il download dalla pagina di phishing avvia l’esecuzione di un binario AutoHotKey (RegSrvc.exe) che funge da dropper per l’ecosistema SNOW, una suite malware modulare composta da tre componenti distinti, ciascuno con un ruolo specializzato nella catena di compromissione.

SNOWBELT e’ un backdoor basato su JavaScript, distribuito come estensione Chromium (directory: SysEvents). Viene installato in modalita’ non-supervised attraverso policy forzate, non tramite il Chrome Web Store. Si maschera sotto nomi come “MS Heartbeat” o “System Heartbeat”. Una volta attivo nel browser della vittima, intercetta sessioni autenticate, cookie, token OAuth e qualsiasi credenziale inserita nelle form web. Comunica con il C2 tramite richieste verso bucket S3 in us-east-2, usando un VAPID key fisso come identificatore.

SNOWGLAZE e’ un tunneler Python compatibile con Windows e Linux. La sua funzione primaria e’ creare un tunnel WebSocket autenticato tra il sistema della vittima e l’infrastruttura C2 dell’attaccante, tipicamente un sottodominio Heroku. Questo tunnel permette all’attaccante di instradare traffico RDP, PsExec e altri protocolli attraverso una connessione apparentemente legittima verso Heroku, eludendo i controlli firewall.

SNOWBASIN e’ il backdoor persistente per il controllo remoto completo: esecuzione di comandi via cmd.exe o PowerShell, cattura di screenshot, upload/download di file e auto-terminazione. E’ SNOWBASIN che gestisce la fase di post-exploitation, una volta che il foothold iniziale e’ stabilito.

Post-exploitation: dal PC della vittima al domain controller


L’analisi di Mandiant descrive una sequenza di post-exploitation metodica e aggressiva. Dopo l’installazione della suite SNOW, l’attaccante utilizza SNOWGLAZE per stabilire una sessione PsExec verso il sistema compromesso, poi avvia una scansione della rete locale alla ricerca di sistemi raggiungibili su porte 135 (RPC), 445 (SMB) e 3389 (RDP). Una volta identificato un server di backup, SNOWGLAZE viene usato per instradare una sessione RDP verso di esso.

Sul server di backup avviene la fase critica: l’attaccante usa Windows Task Manager per eseguire il dump del processo LSASS (Local Security Authority Subsystem Service), catturando in chiaro tutti gli hash delle password degli account autenticati sul sistema, inclusi account privilegiati con accesso al dominio Active Directory. Il file di dump viene esfiltrato via LimeWire attraverso il tunnel SNOWGLAZE. Con gli hash estratti, e’ possibile effettuare attacchi pass-the-hash per autenticarsi come qualsiasi account del dominio, portando alla compromissione completa dell’infrastruttura AD.

Indicatori di compromissione (IoC)

# URL phishing (pattern)
https://service-page-[ID]-outlook.s3.us-west-2.amazonaws.com/update.html?email=

# C2 SNOWGLAZE (WebSocket)
wss://sad4w7h913-b4a57f9c36eb[.]herokuapp[.]com:443/ws

# C2 SNOWBELT (pattern URL S3)
https://[a-f0-9]{24}-[0-9]{6,7}-[0-9]{1}.s3.us-east-2.amazonaws[.]com

# SNOWBELT VAPID Key
BJkWCT45mL0uvV3AssRaq9Gn7iE2N7Lx38ZmWDFCjwhz0zv0QSVhKuZBLTTgAijB12cgzMzqyiJZr5tokRzSJu0

# File sospetti (dropper)
RegSrvc.exe    # binario AutoHotKey rinominato
Protected.ahk  # script AHK malevolo

# Directory estensione Chrome malevola
SysEvents/  # in %LOCALAPPDATA%\Google\Chrome\User Data\Default\Extensions

# Hash SHA256
SNOWGLAZE: 2fa987b9ed6ec6d09c7451abd994249dfaba1c5a7da1c22b8407c461e62f7e49
SNOWBELT background.js: 7f1d71e1e079f3244a69205588d504ed830d4c473747bb1b5c520634cc5a2477

Attribuzione e contesto


UNC6692 e’ classificato da Google/Mandiant come UNC (Uncategorized): non e’ ancora stata stabilita un’attribuzione definitiva a un paese o gruppo noto. Il profilo operativo mostra tuttavia caratteristiche interessanti: capacita’ di sviluppo malware custom elevate, pazienza tattica (la campagna di email bombing precede l’attacco di settimane) e una chiara preferenza per obiettivi aziendali con accesso privilegiato a infrastrutture IT. L’assenza di exploit zero-day puo’ indicare sia un operatore esperto che preferisce metodi OPSEC-sicuri, sia un gruppo finanziariamente motivato che ha ottimizzato il rapporto costo/impatto delle proprie operazioni.

Consigli per i difensori


La campagna UNC6692 mette in evidenza lacune difensive comuni negli ambienti enterprise. Sul fronte delle policy Microsoft Teams, e’ fondamentale limitare la possibilita’ per utenti esterni di contattare dipendenti interni tramite Teams: configurare una allowlist dei tenant esterni autorizzati e’ il primo passo. Sul fronte della protezione da email bombing, implementare rate limiting e filtri anti-spam aggressivi con alert su aumenti anomali di volume per singolo account. Per la protezione del browser, deployare policy Group Policy che blocchino l’installazione di estensioni Chrome non approvate e monitorare la creazione di nuove directory in %LOCALAPPDATA%. Monitorare il traffico verso sottodomini Heroku e bucket S3 non registrati come legittimi nel proprio inventario cloud. Infine, proteggere LSASS con Credential Guard su tutti i sistemi Windows 10/11 e Server 2019+: questa misura da sola avrebbe bloccato la fase piu’ critica dell’attacco documentato.

La campagna UNC6692/SNOW e’ un esempio paradigmatico di come il perimetro piu’ difficile da difendere non sia tecnico, ma umano: un dipendente stressato da un’inondazione di spam e “soccorso” da un collega del supporto IT e’ una vittima quasi inevitabile, indipendentemente dalla sofisticazione dell’infrastruttura di sicurezza aziendale.


The two sides of digital sovereignty


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

The two sides of digital sovereignty
IT'S MONDAY, AND THIS IS DIGITAL POLITICS. I'm Mark Scott, and I have a confession: I'm a big Star Wars fan. So if anyone is looking to buy me a birthday present, I'm just going to leave this here.

— The European Union and United States have contrasting philosophies on digital sovereignty. Basic differences mean each side routinely talks past the other.

— Washington is on the verge of extending mass surveillance rules aimed at non-Americans. US lawmakers are fighting for greater safeguards for citizens — without addressing the legislation's impact overseas.

— The most advanced artificial intelligence models have progressed faster at completing complex tasks than anyone once believed.

Let's get started:



digitalpolitics.co/newsletter0…

How Pizza Tycoon Simulates Traffic on a 25 MHz CPU


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

Although the game Pizza Tycoon – known as Pizza Connection in Europe – probably doesn’t ring a bell for many folk, this 1994 DOS title is special enough for [cowomaly] to write an open source engine to bring it into the modern age as Pizza Legacy. Along the way, some questions popped up, such as how to animate the little cars that you see driving around in the simulated city and how the heck this was done back in the day on a 25 MHz 386 CPU.

On today’s GHz+, multi-core CPUs, we can just brute-force shovel pixels, sprites, and even 3D models around without a second thought while dedicating an entire core to pathfinding and other algorithms. Naturally, the original game developers had no such luxury. To understand how this animation was originally achieved, [cowomaly] had to dive into the assembly code of the original game.

The original algorithm was very simple: each road tile has at least one direction associated with it, so that a car that is on such a tile knows which direction it can travel, essentially creating a grid of one-way roads. When there’s a crossing, a random direction is picked, with the extra rule that you cannot do two consecutive turns in the same direction, presumably to keep cars from going around in circles.

Meanwhile, collision detection is simply a matter of checking the list of cars for a potential collision and not moving said car if it’s the case. This check is also optimized to take the road directions and one-way nature into account, with a 10-tick wait if there’s a block. Amusingly, this seems to enable the formation of brief traffic jams to add to that feeling of realism.

Although not a perfect algorithm and with some small bugs due to unchecked conditions with collisions, it’s hard to deny that the effect is very natural car movement, something that games like Sim City likely used as well.


hackaday.com/2026/04/27/how-pi…

Il badge aziendale non è un sistema di controllo a distanza, se c’è l’informativa privacy


@Informatica (Italy e non Italy)
La Corte di Cassazione con una recente sentenza si pronuncia sulla questione su cui spesso si discute nei contesti aziendali: il badge aziendale e relative timbrature costituiscono una forma di controllo a distanza

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

UNC6692 usa Microsoft Teams per distribuire SNOW: email bombing, impersonazione helpdesk e compromissione del dominio Active Directory


@Informatica (Italy e non Italy)
Google Threat Intelligence Group e Mandiant hanno documentato UNC6692, un gruppo che usa email bombing e impersonazione del supporto IT su


UNC6692 usa Microsoft Teams per distribuire SNOW: email bombing, impersonazione helpdesk e compromissione del dominio Active Directory


Si parla di:
Toggle

Non serve uno zero-day quando si puo’ semplicemente telefonare. O meglio: mandare un messaggio su Microsoft Teams fingendo di essere il supporto IT aziendale. E’ questa la filosofia operativa di UNC6692, un gruppo di minaccia documentato da Google Threat Intelligence Group (GTIG) e Mandiant il 22 aprile 2026, che ha sviluppato una delle catene di intrusione piu’ efficaci osservate di recente: zero vulnerabilita’ software sfruttate, impatto devastante.

La catena di attacco: dalla casella di posta al dominio compromesso


La campagna di UNC6692 si articola in piu’ fasi con una logica narrativa precisa, progettata per sfruttare i processi cognitivi delle vittime anziche’ le vulnerabilita’ del software. Tutto inizia tra fine dicembre 2025 e i mesi successivi con un’operazione di email bombing: le vittime — prevalentemente dipendenti senior (77% dei casi rilevati) — si trovano improvvisamente sommerse da migliaia di email spam, un’inondazione che paralizza l’attivita’ lavorativa e genera panico.

Nel momento di massima confusione, arriva il soccorso: un messaggio su Microsoft Teams da un account che si presenta come tecnico del supporto IT interno. L’attaccante offre assistenza per il problema email e guida la vittima attraverso una sequenza di azioni apparentemente legittime. Il punto critico e’ il click su un link che porta a una pagina di phishing ospitata su un bucket Amazon S3 — presentata come “Mailbox Repair and Sync Utility v2.1.5”. L’URL su S3 non e’ in lista di blocco di quasi nessun proxy aziendale, e il dominio amazonaws.com gode di alta reputazione nei sistemi di URL filtering.

La suite SNOW: tre strumenti, un’unica operazione


Il download dalla pagina di phishing avvia l’esecuzione di un binario AutoHotKey (RegSrvc.exe) che funge da dropper per l’ecosistema SNOW, una suite malware modulare composta da tre componenti distinti, ciascuno con un ruolo specializzato nella catena di compromissione.

SNOWBELT e’ un backdoor basato su JavaScript, distribuito come estensione Chromium (directory: SysEvents). Viene installato in modalita’ non-supervised attraverso policy forzate, non tramite il Chrome Web Store. Si maschera sotto nomi come “MS Heartbeat” o “System Heartbeat”. Una volta attivo nel browser della vittima, intercetta sessioni autenticate, cookie, token OAuth e qualsiasi credenziale inserita nelle form web. Comunica con il C2 tramite richieste verso bucket S3 in us-east-2, usando un VAPID key fisso come identificatore.

SNOWGLAZE e’ un tunneler Python compatibile con Windows e Linux. La sua funzione primaria e’ creare un tunnel WebSocket autenticato tra il sistema della vittima e l’infrastruttura C2 dell’attaccante, tipicamente un sottodominio Heroku. Questo tunnel permette all’attaccante di instradare traffico RDP, PsExec e altri protocolli attraverso una connessione apparentemente legittima verso Heroku, eludendo i controlli firewall.

SNOWBASIN e’ il backdoor persistente per il controllo remoto completo: esecuzione di comandi via cmd.exe o PowerShell, cattura di screenshot, upload/download di file e auto-terminazione. E’ SNOWBASIN che gestisce la fase di post-exploitation, una volta che il foothold iniziale e’ stabilito.

Post-exploitation: dal PC della vittima al domain controller


L’analisi di Mandiant descrive una sequenza di post-exploitation metodica e aggressiva. Dopo l’installazione della suite SNOW, l’attaccante utilizza SNOWGLAZE per stabilire una sessione PsExec verso il sistema compromesso, poi avvia una scansione della rete locale alla ricerca di sistemi raggiungibili su porte 135 (RPC), 445 (SMB) e 3389 (RDP). Una volta identificato un server di backup, SNOWGLAZE viene usato per instradare una sessione RDP verso di esso.

Sul server di backup avviene la fase critica: l’attaccante usa Windows Task Manager per eseguire il dump del processo LSASS (Local Security Authority Subsystem Service), catturando in chiaro tutti gli hash delle password degli account autenticati sul sistema, inclusi account privilegiati con accesso al dominio Active Directory. Il file di dump viene esfiltrato via LimeWire attraverso il tunnel SNOWGLAZE. Con gli hash estratti, e’ possibile effettuare attacchi pass-the-hash per autenticarsi come qualsiasi account del dominio, portando alla compromissione completa dell’infrastruttura AD.

Indicatori di compromissione (IoC)

# URL phishing (pattern)
https://service-page-[ID]-outlook.s3.us-west-2.amazonaws.com/update.html?email=

# C2 SNOWGLAZE (WebSocket)
wss://sad4w7h913-b4a57f9c36eb[.]herokuapp[.]com:443/ws

# C2 SNOWBELT (pattern URL S3)
https://[a-f0-9]{24}-[0-9]{6,7}-[0-9]{1}.s3.us-east-2.amazonaws[.]com

# SNOWBELT VAPID Key
BJkWCT45mL0uvV3AssRaq9Gn7iE2N7Lx38ZmWDFCjwhz0zv0QSVhKuZBLTTgAijB12cgzMzqyiJZr5tokRzSJu0

# File sospetti (dropper)
RegSrvc.exe    # binario AutoHotKey rinominato
Protected.ahk  # script AHK malevolo

# Directory estensione Chrome malevola
SysEvents/  # in %LOCALAPPDATA%\Google\Chrome\User Data\Default\Extensions

# Hash SHA256
SNOWGLAZE: 2fa987b9ed6ec6d09c7451abd994249dfaba1c5a7da1c22b8407c461e62f7e49
SNOWBELT background.js: 7f1d71e1e079f3244a69205588d504ed830d4c473747bb1b5c520634cc5a2477

Attribuzione e contesto


UNC6692 e’ classificato da Google/Mandiant come UNC (Uncategorized): non e’ ancora stata stabilita un’attribuzione definitiva a un paese o gruppo noto. Il profilo operativo mostra tuttavia caratteristiche interessanti: capacita’ di sviluppo malware custom elevate, pazienza tattica (la campagna di email bombing precede l’attacco di settimane) e una chiara preferenza per obiettivi aziendali con accesso privilegiato a infrastrutture IT. L’assenza di exploit zero-day puo’ indicare sia un operatore esperto che preferisce metodi OPSEC-sicuri, sia un gruppo finanziariamente motivato che ha ottimizzato il rapporto costo/impatto delle proprie operazioni.

Consigli per i difensori


La campagna UNC6692 mette in evidenza lacune difensive comuni negli ambienti enterprise. Sul fronte delle policy Microsoft Teams, e’ fondamentale limitare la possibilita’ per utenti esterni di contattare dipendenti interni tramite Teams: configurare una allowlist dei tenant esterni autorizzati e’ il primo passo. Sul fronte della protezione da email bombing, implementare rate limiting e filtri anti-spam aggressivi con alert su aumenti anomali di volume per singolo account. Per la protezione del browser, deployare policy Group Policy che blocchino l’installazione di estensioni Chrome non approvate e monitorare la creazione di nuove directory in %LOCALAPPDATA%. Monitorare il traffico verso sottodomini Heroku e bucket S3 non registrati come legittimi nel proprio inventario cloud. Infine, proteggere LSASS con Credential Guard su tutti i sistemi Windows 10/11 e Server 2019+: questa misura da sola avrebbe bloccato la fase piu’ critica dell’attacco documentato.

La campagna UNC6692/SNOW e’ un esempio paradigmatico di come il perimetro piu’ difficile da difendere non sia tecnico, ma umano: un dipendente stressato da un’inondazione di spam e “soccorso” da un collega del supporto IT e’ una vittima quasi inevitabile, indipendentemente dalla sofisticazione dell’infrastruttura di sicurezza aziendale.


Cybersecurity & cyberwarfare ha ricondiviso questo.

#Firefox bug CVE-2026-6770 enabled cross-site tracking and #Tor fingerprinting
securityaffairs.com/191374/sec…
#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.

GlassWorm Escalates: 73 New “Sleeper” Extensions Discovered on Open VSX Marketplace
#CyberSecurity
securebulletin.com/glassworm-e…
Cybersecurity & cyberwarfare ha ricondiviso questo.

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

App UE per verificare l’età: hackerata in pochi minuti, scoppia il caso sicurezza

📌 Link all'articolo : redhotcyber.com/post/app-ue-pe…

A cura di Bajram Zeqiri

#redhotcyber #news #sicurezzainformatica #hacking #violazione #datisensibili #protezione

reshared this

Cybersecurity & cyberwarfare ha ricondiviso questo.

Quiz del lunedì. Quale di questi propellenti *non* veniva usato nel lanciatore Saturn V?

Appuntamento a domani per la discussione delle risposte, non suggerite e non cercate su internet!

#QuizTime
@astronomia

  • cherosene (26%, 18 votes)
  • metano liquido (49%, 33 votes)
  • ossigeno liquido (7%, 5 votes)
  • idrogeno liquido (16%, 11 votes)
67 voters. Poll end: 2 mesi fa

in reply to IlarioQ

@ilarioq
"Magie" della federazione? 😉

poliversity.it/@destinazione_s…


Spesso i lanciatori non usano lo stesso propellente per tutti gli stadi, perché stadi diversi hanno esigenze diverse e non esiste un propellente migliore da tutti i punti di vista. Questo è anche il caso del Saturn V, il lanciatore del programma Apollo.

Per il primo stadio il gruppo di Wernher von Braun scelse cherosene raffinato come combustibile e ossigeno liquido come ossidante, perché il cherosene è oltre dieci volte più denso dell'idrogeno liquido e di conseguenza a parità di prestazioni richiede serbatoi molto più piccoli e leggeri. Inoltre il cherosene è facile da gestire, immagazzinare e pompare. Questi vantaggi compensano il suo impulso specifico più basso rispetto ad altri propellenti, perché il primo stadio viene usato per meno di tre minuti e deve soprattutto fornire una spinta enorme al decollo.

Una volta usciti dall’atmosfera, le priorità cambiano. Diventa più importante l’impulso specifico, cioè la spinta che si riesce a ottenere per unità di propellente consumato, mentre il grande volume dei serbatoi non è più così critico. Tra tutti i propellenti chimici, la combinazione idrogeno liquido e ossigeno liquido offre l’impulso specifico migliore. Per questa ragione, nel 1959 un comitato che doveva indirizzare lo sviluppo del Saturn V raccomandò la scelta dell’idrogeno liquido, nonostante ciò richiedesse uno sviluppo ad hoc e la filosofia generale fosse quella di usare tecnologie già collaudate per limitare i rischi e accelerare i tempi.

Infine, il Saturn V usava propellenti solidi per il suo sistema di abbandono del lancio (“launch escape system”), destinato a entrare in funzione solo in caso di emergenza.

Sullo Space Shuttle, sono rimasti l’idrogeno e ossigeno liquido per i motori dell’orbiter, alimentati dal grande serbatoio centrale, mentre la spinta colossale necessaria al decollo è stata affidata non più alla combustione del cherosene, ma soprattutto al propellente solido dei due booster laterali, scelto per un insieme di ragioni non solo tecniche ma anche politico-industriali. Una configurazione simile è stata ripresa dal lanciatore SLS, che usa gli stessi propellenti dello Shuttle.

Il metano liquido, infine, che non veniva usato né dal Saturn V né dallo Space Shuttle, è invece il combustibile usato dal New Glenn di Blue Origin, per il primo stadio, e da Starship di SpaceX, sia per il primo stadio sia per il veicolo orbitale.

Rispetto al cherosene, il metano offre un miglior impulso specifico e una combustione più pulita; rispetto all’idrogeno, è molto più denso e più facile da gestire, in particolare per la riutilizzabilità dei veicoli, perché a differenza del cherosene produce pochissimi depositi carboniosi. Per questo rappresenta un interessante compromesso tra efficienza e semplicità operativa.

@astronomia

@destinazione_stelle@poliversity.it:

Quiz del lunedì. Quale di questi propellenti *non* veniva usato nel lanciatore Saturn V?
Appuntamento a domani per la discussione delle risposte, non suggerite e non cercate su internet!

#QuizTime
@astronomia



Cybersecurity & cyberwarfare ha ricondiviso questo.

La pompa di insulina mi lascia dei segni che sembra sia stata picchiata con una mazza fatta di LEGO.
Sulla pancia ho una strage di segni..

Dopo aver letto questo journals.sagepub.com/doi/full/… , farò ricerche su tutte le altre colle e i prodotti che danno meno alterazioni alla pelle.

Oh, ma una gioia mai, neh!

Cybersecurity & cyberwarfare ha ricondiviso questo.

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

Ieri RHC ha partecipato alla trasmissione “Fuori dal Coro” di Rete4, con il nostro analista Bajram Zeqiri.

Vogliamo ringraziare il direttore Mario Giordano e la Dott.ssa Federica Altamura, oltre a tutta la redazione per l’invito e per lo spazio dedicato a un argomento così delicato e complesso.

📌 Link al video : mediasetinfinity.mediaset.it/v…

#redhotcyber #hacking #cti #darkweb #ai #online #it #cybercrime #cybersecurity #technology #news #cyberthreatintelligence #innovation #privacy

Cybersecurity & cyberwarfare ha ricondiviso questo.

#Fast16: Pre-#Stuxnet #malware that targeted precision engineering software
securityaffairs.com/191325/mal…
#securityaffairs #hacking #China

A Trackball 3D Controller


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

We use CAD packages in our 3D work, and it’s likely that many of us have become annoyed by the limitations of controlling the view of a 3D object using a 2D interface, our mouse. Joystick-like 3D controllers exist for this purpose, but [David Liu] found them inconvenient. He tried a trackball, but that didn’t improve matters. His response was to take the trackball and change the way it controlled the software, turning it from the equivalent of a ball rolling over a surface to a ball representing the object on the screen itself. He can turn and rotate the object intuitively just by moving the ball.

He started with a Kensington off-the-shelf trackball and adapted its electronics and handy twin optical sensors such that it worked in the required fashion. There was a lot of iterating and tuning to get the control feeling right, but he’s ended up with a peripheral that replaces both mouse and 3D joystick, and leaves the other hand free for those keyboard shortcuts.

He’s making a go of it as a product called the Rotatrix, which is definitely worth a look. But we know the Hackaday community, and we’re sure this will have given some of you ideas as to other new ways to control your CAD models. Here’s to a new era of useful peripherals!

youtube.com/embed/u1v7TXViRi8?…


hackaday.com/2026/04/27/a-trac…

Cybersecurity & cyberwarfare ha ricondiviso questo.

#Italy moves to extradite Chinese national to the U.S. over hacking charges
securityaffairs.com/191368/apt…
#securityaffairs #hacking #China

reshared this

Cybersecurity & cyberwarfare ha ricondiviso questo.

U.S. utility giant #Itron discloses a security breach
securityaffairs.com/191360/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.

AES-128 sotto attacco con il quantum computing? La risposta degli esperti sorprende

📌 Link all'articolo : redhotcyber.com/post/la-sicure…

A cura di Carolina Vivianti

#redhotcyber #news #crittografia #sicurezzainformatica #protezionedatidigitali

Cybersecurity & cyberwarfare ha ricondiviso questo.

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

295 – I social amplificano le visioni estreme mentre l’AI pare che tenda a moderare camisanicalzolari.it/295-i-soc…
Cybersecurity & cyberwarfare ha ricondiviso questo.

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

🚀 Gli speaker della RHC Conference 2026

📍𝗤𝘂𝗮𝗻𝗱𝗼: Martedì 19 Maggio con ingresso dalle ore 8:45
📍𝗗𝗼𝘃𝗲: Teatro Italia, Via Bari 18, Roma (Metro Piazza Bologna)
📍𝗣𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗮: redhotcyber.com/linksSk2L/prog…
📍𝗜𝘀𝗰𝗿𝗶𝘇𝗶𝗼𝗻𝗲 conferenza di Martedì 19 Maggio: rhc-conference-2026.eventbrite…

#redhotcyber #rhcconference #conferenza #informationsecurity #ethicalhacking #dataprotection

Cybersecurity & cyberwarfare ha ricondiviso questo.

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

OneCritto: il password manager italiano che elimina il cloud (e i suoi rischi)

📌 Link all'articolo : redhotcyber.com/post/onecritto…

A cura di Carolina Vivianti

#redhotcyber #news #gestionepassword #sicurezzainformatica #passwordmanager #soluzionitaliane

reshared this

Mist, Mirrors, Laser : Multi-view 3D Projection


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

“Lights, camera, action!” might have been the call when recording back in the day, but for an awesome three-dimensional viewing experience, you might try yelling “Mist, Mirrors, Laser!” and following in the footsteps of [Ancient]’s latest adventure in voxel displays, which is also embedded below.

He starts with a naive demonstration: take a laser projector and toss an image into a flat cloud of mist. That demonstrates that yes, the mist does resolve an image, and that the viewing angle is very poor– that is, brightness drops off sharply when you’re out of line from the projector. In this case, that’s a good thing! It means more angles can be projected into that mist for a three-dimensional, hologram effect.

The optical train gets folded up, probably to make this fit on a tabletop: first, an array of flat mirrors in front of the projector splits the image from the projector into multiple viewpoints, which are each bounced to a second flat mirror that sends the image into the fog bank.

Some might call the resulting image a hologram; others might complain that that’s technically something totally different, and that this volumetric display is just all smoke and mirrors. We can hope that [Ancient] sees fit to share more details, like the software stack needed to generate the video feed– though it’s likely using a version of the same software as his last volumetric display, which used the same laser but whose point cloud was made from a bubblegram rather than an actual cloud. With a lot more points, though, the resolution is amazing in comparison, at the cost of appearing fuzzy at the edges. Unfortunately, we do not see the display in this demo run DOOM, as one of his previous projects did.

This video is more of a demo than a how-to, but it’s a heck of an impressive demo. If you don’t feel like watching the assembly, jump right to 9:00 to be impressed. It comes across a lot better on video than in the screenshot.

youtube.com/embed/YbxsYhTjYFI?…


hackaday.com/2026/04/26/mist-m…

Cybersecurity & cyberwarfare ha ricondiviso questo.

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

DeepSeek contro le AI Statunitensi! Tra closed e open source, geopolitica e sorveglianza

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

A cura di Massimiliano Brolli

#redhotcyber #news #deepseek #intelligenzaartificiale #opensource #openai #google #modellov4 #ai

Hackaday Links: April 26, 2026


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

Hackaday Links Column Banner

It’s been three weeks since the Artemis II crew returned to Earth, and while the mission might be over for Reid Wiseman, Victor Glover, Christina Hammock Koch, and Jeremy Hansen, the work is only just beginning for engineers back at NASA. In a blog post earlier this week, the space agency went over the preliminary post-mission assessments of the spacecraft and its ground support equipment, and detailed some of the work that’s currently taking place as preparations begin for Artemis III.

During Artemis I, higher than expected damage was noted on both the Orion’s heat shield and the Space Launch System (SLS) launch pad. But according to NASA, the changes implemented after that first mission seem to have prevented similar issues this time around. The post also explains that reusable components of the Orion spacecraft, such as the avionics and the crew seats, are already in the process of being removed from Integrity so they can be installed in the next capsule on the production line.

While watching the live stream of the Artemis mission is the closest most of us will ever get to experiencing spaceflight, that doesn’t mean you can’t explore the solar system from the comfort of your own home — or more specifically, your browser. [Sani Huttunen] has created an incredible web-based solar system simulator that lets you explore our celestial neighborhood throughout different periods of time. You can tour the moons of Jupiter, see how the planets aligned on the date of your birth, and even check in on the Voyager probes. There are some very valid reasons to be skeptical about software moving to the web, but we’ve got to admit, this is a very slick demonstration of just how far modern browsers have come.

Speaking of how far things have come, are you ready for a car without a rear window? Polestar certainly hopes so, as their latest model does away with such quaint concepts. The glass panel in the roof ends right around the back headrests, and while the rear of the vehicle does open up for storage, the hatch is completely solid. In place of the traditional mirror, there’s a “high resolution” 1480 x 320 display that shows the feed from a rear-mounted camera.

No, that’s not a typo. At a time when smartphones are shipping with 2K displays, should the driver want to see what’s going on behind their $70,000+ USD electric vehicle, they’re limited to seeing it at a vertical resolution below that of VGA. We’d make a joke about Polestar offering up a “Rearview+” upgrade down the line that would give the driver a higher resolution view, but honestly, it’s getting a little too close to reality to be funny.

If that last one has you wishing for a reminder of simpler times, how about some new software for using the iconic Wii Remote as an input device? The Wii and its revolutionary controllers may be turning 20 later this year, but that hasn’t stopped the dedicated fans. This new wrapper provides accelerometer calibration, infrared tracking, and the ability to remap the Wii Remote’s buttons and create key combos. If you do something cool with it, we’d love to hear about it.

Finally, on the other end of the input spectrum, some details leaked out this weekend about Valve’s upcoming Steam controller — namely, the fact that it will cost players $99 at release. As reported by VICE, a hands-on review of the controller by TechyTalk was accidentally published early on YouTube, providing the public with pricing info ahead of an official announcement.

At first blush, this might seem like a lot of money to pay for a game controller, but it’s actually within striking distance of the sticker price on the standard controllers on the Xbox and PlayStation consoles. Perhaps more critically, it’s around half the price of the official “premium” controller offerings available for the aforementioned systems. Is it really any wonder that we’ve got cars without rearview mirrors when folks are putting down 200 bucks for a fancy PlayStation controller?


See something interesting that you think would be a good fit for our weekly Links column? Drop us a line, we’d love to hear about it.


hackaday.com/2026/04/26/hackad…

A Sail and Oar Skiff Built from Common Lumber


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

For those first venturing into sailing, it can be overwhelming since the experience is thick with jargon and skills that don’t often show up in life ashore. With endless choices, including monohulls versus catamarans, fiberglass versus wood, fractional versus masthead rigs, and sloops versus ketches, a new sailor risks doing something like single-handing a staysail schooner when they should have started on a Bermuda-rigged dinghy without a spinnaker. Luckily, there are some shortcuts to picking up the hobby, like the venerable Sunfish or Hobie ships. It’s also possible to build a simple sailing vessel completely out of materials from a local hardware store, as [Cumberland Rover] has been demonstrating.

[Cumberland Rover] has a number of homemade vessels under his belt, from various kayaks and rowboats. His latest project is a 12-foot rowboat, which has the option to add a mast and sail. The hull is made from two 1×12 pieces of lumber, bent around a frame and secured. Plywood makes the bottom, and a few seats finish out the build. He’s also using standard hardware to fasten everything together, which helps with maintenance. It came in handy when he recently added some height to the bow of the boat to improve seaworthiness.

For sailing, the mast is made out of two pieces of 2x lumber glued together and then worked into a more cylindrical shape. It’s unstayed, reducing complexity, and although he broke one in extremely high winds, it is more than strong enough for most of his sailing. The ship is gaff-rigged, with a square sail hoisted up the mast by a wooden spar. All of these design choices make it quick and easy to set the sail up when the wind is good or pack it away fast when it’s time to row.

Although there are paid plans available on his website, the methods used in the video show how simple it can be to get into rowing or sailing with a minimal cost. You’ll still want to learn the basics of sailing before taking one of these out into open water. DIY speedboats are also possible and accessible as well, but there’s the added complexity of a motor here to think about, as well as registration requirements that often accompany powered craft.

youtube.com/embed/dpvkqw2dL-M?…


hackaday.com/2026/04/26/a-sail…

Freeze Moving Tools with a Stroboscopic Camera


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

A drill bit, not apparently rotating, descends toward a block of aluminium and throws up aluminium shavings as it passes through the block.

If you take a video of a spinning wheel, you’ll probably notice that the spokes appear to turn more slowly than the wheel is actually rotating, and sometimes in the wrong direction. This is caused by a near match in the frame rate of the camera and the rate of rotation of the wheel – each time the camera captures a frame, the wheel has rotated a spoke into nearly the same position as in the last frame. If you time the exposures carefully, as [Excessive Overkill] did in his latest video, this effect can seemingly freeze moving objects, such as a fan or saw blade.

Most cameras only allow relatively coarse, fixed adjustments to frame rate, making it difficult to synchronize the shutter to an object’s motion. To get around this, [Excessive Overkill] used an industrial camera (previously used in this aimbot), which has fine frame rate control and external triggering. He connected the external trigger to a laser sensor, which detects a piece of retroreflective tape every time it passes by (for example, on one blade of a fan). When the laser sensor sends a signal, it also triggers a powerful LED flash. The flash is so powerful that dark materials create a hum when exposed to it, as pulses quickly heat the material, but each pulse is also so brief that the flash board doesn’t require any cooling.

Even to the naked eye, these stroboscopic pulses make rotating objects seem to stand still – an effect which made [Excessive Overkill] extra cautious when working around a lathe. When using a suitably long exposure time to avoid rolling-shutter distortion, the effect worked even using a normal camera without frame-rate matching. [Excessive Overkill] took videos of debris flying away from a seemingly motionless bandsaw, milling machine, chop saw, and jigsaw, though it was harder to freeze the rotation of a weed trimmer and a drone.

We’ve seen this effect used to freeze motion a few times before, both for art and for entertainment. If you’d like to recreate it, check out this high-speed LED flash.

youtube.com/embed/xXAQZLS5Epw?…

Thanks to [Keith Olson] for the tip!


hackaday.com/2026/04/26/freeze…

Cybersecurity & cyberwarfare ha ricondiviso questo.

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

State Pattern in C#: guida decisionale con esempi pratici
#tech
spcnet.it/state-pattern-in-c-g…
@informatica


State Pattern in C#: guida decisionale con esempi pratici


Gli oggetti cambiano comportamento in base al loro stato interno continuamente. Un documento passa da bozza a revisione a pubblicato. Un personaggio di un gioco alterna tra inattivo, in corsa e in attacco. Un pagamento transita da pending ad autorizzato a catturato. La domanda quando usare lo State Pattern in C# emerge nel momento in cui la logica condizionale inizia a ramificarsi sullo stesso campo stato in metodo dopo metodo — e ogni nuovo stato obbliga a toccare più file.

In questo articolo troverete una guida decisionale pratica per il pattern State in C#: quando merita davvero il suo posto e quando soluzioni più semplici — enum o flag booleani — bastano e avanzano.

Cos’è lo State Pattern e cosa fa davvero


Lo State Pattern consente a un oggetto di cambiare il proprio comportamento quando il suo stato interno cambia. Dall’esterno sembra che l’oggetto abbia cambiato classe. Invece di sparpagliare istruzioni if e switch in ogni metodo che dipende dallo stato corrente, si incapsula il comportamento di ciascuno stato in una propria classe. L’oggetto delega al state object attivo in quel momento.

La struttura coinvolge tre ruoli:

  • Context — mantiene un riferimento allo state object corrente e vi delega il comportamento
  • State interface — dichiara i metodi che ogni stato deve implementare
  • Concrete state classes — implementano l’interfaccia con il comportamento specifico del loro stato

Quando avviene una transizione, il context sostituisce il riferimento al proprio state object. Questo approccio elimina i blocchi condizionali che crescono ogni volta che si aggiunge uno stato nuovo.

Segnali che indicano che avete bisogno dello State Pattern


Non ogni oggetto con un campo status ha bisogno dello State Pattern. Tuttavia certi code smell sono segnali forti che il pattern ripulirà il design.

La logica condizionale si ramifica sullo stesso stato ovunque


Questo è il trigger principale. Quando vedete lo stesso switch o if-else che controlla _status in tre, quattro o dieci metodi diversi, il vostro oggetto sta gestendo le transizioni di stato nel modo più difficile. Ogni nuovo stato significa toccare ciascuno di quei metodi.

Avete regole di transizione complesse


Se le transizioni valide dipendono dallo stato attuale — e alcune azioni devono lanciare eccezioni o essere semplicemente ignorate a seconda di dove ci si trova — il pattern State rende queste regole esplicite invece di affogarle in condizionali.

Ogni stato ha un comportamento distinto


Quando lo stato influenza come si comporta un metodo, non soltanto se eseguirlo, il pattern vale l’investimento. Ciascuna classe stato diventa un luogo coeso che racchiude tutto il comportamento per quella condizione.

Scenario 1: gestione degli ordini (comportamento condizionale complesso)


Ecco un esempio di elaborazione ordini con lo State Pattern:

public interface IOrderState
{
    void Submit(OrderContext context);
    void Cancel(OrderContext context);
    void Ship(OrderContext context);
    void Deliver(OrderContext context);
}

public sealed class OrderContext
{
    public IOrderState CurrentState { get; private set; }
    public string OrderId { get; }

    public OrderContext(string orderId)
    {
        OrderId = orderId;
        CurrentState = new PendingState();
    }

    public void TransitionTo(IOrderState state)
    {
        Console.WriteLine(
            $"Order {OrderId}: " +
            $"{CurrentState.GetType().Name} -> " +
            $"{state.GetType().Name}");
        CurrentState = state;
    }

    public void Submit() => CurrentState.Submit(this);
    public void Cancel() => CurrentState.Cancel(this);
    public void Ship()   => CurrentState.Ship(this);
    public void Deliver() => CurrentState.Deliver(this);
}

public sealed class PendingState : IOrderState
{
    public void Submit(OrderContext context)
    {
        Console.WriteLine("Ordine inviato per elaborazione.");
        context.TransitionTo(new ProcessingState());
    }

    public void Cancel(OrderContext context)
    {
        Console.WriteLine("Ordine annullato prima dell'invio.");
        context.TransitionTo(new CancelledState());
    }

    public void Ship(OrderContext context) =>
        throw new InvalidOperationException("Impossibile spedire un ordine in attesa.");

    public void Deliver(OrderContext context) =>
        throw new InvalidOperationException("Impossibile consegnare un ordine in attesa.");
}

Notate come PendingState sappia esattamente cosa fare (o non fare) per ogni azione. Non c’è nessuno switch nello stato: il polimorfismo gestisce tutto.

Scenario 2: workflow e gestione dei processi


Un caso d’uso classico è la gestione di una domanda con audit trail integrato:

public interface IApplicationState
{
    string StatusName { get; }
    void Review(ApplicationContext context);
    void Approve(ApplicationContext context);
    void Reject(ApplicationContext context);
    void RequestInfo(ApplicationContext context);
}

public sealed class ApplicationContext
{
    public IApplicationState CurrentState { get; private set; }
    public string ApplicantName { get; }
    public List<string> AuditLog { get; } = new();

    public ApplicationContext(string applicantName)
    {
        ApplicantName = applicantName;
        CurrentState = new SubmittedState();
        Log("Domanda inviata");
    }

    public void TransitionTo(IApplicationState state)
    {
        Log($"Transizione a {state.StatusName}");
        CurrentState = state;
    }

    public void Log(string message) =>
        AuditLog.Add($"[{DateTime.UtcNow:u}] {message}");
}

L’audit trail viene aggiornato automaticamente a ogni transizione, senza duplicazione di codice nei metodi chiamanti.

Scenario 3: gestione dello stato di un personaggio in un gioco


I giochi sono un esempio naturale: un personaggio che alterna tra IdleState, RunningState, AttackingState e DyingState beneficia enormemente di questo pattern, poiché ciascuno stato ha logica di input e di update completamente diversa.

Quando NON usare lo State Pattern


Il pattern non è sempre la risposta giusta. Evitate di applicarlo nei seguenti casi:

  • Stati booleani semplici: se l’oggetto ha solo attivo e inattivo, un campo booleano è più chiaro e diretto.
  • Pochi stati senza transizioni significative: se avete due o tre stati con poco comportamento differenziato, gli enum bastano.
  • La logica di transizione è esterna all’oggetto: se le decisioni di cambio stato appartengono a un orchestratore esterno, il pattern State aggiunge complessità senza benefici.


State Pattern vs alternative: quando scegliere cosa


Un enum con un switch è la scelta giusta quando gli stati sono pochi, stabili e il comportamento differisce solo su una o due dimensioni. Appena gli stati crescono, il comportamento diverge significativamente per metodo, o le transizioni diventano complesse, è il momento di passare al pattern State.

Il pattern State non è la stessa cosa del pattern Strategy: Strategy cambia l’algoritmo usato per una singola operazione, mentre State cambia il comportamento complessivo dell’oggetto al variare della condizione interna. Possono tuttavia lavorare insieme: una transizione di stato può emettere eventi che degli Observer gestiscono.

Integrazione con Dependency Injection


Una domanda comune è se il pattern State si integri bene con la DI di ASP.NET Core. La risposta è sì, con qualche accorgimento: le classi stato concrete possono essere registrate nel contenitore DI, ma è consigliabile usare factory o ActivatorUtilities.CreateInstance per creare le istanze in modo da evitare cicli nel contenitore.

Conclusione


Lo State Pattern in C# risolve un problema preciso: oggetti il cui comportamento cambia radicalmente al variare dello stato interno, con transizioni complesse e comportamento specifico per stato. Prima di applicarlo, fate questa verifica rapida: contate quante volte controllate lo stesso campo di stato in metodi diversi. Se la risposta supera tre o quattro, probabilmente il pattern vi risparmierà mesi di manutenzione futura.

La regola d’oro rimane: preferite sempre la soluzione più semplice che risolve il problema. Un enum con uno switch è più leggibile di una gerarchia di classi per casi banali. Ma quando la complessità cresce, lo State Pattern offre un’architettura che scala senza sforzo.


Fonte originale: When to Use State Pattern in C#: Decision Guide with Examples — Dev Leader


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.

GlassWorm muta ancora: 73 estensioni “sleeper” su Open VSX pronte a svegliarsi come malware
#CyberSecurity
insicurezzadigitale.com/glassw…


GlassWorm muta ancora: 73 estensioni “sleeper” su Open VSX pronte a svegliarsi come malware


Una campagna di supply chain attack di nuova generazione non aspetta di essere scoperta: prima si mimetizza, poi colpisce. È questa la logica dietro GlassWorm, un attore malevolo che ha trasformato il marketplace Open VSX in un campo minato di estensioni apparentemente legittime, pronte ad attivarsi dopo settimane di apparente innocenza.

La nuova ondata: 73 estensioni sleeper identificate


Il 25 aprile 2026, i ricercatori di Socket hanno pubblicato un’analisi approfondita rilevando 73 nuove estensioni per Open VSX — il registry alternativo a Visual Studio Marketplace, utilizzato principalmente dagli sviluppatori di VSCodium e Eclipse Theia — che mostrano caratteristiche riconducibili alla campagna GlassWorm. Almeno sei di queste estensioni si sono già “svegliate”, aggiornandosi per distribuire payload malevoli, mentre le restanti rimangono classificate come sleeper ad alta confidenza in attesa di attivazione.

Il meccanismo è elegante nella sua perversità: le estensioni vengono pubblicate con codice pulito, superano i controlli automatici del marketplace, accumulano installazioni e fiducia degli utenti — poi, attraverso un aggiornamento silenzioso o aggiungendo una dipendenza malevola, si trasformano in vettori di malware. Nessun exploit, nessun CVE: pura abuso della fiducia nella supply chain del software.

Evoluzione di una campagna persistente


GlassWorm non è un attore nuovo. La campagna è attiva almeno dal tardo 2024, con escalation progressive che si sono succedute nel corso del 2025-2026. A dicembre 2025 furono rilevate le prime 24 estensioni impersonatrici; a febbraio 2026 si scoprì che un account sviluppatore compromesso era stato usato per propagare il malware; a marzo 2026 la campagna scalò a 72 estensioni attive su Open VSX con diffusione tramite abuso di dipendenze. L’ondata di aprile 2026 rappresenta dunque l’evoluzione più sofisticata finora osservata.

Gli obiettivi rimangono costanti: furto di segreti di sviluppo (API key, token, credenziali), svuotamento di wallet di criptovalute, e trasformazione dei sistemi infetti in proxy per ulteriori attività criminali. Il target primario sono sviluppatori che lavorano su macOS, Linux e Windows con ambienti basati su VS Code o suoi fork.

Tecniche di attacco: la profondità della sleeper strategy


L’analisi di Socket rivela una serie di pattern tecnici ricorrenti nell’attuale cluster di 73 estensioni. I publisher sono account GitHub neonati, con una o due repository pubbliche: una repository vuota con nome composto da otto caratteri casuali e una contenente il codice dell’estensione. Questo pattern serve a superare le verifiche di identità del marketplace, che richiedono un profilo GitHub associato.

Le estensioni impersonano utility popolari — ad esempio il language pack turco per VS Code — usando la stessa icona, un nome simile e contenuti copiati dal pacchetto legittimo. Una volta guadagnata la fiducia degli utenti, la delivery del malware avviene in due modalità principali: aggiornamento diretto dell’estensione per includere codice offuscato, oppure aggiunta di una dipendenza da un’estensione separata che contiene il loader GlassWorm, sfruttando il fatto che l’installazione di un’estensione può portare all’installazione automatica di tutte le sue dipendenze dichiarate.

I payload attivati al momento includono: VSIX malevoli ospitati su GitHub, binari nativi firmati con certificati rubati, JavaScript offuscato con tecniche di code splitting per sfuggire all’analisi statica. Il loader GlassWorm, una volta eseguito nell’ambiente VS Code, ha accesso allo stesso filesystem, alle variabili d’ambiente e ai token di sessione dell’IDE — un privilegio enorme che permette di esfiltrare le credenziali di ogni servizio cloud configurato nello strumento di sviluppo.

Contesto più ampio: l’ecosistema VS Code come vettore sistemico


GlassWorm rappresenta un sintomo di una vulnerabilità strutturale: gli ecosistemi di estensioni per editor di codice sono intrinsecamente difficili da proteggere. A differenza dei package manager come npm o PyPI, dove esiste una cultura più consolidata di analisi della sicurezza, i marketplace di estensioni IDE tendono ad avere meccanismi di revisione più leggeri e una percezione del rischio più bassa da parte degli utenti. Un desarrollatore che installa un’estensione VS Code raramente si chiede se stia introducendo un RAT nella propria workstation.

La tecnica della sleeper extension è particolarmente insidiosa perché richiede pazienza da parte dell’attaccante — una caratteristica tipica di campagne sponsorizzate da attori con risorse significative. Non è ancora stata stabilita un’attribuzione definitiva per GlassWorm, ma il livello di sofisticazione e persistenza suggerisce un gruppo criminale strutturato o un attore nation-state interessato alla compromissione di pipeline di sviluppo software.

Indicatori di compromissione (IoC)

# Pattern publisher malevoli (account GitHub)
- Account con repository vuota a nome di 8 caratteri esadecimali
- Account creati tra gennaio e aprile 2026 senza storia pubblica

# Pattern nomi estensioni sospette (esempi noti)
- Estensioni che impersonano language pack (es. Turkish Language Pack for VSCode)
- Estensioni con nomi che differiscono di un carattere da quelle legittime

# Comportamenti runtime sospetti
- Lettura di variabili d'ambiente (PATH, HOME, credenziali cloud)
- Connessioni in uscita verso bucket S3 su us-east-2 o us-west-2
- Caricamento dinamico di script da URL GitHub Raw

# Repository di tracking
https://socket.dev/glassworm-v2  (lista aggiornata estensioni maligne)

Consigli per i difensori


Per chi gestisce ambienti di sviluppo, alcune misure concrete. Prima di tutto, applicare policy di allowlist per le estensioni VS Code/VSCodium approvate, impedendo l’installazione di estensioni non verificate dall’organizzazione. Monitorare con strumenti come Socket o Phylum le dipendenze dei progetti, incluse quelle delle estensioni IDE. Configurare il traffico di rete delle workstation degli sviluppatori per rilevare connessioni anomale verso S3 bucket sconosciuti o hostname Heroku. Abilitare la telemetria degli IDE aziendali e integrarla nel SIEM per rilevare accessi insoliti al keychain o alle variabili d’ambiente. Infine, considerare l’adozione di ambienti di sviluppo containerizzati o in sandbox, dove l’impatto di un’estensione compromessa è limitato al container.

Socket mantiene una pagina dedicata al tracking di GlassWorm v2 con l’elenco aggiornato delle estensioni malevole identificate: consultarla periodicamente è una misura di igiene minima per chi usa Open VSX. La campagna è ancora attiva e il numero di sleeper non ancora attivati — stimato in oltre 60 — suggerisce che il peggio non sia ancora avvenuto.


Cybersecurity & cyberwarfare ha ricondiviso questo.

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

⚠️ NASA staff targeted via fake meeting invites Attackers posing as Chinese officials used phishing meeting requests to trick #NASA employees into installing malware, enabling credential theft and potential network access escalation. 🔗 thehackernews.com/2026/04/nasa...#ransomNews #phishing

reshared this

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

GlassWorm muta ancora: 73 estensioni “sleeper” su Open VSX pronte a svegliarsi come malware


@Informatica (Italy e non Italy)
La campagna GlassWorm torna con 73 nuove estensioni dormanti sul marketplace Open VSX. Socket ha rilevato nuove attivazioni malware da estensioni che erano parse innocue per settimane: un escalation preoccupante per l'intera pipeline


GlassWorm muta ancora: 73 estensioni “sleeper” su Open VSX pronte a svegliarsi come malware


Una campagna di supply chain attack di nuova generazione non aspetta di essere scoperta: prima si mimetizza, poi colpisce. È questa la logica dietro GlassWorm, un attore malevolo che ha trasformato il marketplace Open VSX in un campo minato di estensioni apparentemente legittime, pronte ad attivarsi dopo settimane di apparente innocenza.

La nuova ondata: 73 estensioni sleeper identificate


Il 25 aprile 2026, i ricercatori di Socket hanno pubblicato un’analisi approfondita rilevando 73 nuove estensioni per Open VSX — il registry alternativo a Visual Studio Marketplace, utilizzato principalmente dagli sviluppatori di VSCodium e Eclipse Theia — che mostrano caratteristiche riconducibili alla campagna GlassWorm. Almeno sei di queste estensioni si sono già “svegliate”, aggiornandosi per distribuire payload malevoli, mentre le restanti rimangono classificate come sleeper ad alta confidenza in attesa di attivazione.

Il meccanismo è elegante nella sua perversità: le estensioni vengono pubblicate con codice pulito, superano i controlli automatici del marketplace, accumulano installazioni e fiducia degli utenti — poi, attraverso un aggiornamento silenzioso o aggiungendo una dipendenza malevola, si trasformano in vettori di malware. Nessun exploit, nessun CVE: pura abuso della fiducia nella supply chain del software.

Evoluzione di una campagna persistente


GlassWorm non è un attore nuovo. La campagna è attiva almeno dal tardo 2024, con escalation progressive che si sono succedute nel corso del 2025-2026. A dicembre 2025 furono rilevate le prime 24 estensioni impersonatrici; a febbraio 2026 si scoprì che un account sviluppatore compromesso era stato usato per propagare il malware; a marzo 2026 la campagna scalò a 72 estensioni attive su Open VSX con diffusione tramite abuso di dipendenze. L’ondata di aprile 2026 rappresenta dunque l’evoluzione più sofisticata finora osservata.

Gli obiettivi rimangono costanti: furto di segreti di sviluppo (API key, token, credenziali), svuotamento di wallet di criptovalute, e trasformazione dei sistemi infetti in proxy per ulteriori attività criminali. Il target primario sono sviluppatori che lavorano su macOS, Linux e Windows con ambienti basati su VS Code o suoi fork.

Tecniche di attacco: la profondità della sleeper strategy


L’analisi di Socket rivela una serie di pattern tecnici ricorrenti nell’attuale cluster di 73 estensioni. I publisher sono account GitHub neonati, con una o due repository pubbliche: una repository vuota con nome composto da otto caratteri casuali e una contenente il codice dell’estensione. Questo pattern serve a superare le verifiche di identità del marketplace, che richiedono un profilo GitHub associato.

Le estensioni impersonano utility popolari — ad esempio il language pack turco per VS Code — usando la stessa icona, un nome simile e contenuti copiati dal pacchetto legittimo. Una volta guadagnata la fiducia degli utenti, la delivery del malware avviene in due modalità principali: aggiornamento diretto dell’estensione per includere codice offuscato, oppure aggiunta di una dipendenza da un’estensione separata che contiene il loader GlassWorm, sfruttando il fatto che l’installazione di un’estensione può portare all’installazione automatica di tutte le sue dipendenze dichiarate.

I payload attivati al momento includono: VSIX malevoli ospitati su GitHub, binari nativi firmati con certificati rubati, JavaScript offuscato con tecniche di code splitting per sfuggire all’analisi statica. Il loader GlassWorm, una volta eseguito nell’ambiente VS Code, ha accesso allo stesso filesystem, alle variabili d’ambiente e ai token di sessione dell’IDE — un privilegio enorme che permette di esfiltrare le credenziali di ogni servizio cloud configurato nello strumento di sviluppo.

Contesto più ampio: l’ecosistema VS Code come vettore sistemico


GlassWorm rappresenta un sintomo di una vulnerabilità strutturale: gli ecosistemi di estensioni per editor di codice sono intrinsecamente difficili da proteggere. A differenza dei package manager come npm o PyPI, dove esiste una cultura più consolidata di analisi della sicurezza, i marketplace di estensioni IDE tendono ad avere meccanismi di revisione più leggeri e una percezione del rischio più bassa da parte degli utenti. Un desarrollatore che installa un’estensione VS Code raramente si chiede se stia introducendo un RAT nella propria workstation.

La tecnica della sleeper extension è particolarmente insidiosa perché richiede pazienza da parte dell’attaccante — una caratteristica tipica di campagne sponsorizzate da attori con risorse significative. Non è ancora stata stabilita un’attribuzione definitiva per GlassWorm, ma il livello di sofisticazione e persistenza suggerisce un gruppo criminale strutturato o un attore nation-state interessato alla compromissione di pipeline di sviluppo software.

Indicatori di compromissione (IoC)

# Pattern publisher malevoli (account GitHub)
- Account con repository vuota a nome di 8 caratteri esadecimali
- Account creati tra gennaio e aprile 2026 senza storia pubblica

# Pattern nomi estensioni sospette (esempi noti)
- Estensioni che impersonano language pack (es. Turkish Language Pack for VSCode)
- Estensioni con nomi che differiscono di un carattere da quelle legittime

# Comportamenti runtime sospetti
- Lettura di variabili d'ambiente (PATH, HOME, credenziali cloud)
- Connessioni in uscita verso bucket S3 su us-east-2 o us-west-2
- Caricamento dinamico di script da URL GitHub Raw

# Repository di tracking
https://socket.dev/glassworm-v2  (lista aggiornata estensioni maligne)

Consigli per i difensori


Per chi gestisce ambienti di sviluppo, alcune misure concrete. Prima di tutto, applicare policy di allowlist per le estensioni VS Code/VSCodium approvate, impedendo l’installazione di estensioni non verificate dall’organizzazione. Monitorare con strumenti come Socket o Phylum le dipendenze dei progetti, incluse quelle delle estensioni IDE. Configurare il traffico di rete delle workstation degli sviluppatori per rilevare connessioni anomale verso S3 bucket sconosciuti o hostname Heroku. Abilitare la telemetria degli IDE aziendali e integrarla nel SIEM per rilevare accessi insoliti al keychain o alle variabili d’ambiente. Infine, considerare l’adozione di ambienti di sviluppo containerizzati o in sandbox, dove l’impatto di un’estensione compromessa è limitato al container.

Socket mantiene una pagina dedicata al tracking di GlassWorm v2 con l’elenco aggiornato delle estensioni malevole identificate: consultarla periodicamente è una misura di igiene minima per chi usa Open VSX. La campagna è ancora attiva e il numero di sleeper non ancora attivati — stimato in oltre 60 — suggerisce che il peggio non sia ancora avvenuto.


2026 Green Powered Challenge: A Portable Solar Panel, Made Better


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

Many of us will have seen the portable solar panels offered on our favourite online purveyors of electronics, but some who have bought them remain unimpressed with their performance. [t.oster92] had just such an issue, and concluded that since it had great dull-day performance, it wasn’t the panels themselves that were at fault. There followed a teardown and an investigation of the circuitry inside.

The panels fed a small PCB containing a buck converter, with an 8-pin SOIC carrying an untraceable part number. Some detective work revealed it was likely to be a rebadged version of a more common part, which exposed the problem as a converter without the rating to deliver the power it should. The solution, at least in part, was to replace it with a more powerful chip on a module and reap the benefits.

This would be the end of the story, but this is an ongoing project. Next up will be adding MPPT capability to extract the last bit of juice from those panels. That makes this one a story to keep an eye on, because we could all use a decent set of panels.

This hack is part of our 2026 Green Powered Challenge.

2026 Hackaday Greep Powered Challenge


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

Gazzetta del Cadavere reshared this.

Cybersecurity & cyberwarfare ha ricondiviso questo.

Critical bug in #CrowdStrike LogScale let attackers access files
securityaffairs.com/191343/hac…
#securityaffairs #hacking

reshared this

Dyson Vacuums and the Curse of Cooked Capacitors


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

It seems to be becoming a bit of a theme that consumer electronics are dying not due to some critical fault, but due to Cooked Capacitor Syndrome (CCS). Case in point, Dyson handheld vacuums and the capacitors on its driver board. After having his $800 Dyson V15 handheld vacuum die after two and a half years of regular use, [LeftyMaker] found himself elbows-deep in the dusty innards of the vacuum just to replace some capacitors.

After initially trying a new battery and other common troubleshooting steps, he found that lots of people were having the same flaky behavior with their Dyson vacuums, all with the same underlying cause. On the driver board for the DC brushless motor, there are a couple of capacitors that seem to cause issues across models, with the standard response by Dyson being to ‘buy a new body’.

While it’s definitely possible to tear down the vacuum to get to the driver board, you’ll be doing effectively a full disassembly, all to see the capacitors located right next to the hot motor in a very confined space. [LeftyMaker] confirmed a very high ESR on the old capacitors before replacing them with 125℃ rated Rubycon 35PZF270MT810X9 polymer capacitors for $1 a pop.

Unsurprisingly, the vacuum worked fine after that fix, but it shows a trend where CCS has become so commonplace that it’s no wonder that the phrase ‘planned obsolescence’ is being uttered alongside it. For this particular series of Dyson vacuums, the issue is apparently so bad that [Hasan] created a custom driver board that might be superior in multiple ways. Maybe we need an OSHW vacuum cleaner, just to avoid such shenanigans.

youtube.com/embed/tuFLQWgrilY?…


hackaday.com/2026/04/26/dyson-…