The Privacy Post 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.

FamousSparrow nel Caucaso: tre ondate di spionaggio cinese colpiscono il gas azero che alimenta l’Europa
#CyberSecurity
insicurezzadigitale.com/famous…


FamousSparrow nel Caucaso: tre ondate di spionaggio cinese colpiscono il gas azero che alimenta l’Europa


Quando il 25 dicembre 2025 un processo silenzioso ha tentato di scrivere una web shell in una directory pubblica di un server Microsoft Exchange di un’azienda petrolifera azera, nessuno sapeva ancora che quello era l’inizio di un’operazione di cyberspionaggio in tre ondate. Il gruppo cinese FamousSparrow ha dimostrato una persistenza metodica e una sofisticazione tecnica che va ben oltre la semplice opportunismo: ha continuato a rientrare nello stesso sistema, cambiando ogni volta backdoor, per quasi due mesi. La ricerca di Bitdefender pubblicata il 13 maggio 2026 ricostruisce l’intera catena.

Un bersaglio di valore strategico nel Caucaso meridionale


L’Azerbaigian non è mai stato un paese secondario per la sicurezza energetica europea, ma la sua importanza è cresciuta esponenzialmente negli ultimi anni. Con la scadenza nel 2024 del transito del gas russo attraverso l’Ucraina e le successive interruzioni dello Stretto di Hormuz nel 2026, Baku si è trasformata in uno snodo critico per l’approvvigionamento energetico del continente. Chi controlla l’informazione che circola all’interno di quelle aziende ha accesso a dati di valore incalcolabile: prezzi di vendita futuri, capacità estrattive, negoziati contrattuali, infrastrutture fisiche.

È esattamente in questo contesto che Bitdefender Labs ha individuato un’intrusione plurifase attribuita con fiducia da moderata ad alta al gruppo FamousSparrow, noto anche come UAT-9244 e storicamente sovrapponibile a cluster come Earth Estries e Salt Typhoon — tutte denominazioni che orbitano intorno all’ecosistema dello spionaggio informatico legato allo stato cinese. L’obiettivo era un’azienda petrolifera e del gas azerbaigiana non nominata. L’operazione è durata dalla fine di dicembre 2025 alla fine di febbraio 2026.

Tre ondate, stesso ingresso: la tattica della porta sempre aperta


L’aspetto più rilevante dal punto di vista operativo è la persistenza attraverso lo stesso vettore iniziale nonostante i tentativi di bonifica. Gli attaccanti hanno sfruttato la catena ProxyNotShell (CVE-2022-41082 / CVE-2022-41040) su un server Microsoft Exchange esposto, una vulnerabilità che risale al 2022 ma che molte organizzazioni non hanno ancora patchato correttamente.

Il processo w3wp.exe è stato osservato tentare di scrivere una web shell in una directory pubblica del server Exchange il 25 dicembre 2025, avviando la prima ondata. Invece di cambiare punto di accesso quando il team difensivo ha tentato la remediation, FamousSparrow ha semplicemente sostituito la backdoor, dimostrando che la vulnerabilità non era stata effettivamente chiusa:

  • Ondata 1 — Dicembre 2025: Deploy di Deed RAT (aka Snappybee), successore di ShadowPad, strumento condiviso tra molteplici gruppi di spionaggio cinesi. Caricato tramite DLL sideloading sul binario legittimo di LogMeIn Hamachi.
  • Ondata 2 — Fine gennaio / inizio febbraio 2026: Sostituzione con TernDoor, un backdoor recentemente documentato in attacchi alle telecomunicazioni sudamericane nel 2024, mai visto prima nel Caucaso.
  • Ondata 3 — Fine febbraio 2026: Ritorno a una variante modificata di Deed RAT, probabilmente aggiornata per eludere le firme generate dopo le prime rilevazioni.


L’arsenale tecnico: DLL sideloading di nuova generazione


Ciò che distingue questa campagna da molte altre operazioni APT è l’evoluzione della tecnica di DLL sideloading utilizzata per caricare Deed RAT. Il metodo tradizionale si limita a rimpiazzare una libreria legittima; la variante di FamousSparrow va oltre, sovrascrivendo due specifiche funzioni esportate all’interno della DLL malevola. Questo crea un meccanismo a doppio trigger che subordina l’esecuzione del loader di Deed RAT al flusso di controllo naturale dell’applicazione host — in questo caso il client Hamachi di LogMeIn.

Il risultato pratico è duplice: il processo appare legittimo agli strumenti di monitoring basati su firma, e l’analisi statica del binario non rivela comportamenti anomali fino all’esecuzione del secondo trigger. Un design che porta il segno di un gruppo con elevate capacità di sviluppo custom.

Deed RAT è un impianto modulare a plug-in, successore architetturale di ShadowPad, storicamente associato a gruppi come APT41, Bronze Atlas e altri cluster dell’ecosistema China-nexus. Supporta esecuzione di comandi, manipolazione del filesystem, tunneling di rete e caricamento dinamico di moduli aggiuntivi. TernDoor è invece un backdoor relativamente nuovo, scoperto per la prima volta nel contesto delle telecomunicazioni sudamericane: la sua comparsa in Azerbaigian suggerisce una condivisione di tooling tra operazioni geograficamente distinte.

Chi è FamousSparrow: storia di un gruppo nell’ombra


FamousSparrow è stato documentato per la prima volta da ESET nel 2021, quando veniva osservato sfruttare ProxyLogon contro hotel, studi legali e organizzazioni governative in cinque continenti. Da allora, il gruppo ha mantenuto un profilo basso, operando con tooling condiviso e sovrapposizioni tattiche con altri cluster China-nexus. La sua attribuzione rimane complessa proprio a causa di questa natura di “contractor” dell’ecosistema: usa strumenti come Deed RAT che circolano tra più gruppi, rendendo difficile tracciare confini netti tra operazioni distinte.

Bitdefender nota sovrapposizioni tattiche con Earth Estries (il gruppo noto per aver colpito le telecomunicazioni globali nel 2022-2024) e con Salt Typhoon, il cluster che nel 2024 aveva compromesso le infrastrutture di intercettazione legale di diversi carrier americani. Questa rete di attribuzioni incrociate riflette quella che gli analisti definiscono la “shared malware economy” del cyberspionaggio cinese: un ecosistema in cui strumenti, infrastrutture e accessi vengono riutilizzati tra operazioni con mandanti potenzialmente diversi.

Due righe per i difensori


Il caso azerbaigiano offre lezioni concrete per i team di sicurezza operanti in settori ad alto valore strategico. La prima, forse la più scomoda, è che un tentativo di remediation che non chiude completamente la vulnerabilità iniziale può essere peggio del non fare nulla: dà al team difensivo una falsa sensazione di sicurezza mentre l’avversario osserva e si riadatta. L’attaccante ha dimostrato di monitorare le azioni difensive e di rispondervi con una nuova backdoor.

Alcune raccomandazioni pratiche: verificare che ProxyNotShell (CVE-2022-41082 e CVE-2022-41040) sia effettivamente patchato attraverso validazione post-patch, non solo applicazione dell’aggiornamento; monitorare l’esecuzione di processi Exchange come w3wp.exe per attività di scrittura su filesystem inusuali; implementare detection per DLL sideloading tramite binari firmati di terze parti come strumenti di remote access legittimi; e adottare una strategia di threat hunting proattiva basata sui TTP di FamousSparrow anche dopo la chiusura di un incidente confermato.

Indicatori di Compromissione (IoC)

# Campagna FamousSparrow - Azerbaigian Oil & Gas (Dic 2025 - Feb 2026)
# Fonte: Bitdefender Labs / The Hacker News (13 maggio 2026)
## File IoC identificati
# Ondata 2 - TernDoor loader
MD5: 762f787534a891eca8aa9b41330b4108
Percorso: C:\ProgramData\USOShared\USOShared.exe
## Vettore di accesso iniziale
Vulnerabilità: ProxyNotShell
CVE: CVE-2022-41082 (RCE) / CVE-2022-41040 (SSRF)
Processo sfruttato: w3wp.exe (IIS Worker Process su Exchange)
## Tecniche MITRE ATT&CK
T1190 - Exploit Public-Facing Application (Exchange ProxyNotShell)
T1505.003 - Web Shell
T1574.002 - DLL Side-Loading (LogMeIn Hamachi binary)
T1027 - Obfuscated Files or Information
T1071 - Application Layer Protocol (C2)
## Malware families
Deed RAT (aka Snappybee) - modulare, successore di ShadowPad
TernDoor - backdoor, prima rilevato in telecomunicazioni SA 2024
## Nota ai defender
# Verificare presenza di web shell residue su:
# %ExchangeInstallPath%\FrontEnd\HttpProxy\
# %ExchangeInstallPath%\ClientAccess\

The Privacy Post ha ricondiviso questo.

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

ClickFix Evolves: Attackers Combine Social Engineering With Decade-Old PySoxy SOCKS5 Proxy for Persistent Access
#CyberSecurity
securebulletin.com/clickfix-ev…
The Privacy Post ha ricondiviso questo.

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

Critical Exim Vulnerability (EXIM-Security-2026-05-01.1): Remote Code Execution via GnuTLS BDAT Flaw — Patch Now
#CyberSecurity
securebulletin.com/critical-ex…
The Privacy Post ha ricondiviso questo.

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

CVE-2026-32185: Microsoft Teams for Android Vulnerability Enables Local Spoofing Attacks — Patch Available
#CyberSecurity
securebulletin.com/cve-2026-32…
The Privacy Post ha ricondiviso questo.

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

Foxconn Confirms Cyberattack: Nitrogen Ransomware Gang Claims 8TB Stolen From North American Plants
#CyberSecurity
securebulletin.com/foxconn-con…
The Privacy Post ha ricondiviso questo.

Nächste Woche findet die re:publica statt, die größte Konferenz für die digitale Gesellschaft in Europa. Das Programm bietet viele spannende Themen und Formate. Auf den Bühnen stehen auch Redakteur:innen und Autor:innen von netzpolitik.org.

netzpolitik.org/2026/dagegenha…

Questa voce è stata modificata (3 settimane fa)
The Privacy Post 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.

GitLab Act 2: il manifesto dell’AI agentica che promette il futuro e inquieta gli sviluppatori
#CyberSecurity
insicurezzadigitale.com/gitlab…


GitLab Act 2: il manifesto dell’AI agentica che promette il futuro e inquieta gli sviluppatori


Quando una piattaforma DevSecOps da miliardi di dollari decide di riscrivere la propria identità attorno agli agenti AI, non sta semplicemente annunciando una nuova roadmap di prodotto. Sta dichiarando che il modello stesso di sviluppo software che abbiamo conosciuto negli ultimi vent’anni è destinato a diventare obsoleto.

È questo il messaggio reale dietro GitLab Act 2, il lungo manifesto pubblicato da GitLab per spiegare la trasformazione interna dell’azienda nell’era dell’AI agentica. Un documento che, più che un post corporate, assomiglia a una dottrina industriale: il software costerà sempre meno produrlo, gli sviluppatori diventeranno supervisori di sistemi autonomi e le organizzazioni dovranno ripensare completamente struttura, processi e ruoli.

Il problema è che, dietro la retorica della “nuova era”, molti sviluppatori vedono qualcosa di molto diverso: una drastica razionalizzazione aziendale mascherata da inevitabile rivoluzione tecnologica.

La tesi di GitLab: il software sarà scritto dalle macchine


Nel manifesto, GitLab sostiene che l’AI generativa stia comprimendo il costo marginale della produzione software in modo paragonabile a quanto avvenuto nell’industria manifatturiera con l’automazione. La conseguenza, secondo l’azienda, non sarà una riduzione della domanda di software ma l’opposto: un’esplosione.

Se creare applicazioni diventa più economico, ogni azienda produrrà più software, più automazione, più integrazioni e più servizi interni. In questo scenario, il valore umano non sarà più nella scrittura manuale del codice ma nella definizione degli obiettivi, nella governance, nella sicurezza e nella supervisione degli agenti AI.

È una narrativa ormai dominante nella Silicon Valley: gli sviluppatori non spariranno, ma evolveranno in orchestratori di sistemi autonomi.

GitLab vuole posizionarsi esattamente al centro di questa transizione con la propria piattaforma “Duo Agent Platform”, immaginata come un layer operativo in cui agenti AI collaborano lungo l’intero ciclo DevSecOps: pianificazione, sviluppo, code review, security scanning, remediation, test e deployment.

Non più copiloti. Non più semplici assistenti. Ma entità autonome capaci di eseguire task complessi all’interno delle pipeline.

La ristrutturazione interna è il vero cuore del manifesto


La parte più interessante del documento non è però tecnologica. È organizzativa.

GitLab annuncia infatti una profonda trasformazione della propria struttura interna. L’azienda parla apertamente di riduzione dei livelli manageriali, team più piccoli e autonomi, maggiore automazione operativa e integrazione massiccia dell’AI nei processi decisionali.

I gruppi R&D verranno suddivisi in circa 60 unità snelle, progettate per muoversi più rapidamente e lavorare in parallelo insieme agli agenti AI. Nel manifesto si percepisce chiaramente un’influenza delle metodologie “founder mode” e delle moderne filosofie ultra-efficientiste adottate da molte aziende AI-first.

Tradotto dal linguaggio corporate: meno coordinamento umano, meno middle management e più automazione decisionale.

Ed è qui che la community ha iniziato a reagire in modo estremamente critico.

La critica principale: “state inseguendo l’hype”


Molti sviluppatori hanno interpretato Act 2 come il segnale definitivo che GitLab stia inseguendo il trend AI sacrificando progressivamente gli elementi che l’avevano resa popolare nella community engineering.

Nel forum ufficiale e su diverse discussioni tecniche, il malcontento è emerso rapidamente. Alcuni utenti accusano GitLab di aver trasformato la piattaforma in un contenitore di feature AI ancora immature mentre problemi storici di UX, performance e stabilità rimangono irrisolti.

Il timore più diffuso è che l’azienda stia vendendo una visione futuristica molto più avanzata della realtà tecnica attuale.

Ed effettivamente esiste un forte scollamento tra la narrativa dell’AI agentica e lo stato reale degli LLM moderni.

Per quanto impressionanti, gli agenti AI soffrono ancora problemi enormi in contesti enterprise:

  • perdita di contesto su codebase estese;
  • hallucinations in scenari complessi;
  • incapacità di ragionamento affidabile multi-step;
  • difficoltà nel comprendere architetture legacy;
  • fragilità nelle decisioni di sicurezza;
  • dipendenza da prompt engineering estremamente fragile.

Nel mondo DevSecOps questi limiti non sono marginali. Sono potenzialmente catastrofici.

Automatizzare una pipeline CI/CD è relativamente semplice. Delegare ad agenti AI remediation di vulnerabilità, code review o decisioni infrastrutturali in ambienti enterprise è un’altra storia.

Soprattutto quando si parla di sicurezza.

Il nodo cybersecurity: chi valida l’agente?


Dal punto di vista della cybersecurity, il manifesto di GitLab apre questioni enormi che nel documento vengono affrontate solo superficialmente.

Se gli agenti AI diventano parte attiva della supply chain software, diventano automaticamente anche una nuova superficie d’attacco.

Un agente che modifica codice, approva merge request o interagisce con pipeline CI/CD introduce rischi completamente nuovi:

  • prompt injection nei workflow DevOps;
  • poisoning dei contesti RAG;
  • manipolazione degli agenti tramite issue o commenti malevoli;
  • escalation di privilegi attraverso tool integration;
  • generazione di codice vulnerabile apparentemente corretto;
  • supply chain compromise mediata da AI.

La community security sta già osservando casi concreti di agenti AI manipolabili tramite input indiretti, specialmente quando connessi a repository, ticketing system o documentazione interna.

In pratica, il problema non è più soltanto “il codice è vulnerabile?”, ma anche:

“l’agente che ha preso la decisione era affidabile?”

È una differenza enorme.

GitLab sembra convinta che governance e supervisione umana saranno sufficienti a mitigare questi rischi. Ma molti esperti ritengono che l’industria stia sottovalutando drasticamente la complessità della sicurezza negli ecosistemi agentici.

Il sottotesto economico: fare di più con meno persone


C’è poi un altro elemento che ha generato parecchio nervosismo: il sospetto che “Act 2” sia soprattutto un piano di efficientamento.

Nel manifesto, GitLab evita accuratamente toni allarmistici sui posti di lavoro, ma il messaggio implicito è difficile da ignorare. Se gli agenti AI aumentano drasticamente la produttività, le aziende avranno bisogno di meno persone per svolgere gli stessi task.

Molti hanno letto il documento come la formalizzazione di una tendenza già evidente nel settore tech: usare l’AI come leva per comprimere organici, ridurre management intermedio e aumentare output per dipendente.

Ed è qui che la narrativa “visionaria” inizia a somigliare a qualcosa di molto più concreto: una ridefinizione radicale del rapporto tra capitale umano e automazione nel software engineering.

Un manifesto che racconta il futuro del settore


Al di là dell’hype e delle critiche, GitLab Act 2 resta un documento importante perché fotografa perfettamente il momento storico dell’industria software.

Per la prima volta una grande piattaforma DevSecOps non presenta l’AI come una feature aggiuntiva, ma come il fondamento operativo attorno a cui ridisegnare un’intera azienda.

La vera domanda non è se GitLab riuscirà o meno nella trasformazione.

La domanda è quante altre aziende seguiranno lo stesso modello nei prossimi 24 mesi.

Perché se Act 2 dovesse diventare il template organizzativo dell’era agentica, il cambiamento non riguarderà soltanto il modo in cui scriviamo codice.

Riguarderà il modo in cui verranno costruite le aziende tecnologiche stesse.


The Privacy Post ha ricondiviso questo.

Buongiorno.
Nuovi #consiglidifollow

Questa volta l'elenco comprende account da cui si possano trarre notizie e informazioni non banali riguardo al Fediverso e al mondo dell'informatica.
Non è esaustivo: condivido alcuni degli account che mi è capitato d'incontrare per caso e che mi piacciono.

Ecco dunque il

Settimo elenco: Info Fediverso e Informatica.


@admin
@aiucd
@anewsocial
@AntennaPod
@ArchaeoBasti
@cheeaun
@chiaraepoi
@Curator
@fediverso
@informapirata
@FediFollows
@fediforum
@FediTips
@fediversereport
@Flipboard
@Framasoft
@Galessandroni
@hackordie_radio
@informatica
@jerome_herbinet
@kappazeta
@kathsone
@leodurruti
@lealternative
@lisamelton
@lorenzo
@macfranc
@MastodonEngineering
@moshidon
@notizie
@poliverso
@privacity
@quillmatiq
@sbarrax
@skariko
@snow@snowfan.it
@snow@snowtest.it
@stefano
@tleilax
@wikimediaitalia
@wubby74
@zeppe

The Privacy Post 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.

Nitrogen ransomware colpisce Foxconn: 8TB di dati con segreti industriali di Apple, Nvidia e Intel
#CyberSecurity
insicurezzadigitale.com/nitrog…


Nitrogen ransomware colpisce Foxconn: 8TB di dati con segreti industriali di Apple, Nvidia e Intel


Il 12 maggio 2026 Foxconn ha confermato un cyberattacco ai danni delle sue fabbriche nordamericane, rivendicato dal gruppo ransomware Nitrogen. Gli aggressori affermano di aver sottratto 8 TB di dati — oltre 11 milioni di file — contenenti documentazione riservata, schemi tecnici e istruzioni di assemblaggio relative a progetti di Apple, Intel, Google, Nvidia e Dell. L’attacco ha bloccato la produzione per giorni in uno dei nodi più critici della supply chain tecnologica globale.

La timeline dell’attacco


Secondo le ricostruzioni, il 1° maggio 2026 i lavoratori del turno di notte dello stabilimento Foxconn di Mount Pleasant, Wisconsin, hanno interrotto la produzione a causa di un’interruzione di rete. Al mattino, i lavoratori del primo turno sono arrivati senza Wi-Fi e sono stati rimandati a casa entro le 11. La produzione è rimasta ferma fino al 4 maggio. Undici giorni dopo, il 11 maggio, il gruppo Nitrogen ha aggiunto Foxconn al proprio data leak site sul dark web, rivendicando il furto di 8 TB di dati e pubblicando campioni come prova.

Foxconn ha confermato l’incidente con una dichiarazione sobria: “Alcune fabbriche di Foxconn in Nord America hanno subito un cyberattacco. Il team di cybersecurity ha immediatamente attivato il meccanismo di risposta e implementato misure operative multiple per garantire la continuità di produzione e consegna. Le fabbriche interessate stanno riprendendo la normale produzione.” L’azienda si è rifiutata di confermare quali dati clienti fossero stati effettivamente esfiltrati.

Chi è Nitrogen: genealogia di un gruppo ransomware


Nitrogen è attivo dal 2023 ed è considerato uno dei numerosi discendenti del codice trapelato del builder Conti 2. Il gruppo è operativamente collegato a threat actor dell’Europa dell’Est e alcuni suoi operatori sarebbero associati al cartello BlackHat/ALPHV. Una caratteristica critica emersa a febbraio 2026 rende il gruppo particolarmente pericoloso per le sue stesse vittime: un bug di programmazione nel modulo di cifratura per VMware ESXi rende il decryptor incapace di recuperare i file cifrati. Secondo i ricercatori di Coveware, pagare il riscatto — in questo specifico scenario — è inutile, poiché nemmeno gli stessi operatori di Nitrogen riescono a decifrare i file. Foxconn avrà quasi certamente verificato questa criticità prima di prendere qualsiasi decisione sui negoziati.

Il bottino: schemi tecnici di Apple, Nvidia, Intel, Google e Dell


I campioni pubblicati da Nitrogen sul data leak site comprendono, secondo le ricostruzioni di più fonti, istruzioni di assemblaggio, diagrammi di data center e schemi hardware relativi a progetti di Apple, Intel, Google, Nvidia e Dell. La natura della documentazione è coerente con l’operatività dello stabilimento di Mount Pleasant, che Foxconn gestisce come Fii USA (Foxconn Industrial Internet) e che produce principalmente server, workstation e componenti per data center — non dispositivi consumer Apple, il che spiega perché Apple abbia dichiarato di non essere direttamente a rischio per quanto riguarda i propri prodotti al consumo.

La vera preoccupazione non è nella divulgazione di schemi per smartphone già in commercio, ma nella potenziale esposizione di roadmap future, specifiche ingegneristiche riservate di infrastrutture cloud e configurazioni di data center enterprise. Per aziende come Nvidia, i cui chip AI sono al centro di una corsa tecnologica globale con implicazioni geopolitiche, la divulgazione di topologie di sistemi e specifiche tecniche costituisce un rischio di intelligence industriale non trascurabile.

Foxconn nel mirino: una vittima seriale


Non si tratta del primo incidente ransomware per il colosso taiwanese. Nel 2022 un gruppo criminale aveva colpito una filiale messicana di Foxconn. Nel 2024 LockBit aveva attaccato Foxsemicon Integrated Technology, società del gruppo nel settore equipment per semiconduttori. La recidività di questi attacchi suggerisce che la superficie di attacco di Foxconn — distribuita tra decine di stabilimenti, migliaia di sistemi IT e una rete supply chain planetaria — sia strutturalmente difficile da proteggere nella sua totalità.

Implicazioni per la supply chain tecnologica


L’attacco a Foxconn rappresenta un caso emblematico di come le grandi aziende di contract manufacturing costituiscano un vettore di rischio sistemico per l’intera industria tecnologica. Un singolo incidente a un fornitore terzo può esporre simultaneamente la proprietà intellettuale di decine di brand globali — anche quando questi brand mantengono standard di sicurezza interni elevatissimi. La documentazione tecnica che fluisce verso i produttori include spesso specifiche pre-commerciali, che diventano bersagli appetibili per attori mossi da interessi sia economici (concorrenza sleale, contraffazione) che geopolitici (intelligence industriale statale).

Vale la pena notare che Nitrogen stessa ha un track record di affidabilità tecnica discutibile: la presenza del bug nel decryptor ESXi lascia aperta la domanda su quanto effettivamente il gruppo sia in grado di “consegnare” quanto promesso in sede di negoziazione. Per Foxconn, questo potrebbe significare che, nel caso in cui parte dei sistemi produttivi fosse stata cifrata con la variante ESXi, i dati potrebbero essere irrecuperabili indipendentemente da qualsiasi trattativa.

Due righe per i difensori: lezioni dall’incidente Foxconn


  • Segmentazione di rete per gli ambienti OT/IT: negli stabilimenti manifatturieri, la convergenza tra reti IT e sistemi operativi (OT/ICS) amplifica l’impatto di un’intrusione. Una corretta segmentazione può contenere il blast radius e prevenire interruzioni produttive.
  • Hardening degli hypervisor VMware ESXi: Nitrogen e molti altri gruppi ransomware prendono specificamente di mira ESXi. L’applicazione tempestiva delle patch, la disabilitazione di servizi non necessari (SLP, OpenSLP) e il monitoraggio delle API di hypervisor sono controlli prioritari.
  • Protezione della documentazione tecnica con DRM o controlli di accesso granulari: schemi, BOM e specifiche ingegneristiche riservate dovrebbero essere soggetti a policy di accesso basate sul principio del minimo privilegio e tracciabilità degli accessi.
  • Verifica dei fornitori critici: le aziende che condividono IP con contract manufacturer dovrebbero condurre audit periodici della postura di sicurezza dei propri fornitori e includere clausole di notifica di incidenti nei contratti.
  • Valutare la recuperabilità prima del pagamento: in caso di attacco Nitrogen su ambienti ESXi, ricercatori indipendenti hanno confermato che il pagamento non garantisce il recupero. Prioritizzare i backup offline e testare regolarmente i piani di disaster recovery.

Fonti: The Register (12 maggio 2026); CyberNews; The CyberSec Guru


The Privacy Post ha ricondiviso questo.

La hotline olandese per la prevenzione del suicidio condivide i dati dei visitatori con le aziende tecnologiche

La hotline olandese per la prevenzione del suicidio 113 ha condiviso i dati dei visitatori del sito web con terze parti senza consenso, BNR rapporti basato sulla ricerca dell'hacker etico Mick Beer di Hackedemia.nl. Ora Stichting 113 ha temporaneamente sospeso tutti gli strumenti di misurazione e analisi presenti sul suo sito web.

nltimes.nl/2026/05/13/dutch-su…

@privacypride@feddit.it

reshared this

The Privacy Post ha ricondiviso questo.

Gli sviluppatori di software affermano che l’intelligenza artificiale sta marcendo i loro cervelli

Gli sviluppatori a cui viene detto di usare l'intelligenza artificiale, che gli piaccia o no, raccontano una storia diversa. Su Reddit, Notizie sugli hacker e in altri luoghi in cui le persone impegnate nello sviluppo software parlano tra loro, sempre più persone sono deluse dalla promessa di codice generato da modelli linguistici di grandi dimensioni. Gli sviluppatori non parlano solo di come l'output dell'intelligenza artificiale sia spesso difettoso, ma anche del fatto che utilizzare l'intelligenza artificiale per portare a termine il lavoro è spesso un'esperienza più dispendiosa in termini di tempo, più difficile e più frustrante, perché devono esaminare l'output e correggerne gli errori. Ancora più preoccupante è il fatto che gli sviluppatori che utilizzano l'intelligenza artificiale sul lavoro dichiarano di avere la sensazione di perdere competenze e di riuscire a svolgere il proprio lavoro come prima.

404media.co/software-developer…

@aitech


Software Developers Say AI Is Rotting Their Brains


Tech company executives are confident that AI will completely transform the economy and point to the changes they see in-house to prove that this change is coming fast. At Meta, Google, Microsoft, and others, leadership says that AI generates a growing share of the overall code, which makes it cheaper and faster to produce. The implication is that if this AI is good enough that tech companies are using it internally to improve efficiency and reduce headcount, it’s only a matter of time until every other industry is similarly transformed.

Developers who are told to use AI whether they like it or not, however, tell a different story. On Reddit, Hacker News and other places where people in software development talk to each other, more and more people are becoming disillusioned with the promise of code generated by large language models. Developers talk not just about how the AI output is often flawed, but that using AI to get the job done is often a more time consuming, harder, and more frustrating experience because they have to go through the output and fix its mistakes. More concerning, developers who use AI at work report that they feel like they are de-skilling themselves and losing their ability to do their jobs as well as they used to.

“We're being told to use [AI] agents for broad changes across our codebase. There's no way to evaluate whether that much code is well-written or secure—especially when hundreds of other programmers in the company are doing the same,” a UX designer at a midsized tech company told me. 404 Media granted all the developers we talked to for this story anonymity because they signed non-disclosure agreements or because they fear retribution from their employers. “We're building a rat's nest of tech debt that will be impossible to untangle when these models become prohibitively expensive (any minute now...).”

The actual quality of output doesn't matter as much as our willingness to participate.


Tech company executives love to brag about how much of the code at their company is AI-generated. In April, Google said that three quarters of new code at the company was generated by AI. Last year, Microsoft CEO Satya Nadella said up to 30 percent of the company’s code was generated by AI. Microsoft’s CTO Kevin Scott said he expects 95 percent of all code at the company to be AI-generated by 2030. Meta’s Mark Zuckerberg said last year he expects AI to write most of the code improving AI within 12-18 months. Anthropic says 90 percent of the code written by most if its team is AI generated. Tech companies have also been bragging about their “tokenmaxxing,” or how much money they’re spending on AI tools instead of human employees.

💡
Are you a developer at Google, Microsoft, or another tech being pressured to use AI? I would love to hear from you. Using a non-work device, you can message me securely on Signal at ‪(609) 678-3204‬. Otherwise, send me an email at emanuel@404media.co.

Predictably, the huge spike in productivity that these companies claim their own AI products have enabled hasn’t resulted in more or better products, shorter work weeks, or better consumer experiences. Mostly, AI implementation in tech companies has been used to justify multiple massive rounds of layoffs. To name just a few examples where tech companies said they reduced headcount because of AI use, more recently, Meta said it would cut 10 percent of its workforce (around 8,000 people), Microsoft said it would offer voluntary retirement to 7 percent of its American workforce (around 125,000 people). Snapchat said it would lay off 16 percent of its full-time staffers (about 1,000 people).

This post is for subscribers only


Become a member to get access to all content
Subscribe now


in reply to Privacity

Non capisco.
A livello logico mi aspetterei che dichiarino o "di perdere competenze MA di riuscire a svolgere il proprio lavoro come prima" oppure "di perdere competenze e di NON riuscire a svolgere il proprio lavoro come prima". Dal senso generale mi aspetto più la seconda, ma senza né l'avversativa, né la negazione, non capisco il senso della frase.

Intelligenza Artificiale reshared this.

The Privacy Post ha ricondiviso questo.

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

CISA Adds CVE-2026-32202 to KEV Catalog as APT28 Actively Exploits Zero-Click Windows Shell Flaw
#CyberSecurity
securebulletin.com/cisa-adds-c…
The Privacy Post ha ricondiviso questo.

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

1/ 🥳 Big news for digital rights in Europe: Ireland’s Digital Services Coordinator, Coimisiún na Meán, has opened a formal investigation into Meta’s potential use of “dark patterns” that may prevent people from choosing feeds not based on profiling on Facebook and Instagram.

👏 We’re glad to see regulators taking these concerns seriously. This investigation could become a major step toward meaningful #DSA enforcement and stronger user rights across the EU.

Our reaction ➡️ lnkd.in/euyCMjcA

#dsa

reshared this

in reply to EDRi

2/ This follows a complaint we filed last year together with @bitsoffreedom, @Freiheitsrechte & Convocation Research+Design on behalf of an 🇮🇪 user. For over a year, civil society organisations have raised concerns that Meta’s design practices undermine people’s freedom to choose how content is recommended to them online.

More information ⤵️
edri.org/our-work/civil-societ…

Questa voce è stata modificata (3 settimane fa)

Oblomov reshared this.

The Privacy Post ha ricondiviso questo.

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

PoC Exploit Released for Android Zero-Click CVE-2026-0073 — Silent ADB Shell Access on Android 14–16
#CyberSecurity
securebulletin.com/poc-exploit…
The Privacy Post ha ricondiviso questo.

#Verwaltungsdigitalisierung macht vor allem Negativ-Schlagzeilen. Sie scheitert an vielen Hürden. Eine große ist, wie #Verwaltung Informationen abspeichert, nämlich so, dass sie Informationen nicht wiederfindet und Prozesse nicht automatisieren kann. Für @netzpolitik_feed hat @stk mir erzählt, dass Verwaltung anfangen muss, in Daten statt in Dokumenten zu denken. KI-Agenten, wie Digitalminister Wildberger sie massenhaft einführen will, seien kaum Teil der Lösung. netzpolitik.org/2026/statt-dat…
The Privacy Post 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.

Mythos contro curl: quando l’AI “troppo pericolosa” incontra la realtà del codice
#CyberSecurity
insicurezzadigitale.com/mythos…


Mythos contro curl: quando l’AI “troppo pericolosa” incontra la realtà del codice


Si parla di:
Toggle

Per settimane il nome “Mythos” è stato costruito come un oggetto quasi mitologico. Anthropic lo ha presentato come un modello AI capace di trovare vulnerabilità zero-day a un livello tale da risultare “troppo pericoloso” per una release pubblica. Una narrativa perfetta per il ciclo mediatico dell’AI security nel 2026: modello segreto, capacità offensive avanzate, accesso ristretto, migliaia di vulnerabilità individuate. Il genere di storytelling che nel mondo cyber si propaga in poche ore tra LinkedIn, Twitter/X, keynote e blog enterprise.

Poi però Mythos è stato testato contro uno dei progetti open source più scrutinati del pianeta: curl. E lì il racconto ha iniziato a incrinarsi.

Un software scritto come si deve


A raccontarlo è stato direttamente Daniel Stenberg, storico maintainer di curl e figura ormai centrale nel dibattito sulla collisione tra AI e vulnerability research. Nel suo lungo post pubblicato sul blog personale, Stenberg descrive il risultato dell’analisi effettuata con Mythos sul repository di curl: cinque vulnerabilità segnalate come “confirmed security vulnerabilities”. Dopo il triage umano del team sicurezza di curl, il bilancio finale si è ridotto a una sola vulnerabilità reale, classificata a bassa severità, tre falsi positivi e un semplice bug non-security. (daniel.haxx.se)

Ed è qui che il tema diventa interessante, perché il punto non è tanto “Mythos non funziona”. Anzi. Stenberg stesso riconosce che il report contiene analisi tecniche solide e bug descritti bene, con un numero relativamente basso di falsi positivi rispetto alla media degli scanner AI attuali. Il problema è un altro: il gap enorme tra la narrativa costruita attorno al modello e i risultati concreti osservabili sul campo.

La frase più pesante dell’intero post è probabilmente questa:

the big hype around this model so far was primarily marketing


Un software largamente usato


Una dichiarazione che arriva non da un opinionista qualsiasi, ma da uno dei maintainer open source più esposti al fenomeno AI-assisted vulnerability hunting. Negli ultimi mesi Stenberg ha documentato pubblicamente l’esplosione di report generati da AI, il collasso qualitativo di molti bug bounty submission e il nuovo scenario che lui stesso definisce “high-quality chaos”.

Il contesto infatti è fondamentale. curl non è un target qualunque. È software vecchio di decenni, onnipresente, analizzato continuamente da ricercatori, aziende, fuzzing infrastructure, static analyzer, LLM e offensive security team. Il progetto ha già attraversato una vera ondata di AI-powered auditing nel 2025 e 2026, con centinaia di issue segnalate e decine di CVE pubblicate.

In altre parole: Mythos non stava entrando in un territorio inesplorato. Stava arrivando su un codice già passato attraverso un livello di scrutiny estremo.

Ed è qui che la promessa implicita di Anthropic sembra perdere consistenza. Se un modello viene presentato quasi come una svolta paradigmatica nella vulnerability discovery offensiva, ci si aspetta almeno un salto qualitativo evidente rispetto agli strumenti precedenti. Non necessariamente centinaia di 0-day critici, ma almeno pattern nuovi, classi di bug differenti, chaining più sofisticati o insight architetturali difficili da intercettare con gli attuali sistemi AI-assisted SAST.

Secondo Stenberg, questo salto non si è visto.

Anzi, il maintainer di curl arriva a sostenere che altri strumenti AI usati in precedenza avevano già prodotto quantità maggiori di bugfix. Mythos forse è “leggermente migliore”, scrive, ma non abbastanza da cambiare realmente il paradigma della code analysis.

Questa distinzione è cruciale perché separa due fenomeni che oggi vengono continuamente confusi nel marketing AI security.

Il primo fenomeno è reale: i moderni LLM stanno diventando estremamente efficaci nell’analisi del codice. Stenberg lo dice chiaramente. Gli strumenti AI contemporanei trovano vulnerabilità meglio dei tradizionali static analyzer. La differenza rispetto a cinque anni fa è concreta e misurabile.

Il secondo fenomeno invece è narrativo: trasformare questo miglioramento incrementale in una retorica quasi apocalittica, dove ogni nuovo modello viene descritto come un cyber-weapon rivoluzionario capace di destabilizzare l’intero ecosistema software.

Ed è proprio questa seconda parte che il caso Mythos sembra mettere in discussione.

L’hype dell’AI ormai incontrollabile


Perché il rischio, nel settore cybersecurity, è che l’hype finisca per sostituire il metodo. La comunicazione attorno a Mythos ha funzionato perfettamente: accesso ristretto, dichiarazioni sulla pericolosità del modello, riferimenti a migliaia di zero-day trovati internamente, programma limitato a poche organizzazioni strategiche. Tutti elementi che costruiscono scarsità, percezione di superiorità tecnologica e senso di urgenza.

Ma quando il modello viene finalmente osservato in un caso reale e pubblico, il risultato appare molto più ordinario: un buon AI-assisted code analyzer che trova un low severity issue in un progetto maturissimo e già massacrato da anni di auditing.

Non è poco. Ma non è nemmeno la rivoluzione promessa.

La parte forse più interessante dell’intera vicenda è che Stenberg non assume una posizione anti-AI. Al contrario. La sua analisi è molto più sofisticata della solita polarizzazione “AI sì / AI no”. Lui riconosce apertamente che gli LLM stanno cambiando il vulnerability research landscape. Il problema, semmai, è che il settore sta sovrastimando la distanza tra i nuovi modelli “frontier” e ciò che gli strumenti AI moderni già fanno oggi.

Ed è una riflessione che nel mondo offensive security merita attenzione.

Perché se Mythos — il modello presentato come troppo pericoloso per essere rilasciato — produce risultati sostanzialmente comparabili agli strumenti già esistenti, allora forse la vera trasformazione non è l’arrivo di un singolo modello “superiore”, ma la democratizzazione progressiva dell’AI-assisted vulnerability discovery.

Una differenza enorme.

Nel primo scenario, il vantaggio resta concentrato nelle mani di pochi laboratori frontier AI. Nel secondo, invece, la capacità offensiva si distribuisce rapidamente: più ricercatori, più scanner, più auditing, più rumore, più CVE, più triage umano necessario.

Ed è esattamente il futuro che Stenberg sembra vedere arrivare: non una singola AI onnipotente, ma un ecosistema saturo di agenti capaci di produrre contemporaneamente valore tecnico reale e quantità industriali di “security slop”.

Un mondo dove il problema non è più trovare vulnerabilità. È distinguere quelle importanti dal resto.


The Privacy Post ha ricondiviso questo.

STILL haven't nominated anyone as the #FreeSoftware Contributor of the Year? 👀

The 2026 European SFS Award is waiting. Deadline: 25 May 2026

That person fixing bugs at 2am. The one silently holding the whole project together. Yeah, them. Go nominate them before you forget.
👉 cloud.opendatahub.com/index.ph…

Organised by #LUGBZ in collaboration with the FSFE.

More info: sfscon.it/award-nomination/

#SoftwareFreedom #SFSCON

reshared this

The Privacy Post ha ricondiviso questo.

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

Critical Palo Alto PAN-OS Vulnerability CVE-2026-0300 Actively Exploited — Unauthenticated Root RCE on Firewalls
#CyberSecurity
securebulletin.com/critical-pa…
The Privacy Post ha ricondiviso questo.

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

Microsoft Patch Tuesday May 2026: 120 Vulnerabilities Fixed, Including 29 Critical RCE Flaws
#CyberSecurity
securebulletin.com/microsoft-p…
The Privacy Post ha ricondiviso questo.

⚠️ EU e UK trattano con gli USA per la condivisione dei dati biometrici⚠️

Non è chiaro cosa stia negoziando il Consiglio dell'Unione Europea (=la rappresentanza dei governi nazionali), perché i negoziati sono avvolti nel mistero; ma una bozza dell'accordo è giunta a Statewatch e "implicherebbe trasferimenti reciproci continui e sistematici di dati biometrici", tra cui impronte digitali, fotografie e dati genetici.

computerweekly.com/news/366643…

@privacypride@feddit.it

reshared this

The Privacy Post ha ricondiviso questo.

The EU Commission’s Approach to Age Verification: Mobile Apps, DSA Enforcement, and Challenging National Social Media Bans
fpf.org/blog/the-eu-commission…
@privacy
On 29 April 2026, the European Commission published its Recommendation for a common approach for EU-wide age verification technologies, a non-binding policy document with the aim of harmonizing future measures for

The Privacy Post reshared this.

The Privacy Post ha ricondiviso questo.

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

Azure Resource Manager MCP Server: gestire l’infrastruttura Azure con gli agenti AI
#tech
spcnet.it/azure-resource-manag…
@informatica


Azure Resource Manager MCP Server: gestire l’infrastruttura Azure con gli agenti AI


Azure Resource Manager: il piano di controllo di Azure


Azure Resource Manager (ARM) è il piano di controllo dell’intera piattaforma Azure. Ogni operazione che crea, aggiorna o elimina risorse Azure passa attraverso ARM, indipendentemente da dove provenga: portale Azure, CLI, PowerShell, REST API o SDK. È l’unico punto di ingresso autorevole per gestire l’infrastruttura cloud Microsoft.

Con l’esplosione degli agenti AI, si pone una domanda concreta: come possono questi agenti interagire con ARM in modo strutturato, sicuro e coerente? Microsoft ha risposto con l’Azure Resource Manager MCP Server, ora in anteprima pubblica: un server MCP remoto che fornisce agli agenti AI un accesso di prima classe alle operazioni di infrastruttura Azure attraverso il Model Context Protocol.

Cos’è l’Azure Resource Manager MCP Server


Il server MCP per ARM è progettato per essere il layer di accesso degli agenti AI all’infrastruttura Azure, esattamente come lo è per qualsiasi altro client ARM. Nella versione attuale espone due macro-funzionalità principali:

  • Azure Resource Graph (ARG) query: generazione, validazione ed esecuzione di query ARG in linguaggio naturale contro tutti i tipi di risorse Azure
  • ARM Template Deployment: avvio, monitoraggio e cancellazione di deployment ARM su scope di resource group esistenti

In pratica, l’agente AI non esegue direttamente SQL o chiamate REST: descrive ciò che vuole sapere o fare, e il server MCP traduce quella richiesta in operazioni ARM concrete e sicure.

I tool disponibili


Il server espone sei tool principali, ciascuno con un ruolo preciso:

  • generate_query: genera una query ARG a partire da un prompt in linguaggio naturale. Esempio: “Mostrami tutte le VM in esecuzione nel subscription X” → query KQL valida
  • validate_query: verifica che una query ARG sia corretta sintatticamente e sicura prima di eseguirla
  • execute_query: esegue la query ARG contro l’ambiente Azure dell’utente e restituisce i risultati
  • create_template_deployment: avvia il deployment di un ARM template verso un resource group target
  • get_arm_template_deployment_status: monitora lo stato di avanzamento di un deployment ARM
  • cancel_arm_template_deployment: annulla un deployment in corso (utile dopo fallimenti di validazione o policy)


Caso d’uso pratico: interrogare l’infrastruttura in linguaggio naturale


Immagina di voler sapere quante storage account nel tuo tenant non hanno il tag “owner” assegnato. Tradizionalmente dovresti conoscere il linguaggio KQL di Azure Resource Graph e costruire manualmente la query:

Resources
| where type == "microsoft.storage/storageaccounts"
| where isnull(tags["owner"]) or tags["owner"] == ""
| summarize count() by subscriptionId

Con l’ARM MCP Server attivo in GitHub Copilot Chat su VS Code, puoi semplicemente scrivere:
“Conta tutte le storage account senza il tag ‘owner’, raggruppate per subscription”


Il server generate_query crea la query KQL, validate_query la verifica, e execute_query la esegue restituendo i risultati all’agente che li presenta in formato leggibile.

Caso d’uso: deployment di infrastruttura guidato dall’AI


Il secondo use case riguarda il deployment di ARM template. Un agente può ricevere istruzioni come:

“Deploy un’app service con piano B1 nel resource group ‘prod-rg’ in West Europe, usa il template standard dalla nostra libreria”


Il tool create_template_deployment avvia il deployment specificando subscription ID, resource group, nome del deployment e la definizione del template ARM. Il tool get_arm_template_deployment_status permette all’agente di monitorarne l’avanzamento. Se qualcosa va storto, cancel_arm_template_deployment lo interrompe immediatamente.

Governance e sicurezza


Un aspetto critico: il server ARM MCP opera nel contesto dell’utente autenticato in VS Code. Tutte le chiamate vengono eseguite per conto di quell’utente e sono soggette agli stessi permessi e controlli di accesso definiti in Azure. Non ci sono privilegi elevati o bypass del modello di sicurezza Azure: se l’utente non ha i diritti per deployare in un certo resource group, l’agente non li avrà neanche.

Per organizzazioni che vogliono impedire completamente i deployment tramite ARM MCP Server, è possibile applicare una Azure Policy che blocchi esplicitamente le richieste al tool create_template_deployment identificando l’AppID del server MCP (22bfbae3-f4e7-485f-be43-8cee15065084) nel scope desiderato. Un template di policy di esempio è disponibile nel repository GitHub ufficiale.

Installazione e configurazione


Durante questa preview pubblica, il server ARM MCP è supportato su:

  • GitHub Copilot Chat in VS Code
  • GitHub Copilot CLI

Per installarlo:

  1. Apri aka.ms/JoinARMMCP — VS Code si avvierà automaticamente
  2. Quando richiesto in VS Code, clicca su Install sotto “Azure Resource Manager MCP server”
  3. Effettua il login con le credenziali Azure
  4. In VS Code, apri View > Chat e clicca sull’icona Configure Tools
  5. Assicurati che “Azure Resource Manager MCP server” sia spuntato

I prerequisiti sono VS Code installato, un account Azure valido e un account GitHub Copilot.

Considerazioni per gli amministratori Azure


L’ARM MCP Server apre nuovi scenari per i team DevOps e gli amministratori Azure. Alcuni esempi concreti:

  • Compliance automatizzata: agenti che controllano periodicamente le risorse e verificano l’applicazione di policy di tagging, naming convention o configurazioni di sicurezza
  • Troubleshooting accelerato: interrogare in linguaggio naturale lo stato dell’infrastruttura durante un incident, senza dover ricordare sintassi KQL
  • Infrastructure as Code assistita: generare e deployare ARM template partendo da descrizioni in linguaggio naturale, con validazione integrata prima dell’esecuzione

Il limite attuale — solo VS Code e GitHub Copilot CLI come client supportati — sarà probabilmente espanso nelle prossime versioni in base al feedback degli utenti. Microsoft ha aperto un canale dedicato su GitHub per raccogliere segnalazioni e richieste di funzionalità.

Conclusione


L’Azure Resource Manager MCP Server rappresenta un passo significativo nell’integrazione tra agenti AI e infrastruttura cloud. Non si tratta di uno strumento che bypassa la governance Azure, bensì di un layer che la rende accessibile agli agenti rispettandola appieno. Per team che già usano Azure e GitHub Copilot, il valore pratico è immediato: meno sintassi KQL da memorizzare, deployment più veloci da validare, e la possibilità di costruire agenti personalizzati per automazioni di compliance che oggi richiedono script dedicati.

Il server è ora in anteprima pubblica e può essere installato seguendo le istruzioni ufficiali su aka.ms/JoinARMMCP.

Fonti:
Introducing the Azure Resource Manager MCP Server! — Microsoft Tech Community (Steven Bucher, 8 maggio 2026)
Azure/Azure-Resource-Manager-MCP — GitHub


The Privacy Post ha ricondiviso questo.

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

.NET Aspire 13.3: tutte le novità della release
#tech
spcnet.it/net-aspire-13-3-tutt…
@informatica


.NET Aspire 13.3: tutte le novità della release


.NET Aspire 13.3 è disponibile, e nonostante siano passate soltanto cinque settimane dalla versione 13.2, questa release porta con sé novità di rilievo: un nuovo skill per l’onboarding assistito da agente, risultati strutturati dai comandi delle risorse, log del browser direttamente nell’orchestratore, e — finalmente — supporto di prima classe a Kubernetes e AKS tramite Helm.

In questo articolo analizziamo le funzionalità più importanti di Aspire 13.3, con esempi pratici per i team che già usano Aspire in produzione o che vogliono iniziare.

Aspireify: onboarding assistito da agente


Una delle novità più interessanti di Aspire 13.3 è il nuovo skill Aspireify, pensato per semplificare l’integrazione di applicazioni esistenti in Aspire. Chi ha già seguito le sessioni AspiriFridays sa bene quanto possa essere laborioso il processo di “aspirificazione”: capire quali servizi sono presenti, quali porte usano, quali variabili d’ambiente sono dipendenze reali e come mappare i servizi Docker Compose verso le integrazioni Aspire native.

Il nuovo skill risolve esattamente questo problema. Quando aspire init crea lo scheletro dell’AppHost in un’applicazione esistente, Aspireify guida l’agente di coding attraverso un workflow strutturato per completare il lavoro:

  • Ispeziona il repository e comprende come l’applicazione è già strutturata
  • Mappa le configurazioni esistenti (es. DATABASE_URL) usando WithEnvironment() invece di riscrivere la configurazione
  • Preserva le porte hardcoded quando necessario, chiedendo all’utente nei casi ambigui
  • Se esiste già un Docker Compose, lo analizza prima di aggiungere nuove risorse

Il principio guida è chiaro: minimizzare le modifiche al codice esistente. L’agente si adatta all’applicazione, non viceversa.

Risultati strutturati dai comandi delle risorse


In Aspire 13.3, i comandi delle risorse possono restituire risultati strutturati al chiamante. Testo e JSON ora fluiscono attraverso il modello, gRPC, backchannel, UI del dashboard, CLI e strumenti MCP.

Questo significa che i comandi possono restituire risposte in markdown formattato — non solo “sì, è andato a buon fine”. Il dashboard integra tutto questo con un nuovo notification center nell’header, dove i risultati dell’esecuzione appaiono come notifiche con timestamp, rendering markdown e un’azione “View response” per l’output completo.

Tra le novità specifiche:

  • I comandi HTTP possono restituire il corpo della risposta, esposto via CLI, dashboard e SDK poliglotti generati
  • Il comando di rebuild delle risorse restituisce l’output del build come dati di testo strutturati, leggibili da strumenti e agenti senza dover fare scraping dei log
  • Le integrazioni di terze parti possono aggiungere comandi che restituiscono risultati significativi invece di cambiare solo stato in background


Browser logs: Aspire vede anche il frontend


La nuova API WithBrowserLogs() collega una risorsa browser tracciata a qualsiasi risorsa con un endpoint. Aspire avvia Chromium usando una pipe CDP privata (invece di un endpoint TCP debug esposto), poi trasmette log della console, richieste di rete ed errori nel log stream della risorsa:

// C# AppHost
var frontend = builder.AddViteApp("frontend", "../frontend")
    .WithHttpEndpoint(port: 3000)
    .WithBrowserLogs();

// TypeScript AppHost
const frontend = await builder.addViteApp("frontend", "../frontend")
    .withHttpEndpoint({ port: 3000 })
    .withBrowserLogs();

La funzionalità è disponibile tramite il nuovo pacchetto prerelease Aspire.Hosting.Browsers. Un comando del dashboard permette di configurare scope, browser e modalità user data a runtime, mentre un comando screenshot salva PNG come artefatti locali durevoli.

Dal punto di vista degli agent workflow, questo è particolarmente potente: l’agente può eseguire l’app, ispezionare i log del browser, catturare cosa è cambiato, correggere il codice, riavviare la risorsa e continuare — senza che lo sviluppatore debba incollare screenshot nella chat.

TypeScript, Python e Java AppHost verso la GA


Aspire 13.2 aveva introdotto l’authoring TypeScript AppHost. In 13.3, il lavoro continua su tutte e tre le piattaforme:

  • TypeScript, Python e Java AppHost espongono ora il set completo di extension method di Aspire.Hosting
  • Le API sono state rese più idiomatiche per ogni linguaggio: metodi come addProject, withEnvironment e withReference sono consolidati per leggere naturalmente
  • Python si aggiunge come nuovo generatore di codice AppHost
  • Java AppHost ora supporta union, optional/nullability, callback e un nuovo template “Empty (Java AppHost)”
  • Il nuovo diagnostico ASPIREEXPORT013 individua ID di capability duplicati a compile time


Kubernetes e AKS: finalmente supporto di prima classe


La novità più attesa della release è senza dubbio il supporto Kubernetes come deployment target di prima classe. Aspire aveva già un’ottima storia per Azure Container Apps e Docker Compose; ora Kubernetes entra nel club.

Il nuovo pacchetto Aspire.Hosting.Azure.Kubernetes aggiunge AddAzureKubernetesEnvironment(), con cui è possibile definire cluster AKS, node pool, tier SKU, cluster privati e Azure Container Insights direttamente dall’AppHost:

// C# AppHost
var aks = builder.AddAzureKubernetesEnvironment("prod-aks")
    .WithHelm();

builder.AddCSharpApp("api", "../api")
    .PublishTo(aks);

// TypeScript AppHost
const aks = await builder.addAzureKubernetesEnvironment("prod-aks")
    .withHelm();

await builder.addCsharpApp("api", "../api")
    .publishTo(aks);

aspire deploy usa Helm sotto il cofano, e il nome del namespace e della release sono configurabili con WithHelm(). Sono disponibili anche routing dichiarativo Ingress e Gateway API con AddIngress() e AddGateway(), inclusa configurazione di route, TLS, hostname e class. Per il teardown, aspire destroy esegue helm uninstall automaticamente — niente più script di pulizia manuali in un README.

Altre novità rilevanti


Aspire 13.3 include molte altre migliorie degne di nota:

  • EF Core migration management: sei comandi (Update Database, Drop Database, Reset Database, Add Migration, Remove Migration, Get Database Status) accessibili da dashboard e CLI, con esecuzione automatica all’avvio dell’AppHost in sviluppo locale
  • Azure networking: Azure Front Door, Network Security Perimeters, endpoint privati per Azure OpenAI e Foundry, ACR privato, e upgrade HTTPS automatici per App Service
  • JavaScript publishing: tre nuovi modelli di pubblicazione — PublishAsStaticWebsite(), PublishAsNodeServer() e PublishAsNpmScript() — con integrazione dedicata AddNextJsApp()
  • CLI: rilevamento automatico di Bun, Yarn e pnpm da lockfile; aspire dashboard standalone senza AppHost; aspire docs api per sfogliare la reference API dal terminale
  • Estensione VS Code: CodeLens e gutter icon nei file AppHost, Simple Browser integrato per il dashboard, workspace auto-restore
  • Docker Compose: supporto Podman tramite rilevamento automatico del runtime


Breaking changes da conoscere prima dell’aggiornamento


Prima di aggiornare, è importante verificare la sezione dei breaking changes ufficiale se si usano:

  • Startup hook Kubernetes/Docker Compose/AKS
  • Endpoint di gestione degli emulator
  • Il server MCP del dashboard
  • Il template starter Python
  • Output name di Azure network


Come aggiornare


Se si usa già Aspire, l’aggiornamento è semplice:

aspire update --self

Per chi parte da zero:
aspire init

oppure visitare get.aspire.dev per installare la CLI.

Conclusione


Aspire 13.3 consolida la piattaforma su tutti i fronti: l’onboarding diventa più semplice grazie ad Aspireify, l’osservabilità raggiunge il browser con WithBrowserLogs(), il supporto multi-linguaggio avanza verso la GA, e Kubernetes entra ufficialmente come target di deployment. Per i team .NET che operano su Kubernetes o AKS, questa è probabilmente la release più attesa degli ultimi mesi.

Fonte: What’s New in Aspire 13.3 — Maddy Montaquila, Microsoft Aspire Blog (7 maggio 2026)


The Privacy Post ha ricondiviso questo.

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

MCP Server con Node.js: da un sistema di note su file a MySQL
#tech
spcnet.it/mcp-server-con-node-…
@informatica


MCP Server con Node.js: da un sistema di note su file a MySQL


Cos’è il Model Context Protocol e perché interessa ai developer Node.js


I modelli di linguaggio sono bravi a ragionare e conversare, ma da soli non possono eseguire operazioni reali sui tuoi sistemi. Possono suggerire query SQL o chiamate API, ma non possono farle girare concretamente. Il Model Context Protocol (MCP) risolve questo limite: fornisce ai modelli AI un modo strutturato per interagire con i tuoi strumenti, dai database ai file, fino alle API esterne. Invece di generare testo su ciò che dovrebbe accadere, il modello può invocare funzioni che lo fanno davvero accadere.

In pratica, questo apre la strada a strumenti come chatbot che creano e cercano voci nel database, assistenti AI che interrogano tool interni o attivano workflow, e agenti che leggono file, eseguono comandi e restituiscono risultati reali.

In questo tutorial imparerai a costruire il tuo primo MCP server da zero con Node.js e TypeScript: partiremo da un sistema di note basato su file per capire i concetti fondamentali, poi passeremo a un backend MySQL per mostrare come un LLM possa guidare operazioni deterministiche. Entro la fine avrai un server MCP funzionante pronto per essere collegato al client AI che preferisci.

Come funziona MCP


MCP segue un modello client-server: l’applicazione AI fa da client, il tuo codice gira come server. In una configurazione tipica, il client (Claude Desktop, Claude Code, Cursor, ecc.) si interpone tra l’utente e il tuo server, inoltrandogli le richieste e restituendogli i risultati. Il modello stesso non chiama mai direttamente il tuo server: quando l’utente manda un messaggio, il client condivide col modello la lista dei tool esposti dal tuo server. Il modello decide quale tool chiamare (e con quali argomenti), il client esegue la chiamata e rimanda il risultato al modello.

Utente → Client MCP → Modello AI → Tool selezionato → Server MCP → Risposta

Prerequisiti


Per seguire questo tutorial ti serviranno:

  • Node.js 18+
  • Familiarità di base con TypeScript
  • Un client compatibile con MCP per il test (Claude Desktop, Claude Code, Cursor, ecc.)
  • MySQL installato localmente (solo per la sezione avanzata con database)


Costruire il server MCP: sistema di note su file


Iniziamo creando un nuovo progetto Node.js. Questo sarà un sistema di note basato su file, utile per comprendere i concetti prima di introdurre un database.

mkdir mcp-notes && cd mcp-notes
npm init -y

Installa le dipendenze necessarie: l’SDK MCP per costruire il server, Zod per la validazione degli input e TypeScript per la type safety:
npm install @modelcontextprotocol/sdk zod
npm install -D typescript @types/node

Apri il package.json e aggiungi "type": "module" (l’SDK MCP usa i moduli ES) e gli script di build e start:
{
  "type": "module",
  "scripts": {
    "build": "tsc",
    "start": "node dist/index.js"
  }
}

Crea un file tsconfig.json nella root del progetto:
{
  "compilerOptions": {
    "target": "ES2022",
    "module": "Node16",
    "moduleResolution": "Node16",
    "outDir": "./dist",
    "rootDir": "./src",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true
  },
  "include": ["src/**/*"]
}

Scrivere il server


Crea il file src/index.ts con il codice base del server:

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import fs from "fs/promises";
import path from "path";
import { z } from "zod";

const NOTES_DIR = path.join(process.cwd(), "notes");
await fs.mkdir(NOTES_DIR, { recursive: true });

const server = new McpServer({
  name: "mcp-notes",
  version: "1.0.0",
});

// I tool verranno aggiunti qui

const transport = new StdioServerTransport();
await server.connect(transport);

Questo è un MCP server completo e funzionante: crea la directory delle note, inizializza il server e lo connette tramite stdio per comunicare con un client MCP.

Aggiungere i tool


Ogni tool definisce una singola azione che il modello può compiere. Include nome, descrizione, schema di input e una funzione handler. Aggiungiamo i tre tool fondamentali: creazione, lettura e lista delle note.

server.tool(
  "create_note",
  "Create a new note with a given title and content",
  {
    title: z.string().min(1).describe("The note title"),
    content: z.string().min(1).describe("The body of the note"),
  },
  async ({ title, content }) => {
    const filename = `${title.replace(/[^a-z0-9_-]/gi, "_")}.txt`;
    const filepath = path.join(NOTES_DIR, filename);
    try {
      await fs.access(filepath);
      return {
        content: [{ type: "text", text: `Error: note "${title}" already exists.` }],
        isError: true,
      };
    } catch {}
    await fs.writeFile(filepath, content, "utf-8");
    return { content: [{ type: "text", text: `Note "${title}" created.` }] };
  }
);

server.tool(
  "read_note",
  "Read the content of a note by its title",
  { title: z.string().min(1).describe("The title of the note to read") },
  async ({ title }) => {
    const filename = `${title.replace(/[^a-z0-9_-]/gi, "_")}.txt`;
    try {
      const content = await fs.readFile(path.join(NOTES_DIR, filename), "utf-8");
      return { content: [{ type: "text", text: content }] };
    } catch {
      return {
        content: [{ type: "text", text: `Error: note "${title}" not found.` }],
        isError: true,
      };
    }
  }
);

server.tool(
  "list_notes",
  "List all available notes",
  {},
  async () => {
    const files = await fs.readdir(NOTES_DIR);
    const notes = files.filter(f => f.endsWith(".txt")).map(f => f.replace(".txt", ""));
    if (notes.length === 0) return { content: [{ type: "text", text: "No notes found." }] };
    return { content: [{ type: "text", text: notes.join("\n") }] };
  }
);

Testare il server con Claude Desktop


Compila il progetto con npm run build. Poi apri il file di configurazione di Claude Desktop:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Aggiungi il server sotto la chiave mcpServers:

{
  "mcpServers": {
    "mcp-notes": {
      "command": "node",
      "args": ["/percorso/del/progetto/mcp-notes/dist/index.js"],
      "cwd": "/percorso/del/progetto/mcp-notes"
    }
  }
}

Riavvia Claude Desktop e prova con prompt come: “Crea una nota chiamata standup con gli aggiornamenti di oggi” oppure “Elenca tutte le mie note”.

Passare a MySQL: dati strutturati per uso reale


Il sistema basato su file funziona bene per comprendere i fondamentali, ma ha limiti evidenti. Passare a MySQL mette in luce un pattern importante nel design MCP: il modello decide quale azione intraprendere, ma il tuo codice rimane responsabile di come quella azione viene eseguita. Quando il modello chiama search_notes, non genera né esegue SQL da solo: il tuo handler gestisce l’operazione in modo controllato, con query parametrizzate.

Installa il driver MySQL:

npm install mysql2

Crea il database e la tabella:
CREATE DATABASE mcp_notes;
USE mcp_notes;
CREATE TABLE notes (
  id INT AUTO_INCREMENT PRIMARY KEY,
  title VARCHAR(255) UNIQUE NOT NULL,
  content TEXT NOT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

La versione MySQL del tool create_note inserisce una riga invece di scrivere un file e gestisce i duplicati intercettando l’errore ER_DUP_ENTRY. La versione di search_notes permette ricerche full-text su titoli e contenuti — una funzionalità che con i file richiederebbe un codice molto più complesso.
server.tool(
  "search_notes",
  "Search notes by keyword across titles and content",
  { query: z.string().min(1).describe("Keyword or phrase to search for") },
  async ({ query }) => {
    const like = `%${query}%`;
    const [rows] = await pool.execute<mysql.RowDataPacket[]>(
      "SELECT title, created_at FROM notes WHERE title LIKE ? OR content LIKE ? ORDER BY created_at DESC",
      [like, like]
    );
    if (rows.length === 0) {
      return { content: [{ type: "text", text: `No notes found matching "${query}".` }] };
    }
    return { content: [{ type: "text", text: rows.map(r => `- ${r.title} (${r.created_at})`).join("\n") }] };
  }
);

Principi per progettare buoni tool MCP


Un tool MCP che funziona in fase di test può fallire in produzione se il modello fraintende quando o come usarlo. Alcune regole pratiche:

  • Descrizioni esplicite: frasi come “Gestisce le note” sono troppo vaghe. Usa descrizioni che spiegano chiaramente cosa fa il tool e quando va usato.
  • Singola responsabilità: ogni tool deve fare una sola cosa. Strumenti troppo “jolly” costringono il modello a indovinare l’intento.
  • Errori azionabili: usa isError: true con messaggi che guidano il modello su come riprovare: "Note non trovata. Usa list_notes per vedere quelle disponibili."
  • Boundary sicuri: mai interpolazione diretta dell’input utente in SQL o comandi shell. Usa sempre query parametrizzate.


Conclusione


Costruire un MCP server con Node.js e TypeScript è sorprendentemente accessibile grazie all’SDK ufficiale. Il pattern che hai imparato in questo tutorial — definire tool con schema Zod, gestire gli errori con isError e connettere il server via stdio — si scala facilmente a scenari più complessi: integrazione di API REST, automazione di workflow, connessione di agenti AI a sistemi legacy.

Il codice completo del tutorial è disponibile su GitHub.

Fonte: How to build your first MCP server with Node.js — LogRocket Blog (Elijah Asaolu, 5 maggio 2026)


The Privacy Post ha ricondiviso questo.

Ursula von der Leyen kommt ihren eigenen Fachleuten zuvor und pocht auf ein Social-Media-Verbot mit Alterskontrollen:

"Es ist meine Überzeugung"

Die dazu gehörige Rede ist beachtlich: Emotionen statt Fakten; Lücken in der Argumentation. 😵‍💫

Lest hier meine Analyse für @netzpolitik_feed

netzpolitik.org/2026/es-ist-me…

The Privacy Post ha ricondiviso questo.

Bevor sich ihre Jugendschutz-Expert*innen dazu äußern können, fordert Ursula von der Leyen ein Social-Media-Verbot für Minderjährige plus Alterskontrollen. @sebmeineck analysiert: Die Kommissionspräsidentin folgt dem Playbook der australischen Regierung.

netzpolitik.org/2026/es-ist-me…

The Privacy Post 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.

Il primo zero-day costruito con l’AI: Google sventava un attacco di massa con exploit generato da LLM
#CyberSecurity
insicurezzadigitale.com/il-pri…


Il primo zero-day costruito con l’AI: Google sventava un attacco di massa con exploit generato da LLM


Si parla di:
Toggle

Per la prima volta nella storia documentata della cybersecurity, un gruppo criminale ha utilizzato un modello di intelligenza artificiale per identificare una vulnerabilità zero-day sconosciuta e trasformarla in un exploit funzionante, pianificando di impiegarla in un evento di compromissione di massa. Google Threat Intelligence Group (GTIG) ha svelato la scoperta l’11 maggio 2026, descrivendo quella che potrebbe essere un punto di svolta nell’evoluzione delle capacità offensive dei threat actor.

La scoperta: un exploit scritto da un LLM


Il team GTIG di Google ha identificato uno script Python contenente un exploit per una vulnerabilità zero-day in un popolare strumento open source di amministrazione web. La falla, un bypass dell’autenticazione a due fattori (2FA), permetteva a un attaccante in possesso di credenziali valide di aggirare completamente il secondo fattore di autenticazione, aprendo la strada a un accesso non autorizzato su larga scala.

Ciò che ha immediatamente attirato l’attenzione degli analisti non era tanto la vulnerabilità in sé, quanto le caratteristiche stilistiche e strutturali del codice che la implementava. Lo script presentava una serie di indizi inequivocabili della sua origine artificiale:

  • Docstring educativi estremamente dettagliati: ogni funzione era accompagnata da commenti esplicativi esaustivi, in uno stile tipico degli output di Large Language Model addestrati su repository di codice open source e documentazione tecnica.
  • Un punteggio CVSS “allucinato”: lo script includeva una valutazione CVSS autogenerata ma non corrispondente a nessuna voce esistente nel National Vulnerability Database — un errore tipico di un modello che genera informazioni plausibili ma non verificate.
  • Formato Pythonic “da manuale”: la struttura pulita, la classe _C per i colori ANSI, i menu di aiuto dettagliati e la coerenza stilistica riflettono il pattern caratteristico degli output di modelli come GPT-4 o Gemini quando invitati a scrivere strumenti di sicurezza.

GTIG ha valutato con alta confidenza che un modello di AI sia stato utilizzato sia per scoprire la vulnerabilità che per costruire l’exploit, pur non avendo prove che il modello specifico impiegato fosse Gemini di Google.

La natura della vulnerabilità: logica semantica, non memoria


Uno degli aspetti più rilevanti della scoperta riguarda la tipologia della vulnerabilità stessa. Non si trattava di un classico bug di memory corruption (buffer overflow, use-after-free) né di un problema di input sanitization — le categorie che i fuzzer tradizionali e gli strumenti SAST (Static Application Security Testing) sono progettati per individuare.

La falla era invece un difetto logico semantico ad alto livello: un’assunzione di trust codificata nella logica di enforcement del 2FA, che permetteva a un flusso di autenticazione specifico di saltare la verifica del secondo fattore. Questo tipo di vulnerabilità richiede una comprensione profonda della logica applicativa e dei suoi presupposti impliciti — un dominio in cui i modelli di linguaggio di grandi dimensioni, addestrati su enormi corpus di codice e documentazione, mostrano capacità emergenti superiori agli strumenti di analisi statica convenzionali.

La scoperta conferma ciò che molti ricercatori ipotizzavano ma temevano di veder concretizzato: i modelli AI possono identificare classi di vulnerabilità che sfuggono sistematicamente agli strumenti automatizzati tradizionali.

L’evento pianificato: compromissione di massa sventata


Secondo GTIG, il threat actor aveva pianificato di utilizzare l’exploit in un mass exploitation event — un attacco opportunistico su larga scala verso tutti i sistemi vulnerabili esposti su internet. La proactive discovery da parte di Google ha permesso di interrompere la catena prima che l’exploit venisse utilizzato in produzione.

Google ha lavorato con il vendor del software colpito per la divulgazione responsabile della vulnerabilità e il rilascio di una patch correttiva, senza rivelare pubblicamente il nome dello strumento interessato per limitare il rischio di sfruttamento da parte di altri attori durante la finestra di patching.

Il quadro più ampio: AI e cybercrime state-sponsored


L’incidente non è isolato: il report GTIG del maggio 2026 documenta una tendenza sistematica all’adozione di strumenti AI da parte di gruppi APT nation-state. In particolare:

  • Cina: operatori state-linked stanno sperimentando sistemi AI per la vulnerability hunting automatizzata e il probing di target — essenzialmente automatizzando il processo di ricognizione e identificazione delle superfici di attacco.
  • Corea del Nord (APT45): il gruppo sta utilizzando AI per processare migliaia di exploit check in bulk e arricchire il proprio toolkit, accelerando significativamente i tempi di sviluppo di nuove capacità offensive.
  • Gruppi criminali non-state: come dimostrato da questo episodio, anche attori privi di risorse statali hanno ormai accesso a capacità di sviluppo exploit AI-assisted tramite modelli commerciali o open source.

Il democratizzazione degli strumenti AI abbassa significativamente la barriera tecnica per lo sviluppo di exploit sofisticati, storicamente appannaggio di gruppi con risorse e competenze elevate.

Due righe per i difensori


Questa scoperta accelera un dibattito che era rimasto per lungo tempo teorico: se gli attaccanti usano AI per trovare vulnerabilità, i difensori devono adottare gli stessi strumenti con ancora maggiore urgenza. Alcune considerazioni pratiche:

  • Rivedere i programmi di bug bounty per includere vulnerabilità logiche e di flusso che i tool tradizionali non rilevano, premiando i ricercatori umani e AI-assisted che identificano difetti semantici.
  • Implementare AI-assisted code review nel ciclo di sviluppo, in particolare per la logica di autenticazione e autorizzazione — le aree dove i difetti semantici sono più probabili e più gravi.
  • Monitorare i pattern di accesso MFA con particolare attenzione ai bypass del secondo fattore, anche in presenza di credenziali valide.
  • Aggiornare tempestivamente tutti gli strumenti di amministrazione web esposti su internet, indipendentemente dalla loro percezione come “strumenti minori”.

Il primo zero-day AI-generated documentato in natura non segna la fine di un’era, ma l’inizio di una nuova fase nella corsa agli armamenti digitali. Le organizzazioni che non integreranno AI nei propri processi di difesa si troveranno strutturalmente svantaggiate rispetto a avversari che già la impiegano sistematicamente per attaccare.


The Privacy Post ha ricondiviso questo.

Digitalzwang schließt Menschen von der gesellschaftlichen Teilhabe aus. @digitalcourage fordert deshalb ein Grundrecht auf analoge Angebote. Noch bis 21. Mai kann mensch die entsprechende Petition mitzeichnen. netzpolitik.org/2026/petition-…
The Privacy Post ha ricondiviso questo.

Das Recht auf analoges Leben soll ins Grundgesetz – mehr als 64.000 Unterzeichner*innen fordern das in einer Petition. Interessierte können sich bis 21. Mai anschließen. Im Interview erklären die Initiator*innen: Der ausufernde Digitalzwang schadet der Demokratie. netzpolitik.org/2026/petition-…
in reply to netzpolitik.org

Ich habe da mal eine Frage, ist dass gemeint, was da steht oder generell? Zum Beispiel Bürojob wo eigentlich gar nix ohne PC geht, dass des auch Offline dann gehen muss mit Stift und Papier?

Zu Fahrkarten, stimme ich zu, dass auch am Automaten etc gehen muss, mit Karte etc.

DB App, Doclib zum Beispiel ist auch das Problem mit dem Datenschutz... Dann oft US Server, Google Zwang... Müsste alles auch ohne Googledienste gehen...
Vorallem ist das Zeug ja praktisch Kritische Infrastruktur...
Zu DHL, glaub die sind schon wieder ohne Bildschirm davon abgekommen. Aber eigentlich geht eh nix dahin sondern Shop. Habe eher das Problem das Zeug darein zu bekommen...
Das in Packstation ging, war ganz am Anfang mal, dass Leute die kennen lernen sollten und da gab's Scancode zum abholen.
Doclib wüsste ich nichtmal wo man das hier nutzen kann.

Speisekarte nur per QR Code, habe ich noch nie gesehen, kann man eher froh sein, dass man nicht mit Schubkarre voll Bargeld ankarren muss

The Privacy Post ha ricondiviso questo.

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

Technology is never neutral. Far too often, LGBTIQ+ communities are among the first to experience the consequences: profiling, censorship, data exploitation, discriminatory systems & online harassment.

⚠️ These are warning signs about the direction our digital environment is taking.

At Digital Rights Lounge, we'll be discussing how tech shapes queer lives, what risks of surveillance are & how we can fight back.

📍 19 May, 13.00-16.30 at BeCentral in Brussels

📝 : forms.office.com/Pages/Respons…

reshared this

The Privacy Post ha ricondiviso questo.

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

GhostLock: New Attack Technique Locks Enterprise Files Like Ransomware — Without Any Encryption
#CyberSecurity
securebulletin.com/ghostlock-n…
The Privacy Post ha ricondiviso questo.

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

Operation SilentCanvas: Hackers Hide PowerShell Malware in Fake JPEG to Deploy Trojanized ScreenConnect Backdoor
#CyberSecurity
securebulletin.com/operation-s…
The Privacy Post ha ricondiviso questo.

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

Hackers Deploy AI-Generated Zero-Day Exploit to Bypass 2FA — Google GTIG Q2 2026 Report
#CyberSecurity
securebulletin.com/hackers-dep…
The Privacy Post ha ricondiviso questo.

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

ShinyHunters Breaches Canvas LMS: Student Data from 9,000 Schools Exposed in Extortion Campaign
#CyberSecurity
securebulletin.com/shinyhunter…
The Privacy Post ha ricondiviso questo.

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

Copilot Studio accelera con .NET 10 su WebAssembly: fingerprinting automatico e AOT ottimizzato
#tech
spcnet.it/copilot-studio-accel…
@informatica


Copilot Studio accelera con .NET 10 su WebAssembly: fingerprinting automatico e AOT ottimizzato


Microsoft Copilot Studio è uno strumento di low-code per la creazione di agenti AI, e uno dei suoi punti di forza è l’esecuzione di logica C# direttamente nel browser tramite .NET WebAssembly (WASM). Di recente, il team di Copilot Studio ha completato la migrazione del motore WASM da .NET 8 a .NET 10 — e i risultati sono più che soddisfacenti. In questo articolo analizziamo in dettaglio cosa è cambiato, perché vale la pena migrare anche per le vostre applicazioni Blazor e WebAssembly, e quali ottimizzazioni concrete offre .NET 10 in questo ambito.

Il contesto: C# nel browser con .NET WebAssembly


Qualche mese fa il team di Copilot Studio aveva già pubblicato un post tecnico su come utilizzano .NET e WebAssembly per eseguire codice C# nel browser, mostrando i guadagni ottenuti passando da .NET 6 a .NET 8. Ora il ciclo si ripete con il salto a .NET 10, e la migrazione è stata descritta come sorprendentemente semplice.

Aggiornare un’applicazione WASM da .NET 8 a .NET 10 è sostanzialmente una questione di modificare il TargetFramework nei file .csproj e verificare la compatibilità delle dipendenze. Per Copilot Studio, il percorso è stato esattamente questo, e il build .NET 10 è già in produzione.

Fingerprinting automatico degli asset: addio script PowerShell personalizzati


Una delle novità più apprezzate di .NET 10 per le applicazioni WebAssembly è il fingerprinting automatico degli asset WASM. Quando si pubblica un’applicazione WebAssembly, ogni risorsa include ora un identificatore univoco nel nome del file, garantendo sia il cache-busting che l’integrità senza alcun intervento manuale.

Prima di .NET 10, Copilot Studio — come molte app WASM — doveva:

  • Leggere il manifest blazor.boot.json pubblicato per enumerare tutti gli asset.
  • Eseguire uno script PowerShell personalizzato per rinominare ogni file aggiungendo un hash SHA256.
  • Passare un argomento integrity esplicito lato JavaScript al momento del caricamento di ogni risorsa.

Con .NET 10, tutto questo è storia. Le risorse vengono importate direttamente da dotnet.js, i fingerprint fanno parte dei nomi di file pubblicati, e l’integrità è validata automaticamente. Il team ha potuto eliminare lo script di rinomina personalizzato e rimuovere l’argomento integrity dal loader JavaScript lato client.

Tip: Se caricate il runtime .NET WASM all’interno di un WebWorker, impostate dotnetSidecar = true durante l’inizializzazione per garantire il corretto avvio nel contesto worker.


Output AOT più piccolo con WasmStripILAfterAOT


L’altra novità di spicco per .NET WASM in .NET 10 è che WasmStripILAfterAOT è ora abilitato per default per le build AOT. Dopo la compilazione ahead-of-time dei metodi .NET in WebAssembly, il codice IL (Intermediate Language) originale non è più necessario a runtime: .NET 10 lo elimina dall’output pubblicato per default. In .NET 8 questa impostazione esisteva ma era disattivata.

Copilot Studio adotta una strategia di packaging più sofisticata. Per ottenere il meglio sia in termini di avvio rapido che di performance a regime, spedisce un singolo pacchetto NPM che contiene sia un motore JIT (per l’avvio veloce) che un motore AOT (per la massima velocità di esecuzione). A runtime, Copilot Studio carica JIT e AOT in parallelo: il motore JIT gestisce le interazioni iniziali, poi cede il controllo all’AOT non appena è pronto. I file identici tra i due modi vengono deduplicati per mantenere il pacchetto compatto.

Poiché WasmStripILAfterAOT produce assembly AOT che non corrispondono più alle controparti JIT, meno file possono essere condivisi tra i due motori:

  • Su .NET 8: 59 file condivisi tra JIT e AOT.
  • Su .NET 10: solo 22 file condivisi.

L’effetto netto sul pacchetto Copilot Studio è un aumento di dimensione di circa il 15%. In pratica l’impatto per gli utenti finali è contenuto, poiché il motore JIT resta quello scaricato ed eseguito per primo: l’interattività iniziale non è compromessa. Il download AOT è circa 6% (~200 ms) più lento su una LAN veloce e circa 17% (~5 secondi) più lento su una connessione 4G — tutto in background, dopo che l’app è già operativa.

I risultati di performance


I benefici a runtime superano ampiamente il costo in termini di packaging per i workload di Copilot Studio:

  • ~20% più veloce nell’esecuzione alla prima chiamata (cold path).
  • ~5% più veloce nelle chiamate successive (warm path).

I guadagni sono più visibili negli agenti grandi e complessi (“big bots”), dove il codice AOT compilato fa il grosso del lavoro. Per workload più semplici i miglioramenti sono comunque presenti ma più contenuti.

Come migrare la vostra app a .NET 10


Se avete un’applicazione Blazor o .NET WebAssembly su .NET 8, vale la pena provare .NET 10. Ecco i passi essenziali:

  1. Aggiornate <TargetFramework> a net10.0 e aggiornate i riferimenti a pacchetti Microsoft.AspNetCore.*, Microsoft.Extensions.* e System.*.
  2. Rimuovete eventuale logica personalizzata di rinomina degli asset o plumbing per l’integrity — il fingerprinting è ora integrato.
  3. Se compilate in AOT, beneficerete automaticamente del nuovo default WasmStripILAfterAOT.

Se avete bisogno di supporto per l’aggiornamento, GitHub Copilot app modernization for .NET può analizzare la soluzione, pianificare l’aggiornamento e applicare le modifiche necessarie.

Conclusione


La migrazione di Copilot Studio a .NET 10 è l’ennesima conferma che ogni release di .NET porta WebAssembly a essere più veloce, più leggero e più semplice da distribuire. La rimozione dello script di fingerprinting personalizzato è un piccolo ma significativo esempio di come il framework stia maturando: quello che prima richiedeva custom tooling è ora built-in. Se state ancora su .NET 8, questo è il momento giusto per valutare il salto.

Fonte: Copilot Studio gets faster with .NET 10 on WebAssembly — Daniel Roth, .NET Blog


The Privacy Post ha ricondiviso questo.

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

Durable Workflows nel Microsoft Agent Framework: da console app ad Azure Functions
#tech
spcnet.it/durable-workflows-ne…
@informatica


Durable Workflows nel Microsoft Agent Framework: da console app ad Azure Functions


Il Microsoft Agent Framework (MAF) è un framework open source multi-linguaggio pensato per costruire, orchestrare e distribuire agenti AI. Con le ultime versioni, il framework ha introdotto un modello di programmazione a workflow che permette di comporre più agenti e unità di lavoro in pipeline multi-step. In questo articolo vedremo come funziona questo modello, come aggiungere durabilità ai workflow e come fare il deploy su Azure Functions.

Il modello di programmazione a Workflow


Il sistema si basa su due concetti fondamentali: Executor e WorkflowBuilder.

Executor: l’unità di lavoro


Un Executor è la granularità minima del workflow. Riceve un input tipizzato, lo elabora e produce un output. Si crea estendendo Executor<TInput, TOutput>:

internal sealed class OrderLookup() : Executor<OrderCancelRequest, Order>("OrderLookup")
{
    public override async ValueTask<Order> HandleAsync(
        OrderCancelRequest message,
        IWorkflowContext context,
        CancellationToken cancellationToken = default)
    {
        await Task.Delay(TimeSpan.FromMilliseconds(100), cancellationToken);
        return new Order(
            Id: message.OrderId,
            OrderDate: DateTime.UtcNow.AddDays(-1),
            IsCancelled: false,
            CancelReason: message.Reason,
            Customer: new Customer(Name: "Mario", Email: "mario@example.com"));
    }
}

internal sealed class OrderCancel() : Executor<Order, Order>("OrderCancel")
{
    public override async ValueTask<Order> HandleAsync(
        Order message, IWorkflowContext context,
        CancellationToken cancellationToken = default)
    {
        await Task.Delay(TimeSpan.FromMilliseconds(200), cancellationToken);
        return message with { IsCancelled = true };
    }
}

internal sealed class SendEmail() : Executor<Order, string>("SendEmail")
{
    public override ValueTask<string> HandleAsync(
        Order message, IWorkflowContext context,
        CancellationToken cancellationToken = default)
    {
        return ValueTask.FromResult(
            $"Email di cancellazione inviata per l'ordine {message.Id} a {message.Customer.Email}.");
    }
}

I parametri di tipo definiscono il contratto: TInput è ciò che riceve dal passo precedente, TOutput è ciò che passa al passo successivo. Il framework verifica la compatibilità dei tipi a compile time.

WorkflowBuilder: il grafo di esecuzione


Il WorkflowBuilder collega gli executor in un grafo diretto. Si definiscono gli archi tra executor e si ottiene un oggetto Workflow immutabile:

OrderLookup orderLookup = new();
OrderCancel orderCancel = new();
SendEmail sendEmail = new();

Workflow cancelOrder = new WorkflowBuilder(orderLookup)
    .WithName("CancelOrder")
    .WithDescription("Cancella un ordine e notifica il cliente")
    .AddEdge(orderLookup, orderCancel)
    .AddEdge(orderCancel, sendEmail)
    .Build();

Esecuzione in-process


Per eseguire il workflow senza dipendenze esterne si usa InProcessExecution.RunStreamingAsync. Restituisce uno StreamingRun che emette eventi man mano che ogni step completa:

var cancelRequest = new OrderCancelRequest(OrderId: "123", Reason: "Colore errato");

await using StreamingRun run = await InProcessExecution.RunStreamingAsync(
    cancelOrder, input: cancelRequest);

await foreach (WorkflowEvent evt in run.WatchStreamAsync())
{
    if (evt is ExecutorCompletedEvent completed)
        Console.WriteLine($"{completed.ExecutorId}: {completed.Data}");
}

Bastano i pacchetti NuGet Microsoft.Agents.AI e Microsoft.Agents.AI.Workflows. Nessuna infrastruttura, nessun Docker, solo una console app .NET.

Aggiungere la durabilità con DurableTask


L’esecuzione in-process perde lo stato se il processo termina. Per workflow di produzione — che devono sopravvivere ai riavvii, girare per ore e rimanere osservabili — si aggiunge il pacchetto Microsoft.Agents.AI.DurableTask:

dotnet add package Microsoft.Agents.AI.DurableTask --prerelease
dotnet add package Microsoft.DurableTask.Client.AzureManaged
dotnet add package Microsoft.DurableTask.Worker.AzureManaged
dotnet add package Microsoft.Extensions.Hosting

Il runtime durable fornisce:
  • Esecuzione stateful e durabile: il workflow sopravvive ai riavvii del processo
  • Checkpointing automatico: il progresso viene salvato dopo ogni step
  • Esecuzione distribuita: gli executor possono girare su macchine diverse
  • Orchestrazioni long-running: i workflow possono durare minuti, ore o giorni
  • Osservabilità: dashboard integrata per monitorare e gestire le esecuzioni

Il punto chiave è che la definizione del workflow non cambia. Si usa lo stesso WorkflowBuilder, cambia solo l’hosting:

string dtsConnectionString = "Endpoint=http://localhost:8080;TaskHub=default;Authentication=None";

IHost host = Host.CreateDefaultBuilder(args)
    .ConfigureServices(services =>
    {
        services.ConfigureDurableWorkflows(
            workflowOptions => workflowOptions.AddWorkflow(cancelOrder),
            workerBuilder: builder => builder.UseDurableTaskScheduler(dtsConnectionString),
            clientBuilder: builder => builder.UseDurableTaskScheduler(dtsConnectionString));
    })
    .Build();

await host.StartAsync();

IWorkflowClient workflowClient = host.Services.GetRequiredService<IWorkflowClient>();
IAwaitableWorkflowRun run = (IAwaitableWorkflowRun)await workflowClient
    .RunAsync(cancelOrder, new OrderCancelRequest("12345", "Colore errato"));

string? result = await run.WaitForCompletionAsync<string>();
Console.WriteLine($"Workflow completato: {result}");

Per lo sviluppo locale si avvia il DTS Emulator in Docker:
docker run -d --name dts-emulator   -p 8080:8080 -p 8082:8082   mcr.microsoft.com/dts/dts-emulator:latest

La dashboard è disponibile su http://localhost:8082 e mostra la timeline di ogni executor, gli input/output per ciascun step e lo stato delle esecuzioni.

Fan-Out / Fan-In con agenti AI


Uno dei pattern più potenti è il fan-out/fan-in: più agenti AI elaborano lo stesso input in parallelo, poi un executor aggrega i risultati. MAF supporta l’uso diretto di agenti AI come executor tramite il metodo estensione AsAIAgent:

AIAgent physicist = chatClient.AsAIAgent(
    "Sei un esperto di fisica. Rispondi in 2-3 frasi concise.", "Physicist");

AIAgent chemist = chatClient.AsAIAgent(
    "Sei un esperto di chimica. Rispondi in 2-3 frasi concise.", "Chemist");

Workflow workflow = new WorkflowBuilder(parseQuestion)
    .WithName("ExpertReview")
    .AddFanOutEdge(parseQuestion, [physicist, chemist])
    .AddFanInBarrierEdge([physicist, chemist], aggregator)
    .Build();

Con il runtime durable, il fisico potrebbe eseguire su una VM e il chimico su un’altra. Se il processo si riavvia a metà esecuzione, gli agenti già completati non vengono rieseguiti grazie al checkpointing.

Deploy su Azure Functions


Per il deploy serverless si aggiunge il pacchetto Microsoft.Agents.AI.Hosting.AzureFunctions. I vantaggi:

  • Scaling serverless: Azure Functions scala automaticamente in base al carico
  • HTTP endpoint automatici: ogni workflow registrato ottiene un HTTP trigger, senza scrivere controller o routing
  • Supporto MCP: i workflow possono essere esposti come MCP tool con un singolo flag, rendendoli scopribili da altri agenti AI
  • Zero boilerplate: il pacchetto genera orchestratori e activity function automaticamente


Conclusioni


Il Microsoft Agent Framework propone un’astrazione pulita per costruire workflow di agenti AI: si definisce il grafo una volta sola, e si sceglie il runtime — in-process per lo sviluppo, durable per la produzione, Azure Functions per il serverless. La separazione netta tra definizione del workflow e modalità di hosting è il punto di forza dell’approccio: consente di passare da un prototipo locale a un’orchestrazione distribuita con modifiche minime al codice.

Il framework è open source e in evoluzione rapida. Il codice di esempio completo è disponibile nella repository GitHub del Microsoft Agent Framework.

Fonte originale: Durable Workflows in the Microsoft Agent Framework — .NET Blog, Shyju Krishnankutty


The Privacy Post ha ricondiviso questo.

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

Kubernetes v1.36: Sharded List and Watch lato server per cluster ad alta scala
#tech
spcnet.it/kubernetes-v1-36-sha…
@informatica


Kubernetes v1.36: Sharded List and Watch lato server per cluster ad alta scala


Con la crescita dei cluster Kubernetes verso decine di migliaia di nodi, i controller che osservano risorse ad alta cardinalità come i Pod si scontrano con un limite di scalabilità ben preciso. Kubernetes v1.36 introduce in alpha una soluzione elegante: il Server-Side Sharded List and Watch (KEP-5866), che sposta il filtraggio upstream nell’API server, riducendo drasticamente il traffico verso ogni replica di un controller.

Il problema: scaling client-side


Alcuni controller, come kube-state-metrics, supportano già lo sharding orizzontale: ogni replica è assegnata a una porzione dello spazio delle chiavi e scarta gli oggetti che non le appartengono. Questo approccio funziona dal punto di vista della correttezza, ma non risolve il problema di scala:

  • N repliche × stream completo: ogni replica deserializza ed elabora ogni evento, poi scarta ciò che non le compete
  • La banda di rete scala con le repliche, non con la dimensione dello shard
  • CPU sprecata: il costo di deserializzazione è sostenuto per la frazione scartata

In sintesi, scalare orizzontalmente il controller moltiplica il costo per replica invece di ridurlo.

La soluzione: sharding lato server


Il Server-Side Sharded List and Watch risolve il problema spostando il filtraggio nell’API server. Ogni replica comunica all’API server quale intervallo di hash è di sua competenza, e l’API server invia solo gli eventi corrispondenti.

La feature aggiunge un campo shardSelector a ListOptions. I client specificano un intervallo di hash tramite la funzione shardRange():

shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')

L’API server calcola un hash FNV-1a a 64 bit deterministico del campo specificato e restituisce solo gli oggetti il cui hash ricade nell’intervallo [start, end). Questo vale sia per le risposte di list che per i flussi di eventi watch.

La funzione di hash produce lo stesso risultato su tutte le istanze dell’API server, quindi la feature è sicura anche con più repliche dell’API server.

I percorsi di campo attualmente supportati sono object.metadata.uid e object.metadata.namespace.

Utilizzo pratico nei controller


I controller tipicamente usano informer per fare list e watch sulle risorse. Per fare lo sharding del carico, ogni replica inietta il shardSelector nelle ListOptions usate dai suoi informer tramite WithTweakListOptions:

import (
    metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    "k8s.io/client-go/informers"
)

shardSelector := "shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')"

factory := informers.NewSharedInformerFactoryWithOptions(
    client,
    resyncPeriod,
    informers.WithTweakListOptions(func(opts *metav1.ListOptions) {
        opts.ShardSelector = shardSelector
    }),
)

Per un deployment con 2 repliche, i selettori dividono lo spazio degli hash a metà:
// Replica 0: metà inferiore dello spazio di hash
"shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')"

// Replica 1: metà superiore dello spazio di hash
"shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')"

Una singola replica può anche coprire range non contigui usando ||:
"shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000') || " +
"shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')"

Verificare che il server supporti il selettore


Quando l’API server onora un shard selector, la risposta list include un campo shardInfo nel metadata della risposta che riporta il selettore applicato:

{
  "kind": "PodList",
  "apiVersion": "v1",
  "metadata": {
    "resourceVersion": "10245",
    "shardInfo": {
      "selector": "shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')"
    }
  },
  "items": [ ... ]
}

Se shardInfo è assente, il server non ha applicato il shard selector e il client ha ricevuto la collezione completa non filtrata. In questo caso, il client deve essere pronto a gestire il risultato completo — ad esempio applicando un filtraggio client-side per scartare gli oggetti fuori dal proprio shard.

Come abilitarla e stato della feature


Questa feature è in alpha in Kubernetes v1.36 e richiede di abilitare il feature gate ShardedListAndWatch sull’API server:

--feature-gates=ShardedListAndWatch=true

Non è ancora consigliata per ambienti di produzione, ma rappresenta un’opportunità preziosa per i team che gestiscono cluster di grandi dimensioni di iniziare i test e fornire feedback al SIG API Machinery.

Implicazioni architetturali


L’impatto di questa feature va oltre la semplice riduzione del traffico di rete. Cambia il modello mentale con cui si progettano controller scalabili:

  • Efficienza reale: il costo per replica diminuisce proporzionalmente al numero di shard, invece di aumentare
  • Scalabilità lineare: aggiungere repliche riduce effettivamente il carico su ciascuna
  • Semplicità implementativa: lo sharding è dichiarativo — si specifica l’intervallo, l’API server fa il resto
  • Compatibilità hash deterministica: FNV-1a garantisce distribuzione uniforme e risultati coerenti su più API server


Conclusioni


Il Server-Side Sharded List and Watch è una di quelle feature che risolvono un problema reale per chi opera cluster Kubernetes di grandi dimensioni. Spostare il filtraggio nell’API server è la scelta architetturalmente corretta: elimina il lavoro inutile alla radice invece di cercare di ottimizzarlo lato client.

Per i controller author e gli operatori di cluster grandi, vale la pena iniziare a sperimentare con questa feature sin da ora, contribuendo feedback al team di SIG API Machinery tramite il canale #sig-api-machinery su Kubernetes Slack.

Fonte originale: Kubernetes v1.36: Server-Side Sharded List and Watch — Kubernetes Blog, Jeffrey Ying


The Privacy Post ha ricondiviso questo.

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

Costruire un MCP Server in C#: agenti AI con contesto reale usando il Model Context Protocol
#tech
spcnet.it/costruire-un-mcp-ser…
@informatica


Costruire un MCP Server in C#: agenti AI con contesto reale usando il Model Context Protocol


Uno degli ostacoli più concreti nel lavorare con agenti AI è la mancanza di contesto reale: i modelli linguistici hanno una conoscenza “congelata” nel tempo e non hanno accesso ai vostri dati aziendali, alle vostre API interne o agli strumenti specifici del dominio. Il Model Context Protocol (MCP) nasce per risolvere esattamente questo problema, standardizzando il modo in cui applicazioni e agenti AI si scambiano contesto e strumenti. In questo articolo vediamo come i developer .NET possono costruire un MCP Server in C# e integrarlo con agenti AI come GitHub Copilot.

Cos’è il Model Context Protocol


MCP è un protocollo aperto — originariamente sviluppato da Anthropic e ora supportato da numerose aziende tech — che definisce un linguaggio comune tra agenti AI e endpoint specializzati. L’idea è semplice: un MCP Server espone tool (funzioni invocabili), resource (dati strutturati) e prompt (template riutilizzabili) che un agente AI può scoprire e usare dinamicamente. Il risultato è un’integrazione grounded e sicura, in cui l’agente sa cosa può fare e con quali dati lavorare.

Per i developer .NET c’è una buona notizia: esiste un SDK C# ufficiale per MCP che rende la costruzione di server e client MCP relativamente semplice, integrabile con il familiare ecosistema di Microsoft.Extensions.

Struttura base di un MCP Server in C#


Il punto di partenza è un’applicazione console .NET. Le dipendenze NuGet necessarie nel file .csproj sono:

<ItemGroup>
  <PackageReference Include="ModelContextProtocol" Version="*" />
  <PackageReference Include="Microsoft.Extensions.Hosting" Version="*" />
</ItemGroup>

Il pacchetto ModelContextProtocol fornisce le API per creare server e client MCP, mentre l’integrazione con Microsoft.Extensions.AI consente di collegare i tool a modelli AI tramite le astrazioni standard di .NET.

Definire i Tool con gli attributi MCP


La magia di MCP in C# passa attraverso due attributi principali: [McpServerToolType] applicato alla classe e [McpServerTool] applicato ai metodi. Ecco un esempio minimale con un tool Echo:

using ModelContextProtocol.Server;
using System.ComponentModel;

[McpServerToolType]
public static class EchoTool
{
    [McpServerTool, Description("Restituisce il messaggio ricevuto al mittente.")]
    public static string Echo(string message) => $"Hai detto: {message}";
}

L’attributo [Description] è fondamentale: il testo viene esposto all’agente AI come documentazione del tool, influenzando direttamente se e quando l’agente decide di invocarlo. Scrivete descrizioni chiare e precise.

Vediamo ora un tool più realistico che chiama un’API HTTP e restituisce dati JSON:

using System.ComponentModel;
using System.Net.Http.Json;
using System.Text.Json;
using ModelContextProtocol.Server;

[McpServerToolType]
public static class PostDataTool
{
    [McpServerTool, Description("Recupera un elenco di post di esempio dall'API.")]
    public static async Task<string> GetSamplePosts()
    {
        using var client = new HttpClient
        {
            BaseAddress = new Uri("https://jsonplaceholder.typicode.com")
        };
        var posts = await client.GetFromJsonAsync<List<Post>>("/posts");
        return JsonSerializer.Serialize(posts ?? new List<Post>());
    }
}

public class Post
{
    public int Id { get; set; }
    public string? Title { get; set; }
    public string? Body { get; set; }
}

Configurare il server in Program.cs


La configurazione del server MCP avviene in Program.cs, sfruttando il generic host di .NET:

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

var builder = Host.CreateApplicationBuilder(args);

builder.Services
    .AddMcpServer()
    .WithStdioServerTransport()   // trasporto stdio per uso locale / VS Code
    .WithToolsFromAssembly();     // scoperta automatica di tutti i [McpServerToolType]

await builder.Build().RunAsync();

Il trasporto stdio è il più comune per server locali e per l’integrazione con VS Code. Per scenari più avanzati (server HTTP remoti, autenticazione OAuth) l’SDK supporta trasporti SSE e altri meccanismi.

Registrare il server in VS Code


Per rendere il server MCP disponibile a VS Code e a GitHub Copilot, create un file .vscode/mcp.json nella root del progetto:

{
  "servers": {
    "MyMcpServer": {
      "type": "stdio",
      "command": "dotnet",
      "args": [
        "run",
        "--project",
        "/percorso/completo/MyMcpServer.csproj"
      ]
    }
  }
}

VS Code legge questo file e avvia automaticamente il server MCP quando necessario. I tool vengono esposti nella chat di GitHub Copilot con il prefisso #NomeServer.

Testare con l’MCP Inspector


Prima di integrare il server con un agente AI reale, è utile verificarne il funzionamento con l’MCP Inspector, uno strumento interattivo basato su Node.js con frontend React. Non richiede installazione: basta eseguire:

npx @modelcontextprotocol/inspector

Dall’Inspector potete connettervi al vostro server .NET, esplorare i tool esposti, invocarli con parametri di test e verificare le risposte JSON — tutto senza dover aprire VS Code.

Integrazione con GitHub Copilot in modalità agente


Con il server registrato in mcp.json, GitHub Copilot in modalità Agent può scoprire e invocare i vostri tool. Nella chat è sufficiente fare riferimento a un tool con #NomeServer_NomeTool, oppure chiedere all’agente di completare un compito e lasciare che sia lui a decidere quali tool usare.

L’agente chiederà conferma prima di eseguire qualsiasi tool (a meno che non abbiate abilitato l’approvazione automatica per la sessione), e il risultato viene usato come contesto per la risposta successiva. Questo pattern è particolarmente potente quando il tool restituisce dati specifici del dominio — configurazioni di sistema, query a database interni, stati di pipeline CI/CD — che il modello non potrebbe altrimenti conoscere.

Scenari pratici per developer .NET


Alcuni use case concreti per un MCP Server in C#:

  • Query al database aziendale: esporre viste o stored procedure come tool MCP per permettere all’agente di rispondere a domande sui dati reali.
  • Integrazione con sistemi interni: wrappare API REST o servizi WCF legacy come tool MCP senza riscrivere nulla.
  • Automazione DevOps: tool per interrogare lo stato di pipeline, deployment o metriche di monitoring direttamente dalla chat dell’agente.
  • Contesto di progetto: esporre convenzioni architetturali, ADR (Architecture Decision Records) o specifiche di dominio come risorse MCP per guidare la generazione di codice.


Conclusione


Il Model Context Protocol è ancora in evoluzione, ma le fondamenta sono solide e l’adozione sta crescendo rapidamente. Per i developer .NET, l’SDK C# rende la costruzione di MCP Server accessibile e naturale, senza allontanarsi dalle convenzioni del framework. Investire oggi nel capire MCP significa essere pronti quando gli agenti AI diventeranno parte integrante del workflow di sviluppo quotidiano — e quel momento è già più vicino di quanto sembri.

Fonti: MCP Magic: Building Tool-Enabled AI Agents with C# — Visual Studio Magazine; Build & Leverage MCP Servers in C# for AI-Driven Development — Uno Platform


The Privacy Post 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.

UAT-8302: il nuovo APT cinese con arsenale condiviso che spia governi su tre continenti
#CyberSecurity
insicurezzadigitale.com/uat-83…


UAT-8302: il nuovo APT cinese con arsenale condiviso che spia governi su tre continenti


Cisco Talos ha svelato UAT-8302, un gruppo APT con nexus cinese che condivide un toolkit malware con almeno sei altri threat actor legati a Pechino. Dalla fine del 2024 a oggi, il gruppo ha silenziosamente compromesso enti governativi in Sud America e Sud-Est Europa, usando una catena d’attacco modulare che combina backdoor .NET personalizzate, strumenti Rust e impianti RAT avanzati — tutti con radici nell’ecosistema cyber-offensivo della Cina.

Un gruppo nuovo, un arsenale già conosciuto


Il 5 maggio 2026, i ricercatori di Cisco Talos hanno pubblicato l’analisi completa di UAT-8302, un cluster di attività che operava nell’ombra da oltre diciotto mesi prima di essere formalmente identificato. Ciò che rende questo threat actor particolarmente interessante non è solo chi ha colpito, ma come lo ha fatto: il gruppo ha fatto largo uso di malware già documentato in campagne di altri attori cinesi, costruendo un arsenale di strumenti condivisi che suggerisce un ecosistema coordinato tra hacking group legati allo Stato.

Talos valuta con alto grado di confidenza che UAT-8302 sia un APT a nexus cinese il cui obiettivo primario è ottenere e mantenere accessi persistenti e a lungo termine presso entità governative e organizzazioni correlate in tutto il mondo. Le vittime documentate includono ministeri e agenzie governative in Sud America (attive dalla fine del 2024) e Europa sud-orientale (documentate nel 2025).

La catena d’infezione: dall’exploit iniziale alla persistenza


I ricercatori sospettano che UAT-8302 sfrutti vulnerabilità zero-day e N-day in applicazioni web per ottenere l’accesso iniziale, anche se i vettori precisi non sono stati confermati in tutti i casi analizzati. Una volta ottenuto il foothold, la kill chain si sviluppa con metodologia da manuale per operazioni di spionaggio a lungo termine:

  • Ricognizione estensiva: mapping della rete, enumerazione degli host e dei servizi esposti usando lo scanner open-source gogo, strumento popolare nell’ecosistema offensivo sinofono.
  • Lateral movement: sfruttamento di Impacket per movimento laterale, accesso a credenziali e persistenza attraverso protocolli Windows.
  • Distribuzione del payload finale: deployment di una o più famiglie malware personalizzate a seconda del target e dell’obiettivo dell’operazione.


L’arsenale malware: cinque famiglie per un unico attore


L’elemento più significativo di UAT-8302 è la varietà e la sofisticazione del suo toolkit. Il gruppo ha impiegato almeno cinque famiglie malware distinte, molte delle quali condivise con altri gruppi a nexus cinese:

NetDraft / NosyDoor


NetDraft (noto anche come NosyDoor) è una backdoor .NET che Talos descrive come una variante portata in C# del malware FINALDRAFT (alias Squidoor), sviluppato originariamente dal cluster Jewelbug/REF7707/CL-STA-0049. La caratteristica tecnica più rilevante è il suo meccanismo di C2: NetDraft utilizza la Microsoft Graph API per comunicare con il suo server di comando e controllo, usando OneDrive come canale covert. Un eseguibile legittimo viene usato per side-load una DLL malevola, che a sua volta decodifica NetDraft da un file di dati allegato ed esegue il codice nel contesto del processo corrente — una tecnica che rende l’impianto invisibile a molti prodotti EDR non configurati per monitorare l’uso anomalo delle API Microsoft.

SNOWRUST e VShell


Talos ha identificato SNOWRUST, una variante Rust di SNOWLIGHT, come stager di secondo livello. SNOWRUST decodifica ed esegue il shellcode di SNOWLIGHT incorporato per scaricare il payload finale — VShell (alias VSHELL) — da un server C2 in formato XOR-encoded. VShell è un RAT (Remote Access Trojan) documentato in numerose campagne cinesi precedenti e offre capacità complete di controllo remoto della macchina vittima.

CloudSorcerer v3.0


CloudSorcerer (versione 3.0) è una famiglia malware che Kaspersky aveva già documentato nel 2024 in attacchi contro entità governative russe. La comparsa della stessa famiglia in operazioni di UAT-8302 contro target diversi suggerisce non solo condivisione di codice, ma potenzialmente condivisione di infrastruttura o almeno di sviluppatori tra gruppi diversi dell’ecosistema APT cinese.

SNAPPYBEE / DeedRAT e ZingDoor


Le famiglie SNAPPYBEE (noto anche come DeedRAT) e ZingDoor sono state deployate congiuntamente in alcune campagne. SNAPPYBEE è una backdoor modulare con capacità di caricamento di plugin, già associata ad altri gruppi cinesi. ZingDoor, scritto in Go, completa il quadro con funzionalità di tunneling e proxy che facilitano la creazione di canali C2 resilienti.

Un ecosistema APT condiviso: la vera novità


Il dato più preoccupante che emerge dall’analisi Talos riguarda il modello operativo sottostante: UAT-8302 condivide il proprio arsenale con almeno sei altri gruppi APT a nexus cinese. Questo non è solo un’indicazione di affiliazione statale, ma suggerisce un’infrastruttura di sviluppo e distribuzione malware centralizzata, probabilmente gestita da un’entità governativa — plausibilmente correlata al Ministero della Sicurezza dello Stato (MSS) o all’Esercito Popolare di Liberazione (PLA).

Questa condivisione ha implicazioni pratiche per i difensori: il rilevamento di una singola famiglia (ad es. NetDraft) in un’organizzazione non significa necessariamente stare di fronte a UAT-8302 — potrebbe essere qualsiasi altro degli attori che usano lo stesso toolkit. Questo rende l’attribuzione più difficile e richiede un approccio di detection basato sul comportamento piuttosto che sulle singole firme malware.

Implicazioni geopolitiche


La scelta dei target — governi sudamericani e dell’Europa sud-orientale — riflette le priorità strategiche della Cina in due aree geografiche di crescente importanza. Il Sud America è al centro degli interessi economici e diplomatici di Pechino (BRI, accordi bilaterali, infrastrutture). L’Europa sud-orientale, con paesi come Serbia, Bulgaria e Romania, rappresenta un nodo critico per le ambizioni cinesi di influenza in Europa orientale, specialmente in un contesto di tensioni con NATO e UE.

Indicatori di compromissione (IoC)


Cisco Talos ha pubblicato IoC completi nel report ufficiale. Di seguito i principali indicatori tecnici associati alle famiglie malware di UAT-8302:

# Famiglie malware associate a UAT-8302
NetDraft / NosyDoor  — .NET backdoor, C2 via MS Graph API / OneDrive
SNOWRUST             — stager Rust, variante di SNOWLIGHT
VShell / VSHELL      — RAT multi-funzione, C2 XOR-encoded payload
CloudSorcerer v3.0   — backdoor condivisa con campagne Russia-targeting
SNAPPYBEE / DeedRAT  — backdoor modulare Go, plugin-based
ZingDoor             — tunneling/proxy Go-based

# Tecniche MITRE ATT&CK osservate
T1190 — Exploit Public-Facing Application (initial access)
T1574.002 — DLL Side-Loading (NetDraft loader)
T1071.001 — Application Layer Protocol: Web (MS Graph C2)
T1027 — Obfuscated Files or Information
T1078 — Valid Accounts (post-compromise credential abuse)
T1021 — Remote Services / Lateral Movement (Impacket)
T1082 — System Information Discovery
T1083 — File and Directory Discovery

# Tool open-source utilizzati
gogo      — scanner di rete popolare nell'ecosistema offensivo sinofono
Impacket  — toolkit Python per SMB/Kerberos/lateral movement

Due righe per i difensori


Dati i vettori e le tecniche osservate, le organizzazioni governative e le infrastrutture critiche dovrebbero prioritizzare le seguenti misure difensive. In primo luogo, monitorare il traffico verso Microsoft Graph API e OneDrive per accessi anomali da processi di sistema o applicazioni non standard — NetDraft usa questo canale per mascherare il C2 tra traffico legittimo. In secondo luogo, implementare controlli di DLL sideloading verificando che gli eseguibili firmati non carichino DLL da percorsi non standard. In terzo luogo, rilevare l’uso di Impacket attraverso il monitoraggio di traffico SMB/DCE-RPC anomalo, autenticazioni Kerberos insolite e creazione di servizi remoti. Infine, tenere aggiornate le applicazioni web esposte su internet, poiché UAT-8302 sfrutta CVE noti e zero-day per l’accesso iniziale.

Il report completo di Cisco Talos con IoC estesi è disponibile su blog.talosintelligence.com.


The Privacy Post 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.

ShinyHunters viola Canvas: 275 milioni di studenti nel mirino nel più grande data breach educativo della storia
#CyberSecurity
insicurezzadigitale.com/shinyh…


ShinyHunters viola Canvas: 275 milioni di studenti nel mirino nel più grande data breach educativo della storia


Il gruppo di estorsione digitale ShinyHunters ha violato Instructure, la società madre della piattaforma di e-learning Canvas, sottraendo 3,65 terabyte di dati relativi a circa 275 milioni di studenti e insegnanti distribuiti in 8.809 istituzioni scolastiche in tutto il mondo. L’attacco, rivendicato il 3 maggio 2026 e tuttora in evoluzione con un ultimatum di riscatto fissato al 12 maggio, è già classificato come il più grande data breach della storia nel settore dell’istruzione — con implicazioni che vanno ben oltre la semplice esfiltrazione di dati anagrafici.

La timeline dell’attacco


La prima anomalia rilevata è datata 29 aprile 2026, quando alcuni strumenti di Canvas iniziarono a mostrare malfunzionamenti. Il giorno successivo, Instructure confermò internamente una violazione criminale in corso e ingaggiò esperti forensi esterni. Il 3 maggio, ShinyHunters rivendicò pubblicamente l’attacco su forum underground, pubblicando campioni dei dati come prova. Il 7 maggio — in un’escalation particolarmente aggressiva — il gruppo defacciò le pagine di login di numerose istituzioni scolastiche clienti di Canvas, sostituendole con un messaggio di estorsione visibile a milioni di studenti nel pieno del periodo degli esami di fine anno accademico.

La scelta del momento non è casuale: colpire a maggio, durante le sessioni d’esame universitarie negli USA, nel Regno Unito e in Australia, massimizza la pressione mediatica e istituzionale, aumentando la probabilità che la vittima ceda alle richieste di riscatto.

Il vettore d’attacco: account Free-For-Teacher e abuso OAuth


Secondo le prime ricostruzioni rese note da Instructure, il punto d’ingresso iniziale è stato un’vulnerabilità legata agli account Free-For-Teacher, un tipo di account gratuito offerto da Canvas agli insegnanti per uso personale o sperimentale, con autorizzazioni API più ampie rispetto agli account studente standard. ShinyHunters, noto per la sua expertise nell’abuso di piattaforme cloud enterprise attraverso tecniche di vishing, furto di credenziali e abuso OAuth, ha sfruttato questo vettore per ottenere token di accesso con privilegi elevati all’infrastruttura di Instructure.

Il modus operandi del gruppo in operazioni precedenti — tra cui le violazioni di Snowflake (2024) e Salesforce — segue uno schema consolidato: compromissione di account cloud di terze parti con accesso API, escalation dei privilegi tramite token OAuth mal configurati o rubati, esfiltrazione massiva di dati in formato strutturato (database dump, CSV), e infine doppia estorsione con pubblicazione progressiva di campioni come leva negoziale.

La scala senza precedenti: chi è stato colpito


Con 8.809 istituzioni coinvolte in almeno otto Paesi — Stati Uniti, Canada, Regno Unito, Nuova Zelanda, Australia, Svezia, Paesi Bassi e Singapore — il breach Canvas supera qualsiasi precedente nella storia delle violazioni del settore education. Tra le istituzioni nominalmente esposte figurano MIT, Oxford, Duke University, University of Pennsylvania e centinaia di altre università di primo piano a livello globale.

I dati sottratti confermati includono: nomi e cognomi, indirizzi email istituzionali, numeri di matricola, iscrizioni ai corsi e — particolarmente sensibile — messaggi privati scambiati tra studenti e docenti. Instructure ha dichiarato che non risultano compromesse password, date di nascita, documenti d’identità governativi o informazioni finanziarie, ma l’entità dell’esfiltrazione — 3,65 TB — suggerisce che il quadro completo dei dati sottratti non sia ancora del tutto chiaro.

ShinyHunters: il profilo del gruppo


ShinyHunters è un gruppo di estorsione digitale attivo almeno dal 2020, noto per operazioni ad alto impatto contro piattaforme cloud. Nel curriculum del gruppo figurano violazioni di Tokopedia (91 milioni di record), Wattpad, Mathway, Pluto TV, e la già citata campagna Snowflake del 2024 che colpì centinaia di aziende Fortune 500 tramite furto di credenziali di clienti cloud. Il gruppo non dispone di una struttura ransomware con cifratura dei file: la loro arma primaria è la minaccia di pubblicazione dei dati, amplificata da azioni di defacement visibili (come le pagine login di Canvas sostituite) che generano massima pressione mediatica.

La deadline del 12 maggio 2026 per il pagamento del riscatto è in scadenza nei prossimi giorni. Non è noto l’importo richiesto. Instructure non ha confermato né smentito trattative in corso.

Cosa devono fare istituzioni e utenti


Le istituzioni che utilizzano Canvas devono agire immediatamente su più fronti: rotazione di tutte le API key Canvas, revoca e re-emissione di tutti i token OAuth attivi, verifica delle integrazioni SSO con provider di identità istituzionali, e audit degli account Free-For-Teacher attivi nella propria istanza. Per gli utenti finali, il rischio principale nelle settimane successive sarà quello di campagne di phishing personalizzate, che sfrutteranno i dati esfiltrati (email istituzionali, nomi dei corsi, messaggi privati) per costruire lure altamente credibili. La ricezione di email apparentemente provenienti da docenti, segreterie o piattaforme universitarie deve essere trattata con massima cautela per almeno i prossimi 90 giorni.

## Indicatori e dati chiave del breach Canvas/ShinyHunters
Data prima anomalia: 29 aprile 2026
Data rivendicazione: 3 maggio 2026
Data defacement login pages: 7 maggio 2026
Deadline riscatto: 12 maggio 2026
Volume dati sottratti: ~3,65 TB
Record compromessi (claim ShinyHunters): ~275 milioni
Istituzioni coinvolte: 8.809 (in 8+ Paesi)
Vettore iniziale: account Free-For-Teacher + abuso OAuth API
Dati confermati compromessi: nome, email, student ID, messaggi privati
Dati NON compromessi (Instructure): password, date nascita, ID gov., dati finanziari

## Azioni immediate per amministratori Canvas
1. Ruotare tutte le Canvas API key
2. Revocare e re-emettere i token OAuth attivi
3. Verificare integrazioni SSO e provider identità
4. Auditare account Free-For-Teacher attivi
5. Abilitare MFA per tutti gli account amministrativi