<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Topics tagged with githubactions]]></title><description><![CDATA[A list of topics that have been tagged with githubactions]]></description><link>https://forum.androidiani.net/tags/githubactions</link><generator>RSS for Node</generator><lastBuildDate>Tue, 26 May 2026 17:04:02 GMT</lastBuildDate><atom:link href="https://forum.androidiani.net/tags/githubactions.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 24 May 2026 18:15:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Megalodon: 5.561 repository GitHub compromessi in sei ore con workflow CI&#x2F;CD malevoli]]></title><description><![CDATA[Si parla di:ToggleIn sei ore, tra le 11:36 e le 17:48 UTC del 18 maggio 2026, una campagna automatizzata denominata Megalodon ha iniettato 5.718 commit malevoli in 5.561 repository GitHub, esfiltrandone segreti CI/CD, credenziali cloud, chiavi SSH e token API verso un server di comando e controllo. È l’attacco alla supply chain dello sviluppo software più rapido e capillare mai documentato, e fa parte di un’ondata più ampia che sta ridisegnando il panorama delle minacce per sviluppatori e team DevOps.Come funziona Megalodon: l’automazione al servizio del compromesso di massaI ricercatori di SafeDep e StepSecurity hanno analizzato la campagna in dettaglio. L’attaccante ha utilizzato account GitHub usa-e-getta con username alfanumerici casuali di 8 caratteri (es. rkb8el9r, bhlru9nr, lo6wt4t6), configurando git per falsificare l’identità dell’autore con nomi plausibili — build-bot, auto-ci, ci-bot, pipeline-bot — e indirizzi email automatizzati come build-system@noreply.dev. Questi nomi mimano la normale attività di automazione CI/CD, riducendo drasticamente la probabilità che un commit sospetto venga rilevato durante una code review.Il payload iniettato è un workflow GitHub Actions contenente uno script bash codificato in Base64. Una volta che il proprietario del repository accetta il pull request o effettua un push, il workflow si attiva nella pipeline CI/CD e procede all’esfiltrazione massiva di dati verso il C2 all’indirizzo 216.126.225[.]129:8443.Dati esfiltrati: una lista completaLa lista di informazioni sottratte dalla campagna Megalodon è particolarmente estesa e rivela quanto profondamente il workflow malevolo si radichi nell’ambiente di esecuzione CI/CD:Variabili d’ambiente CI, /proc/*/environ e ambiente del processo PID 1Credenziali AWS (access key, secret key, session token)Access token Google Cloud PlatformCredenziali di ruolo IAM ottenute via AWS IMDSv2, GCP metadata server e Azure IMDSChiavi private SSHConfigurazioni Docker e KubernetesVault token (HashiCorp Vault)Terraform credentialsShell historyChiavi API, stringhe di connessione a database, JWT, chiavi PEM privateGITHUB_TOKEN, token GitLab CI/CD e BitbucketFile .env, credentials.json, service-account.json e altri file di configurazione sensibiliGitHub Actions OIDC token (URL + token)# Indicatori di Compromissione - Megalodon
# C2 server
216.126.225.129:8443
# Account attaccante (pattern)
Username: 8 caratteri alfanumerici casuali (es. rkb8el9r, bhlru9nr, lo6wt4t6)
Author forged: build-bot, auto-ci, ci-bot, pipeline-bot
Email forged: build-system@noreply.dev, ci-bot@automated.dev
# Varianti payload
SysDiag          - Workflow su ogni push/pull_request (mass variant)
Optimize-Build   - Workflow su workflow_dispatch (targeted variant, backdoor dormante)
# Pacchetto npm compromesso
@tiledesk/tiledesk-server versioni 2.18.6 - 2.18.12
# Finestra temporale dell'attacco
18 maggio 2026, 11:36 - 17:48 UTC
5.718 commit su 5.561 repository in ~6 ore
# Pacchetti npm malevoli (Polymarket drainer - campagna correlata)
polymarket-trading-cli, polymarket-terminal, polymarket-trade
polymarket-auto-trade, polymarket-copy-trading, polymarket-bot
polymarket-claude-code, polymarket-ai-agent, polymarket-trader
Endpoint esfiltrazione: hxxps://polymarketbot.polymarketdev.workers[.]dev/v1/wallets/keysDue varianti per due obiettiviL’analisi tecnica ha identificato due varianti del payload con finalità diverse. La variante SysDiag è quella di massa: aggiunge un workflow attivato da ogni push e pull request, massimizzando le opportunità di esecuzione. La variante Optimize-Build è più chirurgica: sostituisce i workflow esistenti con trigger workflow_dispatch, creando backdoor dormienti che l’attaccante può attivare on-demand tramite le API di GitHub. Nel caso di @tiledesk/tiledesk-server è stata utilizzata la variante targeted, che colpisce i CI/CD runner ma non si attiva quando il pacchetto npm viene semplicemente installato dagli utenti finali.“Il compromesso di GitHub da parte di TeamPCP era solo l’inizio”, ha dichiarato Moshe Siman Tov Bustan di OX Security. “Quello che arriverà è un’ondata infinita, uno tsunami di attacchi cyber contro sviluppatori in tutto il mondo.”Il contesto: TeamPCP e l’ecosistema open source sotto attaccoMegalodon si inserisce in una serie di attacchi orchestrati dal gruppo TeamPCP, che ha sfruttato la natura interconnessa della supply chain software per compromettere centinaia di progetti open source in modalità worm-like. Tra le vittime precedenti: TanStack, Grafana Labs, OpenAI, Mistral AI e ora GitHub direttamente. Il gruppo ha stabilito partnership con BreachForums e crew di estorsione come LAPSUS$ e VECT, combinando motivazioni finanziarie con possibili interessi geopolitici: è stato documentato il deployment di wiper malware su macchine localizzate in Iran e Israele.La risposta di npm all’ondata di attacchi è stata drastica: invalidazione di tutti i token di accesso granulare con write access che bypassano l’autenticazione a due fattori. NPM ha anche raccomandato il passaggio a Trusted Publishing per ridurre la dipendenza da questi token. Come ha sottolineato Socket, però, l’intervento compra tempo ma non chiude la vulnerabilità sottostante: finché il worm è attivo, continuerà a raccogliere nuovi token non appena i maintainer ne genereranno di nuovi.Due righe per i difensoriLa campagna Megalodon evidenzia debolezze strutturali nella sicurezza delle pipeline CI/CD. I team DevSecOps dovrebbero adottare le seguenti contromisure:Abilitare il pinning dei workflow: configurare i GitHub Actions workflow per usare SHA commit espliciti invece di tag mutabili (es. uses: actions/checkout@abc1234 invece di @v3), rendendo impossibile la sostituzione silenziosa dei workflowImplementare policy di branch protection: richiedere review obbligatorie per ogni push su branch principali, con particolare attenzione alle modifiche a file .github/workflows/Monitorare le credenziali con secret scanning: strumenti come GitHub Secret Scanning, Trufflehog o Gitleaks possono rilevare credenziali accidentalmente incluse nei commitAdottare Trusted Publishing: su npm e PyPI, il Trusted Publishing elimina la necessità di token statici che possono essere rubatiRevisione dei permessi GITHUB_TOKEN: limitare i permessi del token al minimo necessario per il workflow specifico, usando permissions: nel file YAMLAudit degli accessi OIDC: implementare policy rigorose per i token OIDC usati per l’accesso a cloud provider da pipeline CIAlerting su deployment key e PAT: monitorare l’uso di Personal Access Token e deploy key, revocando immediatamente quelli non più in usoMegalodon rappresenta un punto di svolta nella storia degli attacchi alla supply chain: la capacità di compromettere oltre 5.500 repository in meno di sei ore, utilizzando tecniche di evasione che mimano il normale traffico CI/CD, suggerisce un livello di automazione e pianificazione che andrà oltre i singoli episodi. La domanda non è più se una pipeline subirà un tentativo di compromissione, ma quando — e se l’organizzazione ha le visibility necessarie per accorgersene in tempo.]]></description><link>https://forum.androidiani.net/topic/47a9e914-fc92-4b7e-bdd8-7df9543931a6/megalodon-5.561-repository-github-compromessi-in-sei-ore-con-workflow-ci-cd-malevoli</link><guid isPermaLink="true">https://forum.androidiani.net/topic/47a9e914-fc92-4b7e-bdd8-7df9543931a6/megalodon-5.561-repository-github-compromessi-in-sei-ore-con-workflow-ci-cd-malevoli</guid><dc:creator><![CDATA[blog@insicurezzadigitale.com]]></dc:creator><pubDate>Sun, 24 May 2026 18:15:13 GMT</pubDate></item><item><title><![CDATA[Mini Shai-Hulud: TeamPCP compromette 160+ pacchetti npm e PyPI in un supply chain attack che ha colpito TanStack, Mistral AI e OpenAI]]></title><description><![CDATA[Si parla di:ToggleTra il 11 e il 14 maggio 2026, un attore di minacce tracciato come TeamPCP ha sferrato uno dei supply chain attack più sofisticati mai documentati nell’ecosistema open source: oltre 160 pacchetti npm e 2 pacchetti PyPI compromessi, tra cui componenti del popolare framework TanStack, librerie di Mistral AI e UiPath, e il fondamentale pacchetto node-ipc con 822.000 download settimanali. L’operazione, ribattezzata “Mini Shai-Hulud” dai ricercatori di Wiz, ha colpito le pipeline di sviluppo di migliaia di organizzazioni — inclusi due dipendenti di OpenAI — e ha dimostrato come un singolo punto debole nelle GitHub Actions possa trasformarsi in una bomba a orologeria lungo tutta la catena del software.L’innesco: tre vulnerabilità GitHub Actions in sequenzaIl vettore iniziale dell’attacco non è stato una vulnerabilità nei pacchetti stessi, ma nell’infrastruttura CI/CD che li gestisce. TeamPCP ha sfruttato una catena di tre vulnerabilità nelle GitHub Actions, secondo quanto ricostruito dai ricercatori di Wiz e Orca Security. L’attaccante ha creato un fork del repository TanStack/router, ha aperto una pull request che ha innescato un workflow pull_request_target — una tipologia di workflow che, a differenza di pull_request, viene eseguita con i permessi completi del repository originale anche per PR da fork esterni — e ha avvelenato la cache pnpm di GitHub Actions con un payload malevolo.Una volta avvelenata la cache, il malware si è auto-propagato: ogni volta che il workflow legittimo veniva eseguito, invece di scaricare le dipendenze originali recuperava le versioni compromesse dalla cache infetta. Questo meccanismo di auto-propagazione — il “worm” di Mini Shai-Hulud — ha permesso la compromissione a cascata di tutti i namespace associati al progetto.I 373 pacchetti compromessi: la portata dell’operazioneLa scala dell’attacco è stata eccezionale. In totale, 373 versioni malevole sono state pubblicate su npm, distribuite su 169 nomi di pacchetti distinti. I namespace colpiti includono @tanstack (83 voci: router, start, devtools e adapter packages), @uipath (66 voci), @squawk (87 voci), @mistralai, @tallyui, @beproduct e numerosi pacchetti non con scope. Su PyPI, i pacchetti colpiti sono stati guardrails-ai 0.10.1 e mistralai 2.4.6.La natura cross-namespace dell’attacco è significativa: le organizzazioni che utilizzavano librerie di vendor diversi (UiPath per l’automazione, Mistral AI per i modelli LLM, TanStack per il routing frontend) erano tutte vulnerabili nello stesso intervallo temporale, senza che esistesse un singolo punto di allerta evidente.node-ipc: il payload più insidiosoParallelamente alla compromissione via GitHub Actions, TeamPCP ha eseguito un attacco separato ma correlato contro node-ipc, un pacchetto fondamentale di Node.js per la comunicazione inter-processo con oltre 10 milioni di download settimanali. Tre versioni malevole (9.1.6, 9.2.3 e 12.0.1) sono state pubblicate il 14 maggio 2026 tramite un account maintainer compromesso attraverso una tecnica di account takeover mirata.L’attaccante aveva re-registrato il dominio atlantis-software.net — scaduto il 10 gennaio 2025 — il 7 maggio 2026 tramite Namecheap, e aveva utilizzato la procedura standard di reset password di npm per ottenere i permessi di pubblicazione senza che il maintainer originale venisse avvisato. Le versioni malevole contenevano un payload da 80 KB, fortemente offuscato, che veniva iniettato come IIFE (Immediately Invoked Function Expression) alla fine del file node-ipc.cjs.Cosa rubava il malware: 90+ categorie di credenzialiUna volta caricato tramite require('node-ipc'), il payload eseguiva silenziosamente un harvesting massiccio di credenziali: chiavi AWS, Azure e GCP, chiavi SSH private, token Kubernetes, configurazioni GitHub CLI, impostazioni di Claude AI e dell’IDE Kiro, stati Terraform, password di database, cronologia della shell e molto altro — oltre 90 categorie di segreti in totale. I dati venivano compressi in un archivio gzip e esfiltrati verso un server controllato dagli attaccanti che si mascherava da infrastruttura Azure.Prima di procedere, il payload effettuava un fingerprint SHA-256 dell’ambiente, confrontandolo con un hash hardcoded assemblato da otto frammenti offuscati presenti nel codice — presumibilmente per evitare l’esecuzione in sandbox di analisi. Le versioni malevole sono rimaste attive sul registry per circa due ore prima del rilevamento e della rimozione da parte di npm. Qualsiasi progetto che abbia eseguito npm install o aggiornato automaticamente le dipendenze in quella finestra temporale deve essere considerato potenzialmente compromesso.OpenAI e Mistral AI tra le vittime: le implicazioni sistemicheOpenAI ha confermato che due dispositivi di dipendenti nel suo ambiente aziendale sono stati compromessi nell’attacco. L’azienda ha ingaggiato una società di incident response, ha ruotato i certificati di firma del codice per le applicazioni macOS e ha dichiarato di non aver trovato evidenze di accesso a dati utente, sistemi di produzione o proprietà intellettuale. Mistral AI ha visto le sue librerie ufficiali compromise, sollevando preoccupazioni immediate tra gli sviluppatori che le utilizzano per integrare capacità AI nei loro applicativi.Il fatto che TeamPCP abbia preso di mira specificamente pacchetti di aziende AI leader — Mistral AI, e indirettamente OpenAI attraverso i suoi sviluppatori — non è casuale: i developer che lavorano con questi strumenti hanno tipicamente accesso a chiavi API di alto valore, ambienti cloud critici e codice sorgente sensibile. I repo di Mistral AI rubati sono stati successivamente messi in vendita da TeamPCP, confermando la doppia finalità dell’operazione: furto di credenziali e esfiltrazione di proprietà intellettuale.Difendersi dalla nuova generazione di supply chain attackL’attacco di Mini Shai-Hulud rappresenta una nuova classe di minaccia per la quale molte organizzazioni non sono ancora attrezzate. La compromissione non avviene attraverso vulnerabilità nel codice stesso, ma nell’infrastruttura di distribuzione. Alcune misure pratiche per i difensori includono il pinning delle versioni esatte dei pacchetti (evitando range semver come ^1.2.3 o ~1.2.3), l’utilizzo di un lockfile verificato e mantenuto nel controllo versione, l’auditing regolare delle dipendenze con strumenti come npm audit o Snyk, e la verifica dell’integrità dei pacchetti tramite hash SHA-512 dove disponibili.Sul fronte CI/CD, è fondamentale limitare i permessi dei workflow GitHub Actions, evitare l’uso di pull_request_target con checkout del codice della PR, e implementare cache poisoning prevention attraverso la verifica dell’integrità della cache. Le organizzazioni che hanno eseguito build tra il 11 e il 14 maggio 2026 utilizzando i namespace colpiti dovrebbero effettuare una revisione completa dei secret esposti.Indicatori di Compromissione (IoC)# Mini Shai-Hulud / TeamPCP Supply Chain Attack - Maggio 2026
# Fonti: Wiz, Orca Security, Snyk, StepSecurity

# Pacchetti npm malevoli (esempi principali)
node-ipc: 9.1.6, 9.2.3, 12.0.1
@tanstack/router: versioni pubblicate 11-14 maggio 2026
@mistralai/mistralai: 2.4.6 (correlato)

# Pacchetti PyPI malevoli
guardrails-ai==0.10.1
mistralai==2.4.6

# Account maintainer compromesso (node-ipc)
npm user: atiertant (a.tiertant@atlantis-software.net)
Dominio re-registrato: atlantis-software.net (7 maggio 2026)

# Tecniche MITRE ATT&amp;CK
T1195.001 - Supply Chain Compromise: Compromise Software Dependencies
T1059.007 - Command and Scripting Interpreter: JavaScript
T1552.001 - Unsecured Credentials: Credentials in Files
T1041     - Exfiltration Over C2 Channel (verso infrastruttura Azure-like)

# Indicatori comportamentali
- Processi Node.js che effettuano richieste HTTP inattese post-installazione
- Archivi gzip creati in directory temporanee durante npm install
- Chiamate a endpoint Azure non riconosciuti da processi build

# Verifica hash (node-ipc versioni legittime)
SHA-256 v9.1.5 legittima: verificare su https://registry.npmjs.org/node-ipc/9.1.5Fonti: Wiz Blog, Orca Security, The Hacker News, BleepingComputer, OpenAI Blog]]></description><link>https://forum.androidiani.net/topic/32e9eba1-a8c7-430e-a1a0-834297e81d84/mini-shai-hulud-teampcp-compromette-160-pacchetti-npm-e-pypi-in-un-supply-chain-attack-che-ha-colpito-tanstack-mistral-ai-e-openai</link><guid isPermaLink="true">https://forum.androidiani.net/topic/32e9eba1-a8c7-430e-a1a0-834297e81d84/mini-shai-hulud-teampcp-compromette-160-pacchetti-npm-e-pypi-in-un-supply-chain-attack-che-ha-colpito-tanstack-mistral-ai-e-openai</guid><dc:creator><![CDATA[blog@insicurezzadigitale.com]]></dc:creator><pubDate>Mon, 18 May 2026 15:45:00 GMT</pubDate></item></channel></rss>