<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Facile on u-random</title><link>https://u-random.dev/tags/facile/</link><description>Recent content in Facile on u-random</description><generator>Hugo -- gohugo.io</generator><language>it-it</language><lastBuildDate>Tue, 19 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://u-random.dev/tags/facile/index.xml" rel="self" type="application/rss+xml"/><item><title>Il CEO Non Ha Scritto Quella Email</title><link>https://u-random.dev/blog/il-ceo-non-ha-scritto-quella-email/</link><pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/il-ceo-non-ha-scritto-quella-email/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;BEC (Business Email Compromise) non richiede malware - basta falsificare il campo &lt;code&gt;From:&lt;/code&gt; in SMTP&lt;/li&gt;
&lt;li&gt;SPF, DKIM e DMARC sono i tre record DNS che rendono verificabile l'identità del mittente&lt;/li&gt;
&lt;li&gt;Un dominio senza questi tre record è impersonabile in cinque minuti da chiunque&lt;/li&gt;
&lt;li&gt;Leggere gli header &lt;code&gt;Received:&lt;/code&gt; di un'email dal basso verso l'alto rivela il percorso reale del messaggio&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/dig/" &gt;dig&lt;/a&gt; TXT dominio.com&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/dig/" &gt;dig&lt;/a&gt; TXT _dmarc.dominio.com&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;Arianna gestisce i pagamenti. Quella mattina ha ricevuto un'email dal CEO: cambio fornitore urgente, nuovo IBAN, bonifico entro fine giornata. 47.000 euro. Il tono era quello di sempre - formale, diretto, niente spiegazioni superflue.&lt;/p&gt;</description></item><item><title>Tutti Potevano Leggere Tutto</title><link>https://u-random.dev/blog/tutti-potevano-leggere-tutto/</link><pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/tutti-potevano-leggere-tutto/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;DAC = il proprietario del file decide i permessi - flessibile ma dipende dall'utente&lt;/li&gt;
&lt;li&gt;MAC = il sistema decide in base a etichette di classificazione - usato in ambienti ad alta sicurezza&lt;/li&gt;
&lt;li&gt;RBAC = permessi assegnati ai ruoli, utenti assegnati ai ruoli - il modello più usato in azienda&lt;/li&gt;
&lt;li&gt;Rule-based = regole condizionali (orario, IP, dispositivo) - usato nei firewall e nel controllo accessi contestuale&lt;/li&gt;
&lt;li&gt;ABAC = combina attributi utente + risorsa + contesto - il più granulare, il più complesso&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Giovedì mattina. Silvia, amministrativa HR, apre la share aziendale per caricare un documento. Trova una cartella che non riconosce. La apre. Dentro ci sono i file di stipendio di tutti i 140 dipendenti dell'azienda - compresi quelli dei dirigenti.&lt;/p&gt;</description></item><item><title>La Lettera che Cambia Busta</title><link>https://u-random.dev/blog/la-lettera-che-cambia-busta/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/la-lettera-che-cambia-busta/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;traceroute -n 8.8.8.8&lt;/code&gt; mostra i 14 router tra te e Google - ogni riga è un salto (hop)&lt;/li&gt;
&lt;li&gt;IP address = destinazione finale, non cambia mai; MAC address = tratto corrente, cambia ad ogni hop&lt;/li&gt;
&lt;li&gt;Il router legge l'IP dentro (la lettera), riscrive il MAC fuori (la busta) e passa il pacchetto al prossimo salto&lt;/li&gt;
&lt;li&gt;&lt;code&gt;* * *&lt;/code&gt; non significa percorso interrotto - solo che quel router non risponde a ICMP/UDP; prova con &lt;code&gt;-T&lt;/code&gt; (TCP)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;traceroute -n 8.8.8.8&lt;/li&gt;
&lt;li&gt;traceroute -I -n 8.8.8.8&lt;/li&gt;
&lt;li&gt;sudo traceroute -T google.com&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/ip/" &gt;ip&lt;/a&gt; neighbor show&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/ip/" &gt;ip&lt;/a&gt; route show&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;&lt;strong&gt;Sistema:&lt;/strong&gt; Linux (testato su Kali 2024 e Ubuntu 24.04)
&lt;strong&gt;Tools:&lt;/strong&gt; &lt;code&gt;traceroute&lt;/code&gt;, &lt;code&gt;ip&lt;/code&gt; - già installati di default
&lt;strong&gt;Conoscenze:&lt;/strong&gt; nessuna - si parte da zero&lt;/p&gt;</description></item><item><title>Cosa succede davvero sulla rete mentre il tuo codice gira</title><link>https://u-random.dev/blog/tcp-handshake-per-developer/</link><pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/tcp-handshake-per-developer/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;Prima di ogni richiesta HTTP il kernel fa un handshake in 3 pacchetti: SYN → SYN+ACK → ACK&lt;/li&gt;
&lt;li&gt;I flag TCP (&lt;code&gt;[S]&lt;/code&gt;, &lt;code&gt;[S.]&lt;/code&gt;, &lt;code&gt;[.]&lt;/code&gt;, &lt;code&gt;[P.]&lt;/code&gt;, &lt;code&gt;[R]&lt;/code&gt;, &lt;code&gt;[F]&lt;/code&gt;) si leggono tutti in tcpdump in tempo reale&lt;/li&gt;
&lt;li&gt;RST = chiusura brusca (porta chiusa, firewall, crash) - molti RST consecutivi sono segnale sospetto&lt;/li&gt;
&lt;li&gt;I log applicativi non vedono un SYN scan - serve tcpdump a livello di rete&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/tcpdump/" &gt;tcpdump&lt;/a&gt; -i any -n 'host api.example.com'&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/tcpdump/" &gt;tcpdump&lt;/a&gt; -i any -n 'tcp and port 443'&lt;/li&gt;
&lt;li&gt;tcpdump 'tcp[tcpflags] &amp;amp; tcp-syn != 0'&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;Stai costruendo un'API. Il client manda una richiesta, il server risponde. Funziona. Ma cosa succede esattamente tra il momento in cui scrivi &lt;code&gt;fetch(&amp;quot;https://api.example.com/data&amp;quot;)&lt;/code&gt; e quello in cui arriva la risposta?&lt;/p&gt;</description></item><item><title>Offline. Non al buio.</title><link>https://u-random.dev/blog/offline-non-al-buio/</link><pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/offline-non-al-buio/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;apropos parola&lt;/code&gt; trova il comando quando non ne conosci il nome&lt;/li&gt;
&lt;li&gt;&lt;code&gt;comando --help&lt;/code&gt; ti dà i flag in cinque secondi senza uscire dal terminale&lt;/li&gt;
&lt;li&gt;&lt;code&gt;man comando&lt;/code&gt; è il manuale completo, navigabile con &lt;code&gt;/parola&lt;/code&gt; per cercare&lt;/li&gt;
&lt;li&gt;&lt;code&gt;whatis comando&lt;/code&gt; ti dice in una riga cosa fa qualcosa che hai trovato nei log&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/man/" &gt;man&lt;/a&gt; ls&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/man/" &gt;man&lt;/a&gt; 5 passwd&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/man/" &gt;man&lt;/a&gt; -k password&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/man/" &gt;man&lt;/a&gt; -f passwd&lt;/li&gt;
&lt;li&gt;apropos permission&lt;/li&gt;
&lt;li&gt;apropos -r &amp;quot;^ssh&amp;quot;&lt;/li&gt;
&lt;li&gt;whatis find&lt;/li&gt;
&lt;li&gt;tar --help&lt;/li&gt;
&lt;li&gt;tar --help | grep extract&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="auto"
 alt="Offline. Non al buio."
 width="1536"
 height="2752"
 src="https://u-random.dev/assets/offline-non-al-buio_hu_70342d2531d28f5e.webp"
 srcset="https://u-random.dev/assets/offline-non-al-buio_hu_70342d2531d28f5e.webp 800w, https://u-random.dev/assets/offline-non-al-buio_hu_61c1e927da7b19e6.webp 1280w"
 sizes="(min-width: 768px) 50vw, 65vw"
 data-zoom-src="https://u-random.dev/assets/offline-non-al-buio.webp"&gt;&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Anatomia di una query DNS</title><link>https://u-random.dev/blog/anatomia-di-una-query-dns/</link><pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/anatomia-di-una-query-dns/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;Prima di mandare qualsiasi pacchetto in rete, il sistema cerca la risposta in cache - browser, OS, &lt;code&gt;/etc/hosts&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Se non trova niente, chiede al resolver ISP (es. 8.8.8.8) che fa il lavoro sporco&lt;/li&gt;
&lt;li&gt;Il resolver risale la gerarchia: Root Server → TLD Server → Nameserver autoritativo&lt;/li&gt;
&lt;li&gt;La risposta torna con un TTL - un timer che dice quanto tenerla in cache prima di richiederla&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/nslookup/" &gt;nslookup&lt;/a&gt; example.com&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/nslookup/" &gt;nslookup&lt;/a&gt; -type=MX example.com&lt;/li&gt;
&lt;li&gt;dig example.com&lt;/li&gt;
&lt;li&gt;dig +trace example.com&lt;/li&gt;
&lt;li&gt;dig -x 8.8.8.8&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;Ogni volta che scrivi un dominio nel browser e premi invio, parte una catena di eventi che la maggior parte delle persone non vede mai. Il risultato finale è un indirizzo IP - ma il percorso per arrivarci attraversa cache locali, server distribuiti in tutto il mondo e una gerarchia precisa.&lt;/p&gt;</description></item><item><title>Il file che si comporta da root - capire il bit SUID</title><link>https://u-random.dev/blog/cosa-sono-i-permessi-suid/</link><pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/cosa-sono-i-permessi-suid/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;I permessi Linux normali controllano &lt;em&gt;chi può eseguire&lt;/em&gt; un file - SUID cambia &lt;em&gt;con quale identità&lt;/em&gt; viene eseguito&lt;/li&gt;
&lt;li&gt;Un file con SUID root gira sempre come root, indipendentemente da chi lo avvia&lt;/li&gt;
&lt;li&gt;Esistono per necessità (es. &lt;code&gt;passwd&lt;/code&gt; deve scrivere &lt;code&gt;/etc/shadow&lt;/code&gt; senza darti root)&lt;/li&gt;
&lt;li&gt;Diventano pericolosi quando vengono impostati su file sbagliati - specialmente interpreti come python3 o bash&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/ls/" &gt;ls&lt;/a&gt; -la /usr/bin/passwd&lt;/li&gt;
&lt;li&gt;stat /usr/bin/passwd&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/find/" &gt;find&lt;/a&gt; -perm -4000 -type f 2&amp;gt;/dev/null&lt;/li&gt;
&lt;li&gt;id&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;Quando esegui un comando su Linux, il sistema controlla chi sei - il tuo user ID - e decide cosa puoi fare. È il modello di base: ogni processo eredita i permessi dell'utente che lo ha lanciato.&lt;/p&gt;</description></item><item><title>Chi Sei per il Kernel</title><link>https://u-random.dev/blog/chi-sei-per-il-kernel/</link><pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate><guid>https://u-random.dev/blog/chi-sei-per-il-kernel/</guid><description>&lt;p&gt;


&lt;/p&gt;
&lt;div style="border-left:3px solid #6366f1;background:rgba(99,102,241,0.06);padding:12px 16px;border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;div style="font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#6366f1;text-transform:uppercase;margin-bottom:6px;"&gt;TL;DR&lt;/div&gt;
 &lt;div style="font-size:0.95rem;line-height:1.6;"&gt;&lt;ul&gt;
&lt;li&gt;Linux non lavora con nomi utente - lavora con numeri: UID e GID&lt;/li&gt;
&lt;li&gt;Ogni file ha tre livelli di permessi: owner, group, others&lt;/li&gt;
&lt;li&gt;Il bit SUID cambia le regole: il processo gira con i privilegi del proprietario del file, non di chi lo esegue&lt;/li&gt;
&lt;li&gt;&lt;code&gt;find / -perm -4000&lt;/code&gt; trova tutti i binari SUID del sistema - un'occhiata vale sempre&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;details style="border-left:3px solid #10b981;background:rgba(16,185,129,0.06);border-radius:0 6px 6px 0;margin:1.5rem 0;"&gt;
 &lt;summary style="padding:10px 16px;font-size:0.7rem;font-weight:800;letter-spacing:0.1em;color:#10b981;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;"&gt;
 &lt;span style="font-size:0.65rem;transition:transform 0.2s;"&gt;▶&lt;/span&gt; $ history
 &lt;/summary&gt;
 &lt;div style="padding:4px 16px 12px;font-size:0.92rem;line-height:1.7;font-family:'JetBrains Mono','Fira Code',monospace;"&gt;&lt;ul&gt;
&lt;li&gt;id&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/ls/" &gt;ls&lt;/a&gt; -la /usr/bin/passwd&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/find/" &gt;find&lt;/a&gt; / -perm -4000 -type f 2&amp;gt;/dev/null&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/chmod/" &gt;chmod&lt;/a&gt; u+s /path/to/file&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/chmod/" &gt;chmod&lt;/a&gt; u-s /path/to/file&lt;/li&gt;
&lt;li&gt;&lt;a href="https://u-random.dev/comandi/find/" &gt;find&lt;/a&gt; / -perm -4000 -type f 2&amp;gt;/dev/null | &lt;a href="https://u-random.dev/comandi/grep/" &gt;grep&lt;/a&gt; -v -E &amp;quot;^/(usr/bin|usr/sbin|bin|sbin|usr/lib)&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/details&gt;

&lt;p&gt;Linux non sa chi sei. Sa solo il tuo numero.&lt;/p&gt;</description></item></channel></rss>