syscalln't 🚫

🤔 Cos’è una syscall, in pratica? Crediti immagine: Mike Norris via Pexels Ogni volta che il tuo programma legge un file, scrive su un socket o alloca memoria, a un certo punto deve chiedere al kernel di farlo per davvero. Quella richiesta è una syscall: il confine preciso e ben definito in cui il codice in userspace passa nel kernel. write(), read(), open(), mmap() non sono semplici funzioni di libreria, sono l’intero vocabolario che il tuo programma ha a disposizione per parlare con il mondo esterno. Tutto il resto — da fwrite a file.write() in Python fino a std::fs::File in Rust — non è altro che un wrapper attorno a questa manciata di punti di ingresso del kernel. ...

16 luglio 2026 · Andrea Manzini

Quanto codice stai testando? (4)

🧭 Dove eravamo rimasti Benvenuti al nuovo capitolo della nostra serie dedicata alla misurazione della copertura dei test per i programmi binari! Nella parte 1 abbiamo utilizzato il flag -cover integrato in Go: pulito e preciso, ma funziona solo se si possiede il codice sorgente e lo si può ricompilare. Nella parte 2 abbiamo usato valgrind e gdb per tracciare gzip senza toccarne il sorgente. Nella parte 3 abbiamo esplorato Intel PIN, un vero e proprio framework di strumentazione binaria dinamica: potente, ma dotato di un SDK C++ proprietario da circa 100 MB e limitato a x86_64. ...

13 maggio 2026 · Andrea Manzini

Flatpak: l'unboxing della sandbox

📦 Quel profumo di pacchetto nuovo Ci siamo passati tutti: vedi una fantastica nuova applicazione su GitHub e vuoi “scartarla” immediatamente. Ma nel tradizionale mondo Linux, aprire un pacchetto spesso assomiglia ad aprire una scatola di brillantini in salotto: prima ancora di rendersene conto, le dipendenze sono sparse ovunque, e tre mesi dopo si trovano ancora strane versioni di librerie in /usr/lib. Ecco perché ho iniziato a usare Flatpak. È come un’esperienza di unboxing in cui la scatola rimane una scatola. Ottieni tutte le novità all’interno, ma il disordine rimane confinato. Vediamo cosa succede quando strappiamo la pellicola protettiva. ...

3 maggio 2026 · Andrea Manzini

Sandboxing idiomatico con Landlock in Nim

👋 Intro Se hai mai passato del tempo a mettere in sicurezza le applicazioni Linux, probabilmente conosci la frustrazione del modello di permessi tutto o niente. Nel tipico ambiente Linux, una volta che un processo viene avviato, solitamente ha molto più accesso al filesystem di quanto ne abbia effettivamente bisogno. Sebbene disponiamo di strumenti come seccomp, chroot o moduli pesanti come SELinux e AppArmor, questi spesso sembrano troppo complessi per un semplice sandboxing a livello applicativo. ...

9 aprile 2026 · Andrea Manzini

This site does not use cookies or collect any personal data. © 2026 Andrea Manzini.