Script de veille serveur sous Linux et Docker : alertes CVE, silence radio et vrais pièges

Illustration Geekeries d'un script de veille serveur Linux et Docker filtrant le bruit pour détecter les mises à jour de sécurité CVE

Bonjour à tous, quand on administre un serveur Linux qui héberge une vingtaine de conteneurs Docker en production, on finit vite écartelé entre deux extrêmes. Soit on délègue tout à des mises à jour automatiques aveugles (ce que je vous racontais récemment dans mon article sur MariaDB et les surprises de Watchtower et comment ça peut casser silencieusement un schéma de base de données), soit on reprend le contrôle en manuel… au risque d’oublier de vérifier les correctifs pendant trois semaines et de se faire poncer bien comme il faut ! Pour sortir de ce dilemme, j’ai construit un script de veille serveur, léger, en Python, piloté par systemd, qui inspecte l’état réel de la machine deux fois par jour sans jamais toucher à la production.

L’idée de départ est très simple : je voulais un observateur strictement en lecture seule (observer-only), capable de croiser en quelques secondes les paquets APT en attente, les images Docker (qu’elles viennent de Docker Hub, de GitHub ou d’un build local), les extensions WordPress, la fraîcheur des sauvegardes et les unités systemd. Surtout, je voulais qu’il respecte une règle d’or : se taire quand tout va bien, mais ne jamais rater … Lire la suite

Phishing hôtel sur WhatsApp : enquête sur un faux paiement de réservation

La licorne Geekeries examine un message de réservation suspect, un hameçon et des indices d’usurpation d’hôtel.

Bonjour à tous. Fin septembre, je prépare mon déplacement à Stockholm pour la 78e réunion du TF-CSIRT. Ma chambre à l’Hotel Birger Jarl est réservée et payée sur Booking.com. Puis un WhatsApp arrive : il connaît l’hôtel, mes dates et me presse de « vérifier » la réservation. J’ai ouvert le lien et il s’agissait d’une belle tentative de phishing hôtel sur WhatsApp.

L’hôtel m’a confirmé par email que le message était frauduleux. Il avertit aussi ses clients sur son site que des messages WhatsApp usurpent son identité pour réclamer un paiement. Le plus gênant, ici, c’est que l’expéditeur disposait d’assez de vraies informations pour rendre son histoire crédible.

Un message qui connaissait trop bien ma réservation

Le message invoquait une réservation à confirmer sous 24 heures. J’ai ressorti la confirmation et le reçu de Booking : la référence du WhatsApp a huit chiffres, sauf que la vraie en a dix (et les deux emails Booking.com donnent bien la même, évidemment). L’expéditeur connaissait mon séjour mais la référence qu’il utilisait n’était pas celle de ma réservation.

Même vérification pour l’argent : ma chambre était déjà intégralement payée en couronnes suédoises (SEK). Les 300 € affichés sur la fausse … Lire la suite

Build a CSIRT Second Brain with OpenCode, Obsidian, MCP, and an AbuseIPDB custom tool

CSIRT second brain: workshop introduction (French)

Bonjour à tous ! Le 1er octobre 2026, j’ai animé à Stockholm un atelier consacré au « CSIRT second brain » (ou « second cerveau » en français), pour les équipes de réponse à incident. Il s’inscrivait dans le cadre des 78e rencontres du TF-CSIRT, organisées en Suède du 29 septembre au 1er octobre (auxquelles j’ai aussi assisté 😊).

J’ai préparé cet atelier suite au meeting précédent du TF-CSIRT à Riga au printemps, où plusieurs personnes m’ont demandé de montrer comment on s’y prend au CERT pour qualifier nos incidents avec des agents. Et autant c’est « assez simple » à expliquer, autant l’implémentation réelle en prod est vite complexe à reproduire : entre le choix des LLM, les tools, les MCP, les skills et les bases de connaissances…

Mettre tout ça en musique dans un atelier suffisamment simple pour que tout le monde comprenne en une demi-journée, gratuitement, mais suffisamment complexe pour être représentatif de la réalité, c’était un beau challenge sur lequel je me suis fait des nœuds au cerveau… pour vous sortir la version la plus simple d’un agent SOC/CSIRT de qualification d’incidents.

L’idée de mon workshop est de conserver … Lire la suite

Codex en terminal avec un daemon local : mon plan B à VS Code Web

La licorne Geekeries utilise Codex en terminal relié à un daemon local pendant qu'une fenêtre web se déconnecte

Bonjour à tous, mon passage à Codex en terminal n’était pas vraiment prévu. Tout a commencé avec ce message dans VS Code Web :

Cannot activate the 'Codex – OpenAI’s coding agent' extension because it depends on the 'Codex Audio' extension which is disabled.

Le petit bricolage qui me permettait d’utiliser l’extension Codex dans mon VS Code Web venait peut-être d’atteindre sa limite. Je pouvais chercher une nouvelle rustine, mais ce genre de dépendance interne est précisément ce que je ne contrôle pas. J’ai donc préféré sortir Pwny de l’extension et revenir à une base officiellement prise en charge : le client Codex en ligne de commande.

L’objectif restait le même que dans mon article sur VS Code Web et Codex sur serveur : ouvrir un navigateur, retrouver mon espace de travail et discuter directement avec la licorne. La différence est que VS Code Web ne sert désormais plus que de fenêtre et de terminal. La session Codex vit indépendamment derrière.

Pourquoi sortir Codex de l’extension VS Code ?

Une extension intégrée reste plus confortable. Les liens vers les fichiers s’ouvrent mieux, les images se joignent plus naturellement et l’interface donne davantage l’impression de travailler dans un petit cockpit. Je … Lire la suite