Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

Docker offre ses images blindées à tout le monde - Enfin un peu de sécu sans vendre un rein

Si vous utilisez des conteneurs Docker au quotidien, vous allez sauter de joie car Docker vient d'annoncer que ses Docker Hardened Images (DHI), ces fameuses images ultra-sécurisées qui étaient réservées aux entreprises prêtes à cracher le pognon, sont maintenant gratuites pour tout le monde. Et c'est pas encore un truc limité avec des restrictions à la noix, non non... C'est du vrai open source sous licence Apache 2.0.

Ils proposent donc plus de 1 000 images conteneur prêtes à l'emploi, construites sur Debian et Alpine et ces images sont "durcies", c'est-à-dire qu'elles ont été débarrassées de tous les composants inutiles qui traînent habituellement dans les images de base et qui ne servent qu'à augmenter la surface d'attaque. Du coup, ça leur permet d'annoncer une réduction des vulnérabilités de plus de 95% par rapport aux images classiques. C'est pas maaaal, hein ?

Et ce qui est top c'est que chaque image embarque un SBOM complet (le fameux Software Bill of Materials), des données CVE transparentes accessibles publiquement, une preuve cryptographique d'authenticité et une provenance SLSA Level 3. Bref, c'est plutôt sérieux de ce que je capte.

Car faut dire que les attaques sur la supply chain logicielle, c'est devenu le cauchemar numéro un des développeurs. En 2025, ces attaques auraient causé plus de 60 milliards de dollars de dommages selon les estimations, soit le triple d'il y a quatre ans, du coup, avoir des images béton dès le départ, sans devoir se prendre la tête à tout vérifier soi-même, ça fait la diff.

Maintenant, si vous êtes une grosse boîte avec des besoins spécifiques, Docker propose aussi une version Enterprise payante avec des SLA garantis sur la remédiation des CVE, des images compatibles FIPS, des options de personnalisation et même un support étendu de 5 ans après la fin du support officiel. Des entreprises comme Adobe et Qualcomm ont déjà fait le saut mais pour nous, utilisateurs lambdas et autres développeurs qui bossons sur nos projets perso ou des startups incroyables du futur, la version gratuite devrait largement suffire.

Et en cadeau bonux, sachez que l'assistant IA de Docker peut maintenant scanner vos conteneurs existants et vous recommander automatiquement les images durcies équivalentes. Y'a même des Hardened Helm Charts pour Kubernetes et des serveurs MCP durcis (MongoDB, Grafana, GitHub...). Que demande le peuple ?

Voilà, si vous voulez vous y mettre, tout est dispo sur le Docker Hub sans aucune restriction d'usage ni abonnement requis. Foncez !

Source

Cordon - L'outil qui trouve les aiguilles dans vos meules de logs

Vous avez déjà passé des heures à éplucher des fichiers de logs de plusieurs millions de lignes pour trouver ce qui cloche ? Genre une pauvre erreur bizarre qui se produit une fois sur 100 000, noyée dans un océan de messages répétitifs et d'infos inutiles ? Moi, oui plein de fois !

Mais ça c'était avant de tomber sur Cordon !

Cordon est un outil en Python qui utilise des modèles de transformers et du scoring k-NN pour détecter les anomalies sémantiques dans vos logs. En gros, au lieu de chercher des mots-clés comme un bourrin avec grep, Cordon comprend le sens des messages et repère ce qui sort de l'ordinaire.

Les patterns répétitifs sont alors considérés comme du bruit de fond normal, même si ce sont des erreurs parce que si vous avez la même erreur FATALE qui se répète 10 000 fois, c'est probablement un problème connu. Et vous, ce que vous voulez trouver, c'est l'événement rare, celui qui se produit une seule fois et qui est sémantiquement différent du reste.

L'installation est simple comme bonjour. Un petit pip install cordon et c'est réglé. Pour l'utilisation de base, vous balancez juste votre fichier de logs en argument :

cordon system.log

Et hop, Cordon va analyser tout ça et vous sortir uniquement les trucs intéressants. Par défaut, il garde les 10% les plus "anormaux" sémantiquement. Vous pouvez ajuster ce pourcentage avec --anomaly-percentile 0.05 pour être plus sélectif (top 5%).

Sous le capot, ça utilise le modèle all-MiniLM-L6-v2 de sentence-transformers pour vectoriser les logs. Le fichier est découpé en fenêtres de N lignes (4 par défaut), chaque fenêtre est transformée en vecteur, puis un score de densité k-NN est calculé. Les fenêtres qui ont des vecteurs très différents du reste sont marquées comme anomalies.

Et si vous avez un GPU, Cordon peut l'utiliser automatiquement avec l'option --device cuda. D'après les benchmarks, ça donne un speedup de 5 à 15x sur le scoring pour les gros datasets. Sur des logs HDFS de 1 à 5 millions de lignes, l'outil arrive à réduire le volume de 98%. Autant dire que ça filtre sévère.

Y'a aussi un mode "range" qui est pratique pour explorer par tranches. Genre si vous voulez exclure le top 5% (trop bizarre, probablement du garbage) mais garder le top 5-15%, vous faites :

cordon --anomaly-range 0.05 0.15 app.log

Ça permet d'affiner l'investigation de manière itérative.

Pour les environnements conteneurisés, Cordon propose également une image Docker avec un backend llama.cpp au lieu de sentence-transformers. Pratique si vous voulez utiliser des modèles GGUF ou si vous êtes dans un contexte où les dépendances PyTorch posent problème.

L'outil peut aussi s'utiliser comme bibliothèque Python si vous voulez l'intégrer dans vos propres scripts :

analyzer = SemanticLogAnalyzer()
output = analyzer.analyze_file(Path("system.log"))

C'est top moumoute pour le prétraitement de logs avant de les balancer à un LLM (pour réduire le contexte), le triage initial de fichiers de logs inconnus, ou la découverte de patterns inattendus. Par contre, si vous cherchez une erreur spécifique que vous connaissez déjà, grep reste votre ami. Et si vous avez besoin d'un historique complet pour la conformité, oubliez Cordon qui est volontairement "lossy".

Notez qu'au premier lancement, Cordon téléchargera le modèle d'embedding (environ 80 Mo) donc ce sera un peu lent, mais ensuite, ça sera quasi instantané car les lancements suivants utiliseront le cache. Et si vos logs sont très verbeux avec de longues lignes, le modèle par défaut (256 tokens max) risque de tronquer les lignes, dans ce cas, passez à un modèle plus costaud comme BAAI/bge-base-en-v1.5 qui supporte 512 tokens avec le paramètre --model-name.

Voilà, j'espère que ça vous sera utile ! C'est open source sous licence Apache 2.0 et ça se trouve sur GitHub .

❌