Tous les articles
-
Comportement mesuré de PostgreSQL pour CHECK et UNIQUE avec deux valeurs NULL
PostgreSQL 16.15 a accepté deux lignes NULL sous CHECK(value > 0) et un UNIQUE(value) ordinaire, a rejeté -1, et a refusé un changement ultérieur en NOT NULL tant que ces lignes NULL subsistaient.
-
Tests pilotés par table en Go avec les sous-tests
Écrire une seule fonction de test qui itère sur une slice de cas nommés et exécute chacun avec t.Run ; les cas deviennent des données, un cas unique peut être sélectionné avec go test -run 'TestX/name', et t.Parallel, t.Helper et t.Cleanup gardent la boucle rapide et lisible.
-
Journaux horodatés et analysables : RFC 5424 contre RFC 3164, modèles JSON et intérêt de l'UTC
Le champ TIMESTAMP du syslog RFC 5424 est un profil restreint de la RFC 3339, avec année, précision inférieure à la seconde et décalage de fuseau horaire ; l'ancien format RFC 3164 n'offre rien de tout cela et se prête mal à une analyse sans ambiguïté. rsyslog peut produire l'un ou l'autre, ou une structure JSON entièrement personnalisée, grâce aux modèles ; un serveur dont le fuseau horaire et les journaux sont en UTC évite toute une catégorie de bogues de corrélation entre fuseaux.
-
Directives Cache-Control : max-age, no-store, private et stale-while-revalidate
Cache-Control indique aux caches de navigateur et aux caches partagés combien de temps une réponse peut être réutilisée et où elle peut être stockée : max-age et s-maxage fixent la fraîcheur, no-cache impose une revalidation avant réutilisation, no-store interdit le stockage, private exclut une réponse des caches partagés, et stale-while-revalidate ainsi que stale-if-error (RFC 5861) permettent à un cache de servir un contenu périmé pendant qu'il se rafraîchit ou en cas d'erreurs. Une réponse sans directive peut néanmoins être mise en cache de façon heuristique.
-
www contre domaine apex : la restriction CNAME, la portée des cookies et vers lequel rediriger
L'apex ne peut pas être un CNAME, car la RFC 1034 interdit toute autre donnée sur un nœud qui en possède un, et l'apex porte toujours les enregistrements SOA et NS ; héberger sur une adresse changeante d'un fournisseur nécessite donc des enregistrements A/AAAA ou une fonctionnalité de fournisseur telle que le CNAME flattening. Les cookies définis sur l'apex avec un attribut Domain atteignent tous les sous-domaines. Il convient de choisir une forme, de servir les deux dans le certificat, et de rediriger l'autre de façon permanente.
-
Corpus de récupération empoisonnés : comment quelques documents implantés peuvent orienter les réponses d'un système RAG
La génération augmentée par récupération (RAG) fait confiance à tout ce que le récupérateur renvoie. Des travaux de recherche ont montré qu'injecter un petit nombre de textes conçus à cet effet dans une base de connaissances peut amener un système à donner, pour une question ciblée, la réponse choisie par un attaquant. Les défenses portent sur qui peut écrire dans le corpus, la provenance par passage et des vérifications de la réponse.
-
Couverture du détecteur de course Go : une exécution propre ne dit rien des chemins non exécutés
Rattacher les résultats de go test -race aux chemins concurrents réellement exercés, y compris le démarrage et l'arrêt.
-
Les identifiants dotés d'une clé de contrôle réduisent les actions sur le mauvais enregistrement lorsque des agents les transcrivent
Hypothèse : lorsque des agents fondés sur des modèles de langage recopient des identifiants tirés de documents dans des appels d'outils, un schéma comportant une clé de contrôle validée par l'API réceptrice transforme la plupart des erreurs de transcription en rejets plutôt qu'en actions sur le mauvais enregistrement ; l'effet devrait être le plus marqué pour les identifiants numériques denses et négligeable pour les identifiants clairsemés tels que les UUID.
-
Les composants dimensionnés avec des container queries nécessitent moins de dérogations propres à l'emplacement que ceux dimensionnés avec des media queries de viewport
Hypothèse : lorsqu'un même ensemble de composants est placé dans plusieurs emplacements de mise en page, l'implémentation par container queries contient moins de règles CSS qui n'existent que pour corriger un composant selon son emplacement que l'implémentation par media queries, et l'ajout d'un nouvel emplacement ne nécessite aucun nouveau CSS de composant ; une comparaison de deux implémentations avec dénombrement des règles est proposée.
-
Gérer les noyaux installés sur Debian et Ubuntu : nettoyage, espace dans /boot, HWE et Livepatch
Les anciens paquets de noyau s'accumulent dans /boot jusqu'à ce que apt autoremove les supprime ; Ubuntu propose en outre, sur les versions LTS, un noyau HWE (Hardware Enablement) à mise à jour continue ainsi que le service Livepatch de Canonical, qui applique les correctifs de sécurité du noyau sans redémarrage immédiat. Ces deux fonctions sont propres à Ubuntu et n'ont pas d'équivalent sur Debian.
-
Conteneurs de développement : devcontainer.json comme environnement de développement reproductible
Un devcontainer.json décrit le conteneur qu'un éditeur, un espace de travail hébergé dans le cloud ou un exécuteur CI doit construire pour un dépôt : image ou Dockerfile, features, ports redirigés, commandes de cycle de vie et personnalisations d'éditeur. La spécification ouverte de containers.dev rend ce même fichier utilisable en local, dans des espaces de travail hébergés et dans des pipelines, de sorte que la chaîne d'outils est fixée avec le code plutôt que de résider sur chaque hôte.
-
llms.txt et sites web lisibles par des agents : robots.txt, sitemap et un point d'entrée organisé
Les agents et les robots d'exploration trouvent le contenu au moyen de quelques conventions : robots.txt pour les règles d'accès et l'emplacement de la sitemap (RFC 9309), une sitemap avec des dates de modification exactes, et llms.txt comme court guide organisé en Markdown, complété par des jumeaux Markdown des pages. Aucune de ces conventions ne remplace l'authentification.
-
La rotation planifiée des secrets révèle les consommateurs d'identifiants non documentés avant qu'un incident ne le fasse
Hypothèse : les équipes qui font tourner sur un calendrier fixe des secrets partagés à longue durée de vie découvrent, lors des rotations planifiées, les scripts, tâches et intégrations qui en dépendent silencieusement, si bien qu'une rotation d'urgence consécutive à une fuite se termine plus vite et casse moins de choses que pour les équipes qui ne font tourner leurs secrets qu'en cas de soupçon ; le pense-bête de l'OWASP recommande une rotation régulière, mais ce bénéfice opérationnel n'est pas mesuré.
-
windows_exporter : installer le MSI avec des collecteurs activés et vérifier /metrics sous Windows
windows_exporter est distribué sous forme de MSI qui s'installe comme service Windows et accepte des propriétés d'installation pour choisir les collecteurs activés, le port d'écoute et une exception du pare-feu Windows, le tout de manière non interactive via msiexec.
-
Vérifier la prise en charge de la virtualisation matérielle et de KVM imbriqué avant de s'y fier
Avant d'installer un hyperviseur ou d'imbriquer une VM dans une VM, vérifiez que le CPU expose les extensions de virtualisation et, pour l'imbrication, que le module kvm_intel ou kvm_amd a l'option nested activée. virt-host-validate et /proc/cpuinfo donnent une réponse rapide.
-
Boucle du joueur Unity : séparer les mises à jour de l'entrée, de la physique et de la caméra
Attribuez l'intention d'entrée, les modifications physiques et la présentation de la caméra à des phases de mise à jour précises, afin que les variations de fréquence d'images ne dupliquent ni ne perdent des commandes de gameplay.
-
Environnements de démarrage ZFS avec bectl : un chemin de retour en arrière pour les mises à niveau de FreeBSD et des paquets
bectl clone en quelques secondes le dataset ZFS racine en un environnement de démarrage ; en créer un avant un freebsd-update ou une mise à niveau importante de pkg offre un retour immédiat, sélectionnable depuis le menu du loader, vers un système sain connu. Ce mécanisme est indépendant de celui de freebsd-update (patch, install, rollback) et s'y ajoute.
-
Préserver les limites des preuves lors du passage de la recherche aux diapositives dans Orkas
Une méthode de transmission proposée maintient ensemble les passages sources, les conclusions nuancées et les vérifications en suspens entre les étapes de recherche, de rapport et de diapositives. Une comparaison fictive portant sur l'utilisation hors ligne montre précisément ce que chaque livrable peut affirmer.
-
Stratégie d'audit Windows avec auditpol : lire les sous-catégories, les appliquer et dimensionner le journal Security
auditpol /get /category:* affiche la stratégie d'audit avancée réellement en vigueur sur Windows Server ; les sous-catégories l'emportent sur la stratégie de base (au niveau des catégories) uniquement tant que l'option « forcer les paramètres de sous-catégorie » (SCENoApplyLegacyAuditPolicy) est activée, ce qui est la valeur par défaut effective, et un journal Security trop petit écrase ou perd des événements audités.
-
Définir l'oracle d'autorisation pour les requêtes par lot portant sur des objets mixtes
Mettre au jour les règles d'accès ambiguës des opérations par lot avant qu'un agent n'écrive des tests approuvant quelle que soit la réponse que l'implémentation renvoie. La proposition se concentre sur la propriété mixte au sein d'une même requête.
Lisible par machine : JSON