Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
dasel-hardened-container — Paquet et image dasel v3.3.1 durcis construits via Melange et apko. Correction de CVE-2026-33320. | Kitploit
Outils/GitHubGitHub/nedlir/dasel-hardened-container
Utilitaires GénérauxSécurité des ConteneursAnalyse des VulnérabilitésAudit de ConfigurationDevSecOpsDétection de SecretsSécurité de la Chaîne Logistique
GitHubnedlir/dasel-hardened-container

dasel-hardened-container

Paquet et image dasel v3.3.1 durcis construits via Melange et apko. Correction de CVE-2026-33320.

Voir le dépôt
20il y a 4 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Conteneur durci dasel v3.3.1

Ceci est un package melange et une image de conteneur apko pour dasel v3.3.1 avec un correctif au moment de la construction pour CVE-2026-33320 (expansion d'alias YAML sans limite). L'image est entièrement construite à partir d'un APK produit localement – aucune image amont préconstruite n'est utilisée.

Prérequis

OutilVersion testéeObjectif
Docker29.3.1Runtime de conteneur, exécute melange/apko via compose.yaml
melange0.50.5 (image Docker cgr.dev/chainguard/melange@sha256:b6f11bb45a6090c182986028fd2249fb1a18dcb6e173c4ce001dd3fb4cb1dd71)Constructeur de packages APK
apko1.2.10 (image Docker cgr.dev/chainguard/apko@sha256:20dfc1f5e3461b5eaf3279f762cd4bf86c7f3635d2a9642f905cf583525f9ee6)Constructeur d'images OCI
  • Architecture : x86_64 uniquement
  • Accès Internet requis pour la construction initiale (télécharge l'archive source, les modules Go, les packages Wolfi)

Prérequis Windows

Toutes les commandes de construction et de chargement fonctionnent depuis n'importe quel terminal (PowerShell, CMD ou bash). Une étape nécessite encore un shell Unix :

  • bash tests/test.sh — le script de test utilise bash et coreutils (timeout, grep, sed)

Installez Git Bash (fourni avec Git for Windows) avant d'exécuter les tests de l'image.

Structure du projet

.
├── .github/
├── melange/
│   ├── dasel.yaml
│   └── CVE-2026-33320.patch
├── apko/
│   └── dasel.yaml
├── tests/
│   └── test.sh
├── Makefile
├── compose.yaml
├── keys/                       # Généré, gitignoré
│   ├── melange.rsa
│   └── melange.rsa.pub
├── sbom/                       # Généré, gitignoré
│   ├── sbom-x86_64.spdx.json
│   └── sbom-index.spdx.json
├── packages/                   # Généré, gitignoré
│   └── x86_64/
│       ├── dasel-3.3.1-r0.apk
│       └── APKINDEX.tar.gz
└── README.md

Construction

Utilisation de Make

make build        # keygen (si nécessaire) + package + image
make test         # tests du package + tests de l'image
make all          # construction + test
make clean        # supprime tous les artefacts générés
make help         # liste toutes les cibles et variables

Commandes manuelles

# 1. Générer les clés de signature (unique)
docker compose run --rm melange keygen keys/melange.rsa

# 2. Construire le package APK (télécharge la source, applique le correctif CVE, compile)
docker compose run --rm melange build melange/dasel.yaml --arch x86_64 --signing-key keys/melange.rsa

# 3. Construire l'image OCI (consomme l'APK local)
docker compose run --rm apko build apko/dasel.yaml dasel:3.3.1 dasel.tar --arch x86_64 --sbom-path sbom/

L'étape 2 génère et signe automatiquement packages/x86_64/APKINDEX.tar.gz.

Exécution

Après avoir chargé l'image, exécutez dasel :

docker load --input dasel.tar

# Exemple : interroger un fichier JSON
echo '{"name": "dasel"}' | docker run --rm \
  --read-only \
  --cap-drop=ALL \
  --security-opt=no-new-privileges \
  -i dasel:3.3.1-amd64 \
  -i json 'name'

Ces drapeaux imposent la couche d'exécution de la stratégie de défense en profondeur décrite dans Durcissement de l'image : un système de fichiers racine immuable, zéro capacité Linux et aucune voie d'escalade de privilèges.

Test

Utilisation de Make

make test          # tous les tests (package + image)
make package-test  # tests du package melange uniquement
make image-test    # tests de l'image uniquement (nécessite bash)

Commandes manuelles

# Tests du package
docker compose run --rm melange test melange/dasel.yaml --arch x86_64

# Tests de l'image (nécessite Git Bash sur Windows)
docker load --input dasel.tar
bash tests/test.sh

Le script de test vérifie :

  • L'image se charge et dasel version rapporte v3.3.1
  • L'extraction de clé JSON (-i json 'test')
  • La conversion JSON vers YAML (-i json -o yaml --root)
  • Le correctif CVE : un YAML malveillant « billion-laughs » déclenche "yaml expansion budget exceeded" au lieu de bloquer

Correctif CVE-2026-33320

La vulnérabilité permet une consommation illimitée de CPU/mémoire via des alias YAML imbriqués de manière exponentielle (attaque billion laughs). Le correctif dans melange/CVE-2026-33320.patch ajoute deux garde-fous au lecteur YAML de dasel : une limite de profondeur d'expansion (32) qui limite l'imbrication récursive des alias, et un budget d'expansion (1000) qui limite le nombre total de déréférencements d'alias par document. Lorsque l'une ou l'autre limite est atteinte, le décodage retourne immédiatement une erreur.

Sécurité, reproductibilité et minimalité

  • Sécurité : CVE-2026-33320 corrigé au moment de la construction. Tous les packages sont signés. L'image contient seulement 3 packages APK (wolfi-baselayout, ca-certificates-bundle, dasel)
  • Reproductibilité : YAML déclaratif pour le package et l'image. Archive source épinglée par SHA256. Toutes les versions des outils documentées. Binaire Go construit avec -trimpath pour supprimer les chemins de construction locaux
  • Minimalité : Pas de shell, pas de gestionnaire de packages dans l'image finale – seulement le binaire dasel, les certificats CA et baselayout

Durcissement de l'image

L'image applique une défense en profondeur au-delà de l'empaquetage minimal :

CoucheMesureEffet
BuildUtilisateur non-root (UID 65532)Le processus du conteneur ne s'exécute jamais en root
Buildldflags -s -w + auto -trimpathBinaire allégé, aucune fuite de chemin local
BuildSeulement 3 packagesSurface d'attaque minimale, pas de shell ni gestionnaire de packages
Runtime--read-onlySystème de fichiers racine immuable
Runtime--cap-drop=ALLZéro capacité Linux
Runtime--no-new-privilegesEmpêche l'escalade de privilèges via setuid/setgid

Scan de vulnérabilités

L'image construite (dasel.tar) a été scannée avec des outils standard de l'industrie pour valider la posture de sécurité au-delà du correctif CVE lui-même.

Syft (génération de SBOM)

Syft a extrait 36 packages de l'image en inspectant les métadonnées des modules Go du binaire :

  • 3 packages APK : wolfi-baselayout 20230201-r29, ca-certificates-bundle 20260413-r0, dasel 3.3.1-r0
  • 32 modules Go : incluant go.yaml.in/yaml/v4, github.com/hashicorp/hcl/v2, github.com/pelletier/go-toml/v2, github.com/goccy/go-json, github.com/charmbracelet/bubbletea, golang.org/x/sys, golang.org/x/text, stdlib go1.25.9, et 25 autres
  • 19 fichiers inventoriés : /usr/bin/dasel, /etc/ssl/certs/ca-certificates.crt, base de données APK, SBOM par package et fichiers de configuration baselayout

Grype (scanner de vulnérabilités)

Le SBOM que j'ai généré a été inspecté avec Grype, et aucune autre vulnérabilité n'a été trouvée parmi les 32 modules Go ou les 3 packages APK.

Soumission

Télécharger l’outil