Skip to content

ClawkWerk v1.0.0

Choose a tag to compare

@github-actions github-actions released this 28 Sep 08:19
· 7 commits to master since this release
42e80d2

Première version publiée avec intégration continue et binaires.

Ajouté

  • Drapeau -scope : le périmètre d'audit (client, machines, OS, transport,
    port, compte de service) est lu depuis un fichier JSON validé strictement
    (champs inconnus, doublons, plages réseau et plateformes inconnues
    refusés). Exemple fourni : sample/scope.json. L'identifiant de session est
    horodaté (<client>-AAAAMMJJ-HHMMSS).
  • Mode remote : -creds obligatoire et vérifié contre chaque cred_ref du
    périmètre avant toute connexion.
  • Questionnaire web : drapeau -level basic|important|essential (71, 269 ou
    439 questions), jeton anti-CSRF, contrôle des en-têtes Origin et Host,
    en-têtes anti-clickjacking, écriture des réponses uniquement après une
    soumission acceptée.
  • Démo complète : preuves pour les 16 contrôles scannables Basic sur deux
    machines Windows, une machine Linux (sorties réelles capturées sur un
    conteneur Debian) et un pare-feu MikroTik ; questionnaire rempli pour les
    trois niveaux. Le verdict est complet à chaque niveau.
  • Support d'iptables dans la sonde pare-feu Linux ; détection des
    anti-malwares tiers courants dans la sonde antivirus Linux.
  • Intégration continue (.github/workflows/ci.yml) : gofmt, go mod verify,
    go vet, staticcheck, tests -race avec et sans -tags history,
    govulncheck, build statique et reproductible, démo de bout en bout.
  • Publication (.github/workflows/release.yml) : sur un tag v*, binaires
    statiques Linux et Windows amd64 (orchestrateur, orchestrateur consultant,
    questionnaire) et fichier SHA256SUMS.
  • README orienté présentation, captures du rapport et du questionnaire.

Corrigé

  • PR.AA-05.3 sur Linux : grep -c sortait avec le code 1 quand aucun
    protocole legacy n'écoutait, et une machine saine était classée « collecte
    échouée ». Sans ss, la sonde échoue désormais explicitement.
  • DE.CM-01.1 sur Linux : une machine sans aucun pare-feu était classée
    « collecte échouée » ; c'est maintenant une non-conformité (niveau 1). Un
    pare-feu présent mais illisible pour le compte de service devient un trou
    de collecte « droits insuffisants ».
  • DE.CM-01.2 sur Linux (Key Measure) : même défaut de code de sortie sans
    ClamAV, et une unité systemd inconnue passait pour ClamAV installé.
  • ID.AM-01.x (inventaire matériel) : même défaut de grep -c ; échec
    explicite si ni lspci ni lsusb n'est installé.
  • PR.DS-11.1 : le minuteur système dpkg-db-backup n'est plus pris pour une
    sauvegarde des données.
  • Les sondes concernées complètent PATH avec /usr/sbin et /sbin, absents
    du PATH d'un compte de service non root sur Debian.
  • Preflight : « Périmètre de droits suffisant » s'affichait même quand toutes
    les collectes échouaient. Le verdict n'est désormais suffisant que si toutes
    les collectes applicables sont lisibles, et le preflight vérifie aussi que
    la sortie est interprétable.

Sécurité

  • Go 1.26.4 vers 1.26.8, golang.org/x/crypto 0.53.0 vers 0.57.0,
    github.com/Azure/go-ntlmssp vers 0.1.1 : govulncheck passe de 10
    vulnérabilités atteignables à 0.

Modifié

  • Module Go renommé github.com/warrox1993/clawkwerk ; recette live-boot
    renommée (/opt/clawkwerk, service clawkwerk-questionnaire).
  • Outils d'analyse épinglés dans le Makefile (staticcheck 2026.2.1,
    govulncheck 1.8.0) ; make check inclut les tests -tags history.
  • Documentation : README et CHANGELOG réécrits (l'ancienne version annonçait
    une CI inexistante, 7 contrôles scannables et 155 tests) ; source publique
    du référentiel citée ; documents de conception regroupés dans
    docs/methode.

Mesures

  • 371 tests et 282 sous-tests, verts avec et sans -tags history et sous
    -race (version initiale : 339 et 238).
  • 200 fichiers Go, 22 750 lignes dont 8 612 de tests.