← Retour à Audit Check
Manuel de prise en main
Horus Audit Check — niveaux 3 et 4 (audit humain, puis correction). Pas un scanner : un dossier, une méthode, un rapport.
Objectif
Horus Audit Check pilote les niveaux 3 et 4 : audit approfondi humain, puis correction. Les tests gratuits (N1) et payants automatiques (N2) restent sur Web Check (site) ou AI Check (chatbot / agent).
À la création de mission, choisir le volet : Site web (17 thèmes OWASP/PTES) ou IA (14 thèmes OWASP GenAI).
Ce n’est pas un scanner. Burp, ZAP, nmap et les revues de prompts restent à côté. Aucun payload n’est lancé depuis cet écran.
Les 4 niveaux Horus
- N1 gratuit — Web Check (8088) ou AI Check (8089), automatique.
- N2 payant — tests plus poussés, toujours sur la même plateforme.
- N3 audit — ici : mission humaine, checklist, fiches, PDF.
- N4 correction — après livraison, Horus corrige les fiches (onglet Correction).
Un achat = un volet (site ou IA). Deux cibles = deux missions.
Chaîne méthodologique Horus
- N1 / N2 — Web Check (8088) ou AI Check (8089), bouton « Demander un audit Horus ».
- N3 Audit Check (8090) — mission humaine, checklist du volet, fiches, PDF.
- Livraison — e-mail client + copie archive Horus.
- N4 Correction — même dossier, après statut LIVRE.
Méthode PTES (site) ou OWASP GenAI (IA). Les cases sont des thèmes de couverture, pas des boutons « lancer le test ».
0 Démarrer
NetBeans : projet Horus-AuditDesk, Exécuter (F6). Ou :
cd /home/gilles/NetBeansProjects/Horus-AuditDesk
mvn -q exec:java
Ouvrir /horusauditdesk/. Javalin n’apparaît pas dans Services → Serveurs (Payara seulement). Arrêt : carré rouge de l’onglet Sortie, ou pkill -f 'org.horus.auditdesk.App'.
1 Connexion
- Login
- Identifiant interne. En local : prérempli
admin.
- Mot de passe
- En local, sans variable d’environnement :
admin. Créé seulement au premier démarrage.
- Entrer
- Ouvre la session (cookie). Le bandeau affiche ensuite Déconnexion.
2 Créer une mission
- Client
- Raison sociale — titre du rapport.
- Contact
- Interlocuteur côté client.
- E-mail client
- Destinataire par défaut de Livrer au client.
- Périmètre (URL / IP / endpoint IA)
- Limite juridique du test. Pas d’élargissement sans avenant.
- Volet
- Site web (17 tests) ou IA (14 tests). Obligatoire. Un volet par mission.
- Id scan
- Référence Web Check ou AI Check (selon le volet).
- Notes
- Contexte interne (horaires, exclusions, astreinte).
- Créer mission
- Statut BROUILLON + clone de la checklist du volet.
Puis Ouvrir dans le tableau. Statuts : BROUILLON → EN_COURS → LIVRE → REMEDIATION → CLOTURE.
3 Les onglets
- Checklist — 17 thèmes web ou 14 thèmes IA.
- Fiches — vulnérabilités à remettre au client.
- Import — JSON Web Check ou AI Check selon le volet, sans écraser les fiches.
- PDF / Livraison — rapport et envoi.
- Correction — niveau 4, après livraison.
4 Les tests, un par un
Cocher Fait uniquement lorsque le thème a été couvert dans le mandat (y compris « non applicable, justifié »). Cocher n’est pas « RAS ». Un trou se saisit en fiche.
La colonne Note est affichée si elle existe ; en V1 la saisie se fait dans les notes de mission, une fiche, ou l’outil technique.
- RECON — OSINT, DNS, bannières, sans sortir du public. Web Check peut amorcer. Pas de données volées.
- SURFACE — Hôtes, ports, apps dans le périmètre (nmap / inventaire client). Inventaire écrit.
- CONFIG — TLS, en-têtes, cookies, versions. Web Check en boîte noire ; l’humain complète (CDN, interne).
- AUTH — Login, reset, MFA, SSO. Tests manuels Burp sous mandat. MFA absent → souvent une fiche.
- SESSION — Fixation, timeout, flags cookies, logout. Premier avis possible via Web Check.
- CTRL_ACCESS — IDOR, rôles, API. Toujours humain. Au moins un cas horizontal et un vertical (ou une sola persona documentée).
- INPUT — Formulaires et API : lister les points d’entrée avant injection / XSS / upload.
- INJECTION — SQLi, commande, etc. Uniquement sous mandat, outils de l’auditeur. Audit Check n’envoie aucun payload. Constat = fiche.
- XSS — Réfléchi, stocké, DOM. Même règle : humain, mandat, pas d’exploit depuis ce serveur.
- UPLOAD — Types, double extension, exécution. Web Check peut détecter un upload ; l’humain confirme.
- CRYPTO — Transit (TLS, Web Check / SSL Labs) + repos (mots de passe, sauvegardes — souvent entretien).
- INFO_LEAK — .env, .git, stack traces, listing. Trier bruit vs secret ; secret = fiche.
- ADMIN — Panneaux /admin, cloud, phpMyAdmin. Lister, vérifier l’auth et la restriction IP/VPN.
- BRUTE — Lockout, captcha, rate-limit. Interdit de lancer un bruteforce depuis Audit Check. Quelques tentatives + politique.
- LOGS — Les essais apparaissent-ils ? Entretien client et échantillon de logs Horus. Documenter « non fourni » si besoin. Playbook au clic sur la ligne.
- BACKUP — Existence, chiffrement, restauration, backups exposés. Souvent processus client.
- CGU — Obligatoire avant PDF. Périmètre respecté, pas de DoS, données minimisées. Ne pas livrer si non coché.
Volet IA (14 thèmes)
- IA_RECON — Type d’app, modèle, plugins.
- IA_SURFACE — Chat, API, MCP, outils.
- IA_AUTH — Tenant / API / session du bot.
- IA_PROMPT — Injection et jailbreak sous mandat (humain, pas Promptfoo ici).
- IA_HIDDEN — System prompt et politiques exposés.
- IA_DATA — Fuites PII, secrets, métier.
- IA_RAG — Isolation documents / tenants.
- IA_AGENT — Autonomie des outils, actions sans confirmation.
- IA_OUTPUT — Markup, URL, commandes dangereuses.
- IA_RES — Bornes / déni de service LLM.
- IA_MISINFO — Hallucinations, certitude abusive.
- IA_SUPPLY — Modèle, plugins, MCP.
- IA_LOGS — Journalisation conversations / incidents.
- IA_CGU — Obligatoire avant PDF.
5 Fiches de vulnérabilité
- Titre
- Obligatoire. Court et précis.
- Sévérité
- FAIBLE / MODERE (défaut) / CRITIQUE.
- Attaquant
- DEBUTANT / EXPERT / ETATIQUE — qui peut réaliser l’attaque. Un débutant qui y arrive = plus grave.
- Description
- Quoi, où, comment reproduire, sans coller un exploit destructif.
- Ajouter fiche
- Calcule le risque : INACCEPTABLE, ACCEPTABLE ou BAS (matrice sévérité × attaquant).
Une case cochée sans fiche = thème couvert sans trou retenu. Plusieurs fiches pour un même thème = plusieurs constats. En V1, mettez l’essentiel dans le titre et la description (le PDF les reprend).
6 Import plateforme
Selon le volet, coller le JSON Web Check ou AI Check, puis Importer. Les fiches humaines ne sont jamais écrasées. Mauvais volet → erreur.
{"url":"https://exemple.fr","score":70,"verdict":"A_CORRIGER","controles":[]}
{"url":"https://bot.exemple/chat","score":42,"grade":"E","findings":[]}
7 PDF et livraison
- Télécharger le PDF — titre intrusion (site) ou audit de sécurité IA. À relire avant envoi.
- E-mail de livraison — prérempli. Obligatoire pour livrer.
- Livrer au client — joint le PDF, statut LIVRE, copie archive si configurée. Sans SMTP : simulation dans les logs.
Le PDF rappelle le mandat écrit, OWASP / PTES ou GenAI, l’absence d’exploitation automatique et la non-exhaustivité.
8 Correction (N4)
Après LIVRE, bouton Démarrer la remédiation. Chaque fiche : A_FAIRE → EN_COURS → CORRIGE → VERIFIE. Ce n’est pas un scanner : Horus corrige (code, config, prompts).
Pièges fréquents
- Cocher toutes les cases sans avoir testé.
- Prendre N1/N2 pour un audit N3 (INJECTION / XSS / IA_PROMPT restent humains).
- Mélanger site et IA dans une même mission (un volet par dossier).
- Importer le JSON de la mauvaise plateforme.
- Élargir le périmètre sans avenant.
- Orchestrer bruteforce ou exploit depuis Audit Check (interdit).
- Livrer un PDF non relu (client, périmètre, fiches vides).
- Démarrer N4 avant livraison (remédiation seulement depuis LIVRE).
admin / admin : développement local uniquement.
Version longue (script audio, liste des captures) : fichier docs/manuel_prise_en_main_fr.md du projet Horus-AuditDesk.
Horus Solutions — outil interne. Reproduction du rapport client interdite sans accord écrit.