labfy-investigation/docs/DEPENDENCE.md

6.8 KiB
Raw Blame History

Dépendances externes

libjpeg décode JPEG, libheif HEIC/HEIF et Poppler GLib rend la première page PDF du ticket #109. PNG utilise Cairo et la vidéo GtkMediaFile avec le backend GTK/GStreamer. Aucun outil documentaire n’est lancé et aucun dérivé n’est persisté.

Fonction Arch Linux Ubuntu/Debian
HEIC/HEIF libheif libheif-dev
PDF natif poppler-glib libpoppler-glib-dev
Snapshot JSON cœur json-glib libjson-glib-dev
Vidéo GTK gst-plugins-base, gst-plugins-good gstreamer1.0-plugins-base, gstreamer1.0-plugins-good

Les codecs vidéo supplémentaires restent optionnels. Le Makefile vérifie explicitement GLib/GIO, SQLite, libheif, Poppler GLib et JSON-GLib avant compilation et renvoie vers ce document si une dépendance manque.

Ce fichier recense les outils utilisés par LabFy Investigation et leur installation. Il sera complété à chaque intégration d’un nouvel outil.

La migration SQLite V13 et la gestion des propriétaires de preuve_entites n'ajoutent aucune dépendance système.

Principe d’installation

Les dépendances système sont installées avec le gestionnaire de paquets de la distribution. Les outils OSINT Python sont installés dans un environnement isolé afin de ne pas modifier le Python système.

Le dossier recommandé pour les exécutables OSINT est :

~/.local/share/labfy-osint/bin

L’application ajoute automatiquement ce dossier au PATH lorsqu’il existe. Pour les terminaux et les scripts, on peut également ajouter dans ~/.profile (ou ~/.zshrc) :

export PATH="$HOME/.local/share/labfy-osint/bin:$PATH"

Outils système

Fonction Exécutable Arch Linux (pacman) Ubuntu/Debian (apt)
OCR français et anglais tesseract sudo pacman -S tesseract tesseract-data-fra tesseract-data-eng sudo apt install tesseract-ocr tesseract-ocr-fra tesseract-ocr-eng
Métadonnées exiftool sudo pacman -S perl-image-exiftool sudo apt install libimage-exiftool-perl
Inspection, texte et rendu PDF pdfinfo, pdftotext, pdftoppm sudo pacman -S poppler sudo apt install poppler-utils
Recherche DNS dig sudo pacman -S bind sudo apt install dnsutils
Résolution réseau host sudo pacman -S bind sudo apt install bind9-host
WHOIS whois sudo pacman -S whois sudo apt install whois
Requêtes HTTPS curl sudo pacman -S curl sudo apt install curl
Transport HTTP C de recherche (harness V1) libcurl sudo pacman -S curl sudo apt install libcurl4-openssl-dev
Certificats/TLS openssl sudo pacman -S openssl sudo apt install openssl
Récupération PDF qpdf sudo pacman -S qpdf sudo apt install qpdf
Audit de mot de passe PDF john, pdf2john sudo pacman -S john sudo apt install john

Après installation, vérifier les outils avec :

command -v tesseract exiftool pdfinfo pdftotext pdftoppm dig host whois curl openssl qpdf john pdf2john

Outils OSINT Python

Préparer l’environnement local :

python3 -m venv ~/.local/share/labfy-osint
~/.local/share/labfy-osint/bin/python -m pip install --upgrade pip
~/.local/share/labfy-osint/bin/pip install sherlock-project maigret holehe

Les commandes attendues par l’application sont :

~/.local/share/labfy-osint/bin/sherlock
~/.local/share/labfy-osint/bin/maigret
~/.local/share/labfy-osint/bin/holehe

Sur Ubuntu, installer au préalable les outils de compilation et Python :

sudo apt install python3 python3-venv python3-pip

Sur Arch Linux :

sudo pacman -S python python-pip

Vérification dans l’application

Tesseract est optionnel. L’étape OCR d’identité reste visible mais son lancement est désactivé lorsque le registre d’outils ne fournit pas un exécutable vérifié. Les langues réellement installées sont interrogées avec --list-langs; aucun téléchargement n’est effectué par l’application. Les choix sont triés et dédupliqués. fra+eng n’est proposé que lorsque les deux packs sont réellement installés.

Au démarrage, le catalogue des outils indique le nombre d’exécutables disponibles et leurs versions. Une commande non détectée doit d’abord être vérifiée avec command -v, puis avec son option de version (--version ou -V selon l’outil).

Notes

  • Ne pas installer ces outils dans le dépôt Git.
  • ExifTool, Tesseract et Poppler sont optionnels pour le pivot EML. Leur absence laisse disponibles l'analyse des en-têtes et l'extraction MIME.
  • La démonstration eml-graph-demo réutilise GLib/GIO, SQLite et JSON-GLib déjà requis ; elle n'ajoute aucun analyseur externe ni téléchargement implicite.
  • La démonstration J4 exige un ExifTool déjà installé et qualifié par exiftool -config "" -ver. Elle se lance avec make -j8 local-toolkit-demo puis python3 prototypes/web-graph/run_local_toolkit_demo.py --port 8765. Labfy ne l'installe, ne le met à jour et ne charge aucune configuration utilisateur.
  • Ne jamais stocker de jetons, mots de passe ou données privées dans ce fichier.
  • Le rendu PDF J9 utilise les bindings Cairo/Pango et DejaVu Sans installés avec le runtime graphique. Les validations utilisent pdftotext et pdftoppm de Poppler ; aucune ressource réseau ou police téléchargée n'est requise.
  • Les versions peuvent varier selon la distribution ; noter ici toute commande particulière nécessaire à Ubuntu des forces de l’ordre.

L’import d’espace local n’ajoute aucune dépendance : le transport borné utilise la bibliothèque HTTP Python existante, et la publication/empreinte réutilise le cœur C/GLib. Firefox et puppeteer-core restent nécessaires au scénario Web.

Le poste Web local requiert également l'interpréteur python3 déjà utilisé par les lanceurs du prototype. Il ne requiert ni serveur HTTP système, ni base de données distincte, ni installation automatique. Ses fichiers d'instance et de configuration suivent XDG (XDG_RUNTIME_DIR, XDG_STATE_HOME) ; la bibliothèque d'enquêtes est une destination locale explicitement fournie par LIBRARY, et non une dépendance à installer.

Le harness de recherche OSINT assistée V1 utilise libcurl pour ses tests de transport avec un fournisseur loopback SPECIMEN. Cette dépendance ne configure, ne qualifie et ne contacte aucun fournisseur public ; les fournisseurs externes restent indisponibles tant que leur configuration et leur autorisation ne sont pas établies par une tranche dédiée.

GTK4 n’est plus une dépendance de Labfy : le build Web-only exige GLib/GIO, SQLite, libheif, Poppler GLib, JSON-GLib, Python 3 et Firefox/puppeteer-core pour les validations visuelles. Aucun environnement Wayland, GSK_RENDERER ou display GTK n’est requis par la suite canonique.