labfy-investigation/docs/DEPENDENCE.md

110 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 nest lancé et aucun dérivé
nest persisté.
| Fonction | Arch Linux | Ubuntu/Debian |
| --- | --- | --- |
| HEIC/HEIF | `libheif` | `libheif-dev` |
| PDF natif | `poppler-glib` | `libpoppler-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 GTK4, SQLite, libheif et Poppler 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 dun nouvel outil.
La migration SQLite V13 et la gestion des propriétaires de
`preuve_entites` n'ajoutent aucune dépendance système.
## Principe dinstallation
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 :
```text
~/.local/share/labfy-osint/bin
```
Lapplication ajoute automatiquement ce dossier au `PATH` lorsquil existe.
Pour les terminaux et les scripts, on peut également ajouter dans
`~/.profile` (ou `~/.zshrc`) :
```sh
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` |
| 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 :
```sh
command -v tesseract exiftool pdfinfo pdftotext pdftoppm dig host whois curl openssl qpdf john pdf2john
```
## Outils OSINT Python
Préparer lenvironnement local :
```sh
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 lapplication sont :
```text
~/.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 :
```sh
sudo apt install python3 python3-venv python3-pip
```
Sur Arch Linux :
```sh
sudo pacman -S python python-pip
```
## Vérification dans lapplication
Au démarrage, le catalogue des outils indique le nombre dexécutables
disponibles et leurs versions. Une commande non détectée doit dabord être
vérifiée avec `command -v`, puis avec son option de version (`--version` ou
`-V` selon loutil).
## 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.
- Ne jamais stocker de jetons, mots de passe ou données privées dans ce
fichier.
- Les versions peuvent varier selon la distribution ; noter ici toute
commande particulière nécessaire à Ubuntu des forces de lordre.