Skip to content

Releases: valorisa/vt-scanner-cli

v1.2 - Secure Edition

Choose a tag to compare

@valorisa valorisa released this 09 Mar 22:18

🎉 VirusTotal Scanner CLI v1.2 - Secure Edition

Date de publication : 09 mars 2026
PowerShell : 5.1+
API : VirusTotal v3


🔐 Nouvelles Fonctionnalités Sécurité

🔑 Gestion Sécurisée de la Clé API

  • SecureString : Clé API chiffrée via Export-Clixml/Import-Clixml
  • Persistance automatique : Fichier .vtapikey.secure dans %USERPROFILE%
  • Chargement au démarrage : La clé est chargée automatiquement si présente
  • Test-ApiKey : Validation automatique avec gestion HTTP 401/403
  • Suppression sécurisée : Option pour effacer la clé sauvegardée

🎛️ Menu Gestion Clé API (Option 5)

--- Gestion de la Cle API ---
1. Ajouter/Nouvelle Cle
2. Charger Cle Sauvegardee
3. Tester Cle Actuelle
4. Supprimer Cle Sauvegardee
0. Retour au menu principal

🔍 Consultation de Scan Existant (Option 6)

  • Entrez un ID d'analyse VirusTotal pour récupérer les résultats
  • Utile pour vérifier un scan lancé précédemment sans re-scanner

✨ Améliorations Fonctionnelles

Fonctionnalité Description
Export CSV Génération de rapports avec timestamp et métadonnées
Barre de progression Visibilité pendant le scan de dossiers
Polling intelligent Attente automatique des résultats (max 5 min)
Validation renforcée Hash SHA256 (64 caractères), schéma HTTP/HTTPS obligatoire
Détection quota 403 Arrêt propre en cas de limite API dépassée
BaseUrl protégée .Trim() pour éviter les erreurs 400 avec espaces

🐛 Corrections Appliquées

  • Encodage UTF-8 sans BOM : Tous les fichiers texte convertis (résolution gitingest aborted)
  • Test-ApiKey Response : Vérification [System.Net.WebException] avant accès à Response
  • Nettoyage strings : Suppression espaces superflus dans Write-Host/Read-Host
  • Switch cases : Normalisation ("1" au lieu de "1 ")
  • Hashtable keys : Nettoyage ("x-apikey" au lieu de "x-apikey ")

📊 Statistiques

Métrique v1.1 v1.2 Évolution
Lignes de code ~395 ~668 +69%
Fonctions 9 17 +89%
Options menu 6 (0-5) 7 (0-6) +1 option
Fichiers documentés 7 8 +1 (alt_*)
Tokens documentation ~14k ~25k +78%

📁 Structure du Projet

vt-scanner-cli/
├── vt-scanner.ps1          # Script principal v1.2 (~668 lignes)
├── alt_vt-scanner.ps1      # Backup version v1.2 Secure Edition
├── README.md               # Documentation principale v1.2
├── backup_README.md        # Archive documentation v1.1
├── CHANGELOG.md            # Historique v1.0 → v1.1 → v1.2
├── ROADMAP.md              # Fonctionnalités v1.3 prévues
├── SECURITY.md             # Politique de sécurité
├── .markdownlint.json      # Configuration markdownlint
├── digest.txt              # Documentation technique (gitingest)
└── .git/                   # Dépôt Git

🚀 Installation Rapide

# Cloner le dépôt
git clone https://github.com/valorisa/vt-scanner-cli.git
cd vt-scanner-cli

# Débloquer le script (une seule fois)
Unblock-File -Path ".\vt-scanner.ps1"

# Lancer le scanner
.\vt-scanner.ps1

🔧 Dépannage Rapide

⚠️ Erreur d'encodage UTF-8 avec gitingest

# Vérifier l'encodage d'un fichier
$bytes = [System.IO.File]::ReadAllBytes(".\vt-scanner.ps1")
if ($bytes[0] -eq 0xEF -and $bytes[1] -eq 0xBB -and $bytes[2] -eq 0xBF) {
    Write-Host "❌ BOM détecté - Convertir en UTF-8 sans BOM avec Notepad++"
}

🔑 Clé API invalide

  1. Régénérer la clé sur virustotal.com/gui/my-apikey
  2. Dans le script : Option 5 → 4 (Supprimer) → 1 (Ajouter nouvelle)

📦 Quota API dépassé

  • Attendre 1 minute (URLs) ou 24h (fichiers)
  • Ou passer à une clé API payante pour des limites plus élevées

🤝 Contribution

  1. Forkez le dépôt
  2. Créez une branche (feature/nouvelle-fonction)
  3. Committez les changements (git commit -m 'Ajout fonctionnalité')
  4. Pushez vers la branche (git push origin feature/nouvelle-fonction)
  5. Ouvrez une Pull Request

Bonnes pratiques :

  • ✅ Tester toutes les options avant commit
  • ✅ Garder la compatibilité PowerShell 5.1+
  • ✅ Documenter les nouvelles fonctions
  • Encoder tous les fichiers en UTF-8 sans BOM (critique pour gitingest)

🔗 Liens Utiles

Ressource Lien
VirusTotal API v3 developers.virustotal.com
Obtenir une clé API virustotal.com/gui/my-apikey
Documentation PowerShell docs.microsoft.com/powershell
Dépôt GitHub github.com/valorisa/vt-scanner-cli
Gitingest gitingest.com

📞 Support

Pour toute question ou problème :

  1. Consultez la section Dépannage du README
  2. Ouvrez une issue sur GitHub
  3. Vérifiez votre quota API sur VirusTotal

Développé avec ❤️ par valorisa
Version: 1.2 Secure Edition | PowerShell 5.1+ | API VirusTotal v3