AIMap - Guide du scanner d’exposition d’infrastructure IA
AIMap est une plateforme open-source pour trouver de l’infrastructure IA exposée sur Internet. Comme les équipes se sont précipitées pour auto-héberger des LLMs, un grand nombre de serveurs Ollama, d’endpoints MCP, et de proxies d’inférence se sont retrouvés accessibles depuis l’Internet public sans authentification. AIMap découvre ces services à grande échelle, les caractérise, note leur exposition, et peut exécuter des tests d’attaque spécifiques au protocole sur les cibles que vous êtes autorisé à évaluer. Pensez-y comme à nmap pour la couche de service IA.
Cibles autorisées uniquement. La découverte à l’échelle Internet et les tests de protocole actifs ont des implications légales. Scannez uniquement les ressources que vous possédez ou que vous êtes explicitement autorisé à tester.
Installation
| Méthode | Commande |
|---|
| pip | pip install aimap |
| Docker | docker run -it aimap/aimap |
| Depuis la source | git clone le repo, puis pip install -e . |
| Vérifier | aimap --version |
Utilisation de base
| Commande | Description |
|---|
aimap scan 10.0.0.0/24 | Scanner un CIDR que vous possédez pour les services IA |
aimap scan --target host:11434 | Vérifier un endpoint spécifique |
aimap fingerprint <target> | Identifier le service et la version |
aimap score <target> | Produire une note d’exposition |
aimap --help | Liste complète des options |
Ce qu’il découvre
| Service | Port par défaut | Risque exposé |
|---|
| Ollama | 11434 | Énumération de modèles, abus de prompt, vol de ressources |
| MCP endpoints | varie | Invocation d’outils, accès aux données |
| Proxies d’inférence | 8000/8080 | Accès à l’inférence sans limite, exfiltration de prompt |
| vLLM / OpenAI-compatible | 8000 | Inférence gratuite, exfiltration de prompt |
| Bases de données vectorielles | 6333/8080 | Fuite d’embeddings de documents |
Note d’exposition
| Facteur | Augmente la note |
|---|
| Pas d’authentification | N’importe qui peut appeler l’API |
| Énumération de modèles activée | Révèle l’inventaire de modèles internes |
| Accès aux outils (MCP) | L’endpoint peut prendre des actions |
| Erreurs verbeux | Fuite de configuration/chemins |
| Endpoints inscriptibles | Upload/suppression de modèle possibles |
Tests de protocole
| Test | Vérifie |
|---|
| Accès non authentifié | L’API répond-elle sans clé ? |
| Énumération de modèles | Les modèles peuvent-ils être listés ? |
| Surface d’injection de prompt | Les prompts système sont-ils accessibles ? |
| Abus de ressources | Un attaquant peut-il exécuter l’inférence gratuitement ? |
| Inventaire d’outils MCP | Quels outils peuvent être invoqués ? |
Flux de travail courants
# Auditer votre propre infrastructure pour les services IA accidentellement exposés
aimap scan 10.0.0.0/16 --output exposure.json
# Vérifier qu'un Ollama auto-hébergé n'est pas accessible publiquement
aimap fingerprint ollama.internal.example.com:11434
# Scorer et signaler pour un examen de conformité
aimap score --target api.internal.example.com --format json
Liste de vérification défensive
| Contrôle | Pourquoi |
|---|
| Bind à localhost | OLLAMA_HOST=127.0.0.1 plutôt que 0.0.0.0 |
| Proxy d’auth | Mettre un proxy inverse authentifiant en avant |
| Politique réseau | Règles firewall/VPC ; ne jamais exposer 11434 publiquement |
| Limitation de débit | Bloquer les attaques d’abus de ressources |
| Surveiller | Alerter sur le trafic d’inférence inattendu |
La découverte la plus courante du monde réel est simplement un serveur Ollama bindé à 0.0.0.0 sur un hôte avec une IP publique.
AIMap vs scanners génériques
| Aspect | AIMap | nmap | Shodan |
|---|
| Focus | Couche de service IA/LLM | Ports/services génériques | Index Internet-wide |
| Caractérisation | Conscience du protocole IA | Probes de service génériques | Basé sur banner |
| Tests d’attaque | Spécifiques à l’IA | Scripts (NSE) | Aucun |
| Idéal pour | Audits d’exposition d’infra IA | Recon général | Découverte passive |
Ressources