Vulny

Documentation de l'API

L'API REST Vulny vous permet de lancer des analyses de sécurité et de gérer vos cibles par programmation. Disponible sur les forfaits Pro et Corporate (et pendant votre essai gratuit). Générez une clé dans Paramètres → API. Pour des pipelines CI/CD prêts à l'emploi, voir Pipeline DevSecOps.

Authentification

Envoyez votre clé d'API sous forme de jeton bearer ou dans l'en-tête X-API-Key :

curl https://vulny.app/api/v1/targets \
  -H "Authorization: Bearer vlny_your_key"

Limites de débit

120 requêtes par minute et par clé. Chaque réponse inclut les en-têtes X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset. Le dépassement de la limite renvoie 429 avec un en-tête Retry-After.

Lancer une analyse

POST /api/v1/scans — lance une analyse à la demande sur une cible (ajoutée à votre compte si elle est nouvelle). Renvoie un id d'analyse à interroger.

curl -X POST https://vulny.app/api/v1/scans \
  -H "Authorization: Bearer vlny_your_key" \
  -H "Content-Type: application/json" \
  -d '{"target":"example.com"}'

# → { "id": "...", "target": "example.com", "status": "queued" }

État et résultats de l'analyse

GET /api/v1/scans/{id} — interrogez jusqu'à ce que done soit vrai. Renvoie un summary de gravité et la liste des findings — utilisez-les pour faire réussir ou échouer un pipeline CI.

curl https://vulny.app/api/v1/scans/SCAN_ID \
  -H "Authorization: Bearer vlny_your_key"

# → { "status": "finished", "done": true, "progress": 100,
#     "summary": { "critical": 1, "high": 2, "medium": 0, "low": 3, "total": 6 },
#     "findings": [ { "severity": "critical", "title": "CVE-2024-...", "cvss_score": 9.8, "port": "443/tcp" } ] }

Voir Pipeline DevSecOps pour des exemples complets GitLab CI et GitHub Actions qui attendent la fin de l'analyse et font échouer la build en cas de résultats critiques.

Ajouter des cibles (en masse, jusqu'à 1000)

POST /api/v1/targets/bulk — accepte des domaines ou des IP, éventuellement avec des étiquettes. Respecte la limite de cibles de votre forfait.

curl -X POST https://vulny.app/api/v1/targets/bulk \
  -H "Authorization: Bearer vlny_your_key" \
  -H "Content-Type: application/json" \
  -d '{"targets":["example.com","203.0.113.10",{"value":"api.example.com","tags":["prod"]}]}'

Supprimer des cibles (en masse)

DELETE /api/v1/targets/bulk — par identifiants ou par valeurs (IP / noms d'hôte).

curl -X DELETE https://vulny.app/api/v1/targets/bulk \
  -H "Authorization: Bearer vlny_your_key" \
  -H "Content-Type: application/json" \
  -d '{"values":["example.com","203.0.113.10"]}'

Mettre à jour les étiquettes (en masse)

PATCH /api/v1/targets/tags — définit, ajoute ou supprime des étiquettes sur plusieurs cibles à la fois (mode : set | add | remove).

curl -X PATCH https://vulny.app/api/v1/targets/tags \
  -H "Authorization: Bearer vlny_your_key" \
  -H "Content-Type: application/json" \
  -d '{"values":["example.com"],"tags":["pci","prod"],"mode":"add"}'

Spécification OpenAPI

La spécification complète lisible par machine est disponible à l'adresse /api/v1/openapi.json — importez-la dans Postman, Insomnia ou votre générateur de code.

Voyez-le sur votre propre site

Lancez un scan pour la sécurité, le SEO et la recherche IA (GEO) — et obtenez un rapport PDF personnalisé, prêt pour l’ISO 27001.

Analyser mon site →