API d'analyse de malwares

Exécutez les mêmes analyses de malwares via HTTP.

URL de base https://hashzyn.onrender.com. Auth : Authorization: Bearer hz_live_… ou jeton de session Supabase.

Démarrage rapide

  1. Créez un compte gratuit et connectez-vous.
  2. Compte → Clés API : créez une clé (affichée une seule fois).
  3. Appelez un endpoint avec Authorization: Bearer hz_live_…

URL de base https://hashzyn.onrender.com

Authentification

Envoyez un jeton Bearer à chaque requête. Les clés API pour serveurs/CI ; les sessions pour vos apps.

API key

Clé API (recommandé)

Créez des clés hz_live_ dans votre compte. Le secret complet n'est montré qu'à la création.

Session

Session Supabase

Après connexion, passez le access token de la même façon.

Authorization: Bearer hz_live_xxxxxxxx
Content-Type: application/json

Endpoints

Chaque analyse renvoie un verdict unique et le détail des sources. Les échantillons ne sont pas stockés.

Verdicts : clean · suspicious · malicious · unknown

POST/v1/scan/lookup

Hash lookup

Look up a SHA-256 without uploading the file. If unknown, response may include needsUpload: true.

curl -s https://hashzyn.onrender.com/v1/scan/lookup \
  -H "Authorization: Bearer hz_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","filename":"empty"}'

Exemple de réponse

{
  "id": "scn_…",
  "status": "done",
  "verdict": "unknown",
  "sha256": "e3b0…",
  "needsUpload": true,
  "sources": [
    { "engine": "hash_intel", "verdict": "unknown", "found": false }
  ]
}
POST/v1/scan/file

File scan

Multipart upload. Free plan max 3 MB; Starter/Pro max 10 MB. Sample bytes are discarded after the request — not archived.

curl -s https://hashzyn.onrender.com/v1/scan/file \
  -H "Authorization: Bearer hz_live_YOUR_KEY" \
  -F "file=@sample.bin" \
  -F "sha256=YOUR_SHA256"
POST/v1/scan/url

URL scan

Check a URL against threat feeds and page-source heuristics.

curl -s https://hashzyn.onrender.com/v1/scan/url \
  -H "Authorization: Bearer hz_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/suspicious"}'
POST/v1/scan/text

Text / code scan

Paste JavaScript, PHP, HTML, or other text for heuristic analysis.

curl -s https://hashzyn.onrender.com/v1/scan/text \
  -H "Authorization: Bearer hz_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"content":"eval(atob(\"…\"))","language":"javascript"}'
GET/v1/scan/:id

Get scan by ID

Fetch a previously created scan result by id.

curl -s https://hashzyn.onrender.com/v1/scan/scn_YOUR_ID \
  -H "Authorization: Bearer hz_live_YOUR_KEY"
GET/v1/hash/:sha256

Public hash reputation

Read cached HashZyn reputation for a SHA-256 (no auth required). Also available as a shareable page on the site.

curl -s https://hashzyn.onrender.com/v1/hash/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
GET/v1/me

Account

Returns plan, credits, and dailyRemaining for the authenticated user.

curl -s https://hashzyn.onrender.com/v1/me \
  -H "Authorization: Bearer hz_live_YOUR_KEY"

Exemple de réponse

{
  "id": "…",
  "email": "you@example.com",
  "plan": "free",
  "credits": 0,
  "dailyRemaining": 18
}
POST/v1/keys

Create API key

Creates a key. The full hz_live_… secret is returned once — store it securely. List with GET /v1/keys; revoke with DELETE /v1/keys/:id.

curl -s https://hashzyn.onrender.com/v1/keys \
  -H "Authorization: Bearer <session_or_key>" \
  -H "Content-Type: application/json" \
  -d '{"name":"ci"}'

Exemple de réponse

{
  "id": "key_…",
  "name": "ci",
  "prefix": "hz_live_abcd1234",
  "key": "hz_live_…full_secret_once…"
}
GET/health

Santé

Contrôle de vivacité pour les moniteurs.

curl -s https://hashzyn.onrender.com/health

Erreurs

  • 401 — Jeton Bearer / clé API manquant ou invalide.
  • 402 — Limite quotidienne gratuite ou crédits épuisés.
  • 429 — Limite IP — réessayez après une courte attente.
  • 400 — Corps invalide (hash, URL ou fichier).

Limites et facturation

Un crédit = une analyse fichier/URL non mise en cache. Les hits cache et la réputation publique ne consomment pas de crédits.

  • Gratuit : 20 analyses / jour (UTC), 1 clé API.
  • Starter / Pro : crédits mensuels — voir tarifs.
  • Invités (sans auth) : limites IP plus strictes.
  • Fichiers : max 10 Mo.
Documentation de l'API d'analyse de malwares — HashZyn