L’urgence comme code · paniq 0.1.0-dev

L’urgence reçoit un fichier.

Quand un service prend feu, paniq le place en un état sûr d’une seule commande. Une seconde annule tout. Chaque étape est montrée avant, vérifiée contre l’hôte après, puis consignée dans une chaîne de preuves.

  • Un binaire, environ 9 MB
  • Pas de démon
  • Pas de cloud
  • Pas de télémétrie
Déroulé reconstitué. Chaque ligne est une sortie réelle de paniq 0.1.0-dev.
  • Laboratoire Linux : 226 + 5 vérifications, sans erreur
  • Laboratoire macOS : 108 + 17 vérifications, sans erreur
  • Laboratoire Windows : 55 vérifications, sans erreur
  • Sans paniq confirm, retour après 5 min
  • Chaque sécurisation expire après 14 jours
  • Codes de sortie 0 à 4
  • Pas de call-home, pas de télémétrie
  • --json · MCP · SARIF 2.1.0
Position

Aucun tableau de bord. Aucun agent. Aucune cloud. Une commande met le service en sécurité, une seconde le ramène en arrière, et chaque étape est prouvée.

5 minavant le retour arrière si personne ne confirme
14 dexpiration de chaque sécurisation
0appels réseau spontanés

Déroulé · quatre commandes

Vérifier. Sécuriser. Prouver. Annuler.

Le déroulé est toujours le même, que ce soit nginx, sshd, IIS, une base de données ou une zone Cloudflare. Chaque étape a un retour arrière, chaque changement une date d’expiration.

  1. 01Vérifier

    Vérifier contre l’hôte réel.

    paniq lit l’inventaire de la machine et le compare localement aux données publiques de vulnérabilités. status --verify compare chaque service à ce qui tourne réellement, pas à une note. En cas d’écart, le feu passe au rouge et le code de sortie vaut 2.

    paniq check --fetch
    $ paniq check --fetch paniq check · srv-01 ──────────────────────────────────── Inventaire 231 composants, 35 ports Sources kev:abruf Registry /usr/share/paniq/registry (4 modules) ● Aucune correspondance – rien à faire → Étape suivante : paniq status $ paniq status --verify paniq status · srv-01 Services 1 service Feu green ● normal web
  2. 02Sécuriser

    D’abord le plan, puis la protection.

    paniq montre d’abord chaque étape et le retour arrière. Puis shield applique l’état. Qui ne confirme pas dans les 5 minutes avec paniq confirm reçoit automatiquement l’ ancien état. Chaque sécurisation expire après 14 jours.

    sudo paniq shield web --state isolated
    $ paniq plan web --state isolated paniq plan · web ──────────────────────────────────── web : normal → isolated (expire dans 14 d) Le service est coupé du réseau – uniquement pour l’urgence. Étapes 2 Retour arrière paniq undo + restrict_port tcp/22 (allow=203.0.113.0/24) + restrict_port tcp/5432 (allow=203.0.113.0/24) $ sudo paniq shield web --state isolated --yes paniq shield · web État normal → isolated Jusqu’au 2026-11-07 14:02 Étapes 2 réinitialisé sans paniq confirm en 5 min – joignable ? paniq confirm web 2 étapes appliquées. Annuler : paniq undo web $ sudo paniq confirm web Confirmé : web – protection maintenue jusqu’à expiration. Étape suivante : paniq status
  3. 03Prouver

    Chaque étape entre dans une chaîne.

    Ce qui a été vérifié, ce qui a changé, qui l’a déclenché, ce qui a été annulé. Les preuves sont chaînées et peuvent être vérifiées et ancrées. Un exercice avec drill bascule, vérifie et annule, avec sa propre preuve.

    paniq evidence verify
    $ paniq evidence verify Chaîne OK : 3 entrées (aucun ancrage déposé – étape suivante : paniq evidence anchor --to DATEI). $ sudo paniq drill web --state secured --live Exercice web → secured : vérifié=true, annulé=true (preuve 4) $ paniq report --pdf nachweis.pdf
  4. 04Annuler

    Tout annuler, étape par étape, vérifié.

    paniq annule chaque changement dans l’ordre inverse et vérifie après chaque étape. La preuve reste, car un incident doit être prouvé même après la fin.

    sudo paniq undo
    $ sudo paniq undo web : isolated → normal Annulé. Étape suivante : paniq status $ paniq status paniq status · srv-01 Services 1 service Feu green ● normal web

Paniqfile

Quatre états. Un fichier dans le dépôt.

paniq init lit l’inventaire et écrit le Paniqfile : service, composants, états. Le fichier est du texte, il appartient au dépôt et il est contrôlé par paniq lint Quatre niveaux, de bénin à strict.

normal

Tout comme d’habitude. Aucune intervention, rien n’expire. Le feu est vert, le code de sortie 0.

  • Ports, chemins et services tels que configurés
  • ● normal web
/etc/paniq/services/web.yaml normal
version: 1 service: web kind: webapp runs_on: [server/testhost] components: [nginx] states: secured: mitigations: registry degraded: web: static_snapshot paths: /admin: restrict isolated: ports: 22: restrict 5432: never_public

paniq lint : 1 fichier contrôlé – aucun problème. Étape suivante : paniq plan SERVICE

Plateformes

Un binaire. Quatre plateformes.

paniq applique les règles avec les outils réels de la plateforme, sans simulation. Vérifié dans des laboratoires avec de vrais services, redémarrage et retour arrière compris.

  • Linux nftablessystemdnginxapache2sshd 226 + 5vérifications
  • macOS ancrage pflaunchdnginxapachephp-fpm 108 + 17vérifications
  • Windows pare-feu netshservicesIISRegistry 55vérifications
  • Cloudflare pare-feu de zonetourne sur tout OS APIaucun agent nécessaire

Six standards

Pas une intention, mais une mesure.

Chaque promesse est vérifiée sur de vraies machines. Ce qui n’est pas vérifié ne figure pas ici.

Réversible

Chaque changement a un retour arrière et une date d’expiration, 14 jours par défaut. Sans paniq confirm une protection se réinitialise d’elle-même après 5 minutes.

vérifications par campagne en machines réelles, plus les contrôles de redémarrage.

Léger

9MB

Un binaire. Aucun environnement d’exécution, aucun démon.

Rapide

4commandes

vérifier, sécuriser, prouver, annuler. L’étape suivante figure dans chaque sortie.

Portable

paniq applique les règles réseau avec les outils de la plateforme. En local, sans cloud, sans télémétrie. Pas de call-home, pas de mise à jour automatique.

  • nftables
  • systemd
  • launchd
  • pf
  • netsh
  • IIS

Stable

Codes de sortie fixes. Une erreur s’arrête net, jamais à moitié appliquée.

Souple

Le Paniqfile est du texte pour les humains. Les modules du Registry fournissent une défense éprouvée, et via MCP un agent utilise les mêmes commandes que vous.

  • --json
  • Codes de sortie 0–4
  • MCP
  • SARIF

Pour les agents & la CI

Conçu pour être appelé.

Chaque commande parle JSON et se termine par un code de sortie fixe. Cron, pipelines et agents n’ont besoin d’aucun traitement particulier.

cron, CI, Monitoring
# JSON seul sur stdout, le code de sortie sert de signal $ paniq --json status || notify « pas vert » # Que sait faire ce binaire ? $ paniq --json capabilities

Le manifeste paniq.capabilities/v1 indique les commandes, les flags et les codes de sortie.

Licence

Libre pour tous ceux qui n’en tirent pas d’argent.

Le code source est sous PolyForm Noncommercial 1.0.0. Qui utilise paniq à des fins commerciales paie une licence.

Gratuit

Usage libre

  • Particuliers, quel que soit l’usage
  • Associations, enseignement et recherche
  • Organisations à but non lucratif

Licence commerciale

Licence obligatoire

  • Entreprises de toute taille
  • Indépendants pour le compte de clients
  • Fournisseurs de services gérés et hébergeurs
commercial@paniq.dev

Une licence ne désactive jamais la coupure d’urgence. paniq undo fonctionne toujours.

Mon entreprise peut-elle utiliser paniq ?

Oui, avec une licence commerciale. Cela vaut pour les entreprises de toute taille.

J’administre des serveurs pour des clients, comme indépendant ou MSP.

Une licence est alors nécessaire, même si les serveurs appartiennent au client. Indiquez-nous combien d’hôtes vous administrez.

Combien coûte une licence ?

Le périmètre et le prix sont fixés par devis via commercial@paniq.dev.

Que se passe-t-il sans licence ?

La coupure d’urgence reste. paniq undo fonctionne toujours, afin qu’aucun service ne reste bloqué dans un état sécurisé.

paniq envoie-t-il des données vers l’extérieur ?

Non. Pas de télémétrie, pas de call-home. Le réseau n’est utilisé que si la commande le demande explicitement, p. ex. check --fetch (catalogue KEV de la CISA) ou --feed NAME=URL ; tout le reste ne demande que des fichiers dans le dépôt.

Liste d’attente

Soyez là quand paniq démarre.

Nous écrivons rarement : une fois au démarrage, puis uniquement pour les avis de sécurité qui concernent votre installation. Pas de newsletter, aucune transmission.

Pour les MSP et les entreprises : indiquez dans le champ « Contexte » combien d’hôtes vous administrez. Vous recevrez d’abord une licence d’essai.

Vous êtes sur la liste.

Nous vous écrirons au démarrage. Retrait possible à tout moment par e-mail à waitlist@paniq.dev.

Vous préférez par e-mail ? waitlist@paniq.dev