Image de couverture : Claude Mythos et Project Glasswing : ce que les équipes PHP/Symfony doivent faire maintenant
tech

Claude Mythos et Project Glasswing : ce que les équipes PHP/Symfony doivent faire maintenant

14 April 2026
5 min de lecture
29 vues
Sébastien Muler

L'IA qui trouve des failles avant vos attaquants

Anthropic vient d'annoncer qu'elle ne publiera pas son dernier modèle, Claude Mythos, au grand public. À la place, l'entreprise le réserve à un cercle restreint de partenaires de sécurité via le Project Glasswing. La raison ? Le modèle est capable de trouver des milliers de vulnérabilités critiques de manière autonome — dans les navigateurs, les systèmes d'exploitation, les bibliothèques tierces.

Concrètement : Mythos Preview a rédigé de manière autonome un exploit navigateur enchaînant quatre vulnérabilités, incluant un JIT heap spray permettant de s'échapper des sandboxes renderer et OS. Il a obtenu des élévations de privilèges locaux sur Linux en exploitant des race conditions subtiles et des contournements KASLR.

Ce n'est pas encore entre toutes les mains. Mais ce le sera bientôt. La question n'est pas si ces capacités vont se démocratiser, mais quand. Pour les équipes qui maintiennent des stacks PHP/Symfony sur Docker avec PostgreSQL et des pipelines CI/CD, la fenêtre de préparation est maintenant.


🔍 Intégrer des scans automatisés dans votre pipeline CI/CD

La première ligne de défense est d'automatiser la détection de vulnérabilités avant que le code n'atteigne la production. Voici les briques essentielles à ajouter à votre pipeline GitHub Actions ou GitLab CI.

Analyse des dépendances PHP

# .github/workflows/security.yml
jobs:
  security-audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Composer audit
        run: composer audit --format=json | tee audit-report.json
      - name: Fail on high severity
        run: |
          HIGHS=$(jq '[.advisories[] | select(.severity == "high" or .severity == "critical")] | length' audit-report.json)
          if [ "$HIGHS" -gt 0 ]; then echo "⛔ $HIGHS vulnérabilité(s) critique(s) détectée(s)" && exit 1; fi

Scan des images Docker

Avant de pousser une image en production, intégrez Trivy :

      - name: Scan image Docker
        uses: aquasecurity/trivy-action@master
        with:
          image-ref: 'ghcr.io/mulertech/mon-app:${{ github.sha }}'
          severity: 'HIGH,CRITICAL'
          exit-code: '1'

Ce scan couvre les CVE des packages système (Debian/Alpine), les bibliothèques embarquées et les fichiers de configuration exposés.

Analyse statique du code (SAST)

Pour PHP, Psalm avec le plugin de sécurité et phpcs-security-audit permettent de détecter les injections SQL, XSS et désérialisations dangereuses :

./vendor/bin/psalm --taint-analysis

🐳 Durcir vos conteneurs Docker et votre PostgreSQL

Un modèle IA capable d'exploiter des race conditions noyau cherchera d'abord les surfaces d'attaque les plus accessibles. Les conteneurs mal configurés en font partie.

Dockerfile : principes de moindre privilège

FROM php:8.3-fpm-alpine

# Ne jamais tourner en root
RUN addgroup -S appgroup && adduser -S appuser -G appgroup

# Réduire la surface d'attaque
RUN rm -rf /var/cache/apk/* /tmp/*

# Capabilities minimales
USER appuser

docker-compose.yml : isolation réseau

services:
  app:
    security_opt:
      - no-new-privileges:true
    read_only: true
    tmpfs:
      - /tmp
      - /var/run
    networks:
      - internal

  postgres:
    environment:
      POSTGRES_PASSWORD_FILE: /run/secrets/db_password
    secrets:
      - db_password
    networks:
      - internal  # jamais exposé directement

networks:
  internal:
    internal: true  # pas d'accès internet direct

secrets:
  db_password:
    file: ./secrets/db_password.txt

PostgreSQL : restreindre les permissions

-- Créer un utilisateur applicatif avec droits minimaux
CREATE ROLE app_user WITH LOGIN PASSWORD 'xxx';
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO app_user;
REVOKE CREATE ON SCHEMA public FROM app_user;

-- Auditer les connexions
ALTER SYSTEM SET log_connections = 'on';
ALTER SYSTEM SET log_disconnections = 'on';

🚨 Préparer un workflow d'incident

La détection ne suffit pas. Quand une vulnérabilité critique est publiée (ou exploitée), vous devez pouvoir réagir en moins d'une heure. Voici une structure minimale.

Runbook de réponse express

1. DÉTECTION (< 5 min)
   - Alerte Trivy/Dependabot reçue
   - Vérifier le score CVSS : >= 9.0 → procédure critique

2. ISOLATION (< 15 min)
   - Couper le service exposé : docker compose stop app
   - Activer la page de maintenance Symfony
   - Révoquer les tokens d'API actifs si auth compromise

3. ÉVALUATION (< 30 min)
   - Le vecteur d'attaque est-il réseau ou local ?
   - Les logs PostgreSQL montrent-ils des requêtes anormales ?
   - Y a-t-il des containers sortants vers des IP inconnues ?

4. CORRECTION (< 60 min)
   - Mise à jour de la dépendance : composer update vendor/package
   - Rebuild et redéploiement de l'image Docker
   - Validation du scan Trivy avant remise en production

5. POST-MORTEM (< 48h)
   - Timeline complète documentée
   - Ajout d'un test de non-régression
   - Mise à jour du runbook

Symfony : désactiver rapidement une surface d'attaque

// config/packages/security.yaml - bloquer temporairement une route
access_control:
    - { path: ^/api/vulnerable-endpoint, roles: ROLE_NO_ACCESS }

Ce que Project Glasswing nous enseigne vraiment

Anthropique fait le bon choix en ne publiant pas Mythos immédiatement. Mais cette décision nous envoie un signal clair : les capacités de découverte de vulnérabilités vont s'industrialiser. Ce qui prend aujourd'hui des semaines à un pentest humain prendra bientôt quelques minutes à un agent IA.

La bonne nouvelle : les contre-mesures défensives profitent exactement des mêmes progrès. Des outils comme Trivy, Dependabot ou composer audit sont déjà gratuits et intégrables en une journée.

L'objectif n'est pas de devenir invulnérable — c'est de rendre l'effort d'exploitation plus coûteux que la valeur de la cible, et de réduire le temps de détection/réponse en dessous du temps nécessaire à une exfiltration significative.

Commencez par l'étape la plus simple : exécutez composer audit sur votre projet aujourd'hui. Puis ajoutez-le à votre CI. Le reste peut suivre progressivement.


Article inspiré de l'analyse de Simon Willison sur Project Glasswing et la system card officielle d'Anthropic.

Partager cet article