Security musings

Catégories

Tags

🔍 Licence d'Utilisation 🔍

Sauf mention contraire, le contenu de ce blog est sous licence CC BY-NC-ND 4.0.

© 2025 à 2042 Sébastien Gioria. Tous droits réservés.

Pendant des années, la sécurité de la chaîne d’approvisionnement logicielle (Supply Chain Security) s’est résumée à une routine bien rodée : scanner les dépendances. Nous avons tous intégré npm audit, renovate ou Dependabot dans nos processus. C’est nécessaire, c’est l’hygiène de base. Mais en 2025, se concentrer uniquement sur les dépendances, c’est comme verrouiller la porte d’entrée en laissant les clés sur le contact de la voiture garée dans l’allée.

La menace a muté. Les attaquants, confrontés à des applications de plus en plus durcies, ont décidé de remonter le courant. Ils ne visent plus seulement le code final, mais l’usine qui fabrique le code (votre CI/CD) et les assistants qui vous aident à le concevoir (votre IA locale).

Le Changement de Paradigme : De SolarWinds à l’IA

L’attaque de SolarWinds a été un électrochoc mondial. Les attaquants n’ont pas cassé le logiciel chez les clients ; ils ont compromis le système de build de l’éditeur pour insérer une porte dérobée avant que le logiciel ne soit signé. Peu après, l’affaire Codecova montré comment un simple script Bash utilisé dans la CI pouvait être modifié pour exfiltrer des milliers de variables d’environnement (clés AWS, tokens GitHub) vers un serveur tiers.

Aujourd’hui, une nouvelle couche de complexité s’ajoute : l’Intelligence Artificielle Agentique. Les développeurs invitent désormais des modèles de langage (LLM) directement dans leur terminal pour exécuter des commandes. C’est une surface d’attaque inédite qui mélange ingénierie sociale et exploitation technique.

Dans cette série d’articles, nous allons explorer ces vecteurs d’attaque, en nous basant sur quelques standards OWASP et des recherches en sécurité offensive.

Cette analyse est découpée en trois volets techniques distincts, conçus pour être lus séquentiellement ou indépendamment :

Partie 1 : Les Agents IA dans le terminal

Les outils comme GitHub Copilot CLI, Claude Code ou le CLI Gemini ne sont pas de simples “chatbots”. Ils ont des droits d’exécution sur votre machine.

  • Le risque : L’injection de prompt indirecte. Comment un repo Git cloné peut “hacker” votre IA pour lui faire exécuter des commandes à votre insu.
  • Le focus : Analyse de la recherche “Gemini CLI Prompt Injection”.

Partie 2 : Le protocole MCP (Model Context Protocol)

Le MCP est le nouveau standard pour connecter les IA à vos données (fichiers locaux, Google Drive, Slack). C’est puissant, mais mal configuré, c’est une porte ouverte vers vos secrets les plus intimes.

  • Le risque : L’exfiltration de données et l’élévation de privilèges via des connecteurs mal audités.
  • Le focus : L’analyse STRIDE appliquée à l’architecture MCP.

Partie 3 : Les Pipelines CI/CD (GitHub Actions / GitLab CI)

Le cœur de l’usine logicielle. L’OWASP Top 10 CI/CD nous montre que nos pipelines sont souvent des passoires.

  • Le risque : L’exécution de code à distance (RCE) via des Pull Requests et le vol de secrets (PPE - Poisoned Pipeline Execution).
  • Le focus : Comment signer vos artefacts avec Sigstore/Cosign et verrouiller vos workflows.

Cette série se veut pragmatique : pour chaque domaine, nous dépasserons la théorie pour fournir des commandes, des configurations et des stratégies de remédiation concrètes.