Passer au contenu principal
Interface du Scanner de sécurité et de confidentialité affichant les résultats d'analyse des vulnérabilités
Le scanner est actuellement en bêta. Il est puissant, mais peut occasionnellement signaler des faux positifs ou manquer certains problèmes. Examinez attentivement les résultats et faites preuve de jugement avant de modifier le code ou de mettre à jour les dépendances.

Qu’est-ce que le Scanner de sécurité et de confidentialité ?

Le Scanner de sécurité et de confidentialité vous aide à trouver et corriger les risques à fort impact dans votre application Replit avant de la publier. Il se concentre sur les problèmes les plus susceptibles d’affecter la sécurité de votre application ou de vos données :
  • Vulnérabilités des dépendances : Problèmes connus dans les packages dont dépend votre application Replit
  • Problèmes d’analyse statique (SAST) : Patterns dangereux dans votre code source
  • Fichiers malveillants ou non sécurisés : Fichiers correspondant à des signatures connues comme dangereuses ou risquées
  • Problèmes de confidentialité : Fuites potentielles de données sensibles ou personnelles dans votre code
Les analyses s’exécutent sur l’infrastructure Replit et sont propulsées par des partenaires comme Semgrep Community Edition et HoundDog.ai. Votre code et vos données ne sont pas envoyés à ces partenaires ni à des tiers.

Types de vulnérabilités

Vulnérabilités des dépendances

Ces vulnérabilités proviennent d’un audit des packages de votre projet :
  • Prend en charge de nombreux écosystèmes populaires (notamment Node.js/npm, Python, Go, Rust, PHP et Ruby)
  • Indique si la dépendance est directe ou transitive
  • Inclut des métadonnées sur le package vulnérable et les correctifs disponibles
Exemples :
"express": "4.18.2" // version avec une vulnérabilité connue
Certains problèmes de dépendances peuvent être mis à jour automatiquement, tandis que d’autres peuvent nécessiter des modifications manuelles ou ne pas avoir de correctif disponible.

Problèmes d’analyse statique (SAST)

L’analyse statique analyse vos fichiers sources à la recherche de patterns non sécurisés, comme :
const query = `SELECT * FROM users WHERE username = '${userInput}'`;
Les résultats SAST incluent :
  • Chemin du fichier et emplacement exact (ligne et colonne)
  • Nom de la règle ou du contrôle
  • Un message décrivant le problème
Ce sont les problèmes que vous corrigerez généralement directement dans votre code.

Fichiers malveillants ou non sécurisés

La détection de fichiers malveillants recherche des fichiers correspondant à des signatures connues comme dangereuses ou à haut risque, tels que :
# script d'installation malveillant issu d'une attaque connue de la chaîne d'approvisionnement
setup_bun.js
Pour ces résultats, le scanner affiche :
  • Pourquoi le fichier est risqué
  • Les chemins où il apparaît
  • Texte de mitigation suggéré
Vous devriez supprimer ou inspecter soigneusement ces fichiers avant de continuer.

Problèmes de confidentialité

En plus des problèmes de sécurité, le scanner signale également les problèmes de confidentialité potentiels propulsés par HoundDog.ai, notamment lorsque des données sensibles affluent vers des destinations risquées comme les journaux, les fichiers ou les SDK et API tiers :
  • Emplacements où des données sensibles peuvent être exposées
  • Règles décrivant le problème de confidentialité
  • Stratégies de remédiation suggérées (par exemple, suppression vs. assainissement)
Par exemple, le scanner peut signaler du code qui enregistre un profil utilisateur complet (y compris les coordonnées) dans un journal d’application :
logger.info("New signup", {
  email: user.email,
  phoneNumber: user.phoneNumber,
  address: user.address,
});
Ces résultats sont propulsés par HoundDog.ai et sont étiquetés comme vulnérabilités de confidentialité ou HoundDog dans le panneau.

Démarrer

Vous pouvez ouvrir le Scanner de sécurité et de confidentialité de plusieurs façons :
1
Ouvrez le panneau Scanner de sécurité.
2
Utilisez la recherche du workspace / palette d’outils et recherchez « Security Scanner ».
Une fois ouvert, le panneau lancera automatiquement une analyse initiale si aucun résultat précédent n’existe. Les analyses se terminent généralement en quelques minutes, mais peuvent prendre plus de temps pour les grandes bases de code ou les graphes de dépendances.

Comprendre les résultats de l’analyse

Les résultats sont organisés en deux onglets :
  • Problèmes actifs : Problèmes actuellement considérés comme dans le périmètre
  • Problèmes masqués : Problèmes que vous avez explicitement masqués
Dans Problèmes actifs, vous pouvez voir :
  • Vulnérabilités de dépendances automatiques : Problèmes de dépendances pouvant être corrigés en mettant à jour les packages.
  • Problèmes d’analyse statique : Vulnérabilités au niveau du code avec des références de fichier et de ligne.
  • Problèmes de fichiers malveillants : Fichiers connus comme dangereux ou risqués dans votre projet.
  • Problèmes de confidentialité : Emplacements où des données sensibles ou personnelles pourraient être à risque.

Gravité

Chaque problème a un niveau de gravité :
  • Critique
  • Élevé
  • (Les niveaux de gravité inférieurs comme modéré/faible/info peuvent être présents dans les données sous-jacentes mais ne sont pas priorisés dans ce panneau.)
Le scanner se concentre sur les problèmes élevés et critiques afin que vous puissiez traiter les problèmes les plus importants en premier.

Masquer et réactiver les problèmes

Vous pouvez :
  • Masquer un problème non critique que vous comprenez et êtes prêt à accepter.
  • Déplacer vers actif pour ramener un problème précédemment masqué dans l’onglet Problèmes actifs.

Corriger les problèmes

Le scanner s’intègre aux outils de gestion des dépendances et à l’Agent Replit pour vous aider à corriger les problèmes rapidement.

Mises à jour automatiques des dépendances (Node.js)

Pour les projets Node.js pris en charge, vous verrez un bouton Mettre à jour automatiquement pour certaines vulnérabilités de dépendances. Si votre projet ou écosystème n’est pas pris en charge, vous pouvez toujours voir des vulnérabilités de dépendances, mais le bouton de mise à jour automatique peut être désactivé pour votre application Replit.

Corriger avec l’Agent

La plupart des cartes de vulnérabilité incluent un bouton Corriger avec l’Agent :
  • Ouvre ou se connecte à une session de l’Agent Replit.
  • Envoie les détails de la vulnérabilité à l’Agent.
  • L’Agent propose et applique des correctifs dans votre application Replit, pendant que vous gardez le contrôle.
Après l’application des correctifs, relancez le scanner pour confirmer que les problèmes sont résolus.

Voir les sessions Agent existantes

Si vous avez déjà commencé à corriger des vulnérabilités avec l’Agent, vous pouvez voir un bouton Voir la session Agent sur un problème :
  • Sélectionnez-le pour revenir au chat Agent associé.
  • Continuez à itérer sur le correctif ou posez des questions de suivi sur la vulnérabilité.

Confidentialité et gestion des données

L’analyse de sécurité et de confidentialité est propulsée par Semgrep et HoundDog.ai, mais :
  • Toutes les analyses s’exécutent localement sur l’infrastructure Replit.
  • Votre code et vos données ne sont pas envoyés à Semgrep, HoundDog.ai ou à d’autres tiers.
  • La configuration et les résultats des analyses restent attachés à votre application Replit.

Limites et meilleures pratiques

Gardez à l’esprit :
  • Bêta : Le scanner peut occasionnellement signaler des faux positifs ou manquer des problèmes.
  • Prise en charge des langages :
    • L’analyse des dépendances prend en charge de nombreux écosystèmes populaires (notamment Node.js/npm, Python, Go, Rust, PHP et Ruby).
    • La correction automatique des dépendances est actuellement axée sur Node.js/npm.
  • Pas une révision de sécurité complète : Utilisez-le en complément de la révision du code, des tests et des vérifications de l’application en direct.
  • Relancer après les modifications : Relancez le scanner après :
    • L’ajout ou la mise à jour de dépendances
    • Des modifications majeures du code
    • Avant la publication d’une nouvelle version
Pour de meilleurs résultats, traitez le scanner comme faisant partie de votre flux de développement normal, et non comme une vérification ponctuelle.

Étapes suivantes

  • En savoir plus sur la Publication et comment publier votre application Replit une fois les analyses propres.
  • Explorer l’Agent Replit pour corriger les problèmes de sécurité et de confidentialité directement depuis le workspace.
  • Consulter les Fonctionnalités du Workspace pour plus d’outils permettant d’améliorer la qualité, les performances et la fiabilité du code.