Skip to main content

Détection responsable des secrets génériques avec l’analyse des secrets Copilot

Découvrez comment Analyse des secrets Copilot utilise l’IA de manière responsable pour analyser et créer des alertes pour les secrets non structurés, comme les mots de passe.

Qui peut utiliser cette fonctionnalité ?

Analyse des secrets Copilot est disponible pour les dépôts suivants :

  • Dépôts publics, privés et internes dans les organisations utilisant GitHub Enterprise Cloud avec GitHub Advanced Security activé

À propos de détection de secrets génériques avec Analyse des secrets Copilot

détection de secrets génériques de Analyse des secrets Copilot est une extension basée sur l’intelligence artificielle de secret scanning qui identifie les secrets non structurés (mots de passe) dans votre code source, puis génère une alerte.

Les utilisateurs de GitHub Advanced Security peuvent déjà recevoir des Alertes d’analyse de secrets pour les modèles partenaires ou personnalisés trouvés dans leur code source, mais les secrets non structurés ne sont pas facilement détectables. utilise des modèles de langage volumineux (LLM) pour identifier ce type de secret.

Lorsqu’un mot de passe est détecté, une alerte s’affiche dans la liste « expérimentale » des alertes de secret scanning (sous l’onglet Sécurité du référentiel, de l’organisation ou de l’entreprise), afin que les responsables et les gestionnaires de sécurité puissent examiner l’alerte et, le cas échéant, supprimer les informations d’identification ou implémenter un correctif.

Pour utiliser la détection de secrets génériques, un propriétaire d’entreprise doit d’abord définir une stratégie au niveau de l’entreprise qui contrôle si la fonctionnalité peut être activée et désactivée pour les référentiels dans une organisation. Par défaut, cette stratégie est définie sur « autorisé ». La fonctionnalité doit ensuite être activée pour les référentiels et les organisations.

Traitement de l’entrée

L’entrée est limitée au texte (généralement au code) qu’un utilisateur a archivé dans un référentiel. Le système fournit ce texte au LLM ainsi qu’une méta-invite demandant au LLM de rechercher des mots de passe dans l’étendue de l’entrée. L’utilisateur n’interagit pas directement avec le LLM.

Le système analyse les mots de passe à l’aide du LLM. Aucune donnée supplémentaire n’est collectée par le système, si ce n’est ce qui est déjà collecté par la fonctionnalité secret scanning existante.

Sortie et affichage

Le LLM analyse les chaînes qui ressemblent à des mots de passe et vérifie que les chaînes identifiées incluses dans la réponse existent réellement dans l’entrée.

Ces chaînes détectées sont exposées en tant qu’alertes sur la page des alertes de secret scanning, mais elles sont affichées dans une liste supplémentaire distincte de celle des Alertes d’analyse de secrets classiques. L’objectif est que cette liste distincte soit triée de manière plus approfondie pour vérifier la validité des résultats. Chaque alerte note qu’elle a été détectée à l’aide de l’IA.

Amélioration des performances de détection de secrets génériques

Pour améliorer les performances de détection de secrets génériques, nous vous recommandons de fermer les fausses alertes positives de manière appropriée.

Vérifier la précision des alertes et les fermer le cas échéant

Étant donné que détection de secrets génériques de Analyse des secrets Copilot est susceptible de générer plus de faux positifs que la fonctionnalité secret scanning existante pour les modèles partenaires, il est important de passer en revue l’exactitude de ces alertes. Lorsque vous avez vérifié qu’une alerte était un faux positif, veillez à fermer l’alerte et à indiquer la raison Faux positif dans l’IU de GitHub. L’équipe de développement GitHub utilisera des informations sur le volume de faux positifs et les emplacements de détection pour améliorer le modèle. GitHub n’a pas accès aux littéraux secrets eux-mêmes.

Limitations de détection de secrets génériques

Lorsque vous utilisez détection de secrets génériques de Analyse des secrets Copilot, vous devez prendre en compte les limitations suivantes.

Étendue limitée

Actuellement, Détection de secrets génériques recherche uniquement les instances de mots de passe dans le contenu Git. Cette fonctionnalité ne recherche pas d’autres types de secrets génériques et ne recherche pas de secrets dans du contenu non Git, comme les GitHub Issues.

Risque d’alertes de faux positifs

Détection de secrets génériques peut générer davantage d’alertes de faux positifs que la fonctionnalité secret scanning existante (qui détecte les modèles partenaires et qui possède un taux très faible de faux positifs). Pour atténuer ce bruit excessif, les alertes sont regroupées dans une liste distincte de celle des alertes des modèles partenaires. Les gestionnaires de sécurité et les responsables doivent trier chaque alerte pour en vérifier la précision.

Risque de comptes-rendus incomplets

Détection de secrets génériques peut manquer des instances d’informations d’identification vérifiées dans un référentiel. Le LLM s’améliore au fil du temps. Vous avez la responsabilité ultime d’assurer la sécurité et la qualité de votre code.

Limitations prévues dans la conception

Détection de secrets génériques présente les limitations suivantes prévues dans la conception :

  • Analyse des secrets Copilot ne détecte pas les secrets qui sont manifestement faux, les mots de passe de test ou les mots de passe avec une faible entropie.
  • Analyse des secrets Copilot ne détecte qu’un maximum de 100 mots de passe par envoi (push).
  • Si cinq secrets ou plus détectés dans un seul fichier sont marqués comme faux positifs, Analyse des secrets Copilot cesse de générer de nouvelles alertes pour ce fichier.
  • Analyse des secrets Copilot ne détecte pas les secrets dans les fichiers générés ou fournisseurs.
  • Analyse des secrets Copilot ne détecte pas les secrets dans les fichiers chiffrés.
  • Analyse des secrets Copilot ne détecte pas les secrets dans les types de fichiers suivants : SVG, PNG, JPEG, CSV, TXT, SQL ou ITEM.
  • Analyse des secrets Copilot ne détecte pas les secrets dans le code de test. Analyse des secrets Copilot ignore les détections quand :
    • Le chemin d’accès au fichier contient « test », « mock » ou « spec ».
    • L’extension de fichier est .cs, .go, .java, .js, .kt, .php, .py, .rb, .scala, .swift, ou .ts.

Évaluation de détection de secrets génériques

Détection de secrets génériques a été soumise au Red Teaming en matière d’IA responsable et GitHub continuera à surveiller l’efficacité et la sécurité de la fonctionnalité au fil du temps.

Pour aller plus loin