Remarque : la détection de secret générique pour secret scanning est en phase bêta. Les fonctionnalités et la documentation sont sujettes à modification. Pendant cette phase, cette fonctionnalité est limitée à la recherche de mots de passe dans le code source.
À propos de la détection de secrets génériques de secret scanning
La détection de secrets génériques 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. La détection de secrets génériques basée sur l’intelligence artificielle utilise des modèles de langages volumineux (LLM, Large Language Model) pour identifier ce type de secret.
Lorsqu’un mot de passe est détecté, une alerte s’affiche dans la liste 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 fonctionnalité, un propriétaire d’entreprise définit une stratégie au niveau de l’entreprise qui contrôle si les référentiels peuvent activer ou désactiver la détection d’IA. Par défaut, cette stratégie est définie sur « autorisé ». La fonctionnalité doit ensuite être activée pour les référentiels et 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. Pour plus d’informations sur la façon d’afficher les alertes pour les secrets génériques, consultez « Affichage et filtrage des alertes à partir de l’analyse des secrets ».
Amélioration des performances de la détection de secrets génériques
Pour améliorer les performances de la détection de secrets génériques, nous vous recommandons de fermer les alertes de faux positifs de manière appropriée et de fournir des commentaires lorsque vous rencontrez des problèmes.
Vérifier la précision des alertes et les fermer le cas échéant
Étant donné que la détection de secrets génériques basée sur l’intelligence artificielle peut 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 la précision 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 de GitHub utilisera ces informations pour améliorer le modèle.
Fournir des commentaires
La détection de secrets génériques est actuellement en version bêta. Si vous rencontrez des problèmes ou des limites avec cette fonctionnalité, nous vous recommandons de fournir des commentaires via le bouton Envoyer des commentaires répertorié sous chaque secret détecté dans la liste des alertes du référentiel, de l’organisation ou de l’entreprise. Cela peut aider les développeurs à améliorer l’outil et à résoudre les problèmes ou les limites.
Limites de la détection de secrets génériques
Lorsque vous utilisez la détection de secrets génériques de secret scanning, vous devez prendre en compte les limites suivantes.
Étendue limitée
Actuellement, la détection de secrets génériques basée sur l’intelligence artificielle 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
La détection de secrets génériques basée sur l’intelligence artificielle 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
La détection de secrets génériques basée sur l’intelligence artificielle peut manquer des instances d’informations d’identification archivé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.
Évaluation de la détection de secrets génériques
La 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.
Étapes suivantes
- Activation de la détection de secrets génériques basée sur l’intelligence artificielle
- Gestion des alertes à partir de l’analyse des secrets