Skip to main content

Modèles d'analyse des secrets

Listes des secrets pris en charge et des partenaires avec lesquels GitHub travaille pour empêcher l'utilisation frauduleuse de secrets commités accidentellement.

Qui peut utiliser cette fonctionnalité ?

Alertes d’analyse des secrets pour les partenaires s’exécute automatiquement sur les référentiels publics et les packages npm publiques pour informer les fournisseurs de services des fuites de secrets sur GitHub.com.

Les Alertes d’analyse des secrets pour les utilisateurs sont disponibles gratuitement sur tous les dépôts publics appartenant à l’utilisateur. Les organisations qui utilisent GitHub Enterprise Cloud avec une licence pour GitHub Advanced Security peuvent également activer alertes d’analyse des secrets pour les utilisateurs sur leurs dépôts privés et internes. De plus, alertes d’analyse des secrets pour les utilisateurs sont disponibles et en version bêta sur les référentiels appartenant à l’utilisateur pour GitHub Enterprise Cloud avec Enterprise Managed Users. Pour plus d’informations, consultez « À propos de l’analyse des secrets » et « À propos de GitHub Advanced Security ».

Pour plus d’informations sur la façon dont vous pouvez essayer GitHub Advanced Security gratuitement, consultez « Configuration d’un essai de GitHub Advanced Security ».

À propos des modèles d'secret scanning

GitHub Enterprise Cloud gère ces différents jeux de modèles d'secret scanning par défaut :

  1. Modèles de partenaires. Utilisés pour détecter les secrets potentiels dans tous les dépôts publics et les packages npm publics. Pour en savoir plus sur notre programme de partenariat, consultez « Programme de partenariat d’analyse des secrets ».

  2. Modèles d'alerte utilisateur. Utilisés pour détecter les secrets potentiels dans les référentiels avec les alertes d’analyse des secrets pour les utilisateurs activées.

  3. Modèles de protection des poussées. Utilisés pour détecter les secrets potentiels dans les dépôts avec l'secret scanning en tant que protection des poussées.

Pour plus d'informations sur tous les modèles pris en charge, consultez la section « Secrets pris en charge » ci-dessous.

Si vous pensez que secret scanning doit avoir détecté un secret commité dans votre dépôt, mais qu'il ne l'a pas fait, vous devez d'abord vérifier que GitHub prend en charge votre secret. Pour plus d'informations, consultez les sections ci-dessous. Pour plus d'informations sur la résolution des problèmes, consultez « Résolution des problèmes d’analyse des secrets ».

À propos des alertes de partenaire

Les alertes de partenaire sont des alertes qui sont envoyées aux fournisseurs de secrets chaque fois qu'une fuite de secrets est signalée pour l'un de leurs secrets. GitHub Enterprise Cloud analyse actuellement les secrets émis par des fournisseurs de services spécifiques dans les dépôts publics et les packages npm publics, et alerte le fournisseur de services approprié chaque fois qu'un secret est détecté dans un commit. Pour plus d'informations sur les alertes d’analyse des secrets pour les partenaires, consultez « À propos de l’analyse des secrets ».

Si l’accès à une ressource nécessite des informations d’identification jumelées, l’analyse des secrets crée une alerte uniquement lorsque les deux composants de la paire sont détectées dans le même fichier. De cette façon, les fuites les plus critiques ne sont pas masquées derrière des informations sur des fuites partielles. La création de paires permet également de réduire les faux positifs, car les deux éléments d’une paire doivent être utilisés ensemble pour accéder à la ressource du fournisseur.

À propos des alertes utilisateur

Les alertes utilisateur sont des alertes qui sont signalées aux utilisateurs sur GitHub. Quand les alertes d’analyse des secrets pour les utilisateurs sont activées, GitHub analyse les dépôts à la recherche de secrets émis par un large éventail de fournisseurs de services et génère des Alertes d’analyse de secrets.

Vous pouvez voir ces alertes sous l'onglet Sécurité du dépôt. Pour plus d'informations sur les alertes d’analyse des secrets pour les utilisateurs, consultez « À propos de l’analyse des secrets ».

Si l’accès à une ressource nécessite des informations d’identification jumelées, l’analyse des secrets crée une alerte uniquement lorsque les deux composants de la paire sont détectées dans le même fichier. De cette façon, les fuites les plus critiques ne sont pas masquées derrière des informations sur des fuites partielles. La création de paires permet également de réduire les faux positifs, car les deux éléments d’une paire doivent être utilisés ensemble pour accéder à la ressource du fournisseur.

Si vous utilisez l'API REST pour l'analyse des secrets, vous pouvez utiliser le Secret type pour signaler des secrets à partir d'émetteurs spécifiques. Pour plus d'informations, consultez « Points de terminaison d’API REST pour l’analyse de secrets ».

Remarque : Vous pouvez également définir des modèles d'secret scanning pour votre dépôt, votre organisation ou votre entreprise. Pour plus d'informations, consultez « Définition de modèles personnalisés pour l’analyse des secrets ».

À propos des alertes de protection des poussées

Les alertes de protection des poussées sont des alertes utilisateur qui sont signalées par la protection des poussées. L'Secret scanning en tant que protection des poussées vérifie si les dépôts contiennent des secrets émis par des fournisseurs de services.

Les alertes de protection push ne sont pas créées pour les secrets qui sont contournés avec la protection push basée sur l'utilisateur uniquement. Pour plus d'informations, consultez « Protection par émission de données pour les utilisateurs ».

Si l’accès à une ressource nécessite des informations d’identification jumelées, l’analyse des secrets crée une alerte uniquement lorsque les deux composants de la paire sont détectées dans le même fichier. De cette façon, les fuites les plus critiques ne sont pas masquées derrière des informations sur des fuites partielles. La création de paires permet également de réduire les faux positifs, car les deux éléments d’une paire doivent être utilisés ensemble pour accéder à la ressource du fournisseur.

Les versions antérieures de certains jetons peuvent ne pas être prises en charge par la protection des poussées, car ces jetons peuvent générer un nombre plus élevé de faux positifs que leur version la plus récente. La protection des poussées peut également ne pas s’appliquer aux jetons hérités. Pour les jetons tels que les clés de stockage Azure, GitHub prend uniquement en charge les jetons récemment créés, pas les jetons qui correspondent aux modèles hérités. Pour plus d'informations sur les limitations de la protection des poussées, consultez « Résolution des problèmes d’analyse des secrets ».

Secrets pris en charge

Ce tableau répertorie les secrets pris en charge par l'secret scanning. Vous pouvez voir les types d'alerte qui sont générés pour chaque jeton, ainsi que si une vérification de validité est effectuée sur le jeton.

  • Fournisseur : nom du fournisseur de jetons.

  • Partenaire — jeton pour lequel les fuites sont signalées au partenaire de jeton approprié. S'applique uniquement aux dépôts publics.

  • Utilisateur : jeton pour lequel les fuites sont signalées aux utilisateurs sur GitHub.

    • S'applique aux référentiels publics et aux référentiels privés où GitHub Advanced Security, secret scanning.
    • Inclut des jetons à haut niveau de confiance, qui sont liés aux modèles pris en charge et aux modèles personnalisés spécifiés, ainsi qu'aux jetons non fournisseurs tels que les clés privées, qui ont généralement un ratio plus élevé de faux positifs.
    • Pour que secret scanning recherche des modèles non fournisseurs, la détection des modèles non-fournisseurs doit être activée pour le référentiel ou l'organisation. Pour plus d'informations, consultez « Configuration de l’analyse des secrets pour vos dépôts ».

    Remarque : La détection des modèles non fournisseurs est actuellement en version bêta et susceptible de changer.

  • Vérification de validité — jeton pour lequel une vérification de validité est implémentée. Pour les jetons partenaires, GitHub envoie le jeton au partenaire concerné. Notez que tous les partenaires ne sont pas basés aux États-Unis. Pour plus d'informations, reportez-vous à « Advanced Security » dans la documentation de la politique du site.

Modèles non fournisseurs

Remarque : La détection des modèles non fournisseurs est actuellement en version bêta et susceptible de changer.

FournisseurJeton
Génériquehttp_basic_authentication_header
Génériquehttp_bearer_authentication_header
Génériquemongodb_connection_string
Génériquemysql_connection_string
Génériqueopenssh_private_key
Génériquepgp_private_key
Génériquepostgres_connection_string
Génériquersa_private_key

La protection push et la validité des cases activées ne sont pas prises en charge pour les modèles non fournisseurs.

Modèles de confiance élevée

FournisseurJetonPartenaireUtilisateurProtection des pousséesVérification de validité
Adafruit IOadafruit_io_key
Adobeadobe_client_secret
Adobeadobe_device_token
Adobeadobe_pac_token
Adobeadobe_refresh_token
Adobeadobe_service_token
Adobeadobe_short_lived_access_token
Aivenaiven_auth_token
Aivenaiven_service_password
Alibaba Cloudalibaba_cloud_access_key_id
alibaba_cloud_access_key_secret
Login with Amazonamazon_oauth_client_id
amazon_oauth_client_secret
Amazon Web Services (AWS)aws_access_key_id
aws_secret_access_key
Amazon Web Services (AWS)aws_session_token
aws_temporary_access_key_id
aws_secret_access_key
Anthropicanthropic_api_key
Asanaasana_personal_access_token
Atlassianatlassian_api_token
Atlassianatlassian_jwt
Atlassianbitbucket_server_personal_access_token
Authressauthress_service_client_access_key
Azureazure_active_directory_application_secret
Azureazure_batch_key_identifiable
Azureazure_cache_for_redis_access_key
Azureazure_container_registry_key_identifiable
Azureazure_cosmosdb_key_identifiable
Azureazure_devops_personal_access_token
Azureazure_function_key
Azureazure_ml_web_service_classic_identifiable_key
Azureazure_sas_token
Azureazure_search_admin_key
Azureazure_search_query_key
Azureazure_management_certificate
Azureazure_sql_connection_string
Azureazure_sql_password
Azureazure_storage_account_key
Baidubaiducloud_api_accesskey
Beamerbeamer_api_key
Beijing Volcano Engine Technologyvolcengine_access_key_id
Canadian Digital Servicecds_canada_notify_api_key
Canvacanva_connect_api_secret
CashfreeCashfree API Key
Checkout.comcheckout_production_secret_key
Checkout.comcheckout_test_secret_key
Chief Toolschief_tools_token
CircleCIcircleci-pat
CircleCIcircleci-prj
Clojarsclojars_deploy_token
CloudBees CodeShipcodeship_credential
Contentfulcontentful_personal_access_token
Contributed SystemsCONTRIBUTED_SYSTEMS_CREDENTIALS
crates.io (Rust Foundation)cratesio_api_token
Databricksdatabricks_access_token
DatadogDATADOG_API_KEY
Defineddefined_networking_nebula_api_key
DevCycledevcycle_client_api_key
DevCycledevcycle_mobile_api_key
DevCycledevcycle_server_api_key
DigitalOceandigitalocean_oauth_token
DigitalOceandigitalocean_personal_access_token
DigitalOceandigitalocean_refresh_token
DigitalOceandigitalocean_system_token
Discorddiscord_api_token_v2
Discorddiscord_bot_token
Dockerdocker_personal_access_token
Dopplerdoppler_audit_token
Dopplerdoppler_cli_token
Dopplerdoppler_personal_token
Dopplerdoppler_scim_token
Dopplerdoppler_service_token
Dopplerdoppler_service_account_token
Dropboxdropbox_access_token
Dropboxdropbox_short_lived_access_token
Duffelduffel_live_access_token
Duffelduffel_test_access_token
Dynatracedynatrace_access_token
Dynatracedynatrace_internal_token
EasyPosteasypost_production_api_key
EasyPosteasypost_test_api_key
eBayebay_production_client_id
ebay_production_client_secret
eBayebay_sandbox_client_id
ebay_sandbox_client_secret
Fastlyfastly_api_token
Figmafigma_pat
Finicityfinicity_app_key
Flutterwaveflutterwave_live_api_secret_key
Flutterwaveflutterwave_test_api_secret_key
Frame.ioframeio_developer_token
Frame.ioframeio_jwt
FullStoryfullstory_api_key
GitHubgithub_app_installation_access_token
GitHubgithub_oauth_access_token
GitHubgithub_personal_access_token
GitHubgithub_refresh_token
GitHubgithub_ssh_private_key
GitLabgitlab_access_token
GoCardlessgocardless_live_access_token
GoCardlessgocardless_sandbox_access_token
Googlefirebase_cloud_messaging_server_key
Googlegoogle_cloud_storage_service_account_access_key_id
google_cloud_storage_access_key_secret
Googlegoogle_cloud_storage_user_access_key_id
google_cloud_storage_access_key_secret
Googlegoogle_oauth_access_token
Googlegoogle_oauth_client_id
google_oauth_client_secret
Googlegoogle_oauth_refresh_token
Google Cloudgoogle_api_key
Google Cloudgoogle_cloud_private_key_id
Grafanagrafana_cloud_api_key
Grafanagrafana_cloud_api_token
Grafanagrafana_project_api_key
Grafanagrafana_project_service_account_token
HashiCorphashicorp_vault_batch_token
HashiCorphashicorp_vault_root_service_token
HashiCorphashicorp_vault_service_token
Hashicorp Terraformterraform_api_token
Highnotehighnote_rk_live_key
Highnotehighnote_rk_test_key
Highnotehighnote_sk_live_key
Highnotehighnote_sk_test_key
Hophop_bearer
Hophop_pat
Hophop_ptk
Hubspothubspot_api_key
Hubspothubspot_api_personal_access_key
Intercomintercom_access_token
Ionicionic_personal_access_token
Ionicionic_refresh_token
JD Cloudjd_cloud_access_key
JFrogjfrog_platform_access_token
JFrogjfrog_platform_api_key
JFrogjfrog_platform_reference_token
Lightspeedlightspeed-xs-pat
Linearlinear_api_key
Linearlinear_oauth_access_token
Loblob_live_api_key
Loblob_test_api_key
LocalStacklocalstack_api_key
LogicMonitorlogicmonitor_bearer_token
LogicMonitorlogicmonitor_lmv1_access_key
Mailchimpmailchimp_api_key
MailchimpMANDRILL_API
Mailgunmailgun_api_key
Mapboxmapbox_secret_access_token
Maxmindmaxmind_license_key
Mercurymercury_non_production_api_token
Mercurymercury_production_api_token
Mergifymergify_application_key
MessageBirdmessagebird_api_key
Metafacebook_access_token
Midtransmidtrans_production_server_key
Midtransmidtrans_sandbox_server_key
New Relicnew_relic_insights_query_key
New Relicnew_relic_license_key
New Relicnew_relic_personal_api_key
New Relicnew_relic_rest_api_key
Notionnotion_integration_token
Notionnotion_oauth_client_secret
npmnpm_access_token
NuGetnuget_api_key
Octopus Deployoctopus_deploy_api_key
Oculusoculus_very_tiny_encrypted_session
OneChronosonechronos_api_key
OneChronosonechronos_eb_api_key
OneChronosonechronos_eb_encryption_key
OneChronosonechronos_oauth_token
OneChronosonechronos_refresh_token
Onfidoonfido_live_api_token
Onfidoonfido_sandbox_api_token
OpenAIopenai_api_key
OpenAIopenai_api_key_v2
Palantirpalantir_jwt
Personapersona_production_api_key
Personapersona_sandbox_api_key
Pinterestpinterest_access_token
Pinterestpinterest_refresh_token
PlanetScaleplanetscale_database_password
PlanetScaleplanetscale_oauth_token
PlanetScaleplanetscale_service_token
Plivoplivo_auth_id
plivo_auth_token
Postmanpostman_api_key
Postmanpostman_collection_key
Prefectprefect_server_api_key
Prefectprefect_user_api_key
PrefectPREFECT_USER_API_TOKEN
Proctorioproctorio_consumer_key
Proctorioproctorio_linkage_key
Proctorioproctorio_registration_key
Proctorioproctorio_secret_key
Pulumipulumi_access_token
PyPIpypi_api_token
ReadMereadmeio_api_access_token
redirect.pizzaredirect_pizza_api_token
Rootlyrootly_api_key
RubyGemsrubygems_api_key
Samsarasamsara_api_token
Samsarasamsara_oauth_access_token
Segmentsegment_public_api_token
SendGridsendgrid_api_key
Sendinbluesendinblue_api_key
Sendinbluesendinblue_smtp_key
Shipposhippo_live_api_token
Shipposhippo_test_api_token
Shopifyshopify_access_token
Shopifyshopify_app_client_credentials
Shopifyshopify_app_client_secret
Shopifyshopify_app_shared_secret
Shopifyshopify_custom_app_access_token
Shopifyshopify_marketplace_token
Shopifyshopify_merchant_token
Shopifyshopify_partner_api_token
Shopifyshopify_private_app_password
Siemenscode_siemens_com_token
Slackslack_api_token
Slackslack_incoming_webhook_url
Slackslack_workflow_webhook_url
Squaresquare_access_token
Squaresquare_production_application_secret
Squaresquare_sandbox_application_secret
SSLMatesslmate_api_key
SSLMatesslmate_cluster_secret
Stripestripe_live_restricted_key
Stripestripe_api_key
Stripestripe_legacy_api_key
Stripestripe_test_restricted_key
Stripestripe_test_secret_key
Stripestripe_webhook_signing_secret
Supabasesupabase_service_key
Tableautableau_personal_access_token
Telegramtelegram_bot_token
Telnyxtelnyx_api_v2_key
Tencent Cloudtencent_cloud_secret_id
Tencent WeChattencent_wechat_api_app_id
Twiliotwilio_access_token
Twiliotwilio_account_sid
Twiliotwilio_api_key
Typeformtypeform_personal_access_token
Uniwisewiseflow_api_key
WakaTimewakatime_pp_secret
WakaTimewakatime_oauth_access_token
WakaTimewakatime_oauth_refresh_token
Workatoworkato_developer_api_token
WorkOSworkos_production_api_key
WorkOSworkos_staging_api_key
Yandexyandex_iam_access_secret
Yandexyandex_cloud_api_key
Yandexyandex_cloud_iam_cookie
Yandexyandex_cloud_iam_token
Yandexyandex_cloud_smartcaptcha_server_key
Yandexyandex_dictionary_api_key
YandexYANDEX_PASSPORT_OAUTH_TOKEN
Yandexyandex_predictor_api_key
Yandexyandex_translate_api_key
Zuplozuplo_consumer_api_key

Pour aller plus loin