GitHub this week announced that it has started scanning code hosted on its platform for package registry credentials, including RubyGems and PyPI secrets.
The scanning is performed via GitHub secret scanning, a service meant to identify exposed secrets in pushes to repositories. Active since 2015, the service can look for more than 70 different secret types in both public and private repositories.
The focus of the service is to keep not only open-source code secure, but also the software that relies on that code. Secrets left exposed in the code could allow malicious actors to access developer accounts and make unwanted changes to code.
Malicious modifications to open-source packages could impact millions of products, including other open source packages. Threat actors often target this supply chain to compromise an application or organization of interest.
“Scanning for supply chain secrets is important because unlike with other secrets, where exposing the secret impacts only one account, an exposed supply chain secret can potentially impact millions of downstream software applications and their users,” GitHub says.
The scanning service now looks for package registry credentials that developers use to sign into package management services.
GitHub secret scanning has started looking for RubyGems and PyPI secrets, but it also supports scanning for npm, NuGet, and Clojars secrets. In total, it can scan for potentially leaked tokens in roughly 2.3 million packages hosted by these services.
GitHub secret scanning automatically scans new commits to repositories and, if it identifies an exposed secret, it notifies the registry of the leak, for that secret to be revoked. The registry then notifies the developer of the compromised secret.