Insights into Hardcoded Secrets and Keys in Corporate Repositories
June 21, 2022

Moshe Zioni
Apiiro

Corporations can spend millions to install effective cybersecurity infrastructure, but what they might fail to notice is that vulnerabilities could be hiding in plain sight in developer repositories. To make database connections, calls to APIs, and many other functions more convenient, developers will often hardcode various credentials, keys, and secrets into a configuration file, or sometimes directly into a function itself. While this practice makes it convenient for developers, it opens up a myriad of vulnerabilities and cybersecurity challenges.

Our recent research dove deep into over 25,000 repositories, almost 2 million commits, and 820,000 pull requests. The results give in-depth insights into the growing issue of hardcoded secrets. Hardcoded secrets can be usernames and passwords, access tokens, API keys, private keys in public-private encryption, and any other authentication or authorization secrets that lets the application execute functionality specific to a corporate account. In the report we came up with, over 45,000 secrets were found and analyzed. The results show that many organizations are unaware that the "keys to their kingdom" are publicly available, leaving them vulnerable to unauthorized access to infrastructure and sensitive data.

The report separates encrypted and encoded secrets from "exposed" secrets. Exposed secrets are categorized as those disclosed without encryption. These secrets, when stolen, are the most dangerous to an organization, because they can be used without any other effort, such as brute forcing weak encryption or performing dictionary attacks on encoded secrets.

Even more concerning, for every 1,000 repositories with exposed secrets, 7 of them were publicly available to anyone on the internet. Of all repositories with secrets, 38.15% of them were in repositories that work with Personally Identifiable Information (PII), leaving these organizations open to compliance violations and critical data theft.


A surprising insight drawn from the analysis is that corporations experience a seasonal cadence to secrets creeping into code bases, which might correlate with their efforts of periodic rotations of secrets across the board or, alternatively, engineering cadence, ramp up and churn.

With a high-performance development and DevOps environment, it’s not unusual for secrets to slip into repositories during rapid deployment. Speed and convenience are often the nemesis of good cybersecurity, but you can fit security into automated deployment procedures. With only one repository, it can be easy to spot a mistake, but enterprise development involves potentially thousands of repositories. Even with numerous repositories, you can automatically discover and remediate hardcoded secrets with the right tools.

Here are a few practical ways you can remediate secrets in code now without interrupting and impeding current development operations:

1. Always scan for new and existing hardcoded secrets

If you remove every secret today, a developer could accidentally deploy a configuration file with stored secrets tomorrow. You need tools in place that continually scan and discover any sensitive information before developers deploy files to a production environment. A good scanning tool will discover, categorize and classify files with hardcoded secrets to make it easier for DevOps to prioritize remediation.

2. Prioritize remediation based on risk

Not every vulnerability is created the same, and hardcoded secrets are no different. Hardcoded secrets to your AWS dashboard have a much higher impact on corporate security than secrets used to read non-sensitive data. Collaboration at this step is critical to create a remediation plan that prioritizes the most vulnerable infrastructure.

3. Rotate keys and revoke any exposed secrets

As you refactor code and remove hardcoded secrets, you should revoke any passwords and keys found in your repositories. For all you know, your sensitive data was already discovered by an attacker, indexed in search engines, or saved for later use. Rotation of keys is also important to reduce the window of opportunity for an attacker should they obtain access to secrets in the future.

4. Educate and train developers

Developers don’t think like hackers, so they need training on the myriad of ways that certain code architecture and structure can leave an application vulnerable to attacks, including hardcoded secrets in configuration files and directly embedded in functions. They might also need help working with preferred ways of storing keys, such as using environment variables.

5. Add new security to code procedures

Every organization has their own rules to code performance, but they all have commits and pull requests in a team environment. The right tools will scan and alert developers of hardcoded secrets during a commit, or it will block a developer from merging code with hardcoded security during a pull request. These two safeguards put you into a "shift left" approach to cybersecurity to protect from disclosing secrets in production.

Conclusion: Taking a Shift Left Approach to Code Deployment Reduces Risk of a Compromise

As more corporate developers deploy hardcoded secrets into public repositories, organizations must put the right safeguards in place. Our research shows the need for more implementation of automation tools to catch these issues before attackers discover them. You can better protect your data, your infrastructure, and greatly reduce risk by implementing automation that supports a shift left approach to DevOps cybersecurity.

Moshe Zioni is VP Security Research at Apiiro
Share this

Industry News

May 02, 2024

Parasoft announces the opening of its new office in Northeast Ohio.

May 02, 2024

Postman released v11, a significant update that speeds up development by reducing collaboration friction on APIs.

May 02, 2024

Sysdig announced the launch of the company’s Runtime Insights Partner Ecosystem, recognizing the leading security solutions that combine with Sysdig to help customers prioritize and respond to critical security risks.

May 02, 2024

Nokod Security announced the general availability of the Nokod Security Platform.

May 02, 2024

Drata has acquired oak9, a cloud native security platform, and released a new capability in beta to seamlessly bring continuous compliance into the software development lifecycle.

May 01, 2024

Amazon Web Services (AWS) announced the general availability of Amazon Q, a generative artificial intelligence (AI)-powered assistant for accelerating software development and leveraging companies’ internal data.

May 01, 2024

Red Hat announced the general availability of Red Hat Enterprise Linux 9.4, the latest version of the enterprise Linux platform.

May 01, 2024

ActiveState unveiled Get Current, Stay Current (GCSC) – a continuous code refactoring service that deals with breaking changes so enterprises can stay current with the pace of open source.

May 01, 2024

Lineaje released Open-Source Manager (OSM), a solution to bring transparency to open-source software components in applications and proactively manage and mitigate associated risks.

May 01, 2024

Synopsys announced the availability of Polaris Assist, an AI-powered application security assistant on the Synopsys Polaris Software Integrity Platform®.

April 30, 2024

Backslash Security announced the findings of its GPT-4 developer simulation exercise, designed and conducted by the Backslash Research Team, to identify security issues associated with LLM-generated code. The Backslash platform offers several core capabilities that address growing security concerns around AI-generated code, including open source code reachability analysis and phantom package visibility capabilities.

April 30, 2024

Azul announced that Azul Intelligence Cloud, Azul’s cloud analytics solution -- which provides actionable intelligence from production Java runtime data to dramatically boost developer productivity -- now supports Oracle JDK and any OpenJDK-based JVM (Java Virtual Machine) from any vendor or distribution.

April 30, 2024

F5 announced new security offerings: F5 Distributed Cloud Services Web Application Scanning, BIG-IP Next Web Application Firewall (WAF), and NGINX App Protect for open source deployments.

April 29, 2024

Code Intelligence announced a new feature to CI Sense, a scalable fuzzing platform for continuous testing.

April 29, 2024

WSO2 is adding new capabilities for WSO2 API Manager, WSO2 API Platform for Kubernetes (WSO2 APK), and WSO2 Micro Integrator.