Secrets are the credentials software uses
Applications need credentials to do their work: database passwords, API keys, encryption keys, tokens for third-party services. These are collectively called secrets. Their most common failure mode is not that they are stolen. It is that they are pasted into source code and committed to a repository, where they remain accessible long after they should have been rotated.
Public code repositories are continuously scanned for secrets. A key committed by mistake is typically found within minutes, and the compromise begins immediately.
What good secret management looks like
- Secrets stored in a dedicated vault, not in configuration files or environment variables checked into source
- Applications retrieve secrets at runtime through authenticated calls
- Automatic scanning of commits before they reach shared branches, blocking obvious secrets
- Short-lived credentials where the technology supports them, so the value of a leak decays
- Rotation on a defined schedule, and immediately on suspected exposure
Container security in short
Containers package an application and its dependencies together, making deployment predictable. The consequence is that the container ships with more than the application: an operating system layer, package managers, utilities that may not be needed. Each of those inherits its own vulnerabilities.
The practical baseline for container security is unglamorous:
- Start from minimal base images, so there is less to secure
- Scan images for known vulnerabilities before they run in production, and periodically after
- Do not run containers as root unless there is a reason that survives review
- Sign images so the runtime can verify what it is starting
- Restrict what containers can reach at the network and filesystem level
Where these meet
The most common way containers leak secrets is by baking them into images at build time, then pushing the image to a registry others can pull. The fix is not more scanning; it is not having done it in the first place. Injecting secrets at runtime, from a vault, avoids the class of mistake entirely.
Related in the Knowledge Base
- Software Bill of Materials (SBOM) and Pipeline Security
- IAM and PAM: Controlling Who Can Reach What
- Confidential Computing: Protecting Data While It Is In Use
Know what an attacker sees before they do.
A practical exposure checklist covering the gaps that cause most breaches, plus what POPIA actually requires you to have in place.
Free PDF · No spam · Unsubscribe anytime