☑️ Prevent exposed private keys in objects
Kubernetes objects may need to use secret data in their configs such as passwords/tokens/etc. Providing such sensitive data in plain-text is risky and highly unrecommended, as it can be stolen and used maliciously.
Different tools have different secrets, each with its own convention and format.
The gitleaks project aggregates such tools and stays up-to-date with their secret data format.
Targeted objects by this rule (types of
Complexity: medium ()
Policy as code identifier: ALL_EXPOSED_SECRET_PRIVATEKEY
This rule will fail
If a private key is present anywhere in the config:
KEY: -----BEGIN PRIVATE KEY-----MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAqPfgaTEWEP3S9w0t-----END PRIVATE KEY-----
Rule output in the CLI
$ datree test *.yaml
>> File: failExample.yaml
❌ Prevent exposed private keys in objects [1 occurrence]
💡 Secret data found in config - keep your sensitive data elsewhere to prevent it from being stolen
How to fix this failure
Do not put sensitive data in any config. Kubernetes offers the handy Secret object to handle this.
If you do not wish to use Secrets, take a look at these available alternatives.