terraform.azure.security.azure-key-no-expiration-date.azure-key-no-expiration-date
semgrep
Author
unknown
Download Count*
License
Ensure that the expiration date is set on all keys
Run Locally
Run in CI
Defintion
rules:
- id: azure-key-no-expiration-date
message: Ensure that the expiration date is set on all keys
patterns:
- pattern: resource
- pattern-not-inside: |
resource "azurerm_key_vault_key" "..." {
...
expiration_date = "..."
...
}
- pattern-inside: |
resource "azurerm_key_vault_key" "..." {
...
}
metadata:
owasp:
- A03:2017 - Sensitive Data Exposure
cwe:
- "CWE-320: CWE CATEGORY: Key Management Errors"
category: security
technology:
- terraform
- azure
references:
- https://owasp.org/Top10/A02_2021-Cryptographic_Failures
subcategory:
- vuln
likelihood: LOW
impact: LOW
confidence: MEDIUM
license: Commons Clause License Condition v1.0[LGPL-2.1-only]
vulnerability_class:
- Cryptographic Issues
languages:
- hcl
severity: WARNING
Examples
azure-key-no-expiration-date.tf
# fail
# ruleid: azure-key-no-expiration-date
resource "azurerm_key_vault_key" "generated" {
name = "generated-certificate"
key_vault_id = azurerm_key_vault.example.id
key_type = "RSA"
key_size = 2048
key_opts = [
"decrypt",
"encrypt",
"sign",
"unwrapKey",
"verify",
"wrapKey",
]
}
# pass
resource "azurerm_key_vault_key" "generated" {
name = "generated-certificate"
key_vault_id = azurerm_key_vault.example.id
key_type = "RSA"
key_size = 2048
key_opts = [
"decrypt",
"encrypt",
"sign",
"unwrapKey",
"verify",
"wrapKey",
]
expiration_date = "2020-12-30T20:00:00Z"
}
Short Link: https://sg.run/J1vw