fai-terraform-module-scaffold — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited fai-terraform-module-scaffold (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Create reusable Terraform modules with validation, outputs, and testing.
modules/storage-account/
├── main.tf # Resource definitions
├── variables.tf # Input variables with validation
├── outputs.tf # Typed outputs
├── versions.tf # Provider constraints
├── examples/
│ └── basic/
│ └── main.tf # Usage example
├── tests/
│ └── basic.tftest.hcl
└── README.mdvariable "name" {
type = string
description = "Storage account name"
validation {
condition = can(regex("^[a-z0-9]{3,24}$", var.name))
error_message = "Must be 3-24 lowercase alphanumeric characters."
}
}
variable "location" {
type = string
default = "eastus2"
}
variable "sku" {
type = string
default = "Standard_ZRS"
validation {
condition = contains(["Standard_LRS", "Standard_ZRS", "Standard_GRS"], var.sku)
error_message = "Must be Standard_LRS, Standard_ZRS, or Standard_GRS."
}
}resource "azurerm_storage_account" "this" {
name = var.name
resource_group_name = var.resource_group_name
location = var.location
account_tier = "Standard"
account_replication_type = replace(var.sku, "Standard_", "")
min_tls_version = "TLS1_2"
shared_access_key_enabled = false
identity { type = "SystemAssigned" }
}output "id" { value = azurerm_storage_account.this.id }
output "name" { value = azurerm_storage_account.this.name }
output "principal_id" { value = azurerm_storage_account.this.identity[0].principal_id }run "secure_defaults" {
command = plan
variables { name = "sttest001"; resource_group_name = "rg-test" }
assert {
condition = azurerm_storage_account.this.min_tls_version == "TLS1_2"
error_message = "TLS must be 1.2"
}
}terraform test| Issue | Cause | Fix |
|---|---|---|
| Validation error | Input doesn't match constraint | Check regex in variables.tf |
| Module not found | Wrong source path | Use relative ../modules/ or registry URL |
| State conflict | Multiple users | Use remote backend with locking |
| Output missing | Not declared | Add output block in outputs.tf |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.