Individual skill
iac-security
Terraform, CloudFormation, and Pulumi hardening: state as a secret store, pinned providers and modules, encryption and network defaults, drift, and the privilege of the pipeline that applies the plan. Use when generating infrastructure code, reviewing IaC changes in a pull request, configuring a state backend, or setting up a new cloud account or workspace.
skills/iac-security/SKILL.md
Source commit eaba88102d91df65a9aa6397e8507c315c018f5e
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Instructions only
- Last checked
- Nov 6, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
Standard SKILL.md format has not been attested at this commit. No installation command is available; inspect the source.
Repository context
- Repository stars (not skill ratings)
- 23
- Repository last updated
- Aug 14, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- claude-skills Repository topic
- llm Repository topic
- security Repository topic
- skills Repository topic
- devops Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 7,143 bytesSKILL.mdcore · 7,143 bytesSKILL.mdcore · 7,143 bytesSKILL.mdcore · 7,143 bytesSKILL.mdcore · 7,143 byteschecklists/cloudformation_hardening.yamlasset · 1,625 byteschecklists/terraform_hardening.yamlasset · 3,354 bytesreferences/backends-and-state.mddoc · 4,291 bytesreferences/verifying-findings.mddoc · 3,440 bytestests/corpus.jsonasset · 5,089 bytes
Read excerpt
# Infrastructure-as-Code Security
## Rules (for AI agents)
### ALWAYS
- Treat the **state file as a secret store**. Every value that passes through
Terraform — a generated password, an RDS master credential, a private key, the
contents of a data source — is written to state in plaintext. `sensitive = true`
only hides a value from CLI output; it changes nothing about what is stored. So
read access to the backend is read access to those secrets, and the backend's
access policy has to be written on that basis.
- Configure a **remote backend** with encryption at rest, state locking, and
versioning. Prefer the backend's own locking where it exists — recent Terraform
supports S3-native locking, so a separate DynamoDB lock table is no longer required