Skip to content
vetkitChecksChangelogDocumentation

vetkit.go.crypto.static-iv

A cipher is initialised with a constant or all-zero IV / nonce. Reusing an IV under one key reveals plaintext relationships and, for GCM and CTR, breaks confidentiality and authenticity.

Last updated:

Suite: Security

go

A cipher is initialised with a constant or all-zero IV / nonce. Reusing an IV under one key reveals plaintext relationships and, for GCM and CTR, breaks confidentiality and authenticity.

Category: SECURITY · Engine rule severity: WARNING

How to fix it

Fill a fresh IV / nonce from crypto/rand for every message (io.ReadFull(rand.Reader, iv)) and store it next to the ciphertext.

References

Source: packages/engine/rules/sast/go.yml.

Generated from shipped rule definitions at build time. Matching is a review signal, not proof of exploitability. “generic” denotes text matching, not complete language or framework coverage. Runtime configuration and available tools affect whether a rule runs.