Skip to content
vetkitChecksChangelogDocumentation

vetkit.swift.crypto.static-iv

An IV or nonce is a constant (string literal or all-zero array). Reusing it with the same key makes CBC ciphertext predictable and breaks GCM/ChaCha confidentiality and integrity.

Last updated:

Suite: Security

swift

An IV or nonce is a constant (string literal or all-zero array). Reusing it with the same key makes CBC ciphertext predictable and breaks GCM/ChaCha confidentiality and integrity.

Category: SECURITY · Engine rule severity: WARNING

How to fix it

Generate a random IV / nonce for every message (AES.GCM.Nonce(), SecRandomCopyBytes) and store it with the ciphertext.

References

Source: packages/engine/rules/sast/swift.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.