Skip to content
vetkitChecksChangelogDocumentation

vetkit.swift.deserialization.insecure-unarchiver

NSKeyedUnarchiver is used without secure coding (unarchiveObject / unarchiveTopLevelObjectWithData / requiresSecureCoding = false). A crafted archive can instantiate unexpected classes (object injection).

Last updated:

Suite: Security

swift

NSKeyedUnarchiver is used without secure coding (unarchiveObject / unarchiveTopLevelObjectWithData / requiresSecureCoding = false). A crafted archive can instantiate unexpected classes (object injection).

Category: SECURITY · Engine rule severity: WARNING

How to fix it

Use NSKeyedUnarchiver.unarchivedObject(ofClass:from:) with NSSecureCoding classes, or Codable.

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.