Memory safety notes
The memory safety problem
Why bounds, lifetimes, and authority matter in native software.
Background & research notes · AGIACC
Technical note. Memory safety is one part of system trustworthiness.
Bounds and lifetimes#
A spatial violation accesses memory outside the intended object. A temporal violation uses an object after its lifetime has ended. Either can corrupt data, crash a process, or create an opportunity for an attacker. The CHERIoT programmers’ guide explains these distinctions.
The significance for AI is concrete: high-level application code often depends on native parsers, runtimes, drivers, and operators. A safe language at one layer does not establish the properties of every dependency or foreign-function interface.
Choose complementary controls#
Memory-safe languages, careful interfaces, testing, compiler instrumentation, and hardware-assisted protection each offer useful tools. Existing systems need a migration strategy that accounts for compatibility and deployment constraints. Rewriting and incremental hardening can both contribute.
Memory protection does not validate model reasoning, business permissions, or the safety of a permitted action. Those properties need additional application and operational controls.
Next: Software defenses.