Skip to content
AGIACC.
Technical notes

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.