agmiAgent Memory Integrity GitHub

Store, measured at rest

Recallspection ExactMemory

anchor beside the store on the same disk, the default the product ships

Recallspection ExactMemory was seeded through its own API and edited behind its back nine ways. 1 edits served as genuine, 0 reported on audit, 8 rejected on read, 0 not applicable.

Measured on
exactmemory.recallspection 3.2.0 at c62ef7a
Date
Source
github.com/sciencedelicmetatech/exactmemory.recallspection
Attack versions
tamper@v1, truncate@v1, delete_middle@v1, reorder@v1, forge@v1, cross_replay@v1, rollback_replay@v1, metadata_tamper@v1, snapshot_rollback@v1

What this means

ExactMemory commits to its whole store with one MAC and gives every record a tag of its own inside it. An attacker who can write the store, but who holds neither key, cannot get a single record edit past the read path: the container MAC fails and the load refuses. What he can still do is put the whole store back to an earlier copy of itself. In this configuration the anchor holding the high-water mark sits beside the store on the same disk, so the rollback takes the anchor with it, the older store opens as current, and the newest genuine record is gone with no error. The row with the anchor moved off the store refuses that same rollback. One deployment choice separates them. The maintainer asked for this row to be published rather than the anchored one alone.

The 9 verdicts

Detection point: the read path. 8 of the nine edits were refused there, 1 served as genuine, 0 not applicable.

Level L3. What L3 means.

EditVerdictWhat the tool said
T1
Content tamper
rejecteddetected on reload (TamperError: Container MAC failed)
T2
Tail truncation
rejecteddetected on reload (TamperError: Container MAC failed)
T3
Middle deletion
rejecteddetected on reload (TamperError: Container MAC failed)
T4
Reordering
rejecteddetected on reload (TamperError: Container MAC failed)
T5
Forged insertion
rejecteddetected on reload (TamperError: Container MAC failed)
T6
Cross-context replay
rejecteddetected on reload (TamperError: Container MAC failed)
T7
Rollback replay
rejecteddetected on reload (TamperError: Container MAC failed)
T8
Metadata tamper
rejecteddetected on reload (TamperError: Container MAC failed)
T9
Snapshot rollback
acceptedthe older copy opened as current; the newest genuine record is gone without an error

Where the attacker stands

The attacker reads and writes the store directory, which here includes the anchor. He holds neither the container key nor the record keys, so he cannot forge either MAC.

Reproduce this row

Everything runs offline unless the store is a managed cloud service, in which case the row needs a project of your own. The run seeds a fresh store, applies each edit, confirms it landed, reopens the store and records what came back.

pip install agent-memory-integrity
git clone https://github.com/sciencedelicmetatech/exactmemory.recallspection
cd exactmemory.recallspection && git checkout c62ef7ada64928418a7e5d3251a6b65d005599b6
export AGMI_RECALLSPECTION_REPO=<that checkout>
python agmi/full_runner.py --json results/scorecard.json   # every row, this one included
python -m agmi.agent --target recallspection-exact --families at-rest

Badge

Maintainers can link their row from their README. The badge points here and changes nothing on your side:

[![agmi: measured](https://img.shields.io/badge/agmi-measured-0F4C5C)](https://agentmemoryintegrity.org/stores/recallspection-exact.html)

Related rows

The whole scorecard · All stores