Store, measured at rest
Recallspection ExactMemory, anchored
anchor off the store, on a separate volume or a remote service
Recallspection ExactMemory, anchored was seeded through its own API and edited behind its back nine ways. 0 edits served as genuine, 0 reported on audit, 9 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
The same store as the row above, with the anchor moved off the disk the attacker can write. The eight record edits are refused exactly as before, by the container MAC. The whole-store rollback is now refused too, and by a different check: the anchor has seen a later version than the store carries, so the load raises a rollback error rather than a tamper error. Keeping those two apart is the point of the row. It is one of the first two rows on this board to reach L4, where a rollback of the whole store to an older genuine copy is refused on the read path.
The 9 verdicts
Detection point: the read path. 9 of the nine edits were refused there, 0 served as genuine, 0 not applicable.
Level L4. What L4 means.
| Edit | Verdict | What the tool said |
|---|---|---|
| T1 Content tamper | rejected | detected on reload (TamperError: Container MAC failed) |
| T2 Tail truncation | rejected | detected on reload (TamperError: Container MAC failed) |
| T3 Middle deletion | rejected | detected on reload (TamperError: Container MAC failed) |
| T4 Reordering | rejected | detected on reload (TamperError: Container MAC failed) |
| T5 Forged insertion | rejected | detected on reload (TamperError: Container MAC failed) |
| T6 Cross-context replay | rejected | detected on reload (TamperError: Container MAC failed) |
| T7 Rollback replay | rejected | detected on reload (TamperError: Container MAC failed) |
| T8 Metadata tamper | rejected | detected on reload (TamperError: Container MAC failed) |
| T9 Snapshot rollback | rejected | the store noticed it was older than its last committed state (RollbackError: Log rollback vs remote anchor: log 5 < remote 6) |
Where the attacker stands
The attacker reads and writes the store. He cannot reach the anchor, which lives on a separate volume or a remote service. If the anchor sits on the same disk, that is the row above, and it is the configuration the product ships by default.
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+anchor --families at-rest
Badge
Maintainers can link their row from their README. The badge points here and changes nothing on your side:
[](https://agentmemoryintegrity.org/stores/recallspection-exact-anchor.html)