Back homeAdversarial audit · quarterly

Public validation report

False-Positive Validation Report

RedInkAI ships a pytest adversarial suite that attacks its own hash-chain, timestamps, trail lock, source labels, cross-user access, and public verification endpoints. The suite runs against the live production API on a 90-day cadence. This page publishes the latest result verbatim.

“False-Positive Validation” means the test suite proves that a specific class of tampering would be caught by the platform — i.e. the audit chain would produce a true positive, not a false negative. Every pass is one attack the system detected.

All attacks caught

22 / 22 adversarial tests passed

ran 25 days ago · duration 57s

Report ID: 1f3807c0…
Ran: Aug 2, 2026
Trigger: scheduler
Next run: Oct 31, 2026
Cadence: every 90 days

Category rollups

Each category corresponds to a distinct class of attack. A pass means the platform correctly rejected, detected, or contained the attack. A fail means we owe the community a fix and a follow-up post-mortem.

TestPromptInjection

Prompt Injection

4 passed
total 4

TestHashChainTampering

Hash Chain Tampering

3 passed
total 3

TestTimestampSpoofing

Timestamp Spoofing

2 passed
total 2

TestTrailLockBypass

Trail Lock Bypass

3 passed
total 3

TestSourceLabelManipulation

Source Label Manipulation

2 passed
total 2

TestCrossUserAccess

Cross-User Access

6 passed
total 6

TestPublicEndpointSecurity

Public Endpoint Leak Prevention

2 passed
total 2

Methodology & source

The test suite lives at backend/tests/test_adversarial.py and covers seven attack surfaces:

  • Prompt Injection — malicious prompts cannot corrupt the AI-vs-human source label or bypass system-prompt constraints.
  • Hash Chain Tampering — every event links to the previous via SHA-256; a broken chain is publicly detectable at /verify/{id}/recompute.
  • Timestamp Spoofing — client-supplied timestamps are rejected; server timestamps are the only source of truth.
  • Trail Lock Bypass — after a session is closed, no further events can be written to that project’s trail.
  • Source Label Manipulation — guidance events are always labeled source=ai; manuscript events are always source=human.
  • Cross-User Access — one authenticated user cannot read, write, close, or export another user’s project or trail.
  • Public Endpoint Security — public verification endpoints never leak manuscript content, AI responses, or prompts.

Want to run the suite yourself against your own attestation?

Results are stored in the adversarial_reports collection. Report body is public; stderr and internal URLs are redacted.