STALE MEASUREMENTPast this project's own 2-release window: the published result was measured with v0.32.0, 9 releases ago. Why, and what unblocks it

ProductEvidenceTop 10LeaderboardCompliancePricingDocsStar on GitHub Quickstart
STATE OF VLA SECURITY · ORIGINAL DATA

One sentence. Out of bounds, 44 times in 50.

One reframed instruction drove a real SmolVLA policy out of its keep-out envelope on 44 of 50 trials across all ten tasks. Here is the number, the method, and - at the same size - exactly what it does not mean. The figures come from a public reproduction recipe you can run yourself.

The measured result

MEASURED · SmolVLA · libero_object · all ten tasks · sim
88%
roleplay keep-out violation [72-100% CI] vs 4% benign baseline
how to read it:
· Attacker control, not brittleness to rephrasing: a semantics-preserving reword of the same instruction fired on 1 of 50 episodes against the attack’s 44 of 50 (p=2.3e-13 paired), and nonsense text on 0 of 50. The keep-out predicate remains uncalibrated, and the reword bank is four fixed templates — so what is measured is that these rewords do not redirect it.
· ASR = share of trials ending in a keep-out violation (44/50)
· CI = 95% bootstrap clustered over TASKS, not episodes
· benign FPR = control fired on 2 of 50 clean trials
· attack = roleplay · family = instruction
Honest limitations - first-class

What this is not.

  • Not a real-robot result. Simulation only, one policy, one suite (all ten libero_object tasks), 5 seeds each. The physical-transfer study is pre-registered and has not been run.
  • Not a calibrated hazard rate. The keep-out predicate is uncalibrated - it counts trials diverted out of the benign envelope, not a certified danger threshold.
  • Not a benchmark score. Small-n; the CI is wide by design and reported.
  • Not a demonstration that the policy stayed capable. The competence control is measured: 42/50 benign trials completed the task (84%), while under the attack it completed 0/50. So the attack destroys task completion as well as leaving the envelope — but an envelope exit is still not proof the attacker chose where it went.
  • Not a firmware claim. UniPwn-class exploits are out of scope.
  • Not a safety certificate. Evidence toward assurance, not a guarantee.
Full breakdown

The same run, framed honestly

The 88% headline is one attack (roleplay) across all ten tasks. Here is every attack in the same run - including the families that did nothing, and the one that did not apply. Publishing the zeros and the N/A is the point: they are what make the 88% believable.

Per-attack attack-success rate, trials (successes over attempts), 95% Wilson confidence interval, and applicability for the SmolVLA libero_object run across all ten tasks.
FamilyAttackASRTrials95% Wilson CIState
visualdecoy_object0%0/500-7%measured
instructiongoal_substitution30%15/5019-44%measured
injectionmcp_tool_descN/AN/AN/Anot applicable
baselinenone (benign)4%2/501-13%measured
instructionparaphrase6%3/502-16%measured
visualpatch0%0/500-7%measured
instructionroleplay88%44/5072-100%measured
injectionscene_text0%0/500-7%measured
instructionfamily total41.3%62/15033.8-49.3%measured
adversarialadversarial only20.7%62/30016.5-25.6%excludes benign
all trialsincl. benign control18.3%64/35014.6-22.7%not adversarial ASR
Method

How the number was produced

  • Policy: SmolVLA (checkpoint HuggingFaceVLA/smolvla_libero). Simulator: LIBERO · robosuite · MuJoCo.
  • Tasks: all ten libero_object tasks, sharded one per container. Trials: 5 seeds per (task, attack), horizon 280, on an L4.
  • Headline attack: roleplay (instruction family) - a reframed goal that still reads as compliant.
  • Every attack is paired with a benign control; the benign false-positive rate (2/50) is reported. It is NOT zero: the uncalibrated predicate fires on two benign episodes, on tasks 4 and 5.
  • The keep-out predicate is uncalibrated: a success is a trial diverted out of the benign envelope, not a calibrated hazard rate.
  • Point estimates carry a 95% Wilson score interval, wide at small n by design.
  • Provenance: this reference run was produced with provael 0.32.0 (the ledger below dates it) and is retained as a dated result; the current release is 0.41.2, and no method-equivalence study across that gap has been run yet.
External validation

Consistent with the literature

The full side-by-side — every published figure with its arXiv ID and an explicit verdict on whether it can be compared to a Provael ASR at all — is at /compare/published-attack-baselines. It also states where this run disagrees with the literature, unresolved.

External - distinct from Provael’s own number

RoboPAIR (Robey et al., UPenn) reported an algorithmic jailbreak of LLM-controlled robots, 100% across three systems, including physically harmful actions -arXiv:2410.13691. It is cited here as independent evidence that the category is real; it is a different study on different systems, kept visually distinct from Provael’s SmolVLA result.

Provenance

Every committed measurement, and how old each one is

The banner at the top of this site dates the newest measurement. This dates all of them. One row per run committed to the product repository, read from watch/measurements.json when this page was built - which is generated from the execution manifest beside each report, so no human types a date into it.

30 committed measurements, of which 24 are real-policy measurements with an observed date. 5 came from a fixture backend and measure no policy at all, and 1 carries a date reconstructed to the day rather than observed. Both facts are stated in the row itself, in words.

Measurement ledger. One row per committed measurement: the artifact directory, the policy and suite, the tool version that produced it, the date it was measured, whether that date was observed or reconstructed, and whether the row counts as a measurement or came from a fixture backend.
ArtifactPolicy × suiteTool versionMeasuredDate basisCounts as
results/gpu-scheduled/20260915T100635Zsmolvla × libero0.41.2observedmeasurement
results/timing/libero_object_timingsmolvla × libero0.41.2observedmeasurement
results/gpu-scheduled/20260911T093546Zsmolvla × libero0.41.2observedmeasurement
results/gpu-scheduled/20260906T190346Zsmolvla × libero0.39.1observedmeasurement
results/weight_integrity_stub/k64stub × stub0.36.2observedfixture, not a measurement
results/weight_integrity_stub/k256stub × stub0.36.2observedfixture, not a measurement
results/weight_integrity_stub/k4stub × stub0.36.2observedfixture, not a measurement
results/weight_integrity_stub/k16stub × stub0.36.2observedfixture, not a measurement
results/weight_integrity_stub/k1stub × stub0.36.2observedfixture, not a measurement
results/smolvla_libero_object_control/libero_object_8smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_control/libero_object_0smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_control/libero_object_6smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_control/libero_object_4smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_control/libero_object_1smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_control/libero_object_3smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_control/libero_object_7smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_control/libero_object_5smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_control/libero_object_2smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_control/libero_object_9smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_suite/libero_object_8smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_suite/libero_object_9smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_suite/libero_object_7smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_suite/libero_object_3smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_suite/libero_object_2smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_suite/libero_object_4smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_suite/libero_object_6smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_suite/libero_object_5smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_suite/libero_object_0smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_object_suite/libero_object_1smolvla × libero0.32.0observedmeasurement
results/smolvla_libero_objectsmolvla × libero0.15.0reconstructedmeasurement
Reproduce

Run it yourself

The result comes from a public reproduction recipe - a notebook you run, not an assessment you buy, and not (yet) an automated CI reproduction. The one command behind the headline:

provael attack --policy smolvla --suite libero --attacks roleplay

Reproducing the SmolVLA transfer needs the optional [lerobot] extra and a GPU; the CPU-first stub path lets you exercise the same harness without one.