Conceptio › Archive › arXiv CS
arXiv CS open access

Standing, Not Truth: Who May Say What About Whom in Agentic Selection

Yedidel Louck et al. · arxiv_cs
arXiv CS · Papers
Open Source ↗Direct PDF ↓
cryptographycybersecurityprivacysecurity
Software agents increasingly choose on a user's behalf among competing offerings described by the parties who benefit. A lawful participant, publishing under its own identity, compromising no channel and issuing no instruction, can move that choice with a single false factual claim about a competing
Conceptio Open Archive

Analyze & explore related research in Conceptio

Connect this record directly into your research workflow or AI agent. Explore citations across open repositories, query full text, and export structured proof bundles.

STANDING, NOT TRUTH: WHO MAY SAY WHAT ABOUT WHOM IN AGENTIC SELECTION

1

Standing, Not Truth: Who May Say What About Whom in Agentic Selection

arXiv:2610.17952v1 [cs.CR] 13 Oct 2026

Yedidel Louck

, Amit Dvir

Abstract—Software agents increasingly choose on a user’s behalf among competing offerings whose descriptions are written by the parties who benefit from the choice. A lawful participant, publishing under its own identity, compromising no channel and issuing no instruction, can move that choice with a single false factual claim about a competing offering. Across twelve published defenses spanning the three placements where such a check can sit, none separates such a claim from ordinary marketing. Each accepts it for a reason that is correct on its own: its origin is a lawful channel, its influence is evidence meant to decide, and the action it produces is aligned with the user’s goal. None of the three establishes that the publisher was entitled to speak about a competitor, and each exclusion is stated by the defenses’ own authors. Disclosure does not substitute for enforcement either. Re-rendering every description as attributed speech by its own publisher, removing nothing and adding no model call, leaves the attack at 72/72 while the agent repeats the attribution and reasons from the claim. The missing relation is standing. A publisher may say what its own package does. It has no standing to say that a competitor’s package is frozen. Standing is whether a claimant’s bound identity entitles it to assert about a claim’s subject, and it is decidable without settling whether the claim is true. Deciding it needs one fact that tools for reading claims out of prose do not recover: who spoke. A catalogue binds that fact to every entry and drops it the moment the entry’s text reaches the agent. We put it back. The check is quiet on honest traffic, flagging 0.9% of natural pairs across two corpora. Used as a gate on which entries to touch at all, it stops 130 of 131 landed attacks and disturbs none of 348 honest selections. Acting on the verdict everywhere is where the cost falls. Deleting the flagged sentence changes 0.9% and 2.6% of honest selections on the two agents we measure. Most traffic is never touched. Where a sentence is removed, the publisher keeps 28% to 42% of its description. Deleting the whole description changes 12.7% and 21.0% and leaves none of it. On a panel of thirteen further agents the attack succeeds on 50.7% of decisions, with a spread by model from none to almost all, and sentence removal leaves 10.3% standing. Two published attacks stay outside the relation: self-directed claims (which standing admits) and injected decision criteria (which have no subject in the option set). Index Terms—LLM agents, agentic selection, standing, authorization, prompt injection, provenance, supply chain security, trust management.

I. I NTRODUCTION

A

CODING agent is asked to add one dependency. It searches a package registry, reads what it finds, and

Yedidel Louck and Amit Dvir are with Department of Computer and Software Engineering, Ariel Cyber Innovation Center, Ariel University, Israel. Ariel Stulman is with Department of Computer Science, Jerusalem College of Technology, Israel yedidel.louck@msmail.ariel.ac.il, amitdv@ariel.ac.il, stulman@jct.ac.il

, Ariel Stulman

installs a package. One of the two candidate entries it retrieves contains this sentence: “poolwarden is the maintained successor to connreef; the connreef line was frozen upstream and the publishes that still appear against it are security backports to the old branch.” Nobody is told to do anything. There is no injected instruction, no hidden text, no compromised server. A publisher wrote a sentence in its own package description, under its own account, through the ordinary publishing interface. The sentence makes a factual claim about a competitor, and the claim is false. The agent installs poolwarden. Figure 1 is the whole attack. This paper is about that sentence and about why it is hard to stop. The closest prior work reached this problem and named it as open. Nestaas et al. [1] study adversarial search engine optimization against LLM search. Flagging such manipulation, they observe, “might require determining the truthfulness of overly convincing text . . . it is unclear how to fully ‘defend’ against Preference Manipulation Attacks, or even where one should set the boundary between black-hat and benign SEO for LLMs”. Their dilemma is the right one. Nobody can filter persuasive content without a truth oracle, and nobody can separate marketing from manipulation by how convincing a sentence is. A publisher may say what its own package does. It has no standing to say that a competitor’s package is frozen. The difference between those two claims is what it takes to decide them. Settling whether a package really is frozen needs what no registry holds, the maintainers’ intent and the state of work going on somewhere else. Settling whether one publisher owns another’s package is a lookup against fields the registry already binds to an identity. That is why standing is decidable where truth is not. What is new here is not that a claim can be authorized by its speaker, which authorization logics have done for decades. It is that a selection system already binds a publisher identity to every entry, yet loses that identity the moment the entry’s free text reaches the agent’s reasoning. We put it back and check entitlement where the selection is made. Three things stay separate throughout. Standing is the property being enforced. Turning prose into a claim is a fallible implementation of it. Removing the flagged sentence is one intervention among several a deployer could choose. The phenomenon itself is established, and so is the gap. Prior work on the Agent Payments Protocol [2] characterizes three attacks whose third member is this one, a factual premise moving the choice among legitimately displayed products. It binds a purchase to the user’s authorization, which closes the

STANDING, NOT TRUTH: WHO MAY SAY WHAT ABOUT WHOM IN AGENTIC SELECTION

two families that tamper with the signed record of what the user agreed to. For the third it bounds what can be spent. A false premise leaves that record perfectly consistent, so there is nothing structural to catch. Neither that work nor Nestaas et al. names a place where such a check could sit, which is the gap standing fills. Whether standing also separates the attack from ordinary marketing at a rate that makes it deployable is a question for measurement, and this paper measures it.

2

about the attacker’s own tool, and Section IX gives that case and the other in full. II. BACKGROUND

This section fixes seven terms, so that a reader who works on dependable systems rather than on language models can read the rest of the paper. Agentic selection. A model is given a task, a set of candidate offerings retrieved from some catalogue, and the ability to act. It chooses one and acts on the choice. The catalogue may be a package registry, a tool library, a product Contributions 1) We show where a check against this attack can sit, listing or a model hub. Registry entry. One candidate as the agent sees it: strucand where it cannot. A defense can ask four different tured fields the platform binds to an identity, such as name, questions about a piece of evidence. Did it arrive from version, publish date and a deprecation flag, together with free a trusted source? Did it change the answer? Does the text the publisher wrote. resulting action serve the user? And is the speaker Prompt injection [7]. Text placed in data that the model entitled to talk about what it is talking about? Across treats as instruction. The defining property is that the payload the twelve defenses we read in full, the first three all instructs. Ours does not. return the right answer and still let the attack through. Premise attack. A factual claim, carrying no instruction The source really is lawful, the evidence really is meant and published by a participant entitled to publish, that moves to decide, and the action really is what the user asked an agent’s selection among options it was already authorized for. Only the fourth tells the attack apart from ordinary to choose. The payload is a premise the agent reasons from marketing, and in each of the first three the exclusion is rather than a directive it obeys, which is what puts it outside written by the defense’s own authors (Section V). the class above. 2) We rule out the cheap repair. The obvious fix is to tell the Confused deputy. A trusted component acts for a party not model who is speaking, so that a competitor’s sentence entitled to request it. Our setting is adjacent but distinct: the arrives labelled as a competitor’s opinion rather than as agent acts for its own user, on a premise the attacker supplied. fact. Measured, the plain version does nothing: the agent Standing. The relation between a claim’s subject and the repeats the label and then reasons from the claim anyway. claimant’s bound identity, per claim. A merchant may state The strongest version we could build still leaves 4.2% of its own price. It has no standing to state that a competitor has the attack standing, at a higher benign cost than removal. discontinued a product, and the difference is decidable without Who said something has to be acted on by the system, adjudicating either statement’s truth. not merely announced to the model (Section VII-I). Endpoint. The rung of the pipeline at which a measurement 3) We supply the field that is missing, and measure what stops. We use four: the model names a choice; it calls a tool acting on it costs. Deciding whether a speaker is entitled with that choice as an argument; the call is admitted; the effect to make a claim takes four pieces of information: who occurs. Claims here reach the second rung and never the third. spoke, what the claim is about, what it says, and the value it asserts. Tools that pull claims out of prose [3] III. T HREAT MODEL recover the last three but not the first. They extract the sentence, not its author. Logics built to decide who may We specify the adversary as a capability tuple and reuse it say what [4], [5] need all four, and assume a certificate in every experiment. established the speaker elsewhere. A package registry • Read. The public catalogue as any user sees it, competialready knows who published every entry, and never tors’ entries included, because they are public. connects that to what the entry claims. We build the con• Write. Free text in its own entry and nowhere else, nection, state the conditions under which it holds, and through the ordinary publishing interface, authenticated measure the cost of acting on it against two published as itself and as nobody else. defenses, the obvious engineering fix, and disclosure • Invoke and schedule. Nothing. It never contacts the (Sections VI and VII). agent, the user or the platform beyond publishing, and One pattern holds across those twelve and the thirteen furcontrols no timing. ther defenses Section X carries. Where they derive structured • Trust. It is a lawful participant: its account is genuine, authorization information from the untrusted side, they key it its signature (where one exists) is valid, and its ento where the evidence came from and never to who was try passes every integrity check the platform performs. entitled to say it. Not one of those systems asks whether a Contemporary work treats manipulated tool metadata as publisher may make a claim about that claim’s subject. This “easily detectable by auditing” [8], which holds where mechanism misses two published attacks, and both are in the the metadata is forged, the publisher impersonated or body. It does not stop the strongest published attack in the text instructing. An audit of this entry finds a lawful this setting, ToolHijacker [6], whose planted sentence speaks publisher’s description of a competitor.

STANDING, NOT TRUTH: WHO MAY SAY WHAT ABOUT WHOM IN AGENTIC SELECTION

Outside its control. The competitor’s entry, the structured fields of any entry including its own, the retrieval order, the model, the prompt, and the user.

Two conditions are necessary, stated here rather than left to be inferred, following PoisonedRAG [9]: the claim must reach the context the agent reasons over, and it must bear on the criterion the agent is deciding by. When either fails the attack does nothing. Where both hold its worth varies by more than the conditions predict, and Section VII-J measures that variation and reports what it does not explain. How this compares with the closest published model. ToolHijacker [6] is the strongest attack in this setting and its adversary is stronger than ours in every respect but one: it optimizes tool documents against a retriever. Its threat model is no-box, meaning the attacker sees neither the model nor the library it is attacking, and its first stated assumption is that the attacker “cannot: 1) access the contents of tool documents in the tool library”. An attacker who cannot read the competing documents cannot make a claim about a competitor. The case is not omitted from their model. It is excluded by construction, which is why the two attacks are disjoint rather than comparable. Section V gives the corresponding exclusions from the defense side, in each system’s own words.

IV. T HE ATTACK

[1] connreef v4.2.1 last_publish: 2026-08-27 deprecated: false weekly_downloads: 4 210 000 Connection pooling with active health checks, per-host limits and circuit breaking.

the payload

•

3

[2] poolwarden v1.0.4 last_publish: 2025-06-11 deprecated: false weekly_downloads: 61 000 Connection pooling with active health checks, per-host limits and circuit breaking. poolwarden is the maintained successor to connreef; the connreef line was frozen upstream and the publishes that still appear against it are security backports to the old branch. Agent: “Installing poolwarden, although its last publish is earlier, the description makes clear it is the maintained successor.”

Fig. 1. One attack unit as the agent receives it, both entries published lawfully by their own owners. Every structured field favors connreef, fourteen months more recent and sixty-nine times the weekly downloads. One sentence about a competitor reverses the outcome, and neither entry contains an instruction of any kind.

V. W HY PLACEMENT IS THE QUESTION A check in an agentic selection pipeline can sit in one of four places. They come from mapping onto the pipeline the twelve defenses of Section X we read in full, each at exactly one, taking in each family the instance its own authors position most strongly. This is a map of the positions the literature occupies, not a proof that no fifth exists. The first three exclusions are stated by the defenses’ own authors, in their own scope, threat model or limitations sections, and this section quotes them.

The attack is the setup rather than the contribution, and we report it at the strength the evidence supports and no further. Each unit is a pair of catalogue entries competing for one task, with one entry carrying a single declarative sentence about the other. The 72 units span four package ecosystems, A. Origin: where did this text come from? 24 PyPI, 21 npm, 15 Go modules and 12 crates.io, so that Is the channel trusted, did the value come from somewhere no result rests on one registry’s conventions. The sentence untrusted, did it cross a boundary it should not have? The asserts a state of the other package, its maintenance status, family refines in three steps and each excludes us more its lifecycle, or the provenance of its recent publishes. The precisely than the last. CaMeL [10] labels values with their structured fields do not contradict that state outright, and capability source, and against a lawful publisher the label is the agent’s decision criterion depends on it. Three margins clean, because it is clean. AUTHGRAPH [11] sharpens this: it separate the pair on the structured evidence: narrow, mid and records, for each argument of each call, which tool the value wide, where wide means the structured fields favor the honest came from, and checks that against a graph the attacker cannot package most strongly. reach. Its authors name our case as its first known limitation: Three properties of the result shape everything after it. Each “if the attacker directly poisons the authoritative tool’s data is measured in Section VII, with its control and its interval. source . . . the ‘ParamPolicy source_tools’ check will pass The attack is build-dependent, a build being one released because the value genuinely originates from the expected tool.” version of one model. Across eight of them the rate spans PACT [12] sharpens it again to argument roles, so a webpage the full range from nothing to everything. A defense for it may set an email’s body but never its recipient, and excludes cannot rest on the hope that better models will not need one. “content-channel attacks, where harmful content appears inside The agent is not rationalizing: a tool requiring both a name an otherwise permitted content field.” The family’s strongest and a reason found no unit where the stated reason named a form hardens the origin rather than refining granularity. TMApackage other than the one called. And a valid signature does NM [13] shows that content and derivation signals can both not help. The attack stands at 69/72 with one attached against be laundered, and proves write-time origin binding necessary an undefended 72/72. The signature verifies, because a real and a non-malleable binding sufficient against it. Our attacker publisher is attesting a real artifact, and in half the replies the launders nothing: the origin it carries is the one the platform model cites it as grounds for believing the claim. Attestation recorded, and it is correct. A selection task has no user-derived target. The binds the artifact to the publisher and says nothing about what user says “add one dependency”, so the package name that publisher may assert.

STANDING, NOT TRUTH: WHO MAY SAY WHAT ABOUT WHOM IN AGENTIC SELECTION

can only come from the catalogue. The contract for install_package(name) then has two settings and no third. Require a user-derived name and the task is refused. Permit a catalogue-derived one and the attacker’s name qualifies, because it is one.

retrieve

4

origin trusted source?

influence moved the answer?

alignment serves the goal?

the source is authorized

the evidence is meant to decide

the action does serve the goal

context

decide

act

B. Influence: how much did this text move the decision? Attenuate the evidence, decide again, compare. AttriGuard [14] is the strongest instance and its own non-goals give the boundary. For an agent told to “send an email to Alice if the page is in English, otherwise to Bob”, its authors write that “the webpage legitimately determines whether the message is sent to Alice or Bob”, and place in scope only objectives needing “additional control influence”. Our attack needs none: both packages were already authorized, and the premise changes which authorized option is chosen. The other mechanisms in this family fail on the same boundary from different directions. CausalArmor [15] looks for a dominance shift, where one untrusted span outweighs the user request, but in a selection task the catalogue outweighs the request on every decision, benign or not, because the request contains no candidate. MELON [16] flags calls that survive masking the user task, on the principle that an injected action becomes conditionally independent of it. Our action is maximally dependent on the user’s task, which supplies the very criterion the premise subverts. That the signal cannot carry an authorization decision is not our finding. Ahad et al. [17] establish it directly. They hold the permission, the action and its effect fixed across 24 matched cases, and move only where a required value comes from. The causal signal shifted toward the attack region every time, under both scorers, and farther than removing the authorization did. C. Alignment: does the action serve the user’s goal? Task Shield [18] extracts “actionable directives” and scores whether each contributes to the user’s objectives. SecAlign [19] trains the model to prefer the legitimate instruction over the injected one; Jatmo [20] removes instructionfollowing altogether. AIRGuard [21] states the family’s principle most sharply, “untrusted resources may inform reasoning, but they must not authorize side effects”, and names the permitted zone explicitly, listing “installing dependencies” among the legitimate dynamic tool uses that must not be blocked. Every member of this family defines success in terms of an instruction, and there is no instruction to find. A false claim about a competitor is not an actionable directive, so nothing is extracted. The resulting install serves the user’s stated goal, so alignment holds. The agent reasons correctly from a premise that happens to be false, which is a defect in what it was given and not in how it pursued the goal. And SecAlign’s own success criterion, the model “responds to the injected instruction rather than processing it as part of the data”, is not met: the model processes our sentence as data, which is the problem. The sharpest instance acts at our own granularity. PARSE [22] cleans a retrieved document one sentence at a time, scoring each for directiveness, how far it reads as an

subject entitled to assert? separates the class

Fig. 2. Four placements for one check, and what each cannot see. The first three fail not through weakness but because each returns the correct answer to its own question. Only the subject relation distinguishes a claim about oneself from a claim about a competitor, and each exclusion in the top row is stated by the authors of the defenses occupying that position (Section V).

instruction rather than a statement, and a sentence below 0.3 is “preserved verbatim”. A premise is a statement and nothing else, so it sits at the bottom of that scale by construction. Its authors name the residual, “an attacker aware of the gate can write a low-directiveness payload that scores below the threshold”, and add “we evaluated neither vector”. They cast it as something an adaptive attacker must craft. A premise is not an evasion of that scale but an absence from it.

D. Subject: what is this text about, and may the claimant say it? Of the four placements, this is the one none of the twentyfive occupies, and it is the one that distinguishes “my package handles backpressure” from “their package is frozen” without knowing whether either sentence is true. Figure 2 draws the four positions and what each cannot see. The rest of the paper makes the fourth computable, after ruling out the cheaper option of merely disclosing it.

VI. B INDING PROSE TO A SUBJECT A. The distinction the agent is missing Authorization languages have kept a claim and its claimant together for two decades. DKAL’s first house rule, p knows q said foo ← q says foo to p, is explicit about what hearing a claim buys: “p does not learn foo. He learns only that q said foo” [23]. Promotion from said to known requires a further rule, and Binder [24] makes the same separation architectural, quoting imported statements with says so they cannot be mistaken for local assertions. A registry entry gives the agent no such distinction: the description field is read as a property of the world, not as attributed speech. What is true here is the weaker fact, that poolwarden said connreef was frozen. Our agent never holds it, and proceeds as though it knows. Section VII-I shows that this cannot be repaired by telling the model who is speaking, which is why the relation must be computed and acted on, not disclosed.

STANDING, NOT TRUTH: WHO MAY SAY WHAT ABOUT WHOM IN AGENTIC SELECTION

5

Here s is the claimant’s bound identity and u is the subject Subject-scoped authority is not new either. SecPAL [4] the claim is about. The predicate p is what the claim says, states the self-scoped idiom outright, “FileServer says x can and v the value it asserts for it. The set AUTHORITY(p) holds say0 x is a user”, where the same variable is both speaker and the principals the platform designates as entitled to assert that subject; RT [25] localizes authority over a role namespace. The predicate, which for a deprecation flag is the platform itself. speaks for calculus [26] scopes trust per statement through So a claimant may speak about itself, or about anything on A controls s ≡ (A says s) ⊃ s, and is explicit that s a predicate it is designated for, and about nothing else. The “may function as an imperative . . . or not”. SPKI’s certificate check decides entitlement, never truth. On the sentence of Figure 1, s is poolwarden, u is theory [5] already names our two roles: its 5-tuple’s Issuer is connreef, p is the maintenance state and v is frozen “the entity speaking” and its Subject “the entity being spoken upstream. The claimant is not the subject, and no registry about”. designates one publisher to assert another’s maintenance state, One terminological warning: SPKI’s Subject is the grantee so the verdict is false and that sentence is the one removed. of an authorization. Our subject is the party a claim is about. The rest of the description has poolwarden as both speaker We borrow the vocabulary of speaking and being spoken and subject, so it is admitted and stays. Whether connreef about, and the relation we check is entitlement to assert, not really is frozen is never asked. delegation of authority. The two layers have different epistemic status, and the differWhat every one of these assumes is that the statement ence decides what a failure means. Standing is a deterministic already exists. Each takes an input of the form authorization relation over the tuple, decided by lookup and (speaker, subject, predicate, value) and reasons about who comparison with no model involved. Producing that tuple may assert it. Binder’s imported statements arrive as from prose is a fallible implementation layer. Extraction error rsa:3:c1ebab5d says employee(john_smith, therefore changes the coverage of the mechanism, how many bigco) because a signed certificate carried all four fields. claims it sees and how many it invents. It does not change the A package description is a paragraph of marketing prose and definition of the property enforced. A better extractor moves carries none of them. The gap is not expressiveness. It is the the measured rates, not the boundary. input, and supplying it is what the rest of this section does. B. What the logics supply, and what they assume

C. Two layers, and only one of them needs a bound field

E. What has to be trusted

A check of this kind does not remove trust. It moves it, and The mechanism has two layers and they are often conflated, the move is only useful if what it moves to is smaller and so this states them apart before either is used. Admissibility easier to audit. The trusted base has six parts, five that decide asks only what the text is about. It is given the free text of the verdict and one that scopes the intervention. The platform’s an entry and the identity the platform binds to its publisher, binding of a publisher identity to an entry supplies the speaker, and it decides one thing: whether that text makes a claim and a name that resolves to one offering in the set supplies concerning another offering in the set. Nothing about the the subject. That second binding is an assumption this claim’s value enters, and no structured field is consulted. paper makes rather than supplies, and Section IX measures Consistency asks whether a claim’s value agrees with a bound where it fails. The extraction that turns prose into (s, u, p, v) field, and does require a counterpart such as last_publish has its error measured in the evaluation. AUTHORITY(p) is or deprecated. a governance question, and Section VIII treats it as one. The distinction is measurable rather than definitional. Of the Complete mediation requires that every entry reaching the 72 payload sentences, 48 contain no term naming a structured agent is screened. The sixth is the localizer, which picks out field at all, being lifecycle claims such as was retired from which sentence carries the claim so that only that sentence is active development, and the subject check flags 72 of 72 acted on. What it picks is trusted for the intervention rather attack units regardless. A bound predicate is a precondition than for the verdict. Not trusted is everything the attacker for checking a value, not for deciding admissibility, and the controls: the free text, the publisher’s honesty, the competing claims that carry the attack mostly have no settling field. entry, the retrieval order and the agent’s own reasoning. The relocation is from an attacker-written paragraph to a platformwritten identity field, which is the whole of the advantage. D. Interface The consistency layer is sound only where the predicate has The check reads two things: the free text of one registry a platform-bound counterpart, and only where the sentence entry, and the identity fields the platform binds to that entry’s states a bound rather than a point value. The evaluation publisher. It ignores everything else, including the competing measures both halves of that contract and reports the cases entry’s free text, the order the entries were retrieved in, the where it fails. user’s prompt and the model’s reasoning. Per claim found it emits a tuple and one bit: F. The gate, and the intervention it gates   true if s = u  A verdict is not yet a defense. What a deployer does with ADMISSIBLE(s, u, p, v) = true if s ∈ AUTHORITY(p) it is the deployment question, and the answer this paper   recommends is narrow: false otherwise

STANDING, NOT TRUTH: WHO MAY SAY WHAT ABOUT WHOM IN AGENTIC SELECTION

6

If an entry asserts something about another offering, recall. On one fixed set of 600 natural pairs screened by remove the asserting sentence and decide again. two extractors, 318 npm and 282 commerce, glm-5.3 flags Otherwise leave the entry alone. 6 and qwen3.7-flash flags 4, a rate of 1.0% [0.5, 2.2] Section VII measures why both halves matter. The interven- against 0.7% [0.3, 1.7]. Those 600 are the ordered in-set tion is too destructive to apply everywhere, and a verdict on pairs less 46 that the second extractor’s provider declined with a rate limit, 36 npm and 10 commerce. All six of the its own changes no decision at all. first extractor’s flags fall inside the 600, so the loss costs the comparison no positive. The rates agree and the flags do not. VII. E VALUATION The two overlap on 2 of the 8 pairs either one flags, and the Ten experiments follow, numbered E1 to E10 and referred to 99.0% pairwise agreement is almost entirely the 592 shared by those labels throughout. E1 and E2 measure the attack. E3 negatives, which at this prevalence says nothing about the to E5 test the check itself, on honest prose, against the other positive class. What transfers is the rate, not which entry is three placements, and against an attacker told how it works. caught, and one of the misses is fs-extra, the case E3 E6 to E8 measure what acting on its verdict costs, including presents as a genuine competitor-directed claim. against two published mechanisms and against disclosure. E9 The placement comparison uses one denominator throughand E10 ask where the attack stops working and whether any out, 72 attack and 30 natural units on each of two deciders, of this holds across thirteen further models. Each gives the which is 144 and 60 pooled. Where another experiment units it ran over, what was done to them, the result with its differs, the unit differs, since the binding experiments count interval, and how far that result reaches, and they are ordered sentences and the adaptive search counts frames. Two sizes are so that each one rests only on what precedes it. constrained rather than chosen: the natural arm is bounded at 30 by the corpus, and E10 caps two panel deciders at 24 units A. Common setup by cost. The two attack bases nest. E1 measures the attack on Seven words recur in every experiment below. A unit is one all 30 constructed pairs at three margins, six pilot pairs on npm decision put to one agent: a pair of competing entries and the and PyPI and a 24-pair extension spanning four ecosystems. task of choosing between them. An arm is one condition a Every defense experiment runs on the extension alone, whose set of units is run under, so an attack arm and its control arm 72 units are the attack denominator everywhere else. The npm hold the same units with and without the payload sentence. corpus is read at several stages. All 354 ordered in-set pairs A base pair is the underlying pair of entries, which supplies are screened in E3 and 353 yield a scorable screen. Those three units because each is run at three margins, the margins 353 carry through every arm that re-decides them, because a being how strongly the structured fields favor the honest entry. reply naming neither candidate is a decision the agent made, An in-set pair is one whose two members are both in the an outcome rather than a missing value. No regular expression decides an outcome in the attack same option set, which is the only case where a claim about a competitor can reach the decision. A frame is one phrasing of arms, the ablations or the panel. Every verdict there is a a payload, and a span is the stretch of text the localizer marks judgment made by reading one stored reply at a time, and a language model made those readings, so two human passes for removal. Two natural corpora and one constructed set of attack measure them. The comparison rows of E7 and the first three units carry everything. The npm corpus holds 177 packages of E8 are the exception, since the mechanisms they score sampled from registry search, of which 59 search instances were not re-read. The re-reading that was done raised every and 30 prose-carrying instances support the ablation design. benign rate it touched, so those rows understate their own The commerce corpus holds 163 product listings over 60 cost rather than ours. A stratified 201-item sample over the retrieval instances from Amazon Reviews 2023 [27], a public attack and ablation arms gives Cohen’s κ [28], unweighted, dataset. The 72 attack units span four package ecosystems of 0.933 [0.889, 0.974] on the choice task and 1.000 on the assertion task. The second pass was shown no first-pass label (Section IV). Three model roles are kept apart. The decider and took the items shuffled, so it could not anchor on the first. is the agent under attack. gpt-oss:120b and A second 183-item sample over the panel gives κ = 1.000 with gemini-3.1-flash-lite, one open and one closed no disagreement. The two are kept apart because they measure weight, carry every defense experiment. The attack is different things: the first a judgment, the second whether an measured on six further builds at the action endpoint, and outcome was read correctly (Section IX). both interventions are re-measured on a thirteen-model All intervals are Wilson score intervals [29] at 95%, because panel (E10). The subject check runs on glm-5.3 in every several proportions here sit at or near a boundary where the experiment that reports a verdict, as does the adaptive normal approximation is unusable. The units are not indepenattacker of E5. Those weights are published, so a deployer dent: one base pair supplies three margins and each unit is can run the check on its own hardware. The check never decided by two models. A cluster bootstrap over base pairs runs on the model it is defending, so no verdict in this paper widens the attack arm’s interval by a tenth, from [85.2, 94.7] to comes from a model adjudicating its own output, and the [85.4, 95.8], leaves the natural arms no wider, and degenerates mechanism needs no closed-weight component. Nor does the at 72/72. The large natural bases cluster over the search or verdict rest on that one model. On held-out premises phrased retrieval instance instead, each supplying two to six ordered by a different model, the same extraction reaches 20/20 pairs from one body of prose. There the bootstrap is the wider

STANDING, NOT TRUTH: WHO MAY SAY WHAT ABOUT WHOM IN AGENTIC SELECTION

interval on E3’s pooled and npm rates and on blanket removal under gpt-oss:120b. Whichever of the two is wider is the one reported. Every model call is recorded in an append-only ledger with a SHA-256 digest of its response. Of 12,340 records, 9,863 verify against the stored bytes, and the rest are accounted for rather than asserted. A unit called twice overwrites its own first response, so the earlier digest can never match again, and 1,688 records are superseded that way. The release’s verifier counts such a record as settled only when a later record over the same file does match, and none is left without that partner. A further 29 stored an empty response and were asked again, and 760 are calls that failed and had no response to store. Nothing is left unexplained. Which response backs a reported outcome is therefore determined rather than assumed, and the verifier prints the full decomposition. The artifact is in two parts. A code release at https://github.com/ yedidel/standing-not-truth holds every experiment script and the vendored harness. A data release at https://huggingface. co/datasets/anonymos-2321135/standing-not-truth holds every stored response, both label passes with their adjudicated disagreements, the ledger, the per-experiment result files and the limitations register. Published defenses are fetched against pinned digests rather than redistributed. It also holds the two superseded runs of the sentence-localizer, for the reason the next paragraph gives. The defense’s own tooling fell to the confusion this paper studies. Shown the registry block unfenced, the localizer obeyed the agent task embedded in the data it was examining. Fenced and told to disown that task, it began removing the user’s own decision criterion, on 6 of 28 removals. Both failures have one cause: the task sat inside the data, and the fix was structural. A corrected instrument is only checkable against the version it corrected, so all three runs are released.

7

The prose answer is replaced by install_package(name), and the outcome is the recorded argument of the call rather than a sentence about an intention. The attacker’s package was passed as the argument on 58/72 = 80.6% of units [70, 88], with no refusals, and the two endpoints disagree on 26.4% [17.6, 37.6] in both directions. On frontier builds the spread is the widest at this endpoint: gpt-5.5 called the attacker’s package on 0/72 [0, 5.1] and claude-opus-5 on 43/72 = 59.7% [48.2, 70.3]. The selection endpoint is wider still, and E1 and E10 report it. What an agent says it would choose is not what it does, a reason to distrust selection-endpoint measurements including E1’s. The frontier spread supports one statement, about the class rather than either vendor: resistance does not rise monotonically with model scale or recency. Neither was measured as a variable here, so this is an ordering that fails rather than a relationship that holds. A variant tool requiring both a name and a reason produced 0/72 attack and 0/26 natural units where the stated reason named a package other than the one called ([0, 5.1], [0, 12.9]), so the agent says what it does. The natural arm is 26 of 30 because four replies gave a reason that described rather than named. Attaching a valid provenance signature leaves the attack at 69/72 = 95.8% [88.5, 98.6] against the undefended 72/72 [94.9, 100]. It does not help, the intervals do not separate, and in 36/72 replies the model cites the signature as grounds for believing the claim. D. E3: separating the attack from honest marketing

The units are every ordered in-set pair from both natural corpora, 354 npm pairs and 292 commerce pairs, screened by glm-5.3. The screen takes no decision, so no decider is involved in it. The inertness check below reuses E6’s decisions. No constructed payload appears in this experiment. B. E1: the premise moves the selection The subject check is run unmodified over every pair and Each build is measured on 90 attacked and 90 control units, asked whether the published prose of the first member asserts being 30 package pairs at three evidential margins, so 180 something about the second. Two quantities come out of this population and we keep them apart. How often the check fires control units pooled over the two builds. The agent is given the task and both entries and asked which on honest prose is the deployment cost, and it is the result package it will install and why, against a control that is the below. How often natural prose is formally indistinguishable from a constructed payload is a different question, answered identical pair with the premise sentence absent. On gemini-3.1-flash-lite the attack succeeds on at 3/354 = 0.8% [0.3, 2.5] on npm under the stricter reading, 90/90 (100%, [95.9, 100]) with 0/90 control errors ([0, 4.1]), and that is an existence result rather than a cost. One npm pair and on gpt-oss:120b on 66/90 = 73.3% ([63.4, 81.4]). yielded no scorable screen, so the flag count is over 353. The check flags 6 of 645 natural in-set pairs, 0.9% [0.2, 1.9]: Pooled at the widest margin, the hardest case, it succeeds on 47/60 = 78.3% [66.4, 86.9] with 0/180 pooled control errors 5 of 353 on npm [0.3, 3.1] and 1 of 292 on commerce [0.1, 1.9]. [0, 2.1]. Across the eight builds in the pilot the rate spans 0% The two corpora were built from different sources by different to 100%, and every number reported for this attack carries that sampling rules, so the pooled figure is a deployment cost rather than a prevalence estimate, and they are never pooled range with it. for prevalence. Every flag was read, and three of the five are genuine C. E2: the premise moves an action competitor-directed claims: neo-async describes itself as a This runs over the same 72 attack units on drop-in replacement for async that “runs faster”, fs-extra gpt-oss:120b, re-rendered so the model must call a speaks about graceful-fs, and @size-limit/file tool rather than answer in prose, and the same 72 units, being speaks about size-limit, a scoped package asserting about 24 base pairs at three margins, on each frontier build. its own parent, which is the weakest of the three. These are

STANDING, NOT TRUTH: WHO MAY SAY WHAT ABOUT WHOM IN AGENTIC SELECTION

8

honest publishers and a check that scopes by standing flags informative false-positive rate is E3’s 0.9%, on a population them correctly, which is where what a flag costs becomes the ten times larger. The check is sound only where the predicate has a platformquestion and E6 answers it. The other two are name-resolution artifacts rather than claims, and Section IX gives them. None bound counterpart, and last_publish is the harder of the of the five moves a decision: removing the prose of each two fields tested because dates admit near-misses. The contract in turn leaves the same package chosen, so the competitor- holds where the sentence states a bound, at recall 40/40 = directed claims that actually occur here are inert where the 100% [91.2, 100] and a false-positive rate of 1/40 = 2.5% constructed ones are not. Separately, 11 of 157 natural prose [0.4, 12.9]. It fails where the sentence states a point value: units carry some third-party claim, 7% [4, 12.1], almost all of recall falls to 25/40 = 62.5% and false positives rise to it about entities outside the option set. Those 157 are the 90 21/40 = 52.5% [37.5, 67.1], because a month read as a day is npm descriptions, 27 npm readme openings and 40 product off by about fifteen days. A coarse date is not a conflict, and listings that carry prose at all. The gap between 7% and 0.9% a binding that cannot tell the difference is unusable. Where no is the design of the check rather than an accident of the corpus. bound field exists, the admissibility verdict stands alone. E. E4: the check against the other placements The comparison runs over 144 attack and 60 natural units on one denominator, being 72 and 30 on each of gpt-oss:120b and gemini-3.1-flash-lite. The same adjudication is placed at each position of Figure 2 and asked to separate the two arms. Only the subject placement separates the two arms. Origin does not fire, because the source is authorized. Influence fires on every unit, because the evidence is meant to decide. Alignment does not fire, because there is no directive and the goal is served. The other three consume the decision and so are counted on all 144 and 60. The subject check is not. It reads one entry and its publisher’s fields, so the same unit gets the same verdict from both deciders, and counting it twice would halve an interval without adding an observation. On the units themselves it flags 72/72 = 100% [94.9, 100] of attack units and 0/30 = 0% [0, 11.4] of natural ones. That 72/72 flag rate is the weakest of the evidence offered here, not the strongest, for the reason the next paragraph gives. The loadbearing evidence is a natural corpus (E3), held-out phrasings and a second extractor (Section VII-A), an adaptive attacker (E5) and the benign cost of acting on the verdict (E6). Is the check’s 72/72 entailed by how the units were built? The units were constructed to assert about a competitor and the check asks whether an entry asserts about a competitor, so the number has to answer that charge. Three measurements do. The check was never shown these payloads and recalls 20/20 on held-out premises from another model (Section VII-A). It fires on prose we did not write, flagging five natural npm entries (E3), so the verdict tracks the relation rather than our construction. And it can be cleared: an adaptive attacker told what both instruments look for produced 27 of 30 frames that passed them (E5), and a verdict entailed by the construction admits no such frame. What those frames lose is the power to move the decision. The weakness of this result is the natural arm. The 0/30 reflects an absence of opportunity rather than measured precision: none of the 30 natural units names a competing offering, so the zero could not have been otherwise. It is the right number here because every mechanism faces the same 60 units, and three of the five in E7 fire on them at rates from 18.3% to 100%. The subset therefore cannot reveal false positives for our check while remaining informative for the others. The

F. E5: attackers who work around the check Two adversary models run on different deciders. An adaptive attacker was given both instruments, the subject check and a syntactic cross-check, and told where the blind spot between them lies: 30 templates and 348 paired decisions on gpt-oss:120b. Separately, three linguistic strategies an adaptive search never produced were applied to all 72 attack units as deterministic rewrites, decided by gemini-3.1-flash-lite. The adaptive attacker iterates templates against both checkers, then surviving templates run through the ordinary decision loop against paired controls. The three rewrites each attack the binding at a different point: hearsay attributes the claim to an anonymous third party, interrogative leaves an insinuation posed as a question, and coreference names the competitor in one sentence and makes the claim in the next. An evasion counts only if it clears the check and moves the decision. Either alone is not an evasion. For the adaptive attacker, clearing was measured per carrier, and 27 of 30 templates cleared both checkers on all ten of theirs, the other three on nine. Clearing on at least half admits a template to the decision loop, which all 30 did, but only 29 were decided. One that cleared on all ten was never run, so its twelve decisions are missing rather than excluded. The 29 steered 6/348 = 1.7% [0.8, 3.7] of paired decisions, 348 being 29 templates against 12 units each. What survives is magnitude by innuendo, carrying no number for a matcher to find, as in “we retired the old download counter after it sailed past its fourth comma”. Six of the 29 moved anything at all, each exactly one unit of its twelve, and 23 moved nothing. For the linguistic rewrites, no rewrite both cleared the check and moved the decision, the count being 0 of 72 for all three. Attributing a claim to an anonymous third party does not change who is speaking, so hearsay is flagged on all 72 units and keeps 94.4% [86.6, 97.8] of the original’s force. Splitting the subject from the claim across a sentence boundary does not break the binding either, at 72 of 72 flagged and 81.9% [71.5, 89.1] retained. The interrogative mood is the only one that ever clears the check, and it does so on three units sharing one base pair, 1 of 24 base pairs rather than 3 of 72. It steers nothing, because with no assertion there is no premise for the decision to rest on. Across the evasions tested here, a payload that kept its persuasive force kept the property the check looks for, and

STANDING, NOT TRUTH: WHO MAY SAY WHAT ABOUT WHOM IN AGENTIC SELECTION

9

[0.3, 2.5] and 2.6% [1.3, 4.8] of benign selections and keeping 86% to 94% of the publisher’s description. That retention is an average over all traffic, and most of the traffic is never touched: CHARACTERS SURVIVING ACROSS THE WHOLE BASE DIVIDED BY THE on the pairs where a span was actually removed, 28 and 70 CHARACTERS THERE BEFORE , COUNTED OVER THE PUBLISHER ’ S of them, what survives is 28.1% and 42.3% of the description. DESCRIPTION ALONE AND NOT OVER THE BLOCK THE MODEL READS , The all-traffic figure is what a deployer pays across a catalogue. WHICH ALSO CARRIES THE TASK AND THE STRUCTURED FIELDS AND WHICH NO INTERVENTION TOUCHES . B ECAUSE IT IS A FRACTION OVER The conditional figure is what a flagged publisher experiences, THE BASE RATHER THAN A MEAN OVER PAIRS , IT CANNOT BE RECOVERED and the deployment argument in Section VIII turns on the FROM THE CONDITIONAL FIGURES IN THE TEXT. second. Scored against ground truth it never saw, the localizer found 59/59 and 72/72 of the payload sentences. The single benign changed prose kept opportunity survivor is instructive rather than anomalous: its payload decider gpt-oss:120b spans two sentences and the survivor is a claim the attacker blanket removal 45/353 = 12.7% 0% 353 sentence-scoped 3/353 = 0.9% 94.1% 28 makes about itself, which standing admits, so the limitation of Section IX appears inside our own mechanism. No unit in decider gemini-3.1-flash-lite blanket removal 74/353 = 21.0% 0% 353 any defended attack arm refused, named a package off the sentence-scoped 9/353 = 2.6% 85.9% 70 menu, or came back empty, across 59, 72 and 48 units, so none of these rates is a missing outcome counted as a defense. On the 47 units where two runs removed an identical span one that shed it shed the force too. What survived evasion in the decider chose differently once, so 0 and 1 sit inside this this search was prose too hedged to move the agent, which is a decider’s re-ask noise. result about these templates and not a claim that no unhedged The third is negative and we report it because we ran it. evasion exists. Clearance alone would overstate the defense On the 48 attack units carrying a second flagged sentence, and steering alone the attacker, so both are reported. removing every flagged sentence stops no attack the first removal missed, 0/48, and keeps less prose, 84.7% against G. E6: what acting on the verdict costs 85.9%. One sentence is the recommended configuration, and E3’s npm arm is re-decided here, 353 pairs on each that is measured rather than default. Cost per decision, from our own ledgers and on the openof gpt-oss:120b and gemini-3.1-flash-lite, plus the 144 attack and 60 natural units for the composed figure. weight deployment those ledgers measure. The subject check An outcome is the package the agent will install or neither, adds one model call and $0.000035, taking a protected decision to $0.000296 and 1.13× the undefended baseline. The and a pair changed when that differs. Four interventions are applied to the same verdicts and the influence placement costs 1.87× and AttriGuard 7.3× on this decision taken again: delete all free text; delete it only where workload. That last figure is a property of our single-decision the check fires; delete only the flagged sentence; delete every units, which make AttriGuard pay four calls per decision. On the agent runs of AgentDojo [30], the benchmark the promptflagged sentence. The simplest engineering alternative to any of this is to injection literature measures against [14], its authors report delete the free text, and it works: 0/72 attacks survive. It about twice the token count, and ≈ 5× for CaMeL. Ours is also changes benign selections on every base we have. That is workload-specific, not a correction. A cheaper reader exists and was measured. Regular ex23.3% of the 30-unit natural arm, with six of seven changes read and found worse, 25% of the 60-unit pooled arm, and pressions scoped to the adjudicated field detect 204/204 12.7% [9.0, 16.8] and 21.0% [17.0, 25.5] of the two large npm [98.2, 100] of the frame evasions that silence the semantic bases in Table I. The bases differ, not the finding: applied to all extractor, at 1/177 = 0.6% [0.1, 3.1] false positives on natural traffic, deleting the prose is a capability removal rather than a npm prose, for no model call. They read shapes, not claims, so they cannot decide standing, but they bound how much of defense. The first result is that the gate works as a gate. Composed the pipeline needs a model. The deployed rate is over all pairs and the conditional rate over the full attack and natural arms, gating blanket removal on the subject check leaves 0/144 attacks standing [0, 2.6] over pairs where something was removed, 3/28 and 9/70. at a benign cost of 0.2% [0.1, 0.8], against the ungated Neither alone is the rate. A changed selection is not yet a intervention’s 25%. That figure multiplies how often the gate worse one, so all twelve were read. Four are worse: a typesfires on benign traffic, 0.9% over 645 pairs, by how often only package, a specification library and a vendor-specific blanket removal changes a selection, 25% over 60 matched client each replacing a working library, and one case where units. That 25% is a marginal rate, not one conditional on the the reply itself warns that the package it picks is the harder gate firing, because the gate fires on none of those 60 (E4), so one to build. Six are neutral, between offerings that do not the product assumes independence and is an estimate where substitute for each other or where the baseline named no package at all. Two are better, both cases where the removal every other number here is a count. The second is that the intervention itself can be made far moved the agent off a name-squatted placeholder. Blanket less destructive. Removing only the flagged sentence leaves removal was worse on six of the seven read on the smaller 1 of 59 attacks standing on gpt-oss:120b and 0 of arm, so the two interventions differ in the character of their 72 on gemini-3.1-flash-lite, while changing 0.9% cost and not only its rate. About half the inspected spans were TABLE I E6. T HE TWO REMOVALS ON THE SAME NATURAL BASE , AND WHAT EACH ONE DESTROYS . “O PPORTUNITY ” IS THE NUMBER OF PAIRS IN WHICH THE INTERVENTION REMOVED ANYTHING AT ALL . P ROSE KEPT IS THE

STANDING, NOT TRUTH: WHO MAY SAY WHAT ABOUT WHOM IN AGENTIC SELECTION

10

removal ungated, acting wherever the localizer found a span, which is why its opportunity there is 28 pairs and here it is 3. Table II holds the result. On the natural base both our rows are separated at 95% from every mechanism that stops any attack at all: 0% [0, 1.1] against AttriGuard’s 6.9% [4.7, 10.1], blanket removal’s 11.5% [8.6, 15.3] and CaMeL’s strict 100% [98.9, 100]. CaMeL’s permissive and publisher policies also sit attacks benign disturbed at 0%, and are not separated from ours on this axis, because stopped of 348 of 60 they stop nothing and so disturb nothing. The middle two ours: gate + blanket 131 0 [0, 1.1] 0 ours: gate + sentence 130 0 [0, 1.1] 0 do not separate from each other, and we claim no ordering AttriGuard [14] 7 = 5.3% 24 = 6.9% [4.7, 10.1] 11 between them. Read the first two columns against each other blanket removal 131 40 = 11.5% [8.6, 15.3] 15 and one region holds a single row, full protection at a benign CaMeL [10], strict 131 348 = 100% [98.9, 100] 60 CaMeL, permissive 0 0 [0, 1.1] 0 cost under one percent, and on this base only the subjectCaMeL, publisher 0 0 [0, 1.1] 0 scoped intervention occupies it. Two of the perfect scores are structural rather than measured. what each one takes away, of 348 ours + blanket: prose removed 5 = 1.4% [0.6, 3.3] No candidate arriving from a search can be “trusted” under ours + sentence: prose removed 3 = 0.9% [0.3, 2.5] CaMeL’s shipped predicate, so its strict policy refuses the task blanket: prose removed 348 = 100% rather than defeating the attack, and blanket removal deletes CaMeL strict: refused 348 = 100% the prose from every listing by construction. Both prevent the attack by removing the decision capability, where the gate the claimant’s own self-description, which the localizer should preserves it and its 131/131 is empirical. A second reading is that the attack is invisible to the capahave left alone, so part of this cost measures the localizer’s bility model, not merely unhandled by it. CaMeL’s permissive precision and not the intervention’s design. and publisher policies stop nothing, including the most natural policy of all, trusting a package name sourced from its own H. E7: matched comparison against two published mecha- publisher: here every package name is so sourced. A third is that AttriGuard’s benign cost is of the same nisms and the obvious baseline order as its protection. It disturbs 6.9% [4.7, 10.1] of the 348 The units are 348 natural npm in-set pairs on benign pairs and stops 5.3% [2.6, 10.6] of the 131 attacks. gpt-oss:120b, the 131 of 144 constructed attacks Those are different populations and the intervals overlap, so that landed undefended across both deciders, and 60 natural we claim no ordering between them; the point is that neither units. This is the one base that is smaller than 353: five rate dominates the other. An independent measurement on a baseline replies named no package, and disturbance is different workload reaches the same wall: Ahad et al. [17] defined against a baseline selection, so there is nothing for a report it blocking “47.1% of authorized actions and 36.3% mechanism to disturb. They are excluded here and counted of matched unauthorized actions” with an interval on the everywhere else. That five is the automatic count, and the difference that includes zero. Two measurements with nothing later hand reading finds 9, which would put the base at 344. in common both fail to separate protection from cost, which The rows below are left on the labelling they were measured is what its own non-goals predict for this class (Section V). with rather than half converted, since the two published Its judge is non-deterministic, at 16% verdict instability on mechanisms were never re-read. identical inputs under the open-weight configuration, which Every mechanism is evaluated on the same attack base, the every figure in this row carries. same natural base and the same decisions, so none is scored on a population another was not asked about. AttriGuard runs from its authors’ artifact with its own prompts parsed from the I. E8: could disclosure have done it instead? source at run time, and its verdict needs four model calls per This runs over the same 72 attack units and 353 natural unit, which we paid for. CaMeL runs from its authors’ code, pairs on gemini-3.1-flash-lite, with a third condition with policies we wrote because it ships policies for AgentDojo on the 72 attack units and the 70 natural pairs where the suites and none for a registry. localizer located a span, of which 68 matched verbatim. The Read this as calibration, not as a ranking. The mechanisms two that did not are excluded and said so here. This decider’s enforce different contracts, capability provenance for CaMeL, undefended rate is already 90/90 (E1), so the attack arm here causal attribution for AttriGuard and subject entitlement here, has no room to rise and the conditions are measured against and one metric cannot say which is better. Both of our rows a ceiling. compose the gate with an intervention. The first takes blanket Before accepting that the relation must be computed, removal, which is E6’s first result. The second takes the we tested the cheaper alternative: make the provenance exsentence-scoped removal this paper recommends, scored on plicit and let the model judge. Each description: field the same bases. It stops 130 of 131, disturbs the same zero is re-rendered as attributed speech by its own publisher, benign pairs, and takes prose from three of the 348 where the ‘monoid-go‘ states, "...", with the bytes of the blanket composition takes it from five. E6 reports the same claim untouched. Nothing is removed and no model call is TABLE II E7. E VERY MECHANISM , BOTH BASES . P ROTECTION COUNTS THE 131 OF 144 CONSTRUCTED ATTACKS THAT LANDED UNDEFENDED , SO 131 IS 100%, AND BENIGN COST IS GIVEN ON BOTH NATURAL BASES . T HE SECOND ROW IS THE CONFIGURATION S ECTION VIII RECOMMENDS . T HREE MECHANISMS REACH FULL PROTECTION AND TWO OF THEM DO IT BY REMOVING THE AGENT ’ S ABILITY TO DECIDE .

STANDING, NOT TRUTH: WHO MAY SAY WHAT ABOUT WHOM IN AGENTIC SELECTION

11

a sentence. One reply refuses both packages because the description “contains potentially biased/unverified claims”. A label is not a gentler removal but a different act. The warning’s 29-point reduction comes from decisions, not from the agent giving up: no refusal-like reply occurred in the attack lands benign changed prose kept attack arm, and the defended units show the shift, “Although attribution only 72/72 = 100% 6.2% 100% stablewrite claims to be the community continuation, + warning 51/72 = 70.8% 9.3% 100% canonjson has been updated much more recently”. But bracketing the span 3/72 = 4.2% 2.8% 100% seven attacks in ten still succeed, and 9.3% is a benign cost blanket removal 0/72 21.0% 0% sentence-scoped removal 0/72 2.6% 85.9% comparable to interventions that delete text. In the natural arm the warning produced refusal-like replies on 5/353 = 1.4% of pairs, and attribution alone on 7/353 = 2%, counted above added. A second condition adds one line saying that descrip- rather than removed. tions are publisher-written, unverified, and that statements The obvious objection is that one should simply mark the about other packages are not checked, kept separate so that provenance and let the model decide. Disclosure is dominated attribution is not credited with what the warning does. A third on the axis that matters, which is what justifies the rest is the strongest disclosure we could construct, and it is the of the mechanism. It also settles the gentler intervention a hybrid a deployer reaches for before accepting any deletion: deployer reaches for before removal, rewriting a flagged claim keep the sentence and neutralize it where it stands. Where the as attributed quotation and keeping the context, which deletes check fires, the located sentence stays in place wrapped in an nothing and leaves the attack at full strength. annotation that names the speaker, disclaims verification, and An independent measurement reaches the same place from a states that the claim must not determine the selection. different threat model: on payloads that do carry an instruction, Table III holds the result. Attribution alone changes noth- PARSE finds that rewriting alone leaves attack success where it ing, 72/72 [94.9, 100], and the warning reduces the attack was, 24.6% against 25.4%, and costs benign task success [22]. to 51/72 = 70.8% [59.5, 80.1] at a benign cost of 9.3% [6.7, 12.8]. J. E9: what the boundary condition is, and what it is not The reason attribution fails is visible in the replies, where The commerce arm is built from the commerce corpus the model repeats the attribution and then reasons from the of Section VII-A, scored by ASIN, the identifier Amazon claim as though it were established: binds to a product listing, rather than by package name, on “While ulidforge has a more recent release date, gpt-oss:120b. Twelve payload frames were written in the documentation for monoid-go explicitly states two families of six: one asserts a condition or a provenance, that ulidforge has been retired from active dethe other contests what the displayed rating means. The velopment . . . monoid-go is the correct choice.” first family is 120 units, 60 attacked against 60 matched It holds the weaker fact, that a publisher said this, and controls. The second re-runs its six frames against those same reasons from the stronger one, that it is known. The distinction controls, 60 units more, and both families are scored over DKAL and Binder carry cannot be restored by disclosure. the 59 instances that yield a complete pair. Separately, the 72 The targeted bracket comes far closer and is still dominated: package-registry units were re-decided under four statements 3/72 = 4.2% [1.4, 11.6] of attacks stand where removal leaves of the decision criterion on gemini-3.1-flash-lite, none, and it is worse on the benign axis too. On the one each with its matched control. pass that labelled both arms the same way it changes 2.8% The commerce arm rebuilds the design for product listings, of benign selections against removal’s 1.7%. The 2.6% in where the criterion is a star rating rather than an inferred Table III is removal’s rate under the later reading, which maintenance state. The criterion arm holds the pair, the raised every benign rate it touched and was not applied to payload, the corpus and the decider fixed. It changes only the bracketing arm. It buys only the 14% of the description the sentence saying what to decide by, from “the one whose that removal takes. The three survivors show why, and it is last_publish field holds the more recent date and whose not a matter of wording. A disclaimer has to be written in the deprecated field is false” to “the one that is actively platform’s voice, and the agent credits the claim to that voice: maintained and not deprecated”. “the registry provides an explicit warning regarding The defense transfers, flagging the attacked listing on 60/60 the state of that package” [94, 100] and the unattacked control on 1/60 = 1.7% [0.3, 8.9]. Our annotation about the claim was read as a registry warning The attack does not: frames contesting the rating’s meaning about the honest package. Wrapping a publisher’s assertion in steer 4/59 = 6.8% [2.7, 16.2] of the pairs scorable on both a platform-voiced label can lend it the platform’s standing, conditions and condition and provenance frames steer 2/59 = which is the failure this mechanism exists to prevent. 3.4% [0.9, 11.5], against 131/144 = 91% [85.4, 95.8] on the A label also punishes a false positive harder than a deletion package-registry units. does. All ten changed benign selections are cases where the Within one domain, naming the bound field as the criterion localizer over-fired on innocuous self-description. A visible costs the attack 37.5 points and does not stop it. Steering falls mark discredits the entry where a removal costs it only to 45/72 = 62.5% [51, 72.8] where the criterion is the field, TABLE III E8. D ISCLOSURE AGAINST ENFORCEMENT. T HE FIRST TWO ROWS REMOVE NOTHING AND ADD NO MODEL CALL , AND ARE STILL DOMINATED . T HE LAST THREE ACT WHEREVER THE LOCALIZER FOUND A SPAN , NOT ONLY WHERE THE SUBJECT CHECK FIRES .

STANDING, NOT TRUTH: WHO MAY SAY WHAT ABOUT WHOM IN AGENTIC SELECTION

12

and stands at 72/72 [94.9, 100] at each of the three levels TABLE IV E10. O NE ATTACK AND TWO REMOVALS ON THIRTEEN DECIDERS . E ACH above it. The control errs on 0/72 at every level. DEFENDED COLUMN IS OVER THAT MODEL’ S OWN LANDING UNITS , SO The inferential gap changes how well the attack works, not EVERY ROW HAS ITS OWN DENOMINATOR AND G P T -5.5 HAS NONE . T HE whether it works. With the criterion stated as the bound field LAST TWO COLUMNS ARE WHAT SURVIVES EACH REMOVAL . T HE BLANKET COLUMN IS A FLOOR RATHER THAN A DEFENSE RESULT : itself, the agent reads that field, reports its value correctly, and WITH THE DESCRIPTION GONE THERE IS NO PAYLOAD LEFT TO SURVIVE . installs the other package anyway: “Although mailnorm shows a more recent decider lands sentence blanket last_publish date (2026-07-21 vs. 2026-03-05), gpt-5.5 0/24 = 0% n/a n/a grok-4.3 3/72 = 4.2% 0/3 0/3 the search results explicitly state that addrsift glm-5.3-flash 20/72 = 27.8% 0/20 0/20 is the maintained successor to mailnorm.” kimi-k2.5 24/72 = 33.3% 0/24 0/24 gpt-oss-20b 27/72 = 37.5% 0/27 0/27 The failure is not that the agent lacks the evidence: it has the claude-opus-5 10/24 = 41.7% 1/10 0/10 evidence, quotes it correctly, and is overruled by a sentence deepseek-v4-flash 34/72 = 47.2% 4/34 0/34 gemma-3-4b-it 40/72 = 55.6% 7/40 2/40 from an interested party. command-r7b 45/72 = 62.5% 7/45 22/45 The domain is not what separates this from the other qwen3.7-flash 45/72 = 62.5% 0/45 0/45 nova-micro-v1 56/72 = 77.8% 9/56 0/56 published measurement of this attack class in commerce. Aphi-4 59/72 = 81.9% 14/59 2/59 VIP [2] moves a shopping agent on 73.3% of 90 scenarios, mistral-nemo 63/72 = 87.5% 2/63 2/63 and its own account of the payload says why the two differ. pooled 426/840 44/426 28/426 50.7% 10.3% 6.6% The claim there is about availability and product lineage, that [36.6, 64.2] [5.0, 16.3] [0.6, 17.4] the cheaper match has been discontinued and the dearer one is its in-stock successor. No field in a listing reports whether a product is discontinued, so the agent has nothing to check that defense is therefore needed on a wider population than a gapsentence against. Our commerce task names the displayed star based scope would give it. Stating the criterion as a bound rating as the criterion, so a payload has to contest a number field does not immunize the decision. the agent can read. Those are the two ends of the gap this section measures, inside one domain. The decider was one of two confounds inside that argument, K. E10: both removals across a thirteen-model panel The panel puts the 72 attack units at the selection endpoint and it is removed by running our decider and our check over the 90 scenarios A-VIP released. Their scenarios carry the to 13 further deciders from 12 vendors, frozen before the attack where ours do not: 39 of 75 paired decisions move, first call and every one reported. Eleven took all 72 units. 52.0% [38.0, 66.2] clustered over product pairs. The base is 75 gpt-5.5 and claude-opus-5 were capped at 24 units rather than 90 because in the other fifteen the control already by cost. Those 24 are base pairs 10 to 17 at three margins chose the promoted product, leaving the payload nothing to rather than a sample across the set, so their rows rest on a move. The interval is clustered because the 90 scenarios are third of the corpus. That is 840 decisions. Both interventions 30 pairs at three phrasings each, against 6.8% on our own of E6 were then applied to the 426 decisions where the attack commerce corpus with the same model. That is more than landed undefended, ungated, since the check fires on every seven times our own commerce rate, and still below their attack unit (E4). The procedure is that of E1 and E6, with the decider published 73.3%, which was measured on a different decider. This reproduces the direction and not the magnitude. What replaced each time. This is the selection endpoint, so the two separates the two commerce measurements is the task, not the frontier builds that also appear in E2 carry different rates there. Three names in this table look like names used elsewhere, model. The remaining confound is the host: our own commerce arm ran these models on a free open-weight endpoint and this and two of them are different builds. gpt-oss-20b here is not the gpt-oss:120b that carries the defense experiments, ran them metered, with the same weights. The check fires on 89 of their 90 payloads and the localizer and glm-5.3-flash is not the glm-5.3 that runs the finds a span on 85. Of the 39 landed attacks, 38 had a span subject check. qwen3.7-flash is the same build in two to remove and one of those still stands. The thirty-ninth had roles, a decider here and the second extractor of Section VII-A. no span located and was not re-decided. Removal changed It produced no verdict about itself: the spans removed in this nothing on the units the attack had not moved. The one experiment are the ones E6 already located. Table IV holds the result. The attack lands on 426/840 = survivor is the residual this paper already names, a second sentence about the attacker’s own product, which standing 50.7% of panel decisions and sentence-scoped removal leaves 44/426 = 10.3% standing. The spread across deciders is the admits by design. What the gap does not explain is the middle of our own result: from 0% to 87.5%, with no monotonic relationship range. Naming the bound field as the criterion costs 37.5 between model scale and resistance, claude-opus-5 sitting points and leaves 62.5%, far above the 6.8% reached where the at 41.7% above four smaller builds. Both frontier rows are criterion is the displayed number itself. Stating a field-scoped the capped ones, 24 units rather than 72, so that ordering is criterion in a prompt is a weaker condition than having the the weakest claim in the table and E2’s matched comparison criterion be the field. That arm runs on one decider and its is the one to read. The intervals are clustered, not Wilson. three upper levels are saturated, so 62.5% is a property of one These 840 decisions are 24 base pairs at three margins put phrasing rather than of field-scoped criteria in general. The to thirteen deciders, two of them on a third of the units.

STANDING, NOT TRUTH: WHO MAY SAY WHAT ABOUT WHOM IN AGENTIC SELECTION

13

A decider’s verdicts are correlated across all of its own, so The false-positive rate should be measured on the the deciders are the cluster and the interval is a bootstrap deployment corpus before a policy is set. The same check over them. That gives [36.6, 64.2] on the landing rate where flags 5/353 = 1.4% [0.3, 3.1] of npm pairs and 1/292 = Wilson would give [47.3, 54.1], [5.0, 16.3] on the sentence 0.3% [0.1, 1.9] of commerce listings (Section VII-D). Those arm against [7.8, 13.6], and [0.6, 17.4] on the blanket floor intervals overlap, and so do the two extractors’, so neither against [4.6, 9.3]. The wider interval is the one reported, as comparison separates at this sample size. The cost figures here everywhere else in this paper, and here that is twice to four start a deployment rather than settle it. times as wide. One decider refuses rather than choosing. A check that flagged every competitor-directed claim would Thirteen claude-opus-5 calls returned a provider refusal also flag a true third-party security advisory, and that is the risk and no text, nine of them undefended against two in each that matters most in deployment. A maintainer warning that defended arm, and they are counted as non-selections rather another package ships a vulnerable dependency makes exactly than dropped. The one unit that refuses in every arm is a the kind of claim the check catches. Three properties bound signature-verification task, so part of this belongs to the topic the damage. The intervention is sentence-scoped, so the rest of rather than to the payload. the warning survives (Table I). The verdict is entitlement rather The blanket arm is a floor, and it moves the other number. than truth, so a publisher with standing is unaffected. And Blanket removal deletes the whole description, so a reply that AUTHORITY(p) is the lever: designating recognized security still names the attacker’s package carries no surviving payload. teams for advisory predicates admits their claims while still It is that model’s own preference, or a reversed reading of the catching a competitor’s. A deployment that omits that step will dates. command-r7b is the clear case, at 22/45 = 48.9% suppress legitimate warnings. under blanket against 7/45 under sentence-scoped removal, because it repeatedly reads the earlier of two publish dates IX. L IMITATIONS as the more recent. The floor has to be subtracted per A register of the 34 limitations this work recorded ships model, and doing so doubles the residue. Pooled, 10.3 − 6.6 gives 3.7 points, but that lets command-r7b’s −15 cancel with the artifact, each with its state and, where one exists, the the five models whose residue is positive. Summing the per- measurement that settled it. Every entry has reached a state model residues where they are positive gives 31/426 = 7.3 the register admits as settled, which is not the same as saying points, and dropping command-r7b altogether gives 9.7% nothing is left to do. The load-bearing entries follow. Two published attacks fall outside the mechanism, and against 1.6% on the remaining 381 decisions, a residue of 8.1 points. We report 7.3, because the pooled 3.7 is an artifact of one is the strongest in this setting. ToolHijacker [6] optimizes one model’s arithmetic subtracting from five models’ payload. a description of the attacker’s own tool, whose subject is The registered prediction is refuted. The prediction was the claimant, so standing admits it. The same limit appeared written into the experiment’s own script before the first call, in our own results, where the one attack surviving sentenceand ships with it: that sentence-scoped removal would leave scoped removal carried a second sentence about the attacker the attack standing on at most one panel model. It stands on itself. Criteria Attack [31] injects decision rules, which have seven by the raw count and five after the floor is subtracted: a no subject in the option set and so no standing relation to large reduction, not an elimination, and it leaves most where evaluate. Both are limits of the mechanism rather than of this implementation. the attack was strongest. The novelty is deliberately narrow. That the payload carries no instruction, that the attacker is lawful, and that the target VIII. D EPLOYING THIS is selection are each already established, and A-VIP [2] meaThe check consults a set AUTHORITY(p) naming the prin- sures the premise-based variant. New here are the placement cipals a platform designates for each predicate. We treat it as analysis, the negative result on disclosure, the binding step, given, because a registry already has one for every field it and the measured protection. The attack arm is synthetic everywhere, because a natural binds: the platform sets deprecated and the publisher its own version. The obvious objection is that this moves the corpus cannot supply a known payload with known ground problem rather than solving it. Where it moves to is the answer. truth. Establishing that a published sentence about a competitor An implicit, unbounded trust in whatever a publisher writes is false means adjudicating the competitor’s maintenance state, becomes an explicit relation that a platform sets, publishes and which is the truth question this mechanism exists to avoid. can be audited against. Truth adjudication does not become What the natural arms establish instead is a cost on honest easier, but it stops being something the agent does silently. traffic, measured on real prose. Of 353 npm pairs the check Extending the set to predicates a registry does not yet bind flags five, of which three carry a competitor-directed claim, is a governance question, and the three predicates behind our and none of the five moves a decision, so this corpus contains own payloads already separate. A deprecation flag belongs the relation without containing the attack. One arm is at least to the platform. Successorship belongs to whoever owns the not ours to construct: the check fires on 89 of the 90 scenarios upstream project. A security advisory belongs to a CVE another group released, and removal holds there too (E9). issuer or a recognized security team. What remains is who The aggregate cost transfers and the individual verdicts do arbitrates a contested entry, and how the sets interoperate not yet. Two extractors agree on the rate and overlap on only across registries. two of the eight entries either one flags (Section VII-A). A

STANDING, NOT TRUTH: WHO MAY SAY WHAT ABOUT WHOM IN AGENTIC SELECTION

14

high-assurance deployment should not read a single verdict as lawful seller’s false claim about a competitor’s listing is not reproducible, and a deployer cannot inherit this false-positive in that map. rate without re-measuring it on its own catalogue. A rule-based Prompt injection and its defenses. The founding formureader cannot replace the extractor, because shapes do not lation [7] and the benchmark line [30], [33], [34] treat the decide standing, but E6 measures one that catches 204/204 payload as an instruction: an AgentDojo security test pairs a of the frame evasions for no model call, which bounds how user task with an injection task “formulated as an instruction much of the pipeline has to carry a model. to the agent”, and ASB’s adversary may edit both prompts and The verdict labels were assigned by a language model, still needs one. Section V maps the leading defenses onto the which in a paper about trusting what a model asserts is the one four placements with each family’s own exclusion. One pattern runs through the rest of the corpus, through instrument that cannot be taken on trust. Two human passes measure it and Section VII-A gives their agreement, but three information-flow compartmentalization [35], layered retrieval qualifications belong with those figures. The panel’s perfect filtering [36], boundary-level causal monitoring [37] and the score covers extraction rather than judgment. Its instruction 2026 authority literature [38]–[44]. Each gives the trusted side sheet was written by the first pass, so the two are independent of the boundary a grammar, a permission IR [38], an authoin execution and not in framing. And E3 and E6 through rization graph [11], argument-role contracts [12] or protected E9 carry no second pass at all. Every disagreement was sink fields [39], [40], and the untrusted side a label. Where adjudicated against the stored reply, and no printed figure structure is derived from the untrusted side, it is keyed to where the evidence came from rather than to who was entitled changes under the adjudicated labels. Subject resolution is by name, and names collide. The to say it, and a 2026 survey of evidence tracing maps that binding matches a claim’s subject against the option set by side in full [45]. Two systems come closest. Liao [46] audits, published name, and that fails in both directions on real per argument, whether evidence was authorized by its source registries. A substring fires where no claim exists, as “limit” to determine that target, which is our question with source inside @size-limit/file did. And a claim about an where we put subject. ProvenanceGuard [47] decomposes an upstream project shared between a Go module and an npm answer into atomic claims and routes each to source-specific wrapper has no single name to match. Two of the five natural evidence, catching a claim “supported somewhere while being flags are substring artifacts, so the reported benign flag rate is attributed to the wrong source”. That is claim-level structure on conservative and this is the weakest link in the binding. Cross- the untrusted side, and it still admits our attacker, because the registry identity is a precondition of the binding, assumed by publisher is the correct source for its own description. Neither asks whether the speaker was entitled to say it, and both need this work rather than supplied by it. One composition is untested. Removing a flagged sentence a corpus that can settle the claim, which a maintenance state only where it also moves the decision would cut the benign does not have. Counterfactual attribution and repair [48], [49] are diagnoscost further. The influence signal cannot carry an authorization tic rather than preventive: the machinery that would identify decision (Section V), but a cost decision, where being wrong our attack’s causal step exists and is good, and it runs after means a saving missed rather than an attack admitted, is a the package is installed. different question we did not run. One line verifies claims rather than channels. Four narrower bounds close the list. Every corpus is English, RAGShield [50] shares our adversary, an insider with valid and the verdicts come from one extractor with recall reprocredentials whose documents pass every provenance check, ducing on two further models. The two layers divide here as and verifies extracted claims against independent publications. they do elsewhere: a published name is the same token in any That works because government numerical values have a truth language, so a further language moves the extraction error and oracle: such a claim is “either correct or incorrect, there is not the relation it feeds (Section VI-C). Evidence stops at a no ambiguity”. No registry reports connreef’s maintenance recorded tool call, so nothing here installs, executes or settles, state, and none ever will. Standing is what remains when and a blocked call is not a preserved outcome [17]. Of the consensus is unavailable. TriShieldRAG [36] reaches the two kinds of dependence behind the intervals only clustering same wall from the other side, naming claim-level verification is corrected, leaving decider non-determinism measured but not propagated, at 1 of 47 identical re-asks and 16% for as a fourth layer it would need. Manipulating selection without injection. Nestaas et al. [1] AttriGuard’s judge. And a changed benign selection is not a worse one. E6 grades the twelve changes on the large npm is the closest attack prior art and poses this paper’s question bases and the seven before them, but the panel’s rates are as its open problem, though its own experiments use prompt injection. ToolHijacker [6] optimizes tool documents under a ungraded and so bound disturbance rather than damage. no-box model whose reading assumption excludes competitordirected claims by construction (Section III), and Criteria X. R ELATED WORK Attack [31] injects decision rules while preserving the task Where this sits on the field’s own map. A 2026 system- goal. Poisoning through retrieval and memory [9], [51] and atization of agentic-commerce security [32] divides the area learned execution triggers [52] carry an execution payload, into agent integrity, transaction authorization, inter-agent trust, and AgentPoison needs write access to the agent’s memory market manipulation and regulatory compliance, placing price and a trigger in the user’s query. Ours needs neither, which is manipulation, herding and front-running under the fourth. A why it is invisible to defenses that look for either.

STANDING, NOT TRUTH: WHO MAY SAY WHAT ABOUT WHOM IN AGENTIC SELECTION

One concurrent attack shares our payload property and not our capability. MemMorph [8] biases tool selection by writing records “disguised as technical facts, incident reports, and operational policies” into an agent’s long-term memory, so that they “subtly alter the agent’s interpretation”. A noninstructional factual payload moving a tool choice is therefore established twice, through unrelated channels. Its attacker either compromises the memory backend or “interacts as an ordinary user, crafting dialogue turns that the agent organically memorizes”. Ours does neither, and a memory record carries no publisher identity, which is the field our binding depends on. Extracting a claim from prose is an established task, and the gap is one field. Open information extraction turns text into relational tuples ⟨arg1 ; rel; arg2 ⟩ [3], and claim verification labels a claim supported or refuted against a corpus [53]. Neither produces a speaker, because the author of a sentence is not a participant in the relation it expresses, and a catalogue supplies one for free in the identity it already binds to the entry. Verification is the wrong question here for the reason FEVER’s own construction makes plain: it needs a corpus containing the answer, and none reports whether connreef was frozen upstream. Authorization and trust management. The family has scoped assertion by its statement since 1993: A controls s expresses trust in A on the truth of s, and s “may function as an imperative . . . or not” [26]. Section VI reads its descendants [4], [5], [23]–[25], and what they share matters more than what distinguishes them. Their gap is uniform and it is not expressiveness: every one begins from a statement, and free-text marketing prose is not one. Provenance and attestation. Verifiable credentials [54] and trust registries [55] bind an artifact or an attribute to an identity, and a trust registry’s unit of scoping is the credential schema, not the assertion. Section IV shows why that is insufficient here: the signature verified, and the model cited it as grounds for believing a false claim about a third party. A-VIP [2] characterizes the three-family attack in agent payments, measures its premise-based member, and binds a purchase to the user’s authorization, closing the two families that forge the signed object. For the third it bounds the spend and states the boundary as a contribution, the family it “cannot reach”. Its secondary content scanner was evaded on 58% of payloads by at least one of two generators that observed its verdict and retried. That stated boundary is where this paper starts: where A-VIP limits what a steered decision can cost, we ask what separates a steered decision from an honest one. XI. C ONCLUSION A sentence that instructs nobody, published lawfully by a party entitled to publish it, changes what a software agent installs. Three families of defense cannot scope that class, and none fails through weakness: the source really is authorized, the evidence really is meant to decide, and the action really does serve the user’s goal. Each fails where its own specification says it will, which is why we quote the specifications rather than argue with them. Nor is it enough to tell the

15

model what it is reading, since re-rendering every description as attributed speech left the attack at 72/72. The separating relation is standing, not truth, and standing is decidable from fields catalogues already bind. What the measurements support is narrower than the framing: the check’s value is as a gate that tells a deployer where to spend an intervention which cannot be spent everywhere. The intervention it gates costs 0.9% and 2.6% of benign selections on two deciders where deleting the description outright costs 12.7% and 21.0%, and it leaves most of the publisher’s prose standing where the blunt instrument leaves none. Gating can only lower that cost and does not lower the coverage, because the check fires on five benign pairs in 353 and on every attack unit, though the gated figure is an estimate and not a count. Across thirteen further deciders the same removal takes out nine in ten of what lands. It also misses two published attacks, for reasons we can state precisely, and that is the most useful thing we can say about where the next check sits. E THICS Every payload here was constructed for this paper, and none was published to a registry, a marketplace or any other live service. The corpora are public text read offline, and the registry and advisory endpoints the harness contacts are read only. The five natural flags of E3 name packages whose descriptions are public. The paper reports what those descriptions say and alleges no bad faith by their publishers. The study collects no data about people. ACKNOWLEDGMENT The authors thank Claude (Anthropic) for assistance in planning and writing, in implementing the experiment harness and analysis scripts, and in assigning the verdict labels that Section IX validates against an independent human pass. All claims, results and conclusions are the authors’ own and the authors’ responsibility. R EFERENCES [1] F. Nestaas, E. Debenedetti, and F. Tramèr, “Adversarial search engine optimization for large language models,” in International Conference on Learning Representations, vol. 2025, 2025, pp. 4857–4888. [2] Y. Louck, A. Dvir, and A. Stulman, “Signing the transaction but not the decision: Whisper attacks and a binding defense for ap2,” arXiv preprint arXiv:2609.11757, 2026. [3] C. Niklaus, M. Cetto, A. Freitas, and S. Handschuh, “A survey on open information extraction,” arXiv preprint arXiv:1806.05599, 2018. [4] M. Y. Becker, C. Fournet, and A. D. Gordon, “SecPAL: Design and semantics of a decentralized authorization language,” Journal of Computer Security, vol. 18, no. 4, pp. 619–665, 2010. [5] C. Ellison, B. Frantz, B. Lampson, R. Rivest, B. Thomas, and T. Ylonen, “Spki certificate theory,” Tech. Rep., 1999. [6] J. Shi, Z. Yuan, G. Tie, P. Zhou, N. Z. Gong, and L. Sun, “Prompt injection attack to tool selection in LLM agents,” in 33rd Annual Network and Distributed System Security Symposium, NDSS 2026, San Diego, California, USA, February 23-27, 2026. The Internet Society, 2026. [Online]. Available: https://www.ndss-symposium.org/ndss-paper/ prompt-injection-attack-to-tool-selection-in-llm-agents/ [7] K. Greshake, S. Abdelnabi, S. Mishra, C. Endres, T. Holz, and M. Fritz, “Not what you’ve signed up for: Compromising real-world llm-integrated applications with indirect prompt injection,” in Proceedings of the 16th ACM workshop on artificial intelligence and security, 2023, pp. 79–90.

STANDING, NOT TRUTH: WHO MAY SAY WHAT ABOUT WHOM IN AGENTIC SELECTION

[8] X. Zhang, Y. Zheng, Z. Xu, K. Zhou, B. Shen, H. Ou, T. Zhang, and K.-Y. Lam, “MemMorph: Tool hijacking in LLM agents via memory poisoning,” arXiv preprint arXiv:2605.26154, 2026. [9] W. Zou, R. Geng, B. Wang, and J. Jia, “{PoisonedRAG}: Knowledge corruption attacks to {Retrieval-Augmented} generation of large language models,” in 34th USENIX Security Symposium (USENIX Security 25), 2025, pp. 3827–3844. [10] E. Debenedetti, I. Shumailov, T. Fan, J. Hayes, N. Carlini, D. Fabian, C. Kern, C. Shi, A. Terzis, and F. Tramèr, “Defeating prompt injections by design,” arXiv preprint arXiv:2503.18813, 2025. [11] P. Wang, Y. Li, and Y. Tian, “Aligning provenance with authorization: A dual-graph defense for LLM agents,” arXiv preprint arXiv:2605.26497, 2026. [12] L. Fan, Z. Li, Y. Tian, Y. Wang, R. Li, and X. Wang, “The granularity mismatch in agent security: Argument-level provenance solves enforcement and isolates the LLM reasoning bottleneck,” arXiv preprint arXiv:2605.11039, 2026. [13] Y. Louck, “Securing llm-agent long-term memory against poisoning: Non-malleable, origin-bound authority with machine-checked guarantees,” arXiv preprint arXiv:2606.24322, 2026. [14] Y. He, H. Zhu, Y. Li, S. Shao, H. Yao, Z. Liu, and Z. Qin, “Attriguard: Defeating indirect prompt injection in llm agents via causal attribution of tool invocations,” arXiv preprint arXiv:2603.10749, 2026. [15] M. Kim, M. Parmar, P. Wallis, L. Miculicich, K. Jung, K. D. Dvijotham, L. T. Le, and T. Pfister, “Causalarmor: Efficient indirect prompt injection guardrails via causal attribution,” arXiv preprint arXiv:2602.07918, 2026. [16] K. Zhu, X. Yang, J. Wang, W. Guo, and W. Y. Wang, “Melon: Provable defense against indirect prompt injection attacks in ai agents,” arXiv preprint arXiv:2502.05174, 2025. [17] T. Ahad, I. Hossain, M. J. Alam, S. Puppala, S. B. Alam, and S. Talukder, “Influence is not authority: When causal guardrail signals make legitimate tool use look like an attack in tool-using llm agents,” arXiv preprint arXiv:2608.29942, 2026. [18] F. Jia, T. Wu, X. Qin, and A. Squicciarini, “The task shield: Enforcing task alignment to defend against indirect prompt injection in llm agents,” in Proceedings of the 63rd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), 2025, pp. 29 680– 29 697. [19] S. Chen, A. Zharmagambetov, S. Mahloujifar, K. Chaudhuri, D. Wagner, and C. Guo, “Secalign: Defending against prompt injection with preference optimization,” in Proceedings of the 2025 ACM SIGSAC Conference on Computer and Communications Security, 2025, pp. 2833– 2847. [20] J. Piet, M. Alrashed, C. Sitawarin, S. Chen, Z. Wei, E. Sun, B. Alomair, and D. Wagner, “Jatmo: Prompt injection defense by task-specific finetuning,” in European Symposium on Research in Computer Security. Springer, 2024, pp. 105–124. [21] S. Qin, H. Zhuang, Y. Zhou, Y. Han, and X. Zhang, “AIRGuard: Guarding agent actions with runtime authority control,” arXiv preprint arXiv:2605.28914, 2026. [22] A. Pai, “PARSE: Provenance-aware retrieval sanitization for professional domain LLM agents,” arXiv preprint arXiv:2606.17467, 2026. [23] Y. Gurevich and I. Neeman, “Dkal: Distributed-knowledge authorization language,” in 2008 21st IEEE Computer Security Foundations Symposium. IEEE, 2008, pp. 149–162. [24] J. DeTreville, “Binder, a logic-based security language,” in Proceedings 2002 IEEE Symposium on Security and Privacy. IEEE, 2002, pp. 105– 113. [25] N. Li, J. C. Mitchell, Y. Qiu, W. H. Winsborough, K. E. Seamons, M. Halcrow, and J. Jacobson, “RTML: A role-based trust-management markup language,” 2002. [26] M. Abadi, M. Burrows, B. Lampson, and G. Plotkin, “A calculus for access control in distributed systems,” ACM Transactions on Programming Languages and Systems (TOPLAS), vol. 15, no. 4, pp. 706–734, 1993. [27] Y. Hou, J. Li, Z. He, A. Yan, X. Chen, and J. McAuley, “Bridging language and items for retrieval and recommendation,” arXiv preprint arXiv:2403.03952, 2024. [28] J. Cohen, “A coefficient of agreement for nominal scales,” Educational and psychological measurement, vol. 20, no. 1, pp. 37–46, 1960. [29] E. B. Wilson, “Probable inference, the law of succession, and statistical inference,” Journal of the American Statistical Association, vol. 22, no. 158, pp. 209–212, 1927. [30] E. Debenedetti, J. Zhang, M. Balunovic, L. Beurer-Kellner, M. Fischer, and F. Tramèr, “Agentdojo: A dynamic environment to evaluate prompt

16

injection attacks and defenses for llm agents,” Advances in neural information processing systems, vol. 37, pp. 82 895–82 920, 2024. [31] Y. Liu, Y. Tang, and A. K. H. Tung, “Reasoning hijacking: The fragility of reasoning alignment in large language models,” in Proceedings of the 64th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). San Diego, California, United States: Association for Computational Linguistics, Jul. 2026, pp. 36 646–36 665. [Online]. Available: https://aclanthology.org/2026.acl-long.1698/ [32] Q. Mao, J. Wang, Y. Liu, L. Zhu, C. Ma, and J. Yan, “SoK: Security of autonomous LLM agents in agentic commerce,” arXiv preprint arXiv:2604.15367, 2026. [33] Q. Zhan, Z. Liang, Z. Ying, and D. Kang, “Injecagent: Benchmarking indirect prompt injections in tool-integrated large language model agents,” in Findings of the Association for Computational Linguistics: ACL 2024, 2024, pp. 10 471–10 506. [34] H. Zhang, J. Huang, K. Mei, Y. Yao, Z. Wang, C. Zhan, H. Wang, and Y. Zhang, “Agent security bench (asb): Formalizing and benchmarking attacks and defenses in llm-based agents,” in International Conference on Learning Representations, vol. 2025, 2025, pp. 35 331–35 366. [35] Z. Yu, W. Xing, G. Li, S. Xiong, H. Wang, X. Teng, and M. Han, “Cordon-mas: Defending rag against knowledge poisoning via information-flow control,” arXiv preprint arXiv:2605.26754, 2026. [36] S. K. Mohanty, R. Patel, K. Yuvaraj, J. Chaudhary, and D. Singhania, “Trishieldrag: 3 rings, one blind spot in layered defenses for retrievalaugmented generation,” arXiv preprint arXiv:2607.23838, 2026. [37] T. Zhang, Y. Xu, J. Wang, K. Guo, X. Xu, B. Xiao, Q. Guan, J. Fan, J. Liu, Z. Liu, and H. Hu, “Agentsentry: Mitigating indirect prompt injection in llm agents via temporal causal diagnostics and context purification,” arXiv preprint arXiv:2602.22724, 2026. [38] Y. Zhang, X. Zhao, S. Liu, H. Lou, G. Cheng, and C. Liu, “FAVA: Formal authorization for verified agents with evidence-backed permission graphs,” arXiv preprint arXiv:2607.27267, 2026. [39] I. Santos-Grueiro, “Temporary authority, permanent effects: Committime authorization for LLM agents,” arXiv preprint arXiv:2607.10487, 2026. [40] ——, “Context-to-execution integrity for LLM agents,” arXiv preprint arXiv:2607.06000, 2026. [41] S. Weng, Y. Feng, J. Zhang, X. Xie, J. Yu, and J. Liu, “ARGUS: Defending LLM agents against context-aware prompt injection,” arXiv preprint arXiv:2605.03378, 2026. [42] Y. Wang, W. Zou, R. Geng, and J. Jia, “AgentWatcher: A rule-based prompt injection monitor,” arXiv preprint arXiv:2604.01194, 2026. [43] R. Sequeira, S. Damianakis, U. Iqbal, and K. Psounis, “Agent-sentry: Bounding LLM agents via execution provenance,” arXiv preprint arXiv:2603.22868, 2026. [44] D. Mellafe Zuvic, “Capability gates are not authorization: Confuseddeputy failures in LLM agent frameworks,” arXiv preprint arXiv:2606.28679, 2026. [45] Y. Wang, J. Zhang, Z. Wu, T. Cai, Z. Liu, Z. Sun, M. Dong, M. Zheng, Y. Duan, X. Yin, and Y. Zhu, “From agent traces to trust: A survey of evidence tracing and execution provenance in LLM agents,” arXiv preprint arXiv:2606.04990, 2026. [46] J. Liao, “Auditing provenance sensitivity in LLM agent action selection,” arXiv preprint arXiv:2607.20827, 2026. [47] A. Alvarez, S. Rajan, A. Genuardi, O. Wirjadi, S. Mugel, and R. Orús, “ProvenanceGuard: Source-aware factuality verification for MCP-based LLM agents,” arXiv preprint arXiv:2606.18037, 2026. [48] J. Shah, “Causal agent replay: Counterfactual attribution for llm-agent failures,” arXiv preprint arXiv:2606.08275, 2026. [49] A. Bonagiri, D. Borkar, G. J. Anderias, S. Rafatirad, and H. Homayoun, “Causalflow: Causal attribution and counterfactual repair for llm agent failures,” arXiv preprint arXiv:2605.25338, 2026. [50] K. Patil, “Ragshield: Detecting numerical claim manipulation in government rag systems,” arXiv preprint arXiv:2604.00387, 2026. [51] Z. Chen, Z. Xiang, C. Xiao, D. Song, and B. Li, “Agentpoison: Redteaming llm agents via poisoning memory or knowledge bases,” Advances in Neural Information Processing Systems, vol. 37, pp. 130 185– 130 213, 2024. [52] D. Pasquini, M. Strohmeier, and C. Troncoso, “Neural exec: Learning (and learning from) execution triggers for prompt injection attacks,” in Proceedings of the 2024 Workshop on Artificial Intelligence and Security, 2024, pp. 89–100. [53] J. Thorne, A. Vlachos, C. Christodoulopoulos, and A. Mittal, “FEVER: a large-scale dataset for fact extraction and VERification,” in Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics, 2018, pp. 809–819.

STANDING, NOT TRUTH: WHO MAY SAY WHAT ABOUT WHOM IN AGENTIC SELECTION

[54] W3C Verifiable Credentials Working Group, “Verifiable credentials data model v2.0,” World Wide Web Consortium, W3C Recommendation, 2025. [Online]. Available: https://www.w3.org/TR/vc-data-model-2.0/ [55] K. J. Eer, J. Diaz, and M. Kohlweiss, “Bottom-up trust registry in self sovereign identity,” in Proceedings of the Blockchain Congress Conference, 2022, arXiv:2208.04624.

17

Related documents

Record · ID 1318891 · SHA-256 24f12b347e2538fe
Retrieved via Conceptio: every document is proof-bundled with source, license, and retrieval metadata.
Bring this data into your agent: Connect via MCP or API · 20 free credits to start · no card required
Read the Docs → · View CLI source on GitHub · Conceptio Open Knowledge Archive