Build1 distinct publisher3 min readPublished
Adversa AI put AES ciphertext on a webpage that no text filter could read. Grok's own code execution decrypted it, and the plaintext came back classified as the model's reasoning rather than as fetched content.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
The interesting field here is the one that does not exist. According to the dev.to writeup on Adversa AI's work, the system has no mechanism to record that a given string was untrusted external ciphertext three steps earlier; provenance dies at the code-execution boundary [8]. That is not a filter tuning problem. It is a missing tag, and a tag would have to survive a boundary that currently exists to isolate execution, not to label its output.
Look at how little of the chain is anomalous. The writeup breaks the attack into four stages and names exactly one, re-classification, as the actual vulnerability [14]. Four minus one leaves three stages that are the agent doing its job [1]. Fetching a page during research is normal. Running a decryption routine is not suspicious. Issuing a URL request is not inherently suspicious either [13]. The exfiltration is assembled entirely from sanctioned behaviour.
AES is doing less work in this than the word "encrypted" implies. The property the attack needs is opacity at the layer that scans text, plus a step that resolves the opacity somewhere the scanner cannot see; the source demonstrates that with an AES blob and a key embedded in or near the ciphertext [1][7]. Any decode-then-act path with the same shape would inherit the same trust promotion. The source does not test those variants, so treat that as the hypothesis it is.
Which brings us to the fix on offer, which arrives in the same document as the attack. The writeup is a vendor piece: it proposes scanning the decrypted output as a tool result before it becomes trusted context, and says a fast-path regex would catch obvious authority-hijack phrasing such as "send the following to this URL" [11][12]. Read that as a claim about someone else's traffic. It transfers if the sandbox's output actually traverses that proxy as a tool result, and if the attacker's phrasing stays obvious. The attacker writes the plaintext and pays nothing to paraphrase it, so the second condition is the weak one.
The other half of the proposal is sturdier because it does not depend on reading the instruction at all. The source's gap analysis notes that nobody scrutinised the outbound tool call for exfiltration characteristics regardless of where its instructions came from [10]. A mid-conversation fetch to a fresh domain carrying a long query parameter is checkable without any opinion about the model's intent. Input filters and plaintext-trained classifiers cannot compete with that, since the input they see is ciphertext and the payload is opaque until it decrypts inside a sandbox they cannot inspect [9][15]. A guardrail that only reads plaintext is well matched to attackers who only send plaintext.
Two caveats on the evidence. This is one writeup describing Adversa AI's research, and the material carries no dates, no advisory numbers, and no response from either vendor [11]. And the Gemini result in it is a filter bypass rather than the same exfiltration, since the harmful content never appeared in plaintext at the filter layer [6]. That is a different failure with the same root: the decision about trust is being made at the wrong point in the pipeline.
Ranked by verification strength, evidence, and original report placement.
The account is a dev.to article describing Adversa AI's research that also proposes Sentinel's agentic proxy, which scans code-execution output as a tool result before it is treated as trusted context; the text contains no dates, advisory identifiers or vendor responses.
Every individual step looks legitimate in isolation: decrypting data is not suspicious and making a URL request is not inherently suspicious; the chaining plus loss of provenance turns it into exfiltration.
The writeup breaks the attack into four stages, delivery, execution, re-classification and action, and names re-classification as the actual vulnerability.
Three of the four stages in the described chain are behaviour the agent is designed to perform, since only one stage is identified as the vulnerability.
Adversa AI researchers built a webpage containing an AES-encrypted blob whose malicious instructions were ciphertext, so there was no 'ignore previous instructions' string or suspicious plaintext for regex or keyword prompt-injection scanning to match.
Grok, and separately Gemini, has code execution capability, and on encountering the page the model runs the decryption routine inside its own sandbox and decrypts the blob itself.
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 27, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
build
Grok built its own prompt injection: the filter never saw the payload1 distinct publisher
build
Grok decrypted the attack itself, which is why the page-layer filters saw nothing1 distinct publisher
security
Three items, one tier: Keycloak's reset bug, an N-able password leak, a Grok data-theft trick1 distinct publisher
security
Mindguard shows a Kiro workspace file and one message are enough to exfiltrate local data1 distinct publisher
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Thin, single-source and self-interested
Every substantive technical claim traces to one dev.to post that relays the research second-hand while promoting the author's own mitigation product. There is no primary Adversa AI publication, no reproduction steps, no model versions, no captured request, no advisory identifier and no vendor acknowledgement. The only parts of the story that are directly verifiable from supplied material are the article's own framing and the absence of a disclosure record.
No adoption signal in supplied sources
The supplied material contains one publication event and nothing measurable about uptake: no deployment of the proposed proxy, no user or customer counts, no vendor patch or configuration change, no evidence that the technique has been observed in the wild, and no indication of how many agent stacks match the described pipeline. A single unverified disclosure writeup is not an adoption measurement.
Overstated relative to verifiable evidence
The framing is maximal — encryption weaponised, zero clicks, every text-based guardrail defeated on two major assistants — while the supporting evidence is a single second-hand post with no dates, artefacts or vendor confirmation, and the proposed fix is described only in the conditional ('would catch'). The underlying structural insight about provenance loss across code execution is plausible and useful, which keeps the gap short of extreme, but the certainty of the impact language substantially exceeds what is shown.
Strong vendor incentive; problem and product share an author
The post diagnoses a gap and then names the author's own Sentinel proxy as the layer that closes it, walking through tool-result scanning, de-obfuscation, exfiltration detection and credential redaction. The severity framing of the research directly increases demand for the product being marketed in the same article, and no competing or vendor-side account is present to counterweight it.
Low confidence in substance, higher in provenance
Confidence is high that this is a single-publisher, vendor-promotional account lacking any disclosure record, and that the four-stage framing is as described. Confidence in the empirical claims — that Grok exfiltrated chat history zero-click and that Gemini's filters were fully bypassed — is low, because nothing in the cluster corroborates them and no vendor has responded.