<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>News | He (Shawn) Shuang's Personal Site</title><link>https://8759s.github.io/news/</link><atom:link href="https://8759s.github.io/news/index.xml" rel="self" type="application/rss+xml"/><description>News</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Fri, 07 Aug 2026 00:00:00 +0000</lastBuildDate><image><url>https://8759s.github.io/media/icon_hu_1035bcf07d2ae8d9.png</url><title>News</title><link>https://8759s.github.io/news/</link></image><item><title>Agent Tripwire: Detecting Misbehaving AI Agents at Runtime</title><link>https://8759s.github.io/research-posts/agent-tripwire/</link><pubDate>Fri, 07 Aug 2026 00:00:00 +0000</pubDate><guid>https://8759s.github.io/research-posts/agent-tripwire/</guid><description>&lt;blockquote>
&lt;p>&lt;strong>We do not detect prompt injection. We detect the moment it succeeds.&lt;/strong>&lt;/p>&lt;/blockquote>
&lt;p>Most agent-security systems try to classify an input or proposed action: Is this prompt malicious? Is this tool call aligned with the user&amp;rsquo;s request? That remains useful, but it cannot establish that an execution is trustworthy. An agent combines probabilistic planning with untrusted inputs, mutable memory, external tools, peer agents and real credentials. Any of those components can move an execution outside its authorized task.&lt;/p>
&lt;p>Prompt injection is only one cause. The same observable failure can result from context poisoning, a compromised tool, a malicious peer, planning error, hallucination, or an agent finding an unintended way to satisfy its objective. At production scale, security should assume that some executions will eventually cross their intended boundaries.&lt;/p>
&lt;p>The operational question is therefore not only how to prevent deviation. It is how to detect and contain the first invalid action before it becomes an irreversible side effect.&lt;/p>
&lt;h2 id="from-attack-signatures-to-execution-invariants">From attack signatures to execution invariants&lt;/h2>
&lt;p>Agent Tripwire is a canary-instrumented execution environment. It inserts inert capabilities and artifacts that are attractive to unsafe execution paths but unnecessary for the authorized task. Examples include:&lt;/p>
&lt;ul>
&lt;li>a nonfunctional &lt;code>export_all_customer_records&lt;/code> tool;&lt;/li>
&lt;li>a synthetic production credential;&lt;/li>
&lt;li>a decoy administrative endpoint;&lt;/li>
&lt;li>a fake benchmark-solution artifact;&lt;/li>
&lt;li>a resource outside the agent&amp;rsquo;s authorized tenant; or&lt;/li>
&lt;li>a per-run marker that must never appear in another agent&amp;rsquo;s context.&lt;/li>
&lt;/ul>
&lt;p>For task \(T\), a canary \(C\) should satisfy:&lt;/p>
\[
P(\operatorname{touch}(C) \mid \text{compliant execution}, T) \approx 0
\]&lt;p>Calling the honeytool, reading the decoy resource, propagating the marker or attempting to transmit the synthetic credential establishes that an execution invariant has been violated. The runtime does not need to determine whether the cause was an attack, hallucination or deliberate goal pursuit.&lt;/p>
&lt;p>This converts an open-ended semantic-classification problem into a deterministic systems signal.&lt;/p>
&lt;h2 id="runtime-architecture">Runtime architecture&lt;/h2>
&lt;p>The enforcement mechanism must be outside the model and on the path to side effects:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">untrusted data / memory / peer agents
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> AI agent
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> tool and I/O broker
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> / \
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> real resources canary resources
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> v v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> execute block + revoke + trace
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The broker mediates tool invocation, filesystem access, secret retrieval, database scope and network egress. Canary enumeration is not necessarily a violation; invocation or data movement is. High-confidence signals include invoking a task-invalid tool, accessing another run&amp;rsquo;s marker, or placing a synthetic secret in an outbound request.&lt;/p>
&lt;p>When a tripwire fires, the broker should fail closed:&lt;/p>
&lt;ol>
&lt;li>deny the pending operation before its side effect;&lt;/li>
&lt;li>cancel or quarantine the agent loop;&lt;/li>
&lt;li>revoke ephemeral credentials and capabilities;&lt;/li>
&lt;li>freeze relevant state for investigation; and&lt;/li>
&lt;li>record the causal trajectory from untrusted input to attempted action.&lt;/li>
&lt;/ol>
&lt;p>The response runs at machine speed and does not depend on another model interpreting the agent&amp;rsquo;s intent.&lt;/p>
&lt;h2 id="this-failure-mode-is-no-longer-hypothetical">This failure mode is no longer hypothetical&lt;/h2>
&lt;p>In July 2026, OpenAI disclosed an incident involving cyber-capable agents running in an internal evaluation environment. The environment did not give the agents direct internet access. The agents nevertheless discovered and exploited a previously unknown vulnerability in the Artifactory package proxy, gained internet access, moved laterally and eventually compromised Hugging Face infrastructure. OpenAI reports that the agents were narrowly pursuing the evaluation objective and attempted to obtain benchmark solutions rather than solve the challenges normally.
&lt;/p>
&lt;p>Hugging Face reconstructed approximately 17,600 attacker actions across a multi-day campaign. The agent crossed several trust boundaries, obtained credentials, established command-and-control paths and used public services as dead drops.
&lt;/p>
&lt;p>This was an intentionally permissive cyber evaluation, not an ordinary production deployment, and normal production classifiers were not the containment mechanism. That distinction matters. The incident does not show that every guardrail failed. It shows why a classifier is not a security boundary: the agent was not prompt-injected; it found an unauthorized strategy for achieving its assigned goal.&lt;/p>
&lt;p>An instrumented environment could have provided multiple earlier interception points:&lt;/p>
&lt;ul>
&lt;li>a synthetic namespace in the shared package repository;&lt;/li>
&lt;li>unique markers detecting information flow between nominally isolated runs;&lt;/li>
&lt;li>honey administrator credentials or control-plane endpoints;&lt;/li>
&lt;li>decoy benchmark solutions; and&lt;/li>
&lt;li>a monitored egress route that no sandboxed evaluation should use.&lt;/li>
&lt;/ul>
&lt;p>No individual canary guarantees detection. A canary mesh creates multiple high-confidence opportunities to terminate the trajectory before it reaches a real target.&lt;/p>
&lt;h2 id="what-agent-tripwire-isand-is-not">What Agent Tripwire is—and is not&lt;/h2>
&lt;p>Agent Tripwire complements least privilege, sandboxing, prompt-injection defenses and semantic tool-call validation. Those controls reduce the probability of unsafe execution. Tripwires reduce the time between prevention failure and containment.&lt;/p>
&lt;p>The approach has explicit limitations. An attacker that recognizes every canary may avoid them. Poorly scoped canaries can produce benign triggers. Static decoys can be fingerprinted. Effective deployment therefore requires task-scoped canaries, per-session rotation, inert resources, multiple monitored surfaces and measurement of the benign-trigger rate.&lt;/p>
&lt;p>The useful metrics are operational:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>pre-harm containment rate:&lt;/strong> unsafe trajectories stopped before a real side effect;&lt;/li>
&lt;li>&lt;strong>time to trip:&lt;/strong> actions and wall-clock time before detection;&lt;/li>
&lt;li>&lt;strong>benign trip rate:&lt;/strong> compliant executions that touch a canary; and&lt;/li>
&lt;li>&lt;strong>coverage:&lt;/strong> unsafe trajectories that encounter at least one canary.&lt;/li>
&lt;/ul>
&lt;p>Agent Tripwire does not attempt to prove that an agent is malicious. It establishes something narrower and more actionable: the current execution has violated an invariant and should no longer be trusted.&lt;/p>
&lt;p>Guardrails try to keep agents on the intended path. Agent Tripwire assumes that one execution will eventually leave it—and places tripwires before the exits lead to real systems.&lt;/p></description></item><item><title>Device Code Phishing Evasion Techniques</title><link>https://8759s.github.io/news/device-code-phishing-evasion-techniques/</link><pubDate>Fri, 24 Jul 2026 00:00:00 +0000</pubDate><guid>https://8759s.github.io/news/device-code-phishing-evasion-techniques/</guid><description>&lt;p>We observed device-code phishing campaigns using four complementary evasion techniques. CAPTCHA gates block basic URL scanners while mimicking legitimate Microsoft security checks, and multi-step flows route victims through trusted SaaS platforms before revealing the phishing page.&lt;/p>
&lt;p>Other campaigns decrypt phishing HTML inside the browser and deliver it through a session-unique blob URL that blocklists cannot retrieve. The pages also disrupt content detection with Cyrillic lookalike characters, zero-width spaces and randomized strings embedded in &lt;code>&amp;lt;bdi&amp;gt;&lt;/code> elements, while remaining visually convincing to victims.&lt;/p>
&lt;p>
&lt;/p></description></item><item><title>Device Code-based OAuth Phishing</title><link>https://8759s.github.io/news/device-code-based-oauth-phishing/</link><pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate><guid>https://8759s.github.io/news/device-code-based-oauth-phishing/</guid><description>&lt;p>This active campaign abuses Microsoft&amp;rsquo;s legitimate device-code OAuth flow to capture application tokens instead of passwords. Victims interact with a real Microsoft sign-in page while the attacker&amp;rsquo;s infrastructure obtains the resulting token in the background.&lt;/p>
&lt;p>The phishing pages combine trusted authentication flows with obfuscated payloads, developer-tool detection and debugger traps. A captured OAuth token can provide application-level access to email, files and identity data without exposing the victim&amp;rsquo;s password.&lt;/p>
&lt;p>
&lt;/p></description></item><item><title>IOCs for tech support scam activity</title><link>https://8759s.github.io/news/iocs-for-tech-support-scam-activity/</link><pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate><guid>https://8759s.github.io/news/iocs-for-tech-support-scam-activity/</guid><description>&lt;p>This tech-support scam campaign uses web pages that target Japanese speakers. The pages combine encrypted JavaScript with several browser APIs intended to keep victims trapped in the scam experience.&lt;/p>
&lt;p>Observed techniques include full-screen locks, keyboard hijacking, Web Worker resource exhaustion and browser-window re-spawning when a victim attempts to close the page.&lt;/p>
&lt;p>
&lt;/p></description></item><item><title>IOCs for phishing pages using blob URLs</title><link>https://8759s.github.io/news/iocs-for-phishing-pages-using-blob-urls/</link><pubDate>Thu, 02 Oct 2025 00:00:00 +0000</pubDate><guid>https://8759s.github.io/news/iocs-for-phishing-pages-using-blob-urls/</guid><description>&lt;p>Several active phishing campaigns use blob URLs to deliver their final pages. Rather than loading all malicious content over the network, the pages construct it dynamically in browser memory at runtime.&lt;/p>
&lt;p>This delivery method can reduce the visibility available to network-based analyzers and complicate conventional URL inspection.&lt;/p>
&lt;p>
&lt;/p></description></item><item><title>IOCs for phishing campaign using BitM pages</title><link>https://8759s.github.io/news/iocs-for-phishing-campaign-using-bitm-pages/</link><pubDate>Tue, 23 Sep 2025 00:00:00 +0000</pubDate><guid>https://8759s.github.io/news/iocs-for-phishing-campaign-using-bitm-pages/</guid><description>&lt;p>This active browser-in-the-middle (BitM) phishing campaign impersonates Meta and Facebook. It has been observed using copyright-infringement notices as email lures, followed by redirect chains that lead targets to BitM pages.&lt;/p>
&lt;p>Activity dates back to at least April 2025, with new domains and URLs continuing to appear. Some variants shorten the chain by linking directly to the phishing page.&lt;/p>
&lt;p>
&lt;/p></description></item></channel></rss>