<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Todd Schiller - AI</title><link href="https://toddschiller.com/" rel="alternate"></link><link href="https://toddschiller.com/feeds/ai.atom.xml" rel="self"></link><id>https://toddschiller.com/</id><updated>2026-06-03T00:00:00-04:00</updated><subtitle>Human ✘ Artificial Intelligence</subtitle><entry><title>agent-browser-shield June 3 update: 14 new rules and the Chrome Web Store listing</title><link href="https://toddschiller.com/blog/agent-browser-shield-june-03-update.html" rel="alternate"></link><published>2026-06-03T00:00:00-04:00</published><updated>2026-06-03T00:00:00-04:00</updated><author><name>Todd Schiller</name></author><id>tag:toddschiller.com,2026-06-03:/blog/agent-browser-shield-june-03-update.html</id><summary type="html">14 new rules shipped in agent-browser-shield, now installable from the Chrome Web Store, and using it for daily driving.</summary><content type="html">&lt;p&gt;Two days after the alpha announcement, agent-browser-shield has a Chrome Web
Store listing and 14 new protection rules.&lt;/p&gt;
&lt;h2&gt;Install from the Chrome Web Store&lt;/h2&gt;
&lt;p&gt;The extension is live at
&lt;a href="https://chromewebstore.google.com/detail/agent-browser-shield/gnejacdioaelglahihpagpfjpddpnamd"&gt;chromewebstore.google.com/detail/agent-browser-shield&lt;/a&gt;.
One click instead of unpacked-from-source. The prebuilt ZIP and source-build
paths stay for Browserbase and other runtimes that need an unpacked
extension.&lt;/p&gt;
&lt;h2&gt;New rules: handling prompt injection and context pollution in invisible surfaces&lt;/h2&gt;
&lt;p&gt;A browser-use agent reads surfaces a sighted user never looks at. The new
rules close them:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;noscript&amp;gt;&lt;/code&gt; blocks (never rendered with JS on, but agents walk them)&lt;/li&gt;
&lt;li&gt;Poisoned &lt;code&gt;&amp;lt;meta&amp;gt;&lt;/code&gt; description and &lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt; (the compact &amp;quot;what is this
page&amp;quot; answer many agents pull first)&lt;/li&gt;
&lt;li&gt;JSON-LD &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; blocks (cited as the &amp;quot;trusted summary&amp;quot; of a page)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;aria-label&lt;/code&gt;, &lt;code&gt;alt&lt;/code&gt;, &lt;code&gt;title&lt;/code&gt;, &lt;code&gt;placeholder&lt;/code&gt;, and SVG &lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt; / &lt;code&gt;&amp;lt;desc&amp;gt;&lt;/code&gt;
/ &lt;code&gt;&amp;lt;text&amp;gt;&lt;/code&gt; (a11y-tree carriers)&lt;/li&gt;
&lt;li&gt;Unicode tag characters, bidi overrides, and zero-width payloads&lt;/li&gt;
&lt;li&gt;Long base64 / hex / percent-encoded blobs (the &amp;quot;decode this and follow
it&amp;quot; pattern)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;New rules: trust laundering&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;link-spoof-annotate&lt;/code&gt; flags Cyrillic homoglyphs and anchors whose visible
text doesn't match the href apex. &lt;code&gt;disguised-ad-flag&lt;/code&gt; collapses native
advertorials (Sponsored / Paid Post) that share DOM shape with editorial.
&lt;code&gt;trust-badge-annotate&lt;/code&gt; and &lt;code&gt;schema-trust-sanitize&lt;/code&gt; ship off by default
while we assess their false-positive rates.&lt;/p&gt;
&lt;h2&gt;The daily-driver surprise&lt;/h2&gt;
&lt;p&gt;I've started running it on my own daily-driver browser, not just agent runs.
There have been some funny quirks (e.g., flagging GitHub issue links with &amp;quot;.md&amp;quot;
in the link text as suspicious and hiding the GitHub issue template modal).
However, overall it's been a positive on my browsing experience. So, we'll be
experimenting with making more annotations visible to humans and
multi-modal LLMs.&lt;/p&gt;
&lt;p&gt;⭐ &lt;a href="https://github.com/pixiebrix/agent-browser-shield"&gt;https://github.com/pixiebrix/agent-browser-shield&lt;/a&gt;&lt;/p&gt;
</content><category term="AI"></category><category term="AI"></category><category term="agents"></category><category term="browser security"></category><category term="prompt injection"></category><category term="dark patterns"></category><category term="PixieBrix"></category></entry><entry><title>Introducing agent-browser-shield (alpha): keeping AI agents safe in the browser</title><link href="https://toddschiller.com/blog/agent-browser-shield-alpha.html" rel="alternate"></link><published>2026-06-01T00:00:00-04:00</published><updated>2026-06-01T00:00:00-04:00</updated><author><name>Todd Schiller</name></author><id>tag:toddschiller.com,2026-06-01:/blog/agent-browser-shield-alpha.html</id><summary type="html">Announcing the alpha of agent-browser-shield — a source-available defense layer (also available as an OpenClaw skill) that blocks prompt injection and dark patterns before they reach your agent.</summary><content type="html">&lt;p&gt;There are 6 billion internet users. With AI agents, we're quickly heading to
60 to 600 billion &amp;quot;users&amp;quot; of the web.&lt;/p&gt;
&lt;p&gt;How do we keep all those agents safe when they touch the browser?&lt;/p&gt;
&lt;p&gt;At PixieBrix, we've spent years protecting BPO contact centers from insider
risk, fraud, and social engineering in the browser.&lt;/p&gt;
&lt;p&gt;Today, we're applying that defense to AI agents and making a free,
source-available, browser extension available (on GitHub and ClawHub).&lt;/p&gt;
&lt;p&gt;Your AI agent that lands on a fresh page is one prompt injection away from
leaking credentials, one dark pattern away from buying the wrong thing, and
one fake review away from a bad recommendation.&lt;/p&gt;
&lt;p&gt;Agent Browser Shield sits between the browser and the agent. It blocks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Prompt injection: visible or hidden instructions in page content&lt;/li&gt;
&lt;li&gt;Dark patterns: manipulative UI designed to trick/coerce&lt;/li&gt;
&lt;li&gt;Context pollution: low-value context that impairs instruction following&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A useful side effect: stripping irrelevant content also cuts token burn.&lt;/p&gt;
&lt;p&gt;Come join us on our mission. File issues, send PRs, or just tell me what you
hate/love!&lt;/p&gt;
&lt;p&gt;The threat surface for agentic browsing is evolving fast. Let's defend our AI
assistants together!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;⭐ Star the GitHub repo: &lt;a href="https://github.com/pixiebrix/agent-browser-shield"&gt;https://github.com/pixiebrix/agent-browser-shield&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🦞 Star the OpenClaw skill: &lt;a href="https://clawhub.ai/pixiebrix/agent-browser-shield"&gt;https://clawhub.ai/pixiebrix/agent-browser-shield&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="/assets/images/agent-browser-shield-alpha/demo.webp" alt="Side-by-side demo: an unprotected agent vs. one shielded by agent-browser-shield" loading="lazy" decoding="async" /&gt;&lt;/p&gt;
</content><category term="AI"></category><category term="AI"></category><category term="agents"></category><category term="browser security"></category><category term="prompt injection"></category><category term="PixieBrix"></category><category term="OpenClaw"></category></entry><entry><title>Letting OpenClaw loose on Boston's open data</title><link href="https://toddschiller.com/blog/openclaw-boston-open-data.html" rel="alternate"></link><published>2026-05-30T00:00:00-04:00</published><updated>2026-05-30T00:00:00-04:00</updated><author><name>Todd Schiller</name></author><id>tag:toddschiller.com,2026-05-30:/blog/openclaw-boston-open-data.html</id><summary type="html">At the Boston OpenClaw 2026 hackathon, I let an agent autonomously connect to the city's open-data MCP server, devise its own corruption-signal queries on contract data, and package the workflow as a reusable Claude skill.</summary><content type="html">&lt;p&gt;Today was
the &lt;a href="https://partiful.com/e/eBd91pZJpdTRp8V3FJFJ"&gt;Boston OpenClaw Hackathon&lt;/a&gt;,
which had a theme of using the &lt;a href="https://data.boston.gov/"&gt;Boston open data hub&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For my project, I wanted to see how far OpenClaw could get on its own in
analyzing the data (with Claude Sonnet 4.6 as a backing model).&lt;/p&gt;
&lt;p&gt;First, I had OpenClaw connect itself to the MCP server, starting from the press
release about the launch of
the &lt;a href="https://data.boston.gov/showcase/opencontext-democratizing-the-city-of-boston-s-open-data-currently-in-beta"&gt;MCP server&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Once connected, I asked it to analyze contracts for signs of corruption. It was
able to come up with its own approach for signals and queries. For example:
&amp;quot;Departments Using the Most Limited Competition&amp;quot;, &amp;quot;Top Vendors by Limited
Competition Value&amp;quot;, and &amp;quot;Bid Threshold Clustering (near $10K)&amp;quot;.&lt;/p&gt;
&lt;!-- markdownlint-disable MD013 --&gt;
&lt;img loading="lazy" decoding="async" src="https://toddschiller.com/assets/openclaw-boston-open-data/boston-limited-competition-table.png" alt="OpenClaw output: a table of Boston departments ranked by share of limited-competition contracts (FY2019–FY2026 Q3, departments with 10+ contracts). Law Department 95.1% (155 of 163), Labor Relations 87.2%, Mandatory Appropriations 83.3%, Assessing Department 74.4%, Budget Management 66.7%, Snow &amp; Winter Management 55.2%."&gt;
&lt;!-- markdownlint-enable MD013 --&gt;
&lt;p&gt;After flagging companies, I had it analyze those companies' connections to city
officials.&lt;/p&gt;
&lt;p&gt;There were some interesting nuggets! For example, Capitol Waste Services was
flagged as high
risk for having $285M in historic contracts, of which $136M were awarded with
limited competition.&lt;/p&gt;
&lt;p&gt;The connection research flagged a 2015 fine of $120,000 by the Office of
Campaign and Political Financing (OCPF)
&lt;a href="https://valleypatriot.com/capitol-waste-services-fined-120k-for-illegal-secret-donations-to-candidates/"&gt;for illegal campaign donations&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;From there, I had OpenClaw create and package a skill for flagging corruption
signals. The skill encodes the queries and data analysis scripts it developed.
That skill is available here:
&lt;a href="https://toddschiller.com/assets/openclaw-boston-open-data/boston-contract-corruption.skill"&gt;boston-contract-corruption.skill&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Some other interesting questions OpenClaw was able to answer from the data:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Which restaurants are the worst health code offenders but haven't been shut
down yet?&lt;/li&gt;
&lt;li&gt;Which roads/intersections are the worst for biking, based on pothole reports
and accidents?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Overall, it was a fun experiment to see how AI agents might impact civic tech. A
big thanks to the hackathon organizers, everyone who demoed, and the city of
Boston for making this data available!&lt;/p&gt;
</content><category term="AI"></category><category term="civic tech"></category><category term="open data"></category><category term="AI"></category><category term="hackathon"></category><category term="Boston"></category></entry><entry><title>The agentic opportunity: value, not hours</title><link href="https://toddschiller.com/blog/agentic-value-not-hours.html" rel="alternate"></link><published>2025-10-26T00:00:00-04:00</published><updated>2025-10-26T00:00:00-04:00</updated><author><name>Todd Schiller</name></author><id>tag:toddschiller.com,2025-10-26:/blog/agentic-value-not-hours.html</id><summary type="html">Focusing on hours (or FTEs) misses the point of the agentic opportunity.</summary><content type="html">&lt;p&gt;A fundamental mistake people make when assessing the agentic opportunity is a
focus on hours (or FTEs) instead of value.&lt;/p&gt;
&lt;p&gt;It's indisputable that agentic automation will reshape the number of human
hours for processes like order-to-cash and compliance.&lt;/p&gt;
&lt;p&gt;However, it fails to address what drives enterprise value (vs. COGS).
Defensible enterprise value comes from empowering your people to be their best.&lt;/p&gt;
&lt;p&gt;At PixieBrix, we're focused on helping companies create customer success and
loyalty to win.&lt;/p&gt;
&lt;!-- markdownlint-disable MD013 --&gt;
&lt;figure&gt;
  &lt;img loading="lazy" decoding="async" src="https://toddschiller.com/assets/images/agentic-value-not-hours/hours-vs-value.png" alt="Stacked bar chart comparing % Hours to % Value across Agentic Copilot, Agentic Automation, and RPA. Agentic Copilot is 20% of hours but 60% of value (strategy, customer success, customer loyalty, brand experience, intellectual property, talent). Agentic Automation is 40% of hours and contributes to the 60% value bucket. RPA is 40% of hours but only 30% (fulfillment, order to cash) and 10% (compliance) of value."&gt;
  &lt;figcaption&gt;Where agentic work creates value isn't always where it saves the most hours.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;!-- markdownlint-enable MD013 --&gt;
</content><category term="AI"></category><category term="AI"></category><category term="agentic"></category><category term="PixieBrix"></category><category term="enterprise"></category></entry></feed>