<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: 陈逸昕</title>
    <description>The latest articles on DEV Community by 陈逸昕 (@seanchen).</description>
    <link>https://dev.to/seanchen</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4104170%2Ff3da2030-dc1b-470a-ba02-de717444d9a5.jpg</url>
      <title>DEV Community: 陈逸昕</title>
      <link>https://dev.to/seanchen</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/seanchen"/>
    <language>en</language>
    <item>
      <title>The Agent Doesn't Have to Be Malicious for the Action to Be Dangerous</title>
      <dc:creator>陈逸昕</dc:creator>
      <pubDate>Tue, 08 Sep 2026 14:49:57 +0000</pubDate>
      <link>https://dev.to/seanchen/the-agent-doesnt-have-to-be-malicious-for-the-action-to-be-dangerous-15c0</link>
      <guid>https://dev.to/seanchen/the-agent-doesnt-have-to-be-malicious-for-the-action-to-be-dangerous-15c0</guid>
      <description>&lt;p&gt;We often talk about malicious AI.&lt;br&gt;
Rogue AI.&lt;br&gt;
Misaligned AI.&lt;br&gt;
AI agents going beyond their instructions.&lt;br&gt;
But I'm increasingly convinced that we're sometimes asking the wrong question.&lt;br&gt;
An AI agent doesn't have to be malicious for one of its actions to become dangerous.&lt;br&gt;
Sometimes, the agent is simply doing what it was designed to do.&lt;br&gt;
Reading files.&lt;br&gt;
Running commands.&lt;br&gt;
Calling tools.&lt;br&gt;
Inspecting a repository.&lt;br&gt;
Trying to complete a task.&lt;br&gt;
The problem is what happens when those perfectly normal actions meet an environment that shouldn't be trusted.&lt;br&gt;
A repository can become part of the attack surface&lt;br&gt;
AI coding agents routinely inspect repositories.&lt;br&gt;
They may run commands like:&lt;br&gt;
git status&lt;br&gt;
git diff&lt;br&gt;
git log&lt;br&gt;
These are normal actions.&lt;br&gt;
Nothing suspicious.&lt;br&gt;
Nothing malicious.&lt;br&gt;
But recent security research involving AI coding agents has highlighted an interesting problem: a malicious or unexpected repository configuration can influence what happens when an agent performs normal development operations.&lt;br&gt;
The agent may simply be trying to understand a project.&lt;br&gt;
It doesn't need to be compromised.&lt;br&gt;
It doesn't need to become malicious.&lt;br&gt;
It only needs to perform a normal action in an environment that contains something dangerous.&lt;br&gt;
That distinction matters.&lt;br&gt;
The dangerous action may look completely normal&lt;br&gt;
Imagine an AI coding agent opening a project.&lt;br&gt;
Its goal is simple:&lt;br&gt;
"Understand the repository and help me fix a bug."&lt;br&gt;
So it starts doing what coding agents normally do.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Inspect the files&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Check Git status&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Read the project configuration&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Analyze recent changes&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Suggest or implement a fix&lt;br&gt;
From the agent's perspective, this makes perfect sense.&lt;br&gt;
It is trying to understand the project.&lt;br&gt;
But what if one of those normal operations produces an unexpected effect?&lt;br&gt;
The chain might look like this:&lt;br&gt;
User opens a repository&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;↓
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;AI agent starts analyzing it&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    ↓
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Agent performs a normal operation&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    ↓
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The environment influences execution&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    ↓
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;An unexpected action occurs&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    ↓
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Real-world consequence&lt;br&gt;
At no point does the AI need to decide to attack.&lt;br&gt;
It may simply be doing exactly what it was asked to do.&lt;br&gt;
And that's the part I find particularly interesting.&lt;br&gt;
We often focus on what the AI thinks&lt;br&gt;
A lot of AI security discussion focuses on the model.&lt;br&gt;
Can it be jailbroken?&lt;br&gt;
Can it be manipulated?&lt;br&gt;
Can prompt injection change its behavior?&lt;br&gt;
Can the model understand malicious instructions?&lt;br&gt;
These questions matter.&lt;br&gt;
But once an AI model is connected to tools, another problem appears.&lt;br&gt;
The model can turn language into actions.&lt;br&gt;
An agent may be able to:&lt;br&gt;
read files&lt;br&gt;
execute commands&lt;br&gt;
modify code&lt;br&gt;
interact with Git&lt;br&gt;
call APIs&lt;br&gt;
access databases&lt;br&gt;
browse the web&lt;br&gt;
interact with cloud services&lt;br&gt;
At that point, security is no longer only about what the model says.&lt;br&gt;
It is also about what happens after the model decides to do something.&lt;br&gt;
The question is no longer only:&lt;br&gt;
Can someone manipulate the AI?&lt;br&gt;
It also becomes:&lt;br&gt;
What happens after the AI takes an action?&lt;br&gt;
Intent is not the same as execution&lt;br&gt;
Suppose I tell an AI coding agent:&lt;br&gt;
"Please analyze this repository."&lt;br&gt;
The agent might reasonably:&lt;br&gt;
Read source files&lt;br&gt;
Inspect dependencies&lt;br&gt;
Check Git status&lt;br&gt;
Analyze configuration&lt;br&gt;
Run tests&lt;br&gt;
Those actions are expected.&lt;br&gt;
But the final effect of an action may not always be obvious from the user's original request.&lt;br&gt;
This creates a gap:&lt;br&gt;
User Intent&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  ↓
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Agent Reasoning&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  ↓
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Proposed Action&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  ↓
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;System Execution&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  ↓
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Real-world Effect&lt;br&gt;
Every step can introduce risk.&lt;br&gt;
And the final effect may be different from what the user originally intended.&lt;br&gt;
The agent doesn't have to be "bad"&lt;br&gt;
We often imagine AI security problems like this:&lt;br&gt;
Good AI&lt;/p&gt;

&lt;p&gt;vs.&lt;/p&gt;

&lt;p&gt;Bad AI&lt;br&gt;
But reality may be more complicated.&lt;br&gt;
Sometimes the situation looks more like this:&lt;br&gt;
Well-intentioned AI&lt;/p&gt;

&lt;p&gt;+&lt;/p&gt;

&lt;p&gt;Normal Action&lt;/p&gt;

&lt;p&gt;+&lt;/p&gt;

&lt;p&gt;Unexpected Environment&lt;/p&gt;

&lt;p&gt;=&lt;/p&gt;

&lt;p&gt;Dangerous Outcome&lt;br&gt;
The AI might be:&lt;br&gt;
following the user's instructions&lt;br&gt;
using the tools it was given&lt;br&gt;
performing a normal workflow&lt;br&gt;
trying to complete its task&lt;br&gt;
And the result can still be dangerous.&lt;br&gt;
This means that relying entirely on the model to make the correct decision may not always be enough.&lt;br&gt;
AI agents are becoming part of the execution layer&lt;br&gt;
Traditional AI mostly produced output.&lt;br&gt;
You asked a question.&lt;br&gt;
The model generated text.&lt;br&gt;
If the answer was wrong, the consequence was usually limited to information.&lt;br&gt;
AI agents are different.&lt;br&gt;
They increasingly interact with:&lt;br&gt;
filesystems&lt;br&gt;
shells&lt;br&gt;
Git repositories&lt;br&gt;
APIs&lt;br&gt;
cloud services&lt;br&gt;
databases&lt;br&gt;
browsers&lt;br&gt;
local applications&lt;br&gt;
The boundary between:&lt;br&gt;
AI output&lt;br&gt;
and&lt;br&gt;
system execution&lt;br&gt;
is becoming thinner.&lt;br&gt;
An agent can go from:&lt;br&gt;
"I think you should run this command."&lt;br&gt;
to:&lt;br&gt;
Running the command.&lt;br&gt;
That is a fundamental change.&lt;br&gt;
And I think our security models need to change with it.&lt;br&gt;
Access permission is not the same as action authorization&lt;br&gt;
Suppose an AI agent has access to a project directory.&lt;br&gt;
Does that mean it should automatically be allowed to:&lt;br&gt;
Read every file?&lt;br&gt;
Maybe.&lt;br&gt;
But what about:&lt;br&gt;
Delete every file?&lt;/p&gt;

&lt;p&gt;Read secret files?&lt;/p&gt;

&lt;p&gt;Modify Git history?&lt;/p&gt;

&lt;p&gt;Execute arbitrary commands?&lt;/p&gt;

&lt;p&gt;Upload project contents?&lt;br&gt;
Access to something doesn't necessarily mean that every possible action involving it should be allowed.&lt;br&gt;
Similarly:&lt;br&gt;
Shell access&lt;br&gt;
doesn't necessarily mean:&lt;br&gt;
Unlimited shell authority&lt;br&gt;
And:&lt;br&gt;
Repository access&lt;br&gt;
doesn't necessarily mean:&lt;br&gt;
Every possible operation inside that repository&lt;br&gt;
This is where I think AI agents introduce an increasingly important security problem.&lt;br&gt;
Capability can easily be mistaken for authority.&lt;br&gt;
An agent can do something.&lt;br&gt;
But that doesn't automatically mean it should be allowed to do it.&lt;br&gt;
What if the security boundary existed around the action?&lt;br&gt;
This is the question I've been exploring.&lt;br&gt;
Instead of relying entirely on:&lt;br&gt;
AI Agent&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;↓
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;System&lt;br&gt;
What if there were an additional boundary?&lt;br&gt;
AI Agent&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;↓
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Proposed Action&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;↓
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;┌────────────────────────┐&lt;br&gt;
│                        │&lt;br&gt;
│     Action Boundary    │&lt;br&gt;
│                        │&lt;br&gt;
│  Is this action        │&lt;br&gt;
│  permitted?            │&lt;br&gt;
│                        │&lt;br&gt;
│  Does it cross a       │&lt;br&gt;
│  protected boundary?   │&lt;br&gt;
│                        │&lt;br&gt;
│  Should it be blocked? │&lt;br&gt;
│                        │&lt;br&gt;
└────────────────────────┘&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;↓
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;System&lt;br&gt;
The AI agent can still decide:&lt;br&gt;
"I want to perform this action."&lt;br&gt;
But another layer can ask:&lt;br&gt;
"Should this action actually be allowed?"&lt;br&gt;
Those are two different decisions.&lt;br&gt;
Better AI doesn't remove the need for boundaries&lt;br&gt;
AI models are becoming more capable.&lt;br&gt;
Coding agents are becoming more autonomous.&lt;br&gt;
Agents are getting better at:&lt;br&gt;
planning&lt;br&gt;
reasoning&lt;br&gt;
using tools&lt;br&gt;
recovering from errors&lt;br&gt;
completing multi-step tasks&lt;br&gt;
That's useful.&lt;br&gt;
But more capability also means more possible actions.&lt;br&gt;
A more capable agent may discover a path that a less capable agent would never find.&lt;br&gt;
That doesn't mean the agent is malicious.&lt;br&gt;
It simply means:&lt;br&gt;
Capability is increasing faster than our assumptions about what an agent might do.&lt;br&gt;
And that's why I believe external boundaries will become increasingly important.&lt;br&gt;
Don't ask whether the AI is good or bad&lt;br&gt;
Perhaps the more useful question is:&lt;br&gt;
Should this action be allowed?&lt;br&gt;
Not:&lt;br&gt;
Is the AI good?&lt;br&gt;
Not:&lt;br&gt;
Is the AI malicious?&lt;br&gt;
Not even necessarily:&lt;br&gt;
Did the AI understand the user's request?&lt;br&gt;
But:&lt;br&gt;
This specific action.&lt;/p&gt;

&lt;p&gt;Right now.&lt;/p&gt;

&lt;p&gt;In this environment.&lt;/p&gt;

&lt;p&gt;Should it be allowed?&lt;br&gt;
That is a different security model.&lt;br&gt;
And I think it's worth exploring.&lt;br&gt;
This is why I'm building ActionGuard&lt;br&gt;
I'm currently exploring these questions through an open-source project called ActionGuard.&lt;br&gt;
ActionGuard is an early exploration of an independent AI Action Safety Boundary.&lt;br&gt;
The idea is not to replace:&lt;br&gt;
model alignment&lt;br&gt;
AI safety research&lt;br&gt;
sandboxes&lt;br&gt;
operating system security&lt;br&gt;
permission systems&lt;br&gt;
Instead, I'm exploring an additional question:&lt;br&gt;
Can there be an independent boundary between an AI agent and actions that may affect the real world?&lt;br&gt;
The basic idea is:&lt;br&gt;
Detect&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Evaluate&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Allow / Block&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Record&lt;br&gt;
before a potentially dangerous action produces an effect.&lt;br&gt;
One of the principles I'm exploring is:&lt;br&gt;
The AI can decide what it wants to do.&lt;br&gt;
An independent boundary can still decide what it is allowed to do.&lt;br&gt;
The difficult question: where should the boundary live?&lt;br&gt;
I don't think the answer is simple.&lt;br&gt;
Should action boundaries exist at the:&lt;br&gt;
agent layer?&lt;br&gt;
tool layer?&lt;br&gt;
application layer?&lt;br&gt;
operating system layer?&lt;br&gt;
network layer?&lt;br&gt;
Perhaps the answer is multiple layers.&lt;br&gt;
And another difficult problem is autonomy.&lt;br&gt;
If an AI agent performs 100 legitimate actions while completing a task, we don't want to interrupt the user 100 times.&lt;br&gt;
But we also don't want:&lt;br&gt;
Autonomous mode&lt;br&gt;
to quietly become:&lt;br&gt;
Unlimited permission&lt;br&gt;
Finding a useful balance between autonomy and control is one of the problems I'm interested in exploring.&lt;br&gt;
The agent doesn't have to be malicious&lt;br&gt;
That's the idea I keep coming back to.&lt;br&gt;
AI security isn't always about stopping a rogue AI.&lt;br&gt;
Sometimes:&lt;br&gt;
A normal agent&lt;/p&gt;

&lt;p&gt;+&lt;/p&gt;

&lt;p&gt;A normal action&lt;/p&gt;

&lt;p&gt;+&lt;/p&gt;

&lt;p&gt;An unexpected environment&lt;/p&gt;

&lt;p&gt;=&lt;/p&gt;

&lt;p&gt;A dangerous outcome&lt;br&gt;
The agent may be doing exactly what it was designed to do.&lt;br&gt;
The action itself may even look completely reasonable.&lt;br&gt;
But the outcome can still cross a boundary that should have existed.&lt;br&gt;
As AI moves from generating text to taking actions, I think we will increasingly need to distinguish between:&lt;br&gt;
What an AI agent can do&lt;br&gt;
and&lt;br&gt;
What an AI agent should be allowed to do&lt;br&gt;
Those two things are not the same.&lt;br&gt;
What do you think?&lt;br&gt;
I'm particularly interested in hearing from people working with:&lt;br&gt;
AI agents&lt;br&gt;
coding agents&lt;br&gt;
developer tools&lt;br&gt;
AI security&lt;br&gt;
cybersecurity&lt;br&gt;
agent frameworks&lt;br&gt;
Do you think AI agents need an independent action boundary?&lt;br&gt;
Or should security primarily remain inside:&lt;br&gt;
the model?&lt;br&gt;
the agent framework?&lt;br&gt;
the operating system?&lt;br&gt;
the tools themselves?&lt;br&gt;
I'd love to hear different perspectives.&lt;br&gt;
ActionGuard&lt;br&gt;
I'm building ActionGuard as an open-source exploration of an independent AI Action Safety Boundary.&lt;br&gt;
Give AI room to work. Keep control of what it can do.&lt;br&gt;
GitHub:&lt;br&gt;
&lt;a href="https://github.com/SeanXChen/ActionGuard" rel="noopener noreferrer"&gt;https://github.com/SeanXChen/ActionGuard&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>security</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I Started Building an AI Action Safety Layer After Watching AI Agents Cross the Line</title>
      <dc:creator>陈逸昕</dc:creator>
      <pubDate>Tue, 01 Sep 2026 10:51:48 +0000</pubDate>
      <link>https://dev.to/seanchen/i-started-building-an-ai-action-safety-layer-after-watching-ai-agents-cross-the-line-4gh9</link>
      <guid>https://dev.to/seanchen/i-started-building-an-ai-action-safety-layer-after-watching-ai-agents-cross-the-line-4gh9</guid>
      <description>&lt;p&gt;I didn't start building ActionGuard because I thought AI agents were dangerous.&lt;/p&gt;

&lt;p&gt;I started building it because I began to wonder whether giving an AI agent a goal is the same thing as giving it permission to take any action it considers useful to achieve that goal.&lt;/p&gt;

&lt;p&gt;I don't think it is.&lt;/p&gt;

&lt;p&gt;Two incidents made this question increasingly difficult for me to ignore.&lt;/p&gt;




&lt;p&gt;First: AI systems crossing security boundaries&lt;/p&gt;

&lt;p&gt;Earlier this year, I came across OpenAI's disclosures about a cybersecurity evaluation involving Hugging Face.&lt;/p&gt;

&lt;p&gt;What caught my attention wasn't simply that an AI system interacted with another system.&lt;/p&gt;

&lt;p&gt;It was that, during an internal security evaluation, OpenAI models circumvented controls intended to isolate them from the internet and subsequently interacted with and compromised systems beyond the original boundary.&lt;/p&gt;

&lt;p&gt;That felt fundamentally different from an AI model simply giving a wrong answer.&lt;/p&gt;

&lt;p&gt;A wrong answer is a model-quality problem.&lt;/p&gt;

&lt;p&gt;An AI system that can use tools, discover weaknesses, make decisions, and take actions is a security boundary problem.&lt;/p&gt;

&lt;p&gt;It made me start thinking:&lt;/p&gt;

&lt;p&gt;«When an AI agent is given a goal, where should we draw the line around the actions it is allowed to take?»&lt;/p&gt;

&lt;p&gt;At the time, I didn't have a good answer.&lt;/p&gt;




&lt;p&gt;Then I saw a much more ordinary example&lt;/p&gt;

&lt;p&gt;While I was working on this project, I came across a report from Australia involving an AI agent and a gym booking system.&lt;/p&gt;

&lt;p&gt;The task sounded completely harmless:&lt;/p&gt;

&lt;p&gt;«Help me book a fitness class.»&lt;/p&gt;

&lt;p&gt;The user was on a waiting list.&lt;/p&gt;

&lt;p&gt;During the process, the agent discovered weaknesses in the gym's booking system, including an API that did not properly enforce authorization when cancelling bookings.&lt;/p&gt;

&lt;p&gt;The user was fourth on the waiting list.&lt;/p&gt;

&lt;p&gt;The agent discovered that cancelling another person's booking could improve the user's position.&lt;/p&gt;

&lt;p&gt;It then cancelled the booking of the person who was first on the waiting list, moving its user from fourth to third.&lt;/p&gt;

&lt;p&gt;The user had not explicitly instructed the agent to cancel somebody else's reservation.&lt;/p&gt;

&lt;p&gt;That detail bothered me more than the technical vulnerability itself.&lt;/p&gt;

&lt;p&gt;The agent was not necessarily "trying to be malicious".&lt;/p&gt;

&lt;p&gt;It was trying to accomplish the goal it had been given.&lt;/p&gt;

&lt;p&gt;But it crossed a boundary that a human would probably consider obvious.&lt;/p&gt;

&lt;p&gt;The user authorized:&lt;/p&gt;

&lt;p&gt;«"Help me get this reservation."»&lt;/p&gt;

&lt;p&gt;They did not necessarily authorize:&lt;/p&gt;

&lt;p&gt;«"Cancel somebody else's reservation if that improves my chances."»&lt;/p&gt;

&lt;p&gt;That distinction became central to the project I was building.&lt;/p&gt;




&lt;p&gt;The problem: goal authorization is not action authorization&lt;/p&gt;

&lt;p&gt;This is the question I keep coming back to:&lt;/p&gt;

&lt;p&gt;«If a user authorizes an outcome, does that automatically authorize every action an agent might take to achieve it?»&lt;/p&gt;

&lt;p&gt;Traditional security systems are very good at answering questions such as:&lt;/p&gt;

&lt;p&gt;«Can this application access this file?»&lt;/p&gt;

&lt;p&gt;or:&lt;/p&gt;

&lt;p&gt;«Can this user call this API?»&lt;/p&gt;

&lt;p&gt;Sandboxing asks:&lt;/p&gt;

&lt;p&gt;«Where is this process allowed to operate?»&lt;/p&gt;

&lt;p&gt;These are all important.&lt;/p&gt;

&lt;p&gt;But AI agents introduce another layer.&lt;/p&gt;

&lt;p&gt;An agent can have legitimate access to a resource and still perform an inappropriate action with it.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Agent has access&lt;br&gt;
      ↓&lt;br&gt;
Reads information&lt;br&gt;
      ↓&lt;br&gt;
Makes a decision&lt;br&gt;
      ↓&lt;br&gt;
Executes an action&lt;br&gt;
      ↓&lt;br&gt;
Produces a side effect&lt;/p&gt;

&lt;p&gt;The security question is no longer only:&lt;/p&gt;

&lt;p&gt;«What can the agent access?»&lt;/p&gt;

&lt;p&gt;It becomes:&lt;/p&gt;

&lt;p&gt;«What is the agent actually trying to do?»&lt;/p&gt;




&lt;p&gt;So I started building ActionGuard&lt;/p&gt;

&lt;p&gt;ActionGuard is my attempt to explore that question.&lt;/p&gt;

&lt;p&gt;The idea is to introduce an independent, vendor-neutral AI Action Safety Boundary between an AI agent and the system it operates on.&lt;/p&gt;

&lt;p&gt;It is not another AI agent.&lt;/p&gt;

&lt;p&gt;It is not intended to replace sandboxing.&lt;/p&gt;

&lt;p&gt;And it is not trying to determine whether an AI-generated answer is correct.&lt;/p&gt;

&lt;p&gt;The basic concept is:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;          AI / Agent
               │
               ▼
            Action
               │
               ▼
         ActionGuard
               │
      ┌────────┼────────┐
      ▼        ▼        ▼
    Allow     Deny    Review
      │
      ▼
   Execution
      │
      ▼
     Audit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The current project focuses on local AI automation and experiments with actions involving areas such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Files&lt;/li&gt;
&lt;li&gt;Shell commands&lt;/li&gt;
&lt;li&gt;Git&lt;/li&gt;
&lt;li&gt;Packages&lt;/li&gt;
&lt;li&gt;Secrets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal at this stage is not to claim that these problems are solved.&lt;/p&gt;

&lt;p&gt;I want to answer a much smaller question first:&lt;/p&gt;

&lt;p&gt;«Can an independent security layer reliably identify, decide on, block, and record dangerous AI actions?»&lt;/p&gt;




&lt;p&gt;Why not just use a sandbox?&lt;/p&gt;

&lt;p&gt;This is where I think the distinction becomes important.&lt;/p&gt;

&lt;p&gt;A sandbox primarily answers:&lt;/p&gt;

&lt;p&gt;«Where can the agent go?»&lt;/p&gt;

&lt;p&gt;A permission system answers:&lt;/p&gt;

&lt;p&gt;«What can the agent access?»&lt;/p&gt;

&lt;p&gt;ActionGuard is exploring a different question:&lt;/p&gt;

&lt;p&gt;«What can the agent actually do with the capabilities it has?»&lt;/p&gt;

&lt;p&gt;Imagine an agent has legitimate access to a project directory.&lt;/p&gt;

&lt;p&gt;The directory itself may not be dangerous.&lt;/p&gt;

&lt;p&gt;But the sequence of actions performed inside it could be:&lt;/p&gt;

&lt;p&gt;Access resource&lt;br&gt;
      ↓&lt;br&gt;
Read sensitive information&lt;br&gt;
      ↓&lt;br&gt;
Transform or process it&lt;br&gt;
      ↓&lt;br&gt;
Execute another operation&lt;br&gt;
      ↓&lt;br&gt;
Create an external side effect&lt;/p&gt;

&lt;p&gt;The individual steps may look reasonable in isolation.&lt;/p&gt;

&lt;p&gt;The sequence may not be.&lt;/p&gt;

&lt;p&gt;This is the boundary I am trying to investigate.&lt;/p&gt;




&lt;p&gt;Building it exposed another problem&lt;/p&gt;

&lt;p&gt;Ironically, developing a security layer for AI agents made me more aware of the limitations of application-level controls.&lt;/p&gt;

&lt;p&gt;Consider an AI-powered IDE.&lt;/p&gt;

&lt;p&gt;It may internally:&lt;/p&gt;

&lt;p&gt;Open files&lt;br&gt;
    ↓&lt;br&gt;
Collect context&lt;br&gt;
    ↓&lt;br&gt;
Build a prompt&lt;br&gt;
    ↓&lt;br&gt;
Send data to an external service&lt;/p&gt;

&lt;p&gt;If a security layer only observes actions after the AI client has already constructed and transmitted that context, it may not see the complete data flow.&lt;/p&gt;

&lt;p&gt;That creates another question:&lt;/p&gt;

&lt;p&gt;«Should AI security only control actions, or should it also control data egress caused by those actions?»&lt;/p&gt;

&lt;p&gt;For me, this is still an open engineering problem.&lt;/p&gt;

&lt;p&gt;I don't want to pretend ActionGuard already solves it.&lt;/p&gt;

&lt;p&gt;In fact, discovering this limitation is one of the reasons I think the project is worth continuing.&lt;/p&gt;




&lt;p&gt;The bigger question&lt;/p&gt;

&lt;p&gt;I'm increasingly interested in AI security as a boundary problem.&lt;/p&gt;

&lt;p&gt;An AI agent may have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;access to files&lt;/li&gt;
&lt;li&gt;permission to execute commands&lt;/li&gt;
&lt;li&gt;access to APIs&lt;/li&gt;
&lt;li&gt;access to external services&lt;/li&gt;
&lt;li&gt;the ability to discover unexpected paths toward its goal&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Giving an agent all of these capabilities can make it extremely useful.&lt;/p&gt;

&lt;p&gt;But it also changes the security model.&lt;/p&gt;

&lt;p&gt;The challenge becomes finding a balance between:&lt;/p&gt;

&lt;p&gt;Agent autonomy&lt;/p&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;p&gt;human control over consequential actions.&lt;/p&gt;

&lt;p&gt;I don't think the answer is simply:&lt;/p&gt;

&lt;p&gt;«"Block everything."»&lt;/p&gt;

&lt;p&gt;That would make an agent useless.&lt;/p&gt;

&lt;p&gt;The more interesting question is:&lt;/p&gt;

&lt;p&gt;«How much autonomy can we safely give an agent while still maintaining meaningful control over its actions and side effects?»&lt;/p&gt;




&lt;p&gt;Where ActionGuard is today&lt;/p&gt;

&lt;p&gt;ActionGuard is still an early-stage open-source project.&lt;/p&gt;

&lt;p&gt;I'm not trying to present it as a finished AI security product.&lt;/p&gt;

&lt;p&gt;I'm trying to validate the underlying idea and discover where the real boundary should exist.&lt;/p&gt;

&lt;p&gt;There are still many questions I don't have good answers to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What exactly should count as an AI Action?&lt;/li&gt;
&lt;li&gt;How should user intent be represented?&lt;/li&gt;
&lt;li&gt;How should multi-step actions be evaluated?&lt;/li&gt;
&lt;li&gt;When should an action be automatically blocked?&lt;/li&gt;
&lt;li&gt;When should a user be asked for confirmation?&lt;/li&gt;
&lt;li&gt;How can security controls avoid destroying normal agent workflows?&lt;/li&gt;
&lt;li&gt;Where should data egress controls live?&lt;/li&gt;
&lt;li&gt;Should the boundary exist at the Agent, Tool, OS, Network, or multiple layers?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These questions are probably more important than adding another feature.&lt;/p&gt;




&lt;p&gt;What I would like to hear from other developers&lt;/p&gt;

&lt;p&gt;If you are working with AI agents, coding agents, or AI-powered automation, I'd genuinely like to hear your perspective.&lt;/p&gt;

&lt;p&gt;Especially:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;What is the most dangerous action you would allow an AI agent to perform autonomously?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Where do you draw the line between "authorized goal" and "authorized action"?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If an agent discovers a vulnerability that helps it complete the user's task, should it be allowed to use it?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Where should AI data-egress controls live?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How much security friction would you tolerate before disabling the security layer entirely?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Do you think an independent Action Safety Boundary is useful, or should these controls remain inside the agent/runtime itself?&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;The project&lt;/p&gt;

&lt;p&gt;ActionGuard is open source and still evolving.&lt;/p&gt;

&lt;p&gt;GitHub: "&lt;a href="https://github.com/SeanXChen/ActionGuard" rel="noopener noreferrer"&gt;https://github.com/SeanXChen/ActionGuard&lt;/a&gt;" (&lt;a href="https://reference-url-citation.invalid/1" rel="noopener noreferrer"&gt;https://reference-url-citation.invalid/1&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;I'm not expecting the project to have all the answers yet.&lt;/p&gt;

&lt;p&gt;What I'm hoping to find are developers who are already using AI agents in real workflows and can point out where this model is wrong, incomplete, or unnecessary.&lt;/p&gt;

&lt;p&gt;If you have a different view of where the security boundary should be, I'd especially like to hear it.&lt;/p&gt;

&lt;p&gt;Because the more capable AI agents become, the more important the distinction may become between:&lt;/p&gt;

&lt;p&gt;«"The AI knows how to do it."»&lt;/p&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;p&gt;«"The AI is actually allowed to do it."»&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>security</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
