Pulling the Plug Is the Easy Part
The NCSC asked for a kill switch. The hard part is knowing what the agent already did.
The NCSC asked for a kill switch. The hard part is knowing what the agent already did.
We released Vigil's compact classifier, local runtime source, prebuilt packages, and browser scanner so defenders can inspect and run it themselves.
We ran 52 real Claude sessions, two live CLI checks, and a seven-way design shootout to find 10 agent skills that materially changed output—and removed popular skills that did not.
npm install should not be a trusted code execution path. That sounds harsh. But it is true more often than we like to admit. When you run: npm install npm ci pip install -r requirements.txt npx some-tool python -m pip install ... You are not just moving files into
AI agents have two layers. One layer is frozen. That is the model. For most teams, the weights sit behind an API. You do not change them. The other layer is yours. That is the skill, the system prompt, the instruction file, the agent memory, the procedural guide that tells
A developer installs a package. Maybe it came from npm. Maybe it came from a README. Maybe it came from a tool an AI coding agent pulled into the workflow because it needed to get a test passing. Everything looks normal. The install finishes. The project builds. The terminal goes
A developer asks an AI agent to fix a failing test. The agent reads the error, opens a few files, edits some middleware, runs the test again, installs a package, changes a config value, and eventually gets everything green. The pull request looks fine. The diff is not huge. The
AI agents are changing shape. A year ago, most engineering teams still thought about AI as something that lived in the editor: autocomplete, chat, maybe a refactor when you asked nicely. Useful, sometimes surprising, but still mostly bound by the developer sitting in front of it. That boundary is getting
Most agent setups today are stuck in a weird local maximum. They have good tools. They can read code, run commands, open files, and get a surprising amount done. But every session still starts from zero. Every task begins with the same re-onboarding loop. The agent rereads the repo,
A developer asks an AI assistant for a simple API endpoint. The model writes it in seconds. The query is vulnerable. The auth check is missing. The response includes fields that should never leave the server. Nobody notices at first because it looks close enough, the diff is small, and
AI is changing how software gets built. That part is no longer up for debate. Agents are already writing code, editing files, wiring together features, installing packages, and moving through projects with a speed that would have felt ridiculous a year ago. The interesting question now is not whether this
AI agents are getting more capable by the week. They write code, manage infrastructure, browse the web, and run shell commands on your behalf. That is useful. It is also a new attack surface. One of the clearest examples is the skill file: the markdown instructions that tell an agent