In mid-July 2026, the research frontier in agentic-coding security shifted. The headline vulnerabilities of early July, GitLost and GuardFall, were about hostile content. Issues, pull requests, and web pages carry hidden instructions to an agent that reads them. The new wave is about hostile capabilities.
A paper titled PhantomSkill introduces an attack technique the authors call VulMask (arXiv 2606.19191). It shows that malicious behavior can hide inside an agent skill's auxiliary scripts. The attacker rewrites that behavior as ordinary-looking "vulnerability-shaped" code. The code fires only on the attacker's trigger. The results are a 58.8% attack success rate and 96.6% of the skill's benign utility preserved. The attack largely evades skill scanners and automated reviewers across major coding agents.
A class, not a one-off
PhantomSkill did not arrive alone. A companion wave of research confirms that this is a systemic class of attack. Cloak and Detonate covers scanner evasion and dynamic detection. SKILL-INJECT measures agent vulnerability to skill-file attacks. A survey covers supply-chain poisoning across LLM coding-agent skill ecosystems. The class even has its own curated tracker, the awesome-agent-skills-security list.
The core insight is uncomfortable for anyone who relies on marketplace review. Scanners look for malicious intent in a skill's description. The attack hides as ordinary insecure-looking code in auxiliary files, and activates later. Static scanning of skill text is not a control. Cloak and Detonate argues for dynamic detection instead.
The defensible posture available today is simpler: a minimal skill surface, first-party only. Agent skills and plugins are executable supply chain, not configuration.
Security researcher Johann Rehberger demonstrated a time-of-check to time-of-use (TOCTOU) attack on computer-use and coding agents. TOCTOU means the state changes between the check and the action. Mutate the UI between the agent's visual check and its click, and the agent approves something it never saw. Any approval flow where an agent verifies visually and then acts is racy by construction. Verify approvals that matter at the API or data layer, atomically. Never verify them from screenshots.
Measuring autonomy before granting it
On the constructive side, Anthropic published field research on measuring AI agent autonomy in practice. The research draws on how agents are actually deployed on its public API. Software engineering accounts for roughly half of all agentic activity. That makes it the closest thing available to ground truth on how far real deployments run unattended. The practical guidance follows directly. Instrument what agents do without supervision, then set autonomy gates from data rather than optimism.
A new academic framework goes further and formalizes the gating itself. A paper on autonomous CI/CD quality assurance runs a complete quality gate from pull request to defect filing with 14 specialist agents. It is built on LangGraph multi-agent orchestration, from K11tech. It also computes a per-change risk score. It suspends execution to a human whenever that score reaches 0.85 or above.
We would not adopt the stack, which is LangGraph plus seven MCP servers. The pattern is the right abstraction: autonomy as a continuous function of measured risk, not a repository-level on-off switch. It matches the bounded-autonomy framing of the "From Assistance to Agency" work on CI/CD pipelines.
Two smaller signals round out the picture. First, "harness engineering" is now a named discipline with its own curated list, awesome-harness-engineering. It covers evals, memory, permissions, observability, and orchestration. The center of gravity is not the model. It is the harness.
Second, the field now draws a distinction. Personal agents run on markdown files. Production agents need databases, access control, and memory at scale. The gap between a hobby loop and a factory is infrastructure.
Spec-driven tooling also continued to mature. ASSERT turns specs into repeatable evals. Google published its account of automating the eval-optimize loop with independent AutoRaters that grade agent output against custom rubrics. The market for purpose-built eval-gate products is consolidating.
The proof point that matters
The reference case for production-scale agentic coding remains Spotify's background coding agent, Honk. It merges roughly 650 agent-generated pull requests to production per month, and more than 1,500 in total. Spotify reports 60 to 90 percent time savings on migrations, with a small team running the work. Spotify credits years of prior investment in fleet management, standardized builds, and comprehensive test suites.
The agent is the cheap part. The deterministic test and build substrate is the factory.
The counterweights deserve equal billing. Google's widely cited figure of about 75% AI-generated code, from Sundar Pichai, counts suggested-and-accepted code. That is a much weaker definition than autonomously merged. A survey of software engineering's third era finds that agent pull requests complete fast, half of them within about 13 minutes. Teams accept them at lower rates than human pull requests.
Older randomized controlled trials show the full spread. One found a 26% increase in pull requests per week. Another found no productivity lift and a 41% increase in bug density. Throughput is not merged quality.
How we apply this at River.io
This research wave lands as vindication of a posture we already hold. It converts that posture from engineering taste into security architecture.
- Zero dependencies extends to the automation layer. PhantomSkill's entire attack surface is third-party skills, actions, and MCP servers. River.io ships native compiled code with no third-party libraries. We run our agents the same way: no third-party agent skills, no unpinned marketplace actions, and first-party scripts only. Every capability we do not install is an attack class that does not exist against us.
- Verification is behavioral, not textual. GuardFall broke string matching on commands. VulMask breaks static scanning of skill code. The only gate that survives both is running the thing: compile it, execute the full test suite, and diff observable behavior. Our test-driven development discipline makes that gate native. For agent-authored pull requests, the gate is tests-pass plus behavior-diff. Human code review of agent tooling is necessary, but on its own it is demonstrably not enough.
- Regulated repositories are permanently pinned above the risk threshold. CareTime and TimeForCare handle Medicaid EVV work and are PHI-adjacent. MaterialsAndPractices handles organic compliance. For all three, the risk-proportionate gate never opens. Agents may draft. Humans author every compliance-defining assertion and approve every merge. Agents hold no read access to these repositories at all.
- Risk-scored autonomy on low-stakes repositories. On MeowPassword, weathergalactic, and sloth, we run a dependency-free version of the risk-proportionate pattern. We score each agent task on factors such as whether it touches authentication or persistence, diff size, and new files. We auto-suspend to a human above a threshold. We add label-gated issue intake, injection red-teaming, and a log of corrective interventions per task. Together those give us a measurable, per-repository case for loosening gates.
- Pour the concrete before you install the robots. Spotify's throughput was possible because its builds and tests were already deterministic and comprehensive. Our equivalent groundwork is simple. Every repository that will ever host an autonomous loop gets a complete, fast, native test suite first. Test coverage is the factory floor.
- No screenshot-verified approvals, ever. An agent may one day drive a UI for us, for App Store screenshot automation or device testing. In that case we verify state via API or filesystem, atomically with the action. Rehberger's TOCTOU result makes look-then-click approval unsafe by design.
Sources
- arXiv: PhantomSkill, malicious code injection in agent skill ecosystems
- arXiv: Cloak and Detonate, scanner evasion and dynamic detection of agent skill malware
- arXiv: SKILL-INJECT, measuring agent vulnerability to skill file attacks
- arXiv: Supply-chain poisoning attacks against LLM coding agent skill ecosystems
- GitHub: awesome-agent-skills-security (LLMSecurity)
- Adversa AI: Top AI coding agent security resources, July 2026
- Anthropic: Measuring AI agent autonomy in practice
- ResearchGate: Autonomous CI/CD QA using LangGraph multi-agent orchestration and risk-proportionate HITL control
- arXiv: From Assistance to Agency, rethinking autonomy and control in CI/CD pipelines
- GitHub: awesome-harness-engineering (ai-boost)
- Spotify Engineering: Coding is no longer the constraint (June 2026) · Spotify Engineering: 1,500+ PRs later, Honk, part 1 · Claude: Spotify Claude Agent SDK case study
- Metaintro: Google's 75% AI code milestone
- arXiv: The rise of AI teammates in SE 3.0
- GitHub Spec Kit releases · Spec Kit docs
- Confident AI: Best CI/CD tools for testing AI agents before production, 2026
- Help Net Security: Prompt injection still drives most agentic AI security failures
- GitHub dark-factory topic · darkfactory.dev · BCG Platinion: The dark software factory · iTmethods: Governed autonomous SDLC · MindStudio: Dark factory AI agent · i-SCOOP: Dark software factories
Vendor and blog figures cited here show direction, not audited benchmarks.