CEO of @nolabshq - Creator of sigstore.dev , now building nono.sh - the agent security platform.

Bristol
Based in United Kingdom
AI agents don't just answer questions any more. They write code, run it, call tools, and spin up sub-agents to do the work. Every one of those hand-offs is a new place for things to go wrong: a leaked credential, a poisoned dependency, or a sub-agent that reads far more than it should. On 2 November I'm joining Amazon Web Services (AWS) for a webinar: Secure AI Agents on Amazon EKS: Sandboxing Sub-Agents with nono. We'll show how to layer two levels of defense: โ†’ Amazon EKS isolation around the workload โ†’ nono's kernel-enforced agent runtime protections around every agent and tool inside it No root, no code rewrites, nothing for the agent to talk its way around. If you're running agents on Kubernetes, or about to, come along. Registration link in the reply ๐Ÿ‘‡ #AIAgents #Kubernetes #AmazonEKS #AppSec #OpenSource
2
1
4
196
Fan boy moment, meeting YAML creator Ingy at #OpenSourceSummit and finding out they were one of our first cohort of nono.sh users
1
7
249
Something we have been experimenting with using nono's remote capable multiplexer
7
483
Running a headless pi agent from 10,000 feet, started remotely with a full TUI from my terminal in London, to then connect via our web portal to check on progress during flight to then use my terminal again later to connect in Amsterdam , fully secured in Nono.sh - no more walking around with a lid open. Pm me to learn more or find me at #AGNTCon
1
14
333
1
1
7
513
Our AI PR reviewer expired and everything was really expensive and meant we were giving out data to someone else.....so.... @nolabshq no'sters took the challenge to build their own ๐˜€๐˜‚๐—ฝ๐—ฒ๐—ฟ ๐—ฑ๐˜‚๐—ฝ๐—ฒ๐—ฟ, ๐˜€๐—ฒ๐—ฐ๐˜‚๐—ฟ๐—ฒ AI reviewer! This thing is basically saying '๐˜บ๐˜ฐ, ๐˜ง๐˜ฐ๐˜ณ๐˜ฌ ๐˜ข๐˜ต๐˜ต๐˜ข๐˜ค๐˜ฌ ๐˜ฑ๐˜ณ๐˜ฐ๐˜ฎ๐˜ฑ๐˜ต ๐˜ช๐˜ฏ๐˜ซ๐˜ฆ๐˜ค๐˜ต๐˜ช๐˜ฐ๐˜ฏ, ๐˜ค๐˜ฐ๐˜ฎ๐˜ฆ ๐˜ข๐˜ต ๐˜ฎ๐˜ฆ ๐˜ฃ๐˜ณ๐˜ฐ!' and its built with special sauce from the OG itself - nono.sh ! Introducing ๐—ป๐—ผ๐—ด๐—ฒ๐—ป๐˜ (yes, I still suck at names!) Here is what nogent brings to a linguistic instruction fight! โ€ข ๐—–๐—ฎ๐—ป๐—ฎ๐—ฟ๐˜†-๐—ด๐—ฎ๐˜๐—ฒ๐—ฑ ๐—ผ๐˜‚๐˜๐—ฝ๐˜‚๐˜: the model must echo a per-run random canary inside a bounded JSON structure; any response that omits/alters the canary or violates the required shape is discarded and replaced by a "manual review needed" comment. This limits the effect of prompt injection on posted output. โ€ข ๐—•๐—ผ๐˜‚๐—ป๐—ฑ๐—ฒ๐—ฑ ๐—ฑ๐—ถ๐—ณ๐—ณ๐˜€ (maxFiles/maxPatchBytes) and fail-secure. โ€ข ๐—ป๐—ผ๐—ป๐—ผ ๐—ฏ๐—ผ๐˜‚๐—ป๐—ฑ๐—ฎ๐—ฟ๐˜†: fork-controlled tarballs, diffs, prompts, and model tool calls are processed in a separate nono-sandboxed process. The trusted listener keeps the App private key and webhook secret. โ€ข ๐—ฃ๐—ต๐—ฎ๐—ป๐˜๐—ผ๐—บ ๐—ฐ๐—ฟ๐—ฒ๐—ฑ๐—ฒ๐—ป๐˜๐—ถ๐—ฎ๐—น๐˜€: nono's credential proxy keeps the real repository-scoped GitHub token and API keys out of the workers sandbox. The child receives one random 256-bit session token that is valid only at its loopback proxy. โ€ข ๐—˜๐—ป๐—ฑ๐—ฝ๐—ผ๐—ถ๐—ป๐˜-๐—น๐—ถ๐—บ๐—ถ๐˜๐—ฒ๐—ฑ ๐—ฒ๐—ด๐—ฟ๐—ฒ๐˜€๐˜€: the worker can call only the GitHub read/comment endpoints required for its target repository, generation, and GitHub's tarball host. It has no filesystem write capability or working directory access. โ€ข ๐—•๐˜‚๐—ถ๐—น๐˜ ๐˜„๐—ถ๐˜๐—ต @chainguard_dev 's distroless glibc-dynamic , no shell, no package manager, no busybox in the runtime layer. โ€ข ๐—ง๐—Ÿ๐—ฆ ๐˜ƒ๐—ถ๐—ฎ ๐—ฟ๐˜‚๐˜€๐˜๐—น๐˜€ + ๐—ฟ๐—ถ๐—ป๐—ด, ๐˜„๐—ถ๐˜๐—ต ๐— ๐—ผ๐˜‡๐—ถ๐—น๐—น๐—ฎ ๐—ฟ๐—ผ๐—ผ๐˜๐˜€ ๐—ฏ๐—ฎ๐—ธ๐—ฒ๐—ฑ into the binary (webpki-roots); no host CA trust, no OpenSSL in the runtime. โ€ข Signed ๐˜„๐—ถ๐˜๐—ต @projectsigstore ๐—ฐ๐—ผ๐˜€๐—ถ๐—ด๐—ป (keyless, OIDC), with SBOM and SLSA-provenance attestations published alongside each tagged release Quite soon we are going to mate it with runseal and make supply chain attackers cry into their oxtail soup github.com/nolabs-ai/nogent and runseal its elder sibling, both offspring of nono.sh github.com/marketplace/actioโ€ฆ
2
2
13
656
Replying to @mitchellh
That's awesome, will this have an SDK? We built a detachable PTY proxy into nono.sh. A supervisor process owns the PTY master, while a sandboxed child uses the slave for stdin, stdout, and stderr. A client attaches over a Unix socket, which carries raw terminal bytes bidirectionally. We have external bridge that can expose that stream remotely over WebSocket, translating resize and detach controls as needed. Here is it with ghostty (which btw was the cleanest to work with (kitty / wezterm was a PIA)). Looking forward to having a play sometime.
1
1
1
204
Dissecting the incredibly dumb category of 'agent sandbox' A stack where everyone makes the wrong assumption when assessing a sandbox - don't make the common mistake of assessment via the outer isolation, as its never where agent compromise occurs - first ask "what can the agent do without crossing the boundary?" Start there. If you don't have an answer to that, that's very likely where things will go wrong first. nolabs.ai/blog/sandbox-primeโ€ฆ
4
8
410
We just shipped ephemeral micro sandboxed tool execution! A collaborative effort along side smart folks from Datadog and Okta - the first of its kind, you can set a policy for an individual CLI tool execution - demonstration in the link.. piped.video/watch?v=ndTM1DoGโ€ฆ
1
4
10
845
The claude code nono package just passed 50,000 pulls directly into a zero latency sandbox - it is already about to head past 60k. Copied by many, yet rivalled by few - nono pioneered the zero-latency, zero-setup agent sandbox, and continues to innovate and lead the way.
2
5
378
I give up with @ycombinator news - seems so petty to let users just flag you without reason.
1
3
269
Containers share the host kernel by design. For AI agents executing model-generated code, that's a real problem - one kernel exploit reaches the host. New post on Kubefence from @pradipta_kr from @RedHat : stacking Kata Containers + Seccomp + nono into one RuntimeClass. ๐Ÿ‘‡ nono.sh/blog/kubefence-multiโ€ฆ
2
7
794
Seriously, what is happening at @github - cannot do any work and seriously considering alternatives now.
1
3
7
976
This week in nono.sh #nono #hermes agent
2
151
A lot of frustrated #NemoClaw , OpenShell users turning up in the nono.sh community, checked it out - kind makes sense. Around 4 docker images, a k8s cluster, to run a coding agent.
4
283
Project Nono - Monthly Roundup ๐ŸŽฌ Here's what shipped over the last 30 days, in 60 seconds. A few highlights worth calling out: Secure SKILL / Agent Artifact Registry (early preview) โ€” sigstore provenance and prompt injection checks built in. Custom SKILLS / Profiles - built for teams that agent supply-chain security from day one, not bolted on later. Inbuilt Helper - no more wrangling pesky JSON. Let Nono steer the model for you.
1
4
362
Exciting new feature coming online shortly. nono.sh package and policy registry. we heard from users and they wanted a way of having a more customized self-serving system for having nono configure agent hooks, skills and nono policy.
2
3
5
330
A very bizarre experience of meeting my first claw in the wild. The Day of the Claws: How I watched an agent reverse-engineer my career in an afternoon. decodebytes.substack.com/p/tโ€ฆ
3
5
333
It is time for me to reveal the truth - I am Satoshi Nakamoto I just don't have any proof. nono.sh/blog/secure-agent-auโ€ฆ
2
2
210
Took nono.sh to the @aiDotEngineer event in London this week. Wasn't expecting to spend half the day being stopped by engineers telling us they're daily users. One team even demoed nono integrated into their own product - live, in the wild, built by someone we'd never met. Big thanks to everyone who came and said hello.
1
6
327
Anthropic just detailed the engineering behind "Auto Mode" for Claude Code, and it exposes an emerging an unaddressed dichotomy in AI agent security. The problem? Developers now suffer from "approval fatigue" where AI agents constantly ask for permission to run code. The human solution? Blindly clicking "Approve" 93% of the time, or disabling its sandbox entirely with --dangerously-skip-permissions. Anthropicโ€™s fix is a two-stage AI classifier that auto-approves what are deemed "safe actions" and blocks dangerous ones. Sounds great, but in their favour they are honest about the results.. It has a 17% False Negative Rate. That means roughly 1 in 6 genuinely dangerous or overeager actions still slips through. The rationale from Anthropic - is that since developers have almost 100% checked out and don't care about what the model is producing, the 17% failure rate is enough of a benefit to release this as GA software.
1
3
6
341
tmux style sandboxes anyone? along with full docker-eque style lifecycle and atomic rollbacks? nono.sh
4
188
nono.sh/blog/openclaw-nono-cโ€ฆ Had a lot of folks asking the difference between nono and @nvidia 's OpenShell shipped in Nemoclaw this week - as both had a significant shared feature surface and terminology - so I wrote an unbiased as possible teardown and it turns out they have quite different architectural differences and applications of use.
1
1
3
202
nono.sh 's python library protecting @pydanti_ai / @FastAPI based agents with kernel enforced sandboxing
5
367
Go bindings for nono.sh from kipz - get native sandboxing in your go apps: github.com/kipz/nono-go
5
455
little nono.sh is just 30 days old, just about to hit a 1k ๐ŸŒŸ's - Its fairing very well against the OSS security giants - lets see if it can keep up the ๐Ÿš€ trajectory
1
5
187
Nerd fanboy alert: when someone you looked up to as a cryptography wizard / engineer makes a PR to your project along with a compliment - thanks @jedisct1 !
1
349
Containers and microVMs solved a well-defined problem: process isolation between workload and host. They are best in class for host/guest isolation, resource constraint and environment isolation. Industry transformative and nothing less. The mistake is assuming the same specialism solves the new problems that agents present. An agent is not a workload to isolate, it's far more nuanced. It is an autonomous decision-making system operating , sometimes on your behalf, at runtime, against often sensitive material, in ways that cannot be fully anticipated at launch time. Placing it in an isolated environment and considering the security problem solved because the host is protected and the guest is isolated is not enough. The agent needs access to sensitive resources to do its job, and those resources require protection as well. When the agent needs capabilities beyond its initial grant, it requires a secure, mediated channel to request them. Without one, privilege elevation becomes a path that bypasses the very isolation boundary you depended on. Existing primitives enforce boundaries. They do not enforce intent, auditability, or runtime access control over an actor whose behaviour is non-deterministic by design. Nono is built on a different premise: the sandboxed process is untrusted by construction, and capabilities are granted dynamically under explicit oversight, enforced at the kernel level, and recorded with immutably. The supervisor is the mechanism that realises this, and its nono's superpower. The supervisor runs outside the sandbox, intercepts every file access syscall via seccomp-notify, and mediates every access decision before it reaches its entity. The agent never executes its own calls. Privilege elevation requests are trapped, approved over a secure verified channel, and fulfilled via direct file descriptor injection. The audit trail and access gate - is not an instrumentation on top of execution. It is direct in the execution path. API credentials never enter the agent's address space. Files can be cryptographically attested, right back to the source code - before the agent even reads or executes them. And the best bit of all, already have a container orchestration system in place, well nono runs quite at home in either a container or a microVM - belt, braces, and a safety harness. This is not a tightening of existing primitives or a repurposing of previous tools. It is an approach purpose-built for a new era. nono.sh #AgenticAI #Security
2
3
11
671
Its always nice to get a bit of love and appreciation as an OSS maintainer
1
207
Reminds of the opening scene from Uptopia (the better one) piped.video/watch?v=rcx-nf3kโ€ฆ
๐Ÿšจ SAM ALTMAN: โ€œPeople talk about how much energy it takes to train an AI model โ€ฆ But it also takes a lot of energy to train a human. It takes like 20 years of life and all of the food you eat during that time before you get smart.โ€
1
325
Not even two weeks since releasing nono.sh - and we jumped to the top of GitHub Trending, inboxes blew up, and long established solutions quickly put out competitive battlecards and posts (taken as a real compliment) - but to top it all, seeing an excited community emerge and come together to rally around the project to solve a pain point with a pragmatic solution built for the current paradigm of how agents are operating I checked out a comparison point with previous open source security projects I've been involved in, and it's clear something exciting is in the making - the little blue line is just one week. #AgenticAI #Security
1
4
288
We are configuring autonomous systems with prose. SKILLS.md, RULES.md, CLAUDE.md - loaded into the same context window as untrusted data. The model has no way to separate its own instructions from an attacker's. The control plane and data plane we built out as seperate, the lessons we learned about xss attacks, sql injections - and here we are , back where we started again. A post I wrote about why I built nono: alwaysfurther.ai/blog/why-i-โ€ฆ #AIAgents #InfoSec #OpenSource #PromptInjection
3
2
2
223
"trust-based guidelines" decisions deferred to Agents are just an accident waiting to happen. don't yolo, nono.sh
2
124
nono.sh part two: nono --net-block bash <(curl url): curl d'loads script outside the sandbox, bash executes it inside with network blocked. The malicious script can't exfiltrate / cause any damage - the kernel denies .ssh write with "Operation not permitted."
117
Not bad company to be in
149
cool things you can do with nono.sh - part one: nono'ception - aka nono spawns itself into a nono sandbox and then asks nono, why can I not access ~/.ssh/id_rsa
1
3
130
Software Supply Chain Security in the Age of AI Agents alwaysfurther.ai/blog/sigstoโ€ฆ
1
95
DeepFabric now supports live tool execution during dataset generation, isolated within web-assembly components care of the @spinframework - this produces training dataset with far less hallucinations and encourages more reactive learning patterns.
1
90