Share
## https://sploitus.com/exploit?id=2CF3899D-DB3E-52EF-B260-3FD528F9B122
# OpenShell + Kata Containers: Dual-Protection PoC
A proof-of-concept demonstrating that running an AI coding agent inside
the dual protection of [NVIDIA OpenShell](https://github.com/NVIDIA/OpenShell)
and [Kata Containers](https://github.com/kata-containers/kata-containers)
provides defense-in-depth that neither technology achieves alone.
## The Problem
AI coding agents like [OpenCode](https://opencode.ai/) execute arbitrary
code on your behalf. This creates two distinct threat classes:
1. **Application-layer attacks** -- A prompt injection tricks the agent
into exfiltrating secrets via HTTP. Kata Containers (VM isolation)
does not inspect network traffic, so the data leaks.
2. **Kernel-layer attacks** -- A container escape exploit
([CVE-2026-31431](https://copy.fail)) escalates to host root.
OpenShell's Landlock/seccomp/proxy cannot protect against kernel
memory corruption bugs.
Neither technology alone covers both. Together, they do.
## Results Matrix
| Attack | kata-only | openshell-only | dual (kata+openshell) |
|---------------------------|------------------|--------------------|-----------------------|
| Prompt injection exfil | DATA LEAKED | BLOCKED | BLOCKED |
| CVE-2026-31431 escape | CONTAINED (VM) | HOST COMPROMISED | CONTAINED (VM) |
## Architecture
Three OpenCode pods on OpenShift, each backed by the same vLLM endpoint
serving Gemma4-31b:
| Pod | RuntimeClass | OpenShell | Kata |
|--------------------------|-------------------|-----------|------|
| `opencode-kata-only` | `kata-containers` | No | Yes |
| `opencode-openshell-only`| default (runc) | Yes | No |
| `opencode-dual` | `kata-containers` | Yes | Yes |
## Quick Start
```bash
# 1. Prerequisites: OpenShift cluster with Kata and OpenShell installed
# See infra/README.md for setup instructions
# 2. Build and push container images
export REGISTRY=your-registry.example.com
docker build -t $REGISTRY/openshell-poc/agent-sandbox:latest images/agent-sandbox/
docker build -t $REGISTRY/openshell-poc/attacker-listener:latest images/attacker-listener/
docker push $REGISTRY/openshell-poc/agent-sandbox:latest
docker push $REGISTRY/openshell-poc/attacker-listener:latest
# 3. Deploy everything
./demo/setup.sh
# 4. Run the demo
./demo/run-demo.sh
# 5. Clean up
./demo/teardown.sh
```
## Repo Structure
```
infra/ Cluster setup: Kata operator, RuntimeClass, kernel check
deploy/ Kubernetes manifests for all 3 pods + supporting resources
images/ Dockerfiles for agent sandbox and attacker listener
attacks/ Attack payloads with documentation and safety disclaimers
demo/ Demo automation scripts
docs/ ADR, implementation plan, security model, architecture
```
## Safety
This repo contains exploit code and prompt injection payloads for
**authorized security testing only**. See [attacks/README.md](attacks/README.md)
for safety guidelines. Never run the container escape exploit on
production systems.
## License
MIT -- see [LICENSE](LICENSE).