- Inference engines tracked and patched like any other critical software
- Model servers reachable only through an authenticated internal gateway
- Serving processes isolated, with no route to the internet or to unrelated systems
- Models loaded only from an internal registry, with remote code execution disabled
- Prompts, keys and customer data kept out of logs, with alerts on unusual server behaviour
Anonymised composite. Client names, identifying details and confidential figures are withheld; public facts are cited in the references.
The situation
A South Korean fintech offered payments, savings and investment features in a mobile app. Its AI features, a support assistant, transaction categorisation and document reading, had started on external model APIs. To keep customer data in-house and control cost, the company moved them to open-weight models served on its own GPUs, using vLLM for most models and SGLang for a few latency-sensitive ones. The data science team had done it quickly: models pulled from public repositories, servers running in the same Kubernetes cluster as other services, and serving APIs reachable from anything inside that cluster.
Korea's AI Basic Act, in force from January 2026, adds transparency and risk management expectations for AI systems, particularly high-impact ones5. The more immediate concern for the board was simpler: customer financial data now flowed through software the security team had never reviewed.
Why now. Inference engines had become a target. In November 2026, NEAR AI disclosed that an attacker used a remote code execution flaw in SGLang to run code on one of its inference servers and observe in-flight requests, including ones protected by confidential computing12. vLLM had its own advisories during 2026, including a flaw that let a malicious model repository run code even when remote code was disabled, and a remote code execution path through video inputs34.
What had to be true
- Patched: inference engines tracked and updated like any critical dependency.
- Unreachable: model servers accessible only through an authenticated gateway.
- Contained: a compromised server cannot reach the internet or unrelated systems.
- Trusted models: only vetted models, loaded without running their own code.
- Clean logs: prompts, customer data and keys kept out of telemetry.
- Watched: unusual behaviour on serving nodes raises an alert.
Architecture
All application calls went through an internal inference gateway that authenticated callers, enforced quotas and rejected input types a route did not need, such as video or arbitrary URLs. Model servers moved to a dedicated namespace and node pool, ran as non-root in a sandboxed container runtime, and accepted traffic only from the gateway.

Network policies blocked all traffic to and from the serving namespace except from the gateway and to an egress proxy, which allowed only the internal model registry and the telemetry endpoint6. A compromised server would find no route to the internet, to databases or to other services.
The data flow, end to end
- CallAn app service sends a request to the gateway with its service identity
- CheckThe gateway authenticates, applies quotas and strips unneeded input types
- ServeAn isolated model server processes the request
- ReturnThe answer goes back through the gateway, which applies output checks
- RecordMetadata is logged: route, model, latency and tokens, not the prompt
- WatchRuntime sensors flag unexpected processes or connections on serving nodes
The hard part: keeping up with engines and models
Patching fast-moving engines. Inference engines release often, and upgrades can change performance or model support. The team pinned versions per model, subscribed to the projects' security advisories, and kept an evaluation and load test for each model so an upgrade could be validated within days rather than deferred for months.
Trusting models, not just code. A model is not just weights; some repositories include code that runs when loaded. The vLLM advisory showed that disabling remote code was not always enough3. Models were therefore imported once into an internal registry after review, scanned, signed and loaded only from there, with remote code disabled and serving processes unable to reach public repositories.
Not over-trusting confidential computing. The team evaluated confidential computing for the most sensitive workloads, and the NEAR AI incident shaped how: it protects data from the host and operator, not from flaws in the engine inside the enclave1. Confidential computing became one layer, alongside patching and isolation, not a replacement for them.
Treat a model server like any other service that handles customer data: patch it, hide it, box it in and watch it. The AI part does not earn it an exemption.
How it ran
- Serving namespace and node pool
- Network policies and egress
- Sandboxed runtime
- Version pinning
- Internal model registry
- Upgrade evaluations
- Advisory tracking
- Runtime alerts
- Incident runbook
- Data flow records
- AI Basic Act mapping
- Evidence for auditors
- Engines and versions
- Models and sources
- Who can reach servers
- Gateway in front
- Network policies
- Egress proxy
- Internal registry
- Remote code disabled
- Signed models
- Advisory tracking
- Upgrade tests
- Runtime alerts
Key decisions and trade-offs
| Decision | Alternative | Why |
|---|---|---|
| Gateway in front of every model server | Services call model servers directly | One place to authenticate, limit and filter input |
| Deny-by-default network policies | Rely on the cluster being internal | A compromised server finds nowhere to go |
| Internal model registry only | Pull models from public repositories at start-up | Models are reviewed once and cannot change underneath you |
| Strip unneeded input types at the gateway | Let engines handle everything | Shrinks the attack surface, as the video flaw showed |
| Metadata-only telemetry by default | Log prompts for debugging | Customer data stays out of logging systems |
| Confidential computing as one layer | Treat it as sufficient | It does not protect against flaws inside the enclave |
What I'd do again, and differently
Again: put the gateway and network policies in place first; they cut exposure in days. Differently: build the upgrade evaluation for each model at the start, so security patches never waited on performance testing. Related: the 12 November tech news, AI model supply chain security, Kubernetes inference gateways, the Korean hiring platform case study and where I work.
If you serve your own models and have not reviewed them as you would any other service, see my AI architecture work, or analyse your challenge and bring the result to a call.
- 1Inside the Enclave, Still Exposed: The NEAR AI SGLang BreachCloud Security Alliance · Nov 2026
- 2Near AI Breach Exposes User Details and Data From 18 AI AgentsYahoo Tech · Nov 2026
- 3vLLM has Hardcoded Trust Override in Model Files Enables RCE Despite Explicit User Opt-Out (CVE-2026-27893)GitHub Advisory Database · 2026
- 4
- 5South Korea's AI Basic Act: overview and key takeawaysCooley · 27 Jan 2026
- 6kubernetes-cluster-network.svg (Kubernetes documentation images)Kubernetes · 2026