Skip to content
dynatrace-researchPublic

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

VulnCare

WARNING: This product is not officially supported by Dynatrace.

VulnCare is an open-source, purposefully misconfigured multi-service Kubernetes healthcare cluster for security research. It is the evaluation benchmark for the KuTIE paper (Does Runtime Topology Context Improve LLM-Generated Kubernetes Security Patches?) and a community testbed for evaluating automated and LLM-based remediation.

Security notice: VulnCare deploys intentionally vulnerable workloads and ships synthetic credentials as part of its findings. Never expose this cluster to untrusted networks and never run it in production.

Contents

Component Description
chart/vulncare/ Helm chart that installs the full benchmark cluster
cluster/ Source manifests, service code, kind cluster config, Kyverno policies
misconfigurations/ The injectable findings and the dependency-class taxonomy
inject.sh Inject and reset misconfigurations on a running cluster
cluster/exploits/ Five exploit chains validated against the live cluster

The evaluation framework, scorer, and experiment results are in the companion KuTIE repository.

Quick start

Build the service images into a kind cluster, then install with Helm:

# 1. create the kind cluster + CNI/mesh prerequisites
kind create cluster --config cluster/setup/vulncare-cluster.yaml
bash cluster/setup/install-cilium.sh

# 2. build and load the service images
bash cluster/setup/build-images.sh
bash cluster/setup/build-images-extended.sh
bash cluster/setup/build-images-multinamespace.sh

# 3. install the benchmark cluster
helm install vulncare ./chart/vulncare

# 4. inject the misconfigurations and verify
bash inject.sh
bash cluster/setup/verify-topology.sh

helm template ./chart/vulncare renders the cluster offline. Set --set kyverno.enabled=false if Kyverno is not installed in the target cluster.

Cluster architecture

36 deployments across 4 namespaces:

Namespace Services
vulncare api-gateway, auth-service, patient-service, appointment-service, prescription-service, lab-service, notification-service, billing-service, payment-processor, bank-gateway, legacy-settlement-api, pharmacy-gateway, ops-console, audit-logger-dep, metrics-collector-dep, load-generator
vulncare-clinical identity-provider, mfa-service, consent-service, fhir-gateway, session-cache, patient-db
vulncare-financial claims-processor, eligibility-checker, edi-gateway, edi-clearinghouse, legacy-claims-archive
vulncare-imaging pacs-gateway, dicom-processor, imaging-store, ai-inference, radiology-report

Workloads communicate over 51 Istio-observed call edges. A 3-node kind cluster with Cilium CNI, the Istio mesh, and the Trivy Operator for KSPM scanning.

Misconfigurations

31 evaluated findings across 7 dependency classes, each classified by topology dependence against cluster ground truth:

  • TD (topology-dependent): a correct, working patch requires a value discoverable only from cluster state (a caller/callee identity, an RBAC-bound Secret name and key, an image digest, a seccomp profile, or a StorageClass).
  • TI (topology-independent): the correct patch is fully determined by the finding text.
Class TD TI
CAP 2 2
CRED 5 0
NET 5 0
POLICY 2 1
RBAC 4 2
SEC 5 0
STORAGE 2 1
Total 25 6

Five findings carry a -TI- infix in their identifier yet are topology-dependent by ground truth (their correct fix needs a cluster-only value); the identifiers are retained for traceability. See docs/misconfigurations.md for per-finding detail and docs/exploit-chains.md for the five validated exploit chains.

Requirements

  • kind v0.20+, kubectl, Docker
  • Helm 3 (chart install; Cilium and Istio)

Citation

If you use VulnCare, please cite the KuTIE paper it was built to evaluate:

@inproceedings{shaikh2026kutie,
  title     = {Does Runtime Topology Context Improve LLM-Generated Kubernetes Security Patches?},
  author    = {Shaikh, Farooq},
  booktitle = {Proceedings of the Workshop on Large Language Models for Security (LLM4Sec 2026), co-located with the European Symposium on Research in Computer Security (ESORICS 2026)},
  year      = {2026},
  publisher = {Springer},
  series    = {Lecture Notes in Computer Science},
}

License

Copyright 2026 Dynatrace LLC. Licensed under Apache License 2.0.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages