PS Product SecurityKnowledge Base

๐Ÿงฑ StackRox Kubernetes Security Platform (Open Source) and RHACS

Intro: StackRox is now best understood as the upstream open-source project behind Red Hat Advanced Cluster Security for Kubernetes (RHACS). This page explains what the platform is, what became open source, what still differs in enterprise practice, and how to install and use it in a modern Kubernetes security program.

What StackRox is

StackRox is a Kubernetes-native security platform that covers build, deploy, and runtime for containerized workloads. In practical terms it sits between:

  • image and deployment policy checks;
  • cluster risk and posture visibility;
  • network graph and baseline analysis;
  • runtime and policy violations;
  • compliance and reporting workflows.

Historically people often described it as โ€œKubernetes security posture plus runtime plus policy plus vulnerability context in one platform.โ€ That is still roughly the right mental model.

What changed after the Red Hat acquisition

The careful answer

The broad statement โ€œStackRox became fully free and preserved all enterprise functionality unchangedโ€ is too strong.

The practical answer

A more accurate framing is:

  • StackRox is the upstream open-source project;
  • RHACS is the Red Hat productized distribution and remains the enterprise offering around that upstream;
  • a large amount of the platform capability is available in the open project, but production buyers still care about packaging, support, release channels, operator workflows, OpenShift alignment, and enterprise lifecycle expectations.

Use this phrasing in the KB and in interviews:

โ€œStackRox is the open-source upstream. RHACS is the Red Hat distribution and enterprise packaging.โ€

Why Product Security and Platform teams care

StackRox/RHACS is useful when you want one Kubernetes-native control plane for questions like:

  • which deployments are riskiest right now;
  • which workloads violate policy;
  • which images are pulling in critical CVEs;
  • which services talk to unexpected destinations;
  • which clusters or namespaces are drifting from a secure baseline;
  • which deploy-time settings should be blocked before rollout.

That makes it especially useful for:

  • platform security teams;
  • Kubernetes security engineers;
  • Product Security teams that need workload context, not only IaC scanning;
  • organizations that want policy-backed conversations with engineering instead of isolated scanner output.

Core architectural model

At a high level the platform is split into:

  • Central โ€” main backend, UI, API, policy evaluation, risk and findings aggregation;
  • Scanner โ€” image scanning and vulnerability context;
  • Sensor โ€” cluster-aware control-plane component;
  • Collector โ€” runtime and node/workload telemetry collection;
  • Admission Controller โ€” deploy-time prevention path.

A practical mental model:

Component Primary job
Central UI, API, policy engine, risk aggregation, cluster inventory
Scanner Image/component/CVE analysis
Sensor Watches cluster state and policy-relevant events
Collector Runtime/node/workload telemetry collection
Admission Controller Blocks or flags policy-breaking workloads at deploy time

What this means operationally

If you deploy StackRox well, the platform can answer three different questions with one shared context:

  1. What is risky?
  2. What is violating policy?
  3. What is actually running and talking right now?

That shared context is one of the strongest reasons teams pick it.


What risks StackRox/RHACS helps reduce

1. Risky workload configuration

Examples:

  • privileged containers
  • host networking / host PID / host IPC
  • missing resource limits
  • dangerous capabilities
  • mutable images or dangerous image sources

2. Weak image hygiene

Examples:

  • known CVEs in runtime images
  • risky base images
  • poor image provenance visibility
  • deployments using stale or vulnerable images

3. Poor network understanding

Examples:

  • unknown east-west communication
  • unexpected public or external destinations
  • missing or weak Kubernetes NetworkPolicies
  • policy gaps between intended and actual traffic

4. Weak deploy-time controls

Examples:

  • allowing clearly noncompliant workloads into a cluster
  • missing admission guardrails
  • lack of โ€œfail before deployโ€ checks for Kubernetes manifests and images

5. Runtime and policy violations

Examples:

  • suspicious runtime behavior that maps to built-in or custom policies
  • anomalous network flows
  • policy violations by namespace, deployment, or cluster

Where it fits relative to other tools

Tool type Role next to StackRox
Trivy / Grype / Clair narrower scanning utilities, often used earlier in CI or registry workflows
Falco / Tetragon deeper runtime-specialist layers for syscall/eBPF-centric detection and enforcement
Kube-bench / Kubescape posture and benchmark-centric layers
OPA / Kyverno policy engines and enforcement primitives that may complement or overlap parts of deploy-time control

A strong modern pattern is:

  • StackRox/RHACS for shared platform visibility, risk ranking, policy, and Kubernetes-specific operating context;
  • Falco or Tetragon if you need a more specialized runtime-detection layer;
  • Trivy/Syft/Grype earlier in CI or artifact pipelines.

Installation patterns

Option 1 โ€” Quick Helm install (good for lab or evaluation)

See: official StackRox GitHub README and docs.

/bin/bash <(curl -fsSL https://raw.githubusercontent.com/stackrox/stackrox/master/scripts/quick-helm-install.sh)

This quick path:

  • adds the Helm repository;
  • installs central services;
  • creates an init bundle;
  • installs secured-cluster services on the same cluster.

Use case

Good for:

  • lab environments;
  • product evaluation;
  • quick hands-on familiarization.

Not ideal for

  • hardened production rollout;
  • controlled ingress/TLS patterns;
  • teams that need explicit secrets, storage, exposure, and cluster-onboarding decisions.

Option 2 โ€” Manual Helm install (better for controlled rollout)

Step 1 โ€” Add the Helm repo

helm repo add stackrox https://raw.githubusercontent.com/stackrox/helm-charts/main/opensource/
helm repo update
helm search repo stackrox

Step 2 โ€” Generate a strong admin password

export ROX_ADMIN_PASSWORD="$(openssl rand -base64 20 | tr -d '/=+')"

Step 3 โ€” Install Central Services

helm upgrade --install -n stackrox --create-namespace stackrox-central-services   stackrox/stackrox-central-services   --set central.adminPassword.value="${ROX_ADMIN_PASSWORD}"

Step 4 โ€” Pick a cluster name and Central endpoint

export CLUSTER_NAME="prod-cluster-1"
export CENTRAL_ENDPOINT="central.stackrox.svc:443"

Step 5 โ€” Generate an init bundle

echo "$ROX_ADMIN_PASSWORD" | kubectl -n stackrox exec -i deploy/central -- bash -c 'ROX_ADMIN_PASSWORD=$(cat) roxctl --insecure-skip-tls-verify central init-bundles generate stackrox-init-bundle --output -' > stackrox-init-bundle.yaml

Step 6 โ€” Install Secured Cluster Services

helm upgrade --install -n stackrox --create-namespace stackrox-secured-cluster-services   stackrox/stackrox-secured-cluster-services   -f stackrox-init-bundle.yaml   --set clusterName="$CLUSTER_NAME"   --set centralEndpoint="$CENTRAL_ENDPOINT"

Minimum lab deployment you can explain in an interview

Use this narrative:

  1. install Central and Scanner;
  2. generate an init bundle;
  3. onboard one or more clusters with Sensor / Collector / Admission Controller;
  4. connect your registry;
  5. import or tune policies;
  6. review risks, vulnerabilities, deployments, and violations in the UI;
  7. add CI checks with roxctl image check and roxctl deployment check.

That is the minimum end-to-end lifecycle story.


Basic configuration that matters first

1. Exposure and TLS

For production, avoid leaving Central on an evaluation-grade self-signed path longer than necessary.

Baseline expectation:

  • expose Central behind a controlled ingress or load balancer;
  • use organization-managed TLS;
  • restrict admin exposure;
  • avoid broad internet exposure unless explicitly required.

2. Authentication and roles

Do not leave only the bootstrap admin mindset in place.

Early hardening steps:

  • wire in SSO/identity provider where possible;
  • create role-scoped access for platform, security, and read-only consumers;
  • reduce who can alter policy vs only view findings.

3. Registry integrations

Connect the registries that actually matter:

  • ECR
  • Docker Hub
  • Quay
  • Artifactory
  • Nexus
  • ACR / GCR / GAR where relevant

This unlocks image metadata, layer visibility, and scan-backed policy decisions.

4. Admission Controller strategy

Start in a safer rollout order:

  1. observe / alert
  2. tune policies
  3. only then enable blocking for the highest-confidence controls

Do not begin with a broad โ€œblock everything riskyโ€ posture unless you already understand workload variance and exemptions.

5. Network graph and baseline usage

Use it to:

  • identify unexpected east-west flows;
  • export baseline-informed network policy starting points;
  • decide where to alert on anomalous flows before enforcing hard blocks.

CI and shift-left usage with roxctl

One of the most practically useful capabilities is using roxctl in CI or pre-deploy workflows.

Check deployment YAML against policies

export ROX_ENDPOINT=stackrox.example.internal:443
roxctl deployment check --file=deployment.yaml -o table

Check an image against policy

export ROX_ENDPOINT=stackrox.example.internal:443
roxctl image check --image=registry.example.com/team/app:1.4.2 -o table

Get scan results as JSON

export ROX_ENDPOINT=stackrox.example.internal:443
roxctl image scan --image registry.example.com/team/app:1.4.2 --force

Why this matters

This turns StackRox/RHACS from โ€œa portal security people useโ€ into:

  • a CI gate;
  • a manifest review step;
  • an image triage source;
  • a policy-backed conversation with engineering.

Example findings you will typically see

These are illustrative examples normalized to match official RHACS concepts and UI terms.

Example 1 โ€” Privileged container deploy-time violation

Policy: Privileged Container
Entity: Deployment/payments-api
Type: DEPLOYMENT
Severity: HIGH
Lifecycle stage: DEPLOY
Cluster: prod-cluster-1
Namespace: payments
Message: Container 'api' is configured to run as privileged
Suggested action: remove privileged mode, review required capabilities, enforce admission blocking after rollout tuning

Example 2 โ€” Risky image with fixable CVEs

Deployment: billing-worker
Cluster: prod-cluster-1
Namespace: finance
Image: registry.example.com/billing/worker:2.8.0
Top issues:
- Critical CVEs: 3
- Fixable CVEs: 11
- Runtimes affected: 2
- Dockerfile exposure: package manager layer introduces vulnerable libraries
Suggested action:
- rebuild on patched base image
- rerun image scan
- verify deployment risk drops after rollout

Example 3 โ€” Anomalous network flow / baseline deviation

Policy: Network Baseline Violation
Entity: Deployment/reporting-api
Type: DEPLOYMENT
Severity: MEDIUM
Observed flow: reporting-api -> 198.51.100.25:443
Expected baseline: internal-only egress to approved SaaS endpoints
Suggested action:
- verify legitimate third-party dependency
- add to baseline only if justified
- otherwise tighten egress controls or NetworkPolicy

Example 4 โ€” Build-time image policy failure in CI

roxctl image check --image registry.example.com/team/app:1.4.2 -o table

POLICY                              SEVERITY   RESULT
No Latest Tag                       MEDIUM     PASS
Fixable Critical CVEs               CRITICAL   FAIL
Docker CIS 4.1 Non-root User        HIGH       FAIL

Typical UI paths and what to do there

Dashboard

Use for:

  • top risky deployments;
  • violations by cluster;
  • active violations over time;
  • quick severity trend review.

Risk

Use for:

  • prioritization;
  • ranking deployments by risk;
  • deciding where the next engineering fix should go.

Violations

Use for:

  • policy-driven triage;
  • explaining why something is risky;
  • pivoting from an alert to the affected deployment/cluster/namespace.

Vulnerability Management

Use for:

  • image issues and fixability;
  • riskiest images and deployments;
  • CVE export and remediation planning.

Network Graph / Network Baseline

Use for:

  • east-west understanding;
  • anomaly review;
  • policy generation starting points.

Compliance

Use for:

  • benchmark and evidence reporting;
  • cluster / namespace / control drill-down.

Integration with current infrastructure

With registries

Most teams should begin by integrating:

  • the primary runtime registry;
  • the build-time registry used by CI;
  • any โ€œgolden imageโ€ or platform registry.

This gives you:

  • image metadata;
  • Dockerfile layer visibility;
  • scan-backed image policies before and after deploy.

With CI/CD

Typical pattern:

  • roxctl image check after image build;
  • roxctl deployment check before deployment;
  • fail only on a narrow high-confidence set at first;
  • route full JSON output to artifact retention or security triage.

With Slack / PagerDuty / JIRA / webhooks

Use notifiers and webhooks sparingly. A good pattern is:

  • high-confidence deploy/runtime violations โ†’ alerting/ticketing;
  • informational drift or medium-risk image findings โ†’ portal/SIEM review.

With existing network policy work

Use the network graph and baseline functions as a generator and review aid, not as a replacement for understanding traffic flows yourself.


Common mistakes and how to avoid them

Mistake 1 โ€” Treating it like โ€œjust another scannerโ€

Fix:

  • use risk, policy, network, and deploy-time capabilities too.

Mistake 2 โ€” Enabling blocking too early

Fix:

  • start in observe mode, then tune, then block.

Mistake 3 โ€” Only onboarding one lab cluster and never wiring registries

Fix:

  • connect the registries and at least one realistic production-like cluster.

Mistake 4 โ€” Forgetting CI usage

Fix:

  • operationalize roxctl image check and roxctl deployment check.

Mistake 5 โ€” Overclaiming open-source versus enterprise parity

Fix:

  • explain clearly: upstream open source exists; RHACS is the Red Hat distribution and enterprise packaging.

Official visual references worth reviewing

Instead of embedding stale screenshots, use these living official references:

These pages include architecture diagrams, dashboard examples, and current UI concepts that will age better than frozen screenshots in the KB.


Practical recommendation for this KB

Use StackRox/RHACS when you need:

  • Kubernetes-native security context;
  • risk ranking of workloads;
  • policy violations across build, deploy, and runtime;
  • network graph / network baseline workflows;
  • a shared UI for platform + product security conversations.

Do not position it as:

  • a drop-in replacement for all runtime detection tools;
  • a pure IaC scanner;
  • a promise that โ€œopen source means identical enterprise experience.โ€

It is best positioned as a Kubernetes security platform with strong policy/risk/cluster context and useful runtime-adjacent visibility.