Runtime continuous for VibeControls
Trivy + kube-bench continuous runtime checks against live workloads.
vibe plugin install @vibecontrols/vibe-plugin-security-runtime
About this plugin
@vibecontrols/vibe-plugin-security-runtime
Continuous runtime-check provider for the runtime.continuous lifecycle stage in VibeControls. Provider name: trivy-kube-bench. Wraps the pinned trivy binary and the kube-bench cluster check. Wave 2 scaffold — real tool integration pending; see src/provider.ts TODO.
Registers itself with @vibecontrols/vibe-plugin-security under the per-stage provider type security.runtime (per PROVIDER_TYPE_FOR_STAGE("runtime.continuous")). When the user picks "trivy-kube-bench" as their default provider for runtime.continuous, the security meta plugin dispatches scan runs here.
Install
vibe plugin install @vibecontrols/vibe-plugin-security-runtime
vibe security providers set-default --stage runtime.continuous --provider trivy-kube-bench
On first real run the plugin downloads the Trivy binary (sha256-verified per platform) into ~/.boff/vibecontrols/agents/<profile>/tools/trivy/. kube-bench is invoked via kubectl run from a pinned image.
Behavior (planned)
- Rescans every image listed in
input.config.images(or auto-discovered from the cluster) with Trivy (--format sarif), normalizing SARIF intocategory: "vuln"findings. - Runs kube-bench against the cluster control-plane / nodes (
--json), normalizing the result intocategory: "config"findings. - Skip path: when no kubeconfig is present, the kubeconfig file is missing, or
kubectl get nodesfails, the provider returnssucceededwith a single info finding describing the skip reason (missing-cluster-access). The dispatcher recordsconclusion: skipped.
Configuration
Per-vibe config (stored in RepositorySecurityConfig.pluginAssignments["runtime.continuous"].config):
provider: trivy-kube-bench
config:
images:
- registry.example.com/app:1.2.3
kubeconfig: /etc/vibe/kubeconfig # optional override
registryAuth:
server: registry.example.com
username: vibe-readonly
password: "<secret>"
extraTrivyArgs: []
extraKubeBenchArgs: []
Use it in 30 seconds
- Make sure the agent is running:
vibe start - Install the meta first:
vibe plugin install @vibecontrols/vibe-plugin-security - Install this plugin:
vibe plugin install @vibecontrols/vibe-plugin-security-runtime - List installed plugins:
vibe plugin list
Other Security plugins
Archive Offboard
Writes tombstone.json evidence at archive.offboard for SOC2/ISO retention proofs.
@vibecontrols/vibe-plugin-security-archiveDAST (preview)
OWASP ZAP baseline DAST scan against alpha preview URLs at deploy.preview.
@vibecontrols/vibe-plugin-security-dast-previewDeploy alpha smoke
TLS / HSTS / CSP smoke checks for alpha environment URLs at deploy.alpha.
@vibecontrols/vibe-plugin-security-deploy-alphaDeveloper local
Local pre-commit secrets scanner (gitleaks protect) — runs on the developer machine.
@vibecontrols/vibe-plugin-security-developer-localIncident response
Targeted incident-response scanner for incident.response lifecycle stage.
@vibecontrols/vibe-plugin-security-incidentRepo onboard
Repo profile detector — picks the right policy bundle on repo.onboard.
@vibecontrols/vibe-plugin-security-onboard