Skip to content
Back to skills

Check Helm

ASecurity

Prueft Helm Chart-Dateien eines Kamerplanter-Komponente auf NFR-002-Konformitaet: SecurityContext, NetworkPolicies, Resource Limits, Health Probes, StatefulSet/Deployment-Unterscheidung, PVC-Konfiguration. Nutze diesen Skill nach Aenderungen an Helm-Charts oder beim Hinzufuegen neuer Komponenten.

  • 4 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 12, 2026
devopspythongokubernetesfrontendbackendsecurity

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add aibot88/sec_skill_store --skill check-helm --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Check Helm?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Check Helm
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aibot88-check-helm/badge)](https://www.skillsdirectory.com/skills/aibot88-check-helm)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: check-helm
description: "Prueft Helm Chart-Dateien eines Kamerplanter-Komponente auf NFR-002-Konformitaet: SecurityContext, NetworkPolicies, Resource Limits, Health Probes, StatefulSet/Deployment-Unterscheidung, PVC-Konfiguration. Nutze diesen Skill nach Aenderungen an Helm-Charts oder beim Hinzufuegen neuer Komponenten."
argument-hint: "[Komponenten-Name, z.B. backend, worker, arango, redis]"
disable-model-invocation: true
---

# Helm-Chart-Check (NFR-002): $ARGUMENTS

## Schritt 1: Chart-Dateien laden

Suche die Helm-Dateien fuer die Komponente `$ARGUMENTS`:

```
helm/
├── Chart.yaml
├── values.yaml
└── templates/
    ├── deployment.yaml / statefulset.yaml
    ├── service.yaml
    ├── networkpolicy.yaml
    ├── configmap.yaml
    └── (weitere)
```

Lies parallel: `spec/nfr/NFR-002_Kubernetes-Plattform.md` (erste 60 Zeilen) und `spec/style-guides/HELM.md` fuer Referenz.

## Schritt 2: Stateless vs. Stateful prufen

Klassifiziere die Komponente:

| Typ | Erwartetes Workload-Objekt | Besonderheiten |
|-----|--------------------------|----------------|
| **Stateless** (Backend, Worker, Frontend) | `Deployment` | Kann beliebig skaliert werden |
| **Stateful** (ArangoDB, Redis, TimescaleDB) | `StatefulSet` | Geordnete Identitaeten, PVC pro Pod |

- ❌ Fehler: Stateful-Komponente als Deployment deployt
- ❌ Fehler: Stateless-Komponente als StatefulSet deployt

## Schritt 3: Security-Checks (NFR-002 §4)

Prüfe in `deployment.yaml` / `statefulset.yaml`:

```yaml
# MUSS vorhanden sein:
securityContext:
  runAsNonRoot: true
  runAsUser: 1000          # Kein root (0)
  readOnlyRootFilesystem: true
  allowPrivilegeEscalation: false
  capabilities:
    drop: ["ALL"]

# Container-Level:
resources:
  requests:
    memory: "..."
    cpu: "..."
  limits:
    memory: "..."
    cpu: "..."
```

## Schritt 4: NetworkPolicy prüfen

Prüfe ob `networkpolicy.yaml` existiert und folgende Regeln enthält:

- **Ingress:** Nur erlaubte Sources (z.B. nur Traefik → Backend)
- **Egress:** Nur benoetigte Destinations (z.B. Backend → ArangoDB, Redis)
- **Default-Deny:** `podSelector: {}` mit leeren ingress/egress-Regeln als Basis

## Schritt 5: Health Probes prüfen

```yaml
# MUSS in jedem Deployment/StatefulSet vorhanden sein:
livenessProbe:
  httpGet:
    path: /health/live
    port: 8000
  initialDelaySeconds: 10
  periodSeconds: 10

readinessProbe:
  httpGet:
    path: /health/ready
    port: 8000
  initialDelaySeconds: 5
  periodSeconds: 5
```

## Schritt 6: Sonstige NFR-002-Checks

- **ConfigMaps/Secrets:** Keine hardcodierten Secrets in values.yaml (Referenz auf Secret-Objekte)
- **Image-Tags:** Keine `latest`-Tags — spezifische Minor-Version (z.B. `python:3.14-slim`)
- **HPA:** Vorhanden fuer stateless Komponenten? `minReplicas` / `maxReplicas` definiert?
- **PodDisruptionBudget:** Fuer kritische Stateful-Komponenten vorhanden?
- **bjw-s/common Chart:** Wird der gemeinsame Helm-Chart-Typ korrekt genutzt?

## Schritt 7: Report ausgeben

```markdown
# Helm-Chart-Review: {Komponente}

## Workload-Typ
{Deployment/StatefulSet — korrekt/falsch}

## Security-Context
{Checkliste: runAsNonRoot, readOnlyRootFilesystem, capabilities.drop, resource limits}

## NetworkPolicy
{Existiert: ja/nein | Ingress-Regeln: {N} | Egress-Regeln: {N}}

## Health Probes
{liveness: ✅/❌ | readiness: ✅/❌}

## Sonstige Findings
{Nummerierte Liste mit Pfad:Zeile und Beschreibung}

## Bewertung
- ✅ NFR-002-konform / ❌ {N} Violations gefunden
```

Files in this skill

  • SKILL.md3.5 KB
  • source.json792 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.