Zum Hauptinhalt springen

Befehlsmenü

Zu einer Seite springen oder den Katalog durchsuchen

KI-Tools & -Skripte

Sicherheitsprüfung für Helm-Charts

Prüfen Sie Helm-Charts vor Veröffentlichung oder Installation: Passwörter in Values und Templates, privilegierte Pods, Host-Mounts, :latest-Images, Root-Container, fehlende Speicherlimits, Abhängigkeiten ohne feste Version oder über http sowie offene LoadBalancer und Ingresses.

$5.00

Das bekommst du: 1 Datei · 39.01 KB · ZIP

Kaufoptionen ansehen

Produktbeschreibung

Ein Chart mit adminPassword: changeme123 in values.yaml oder {{ .Values.auth.password | default "admin" }} in einem Secret-Template gibt dieses Passwort an jede Installation weiter, die es nicht überschreibt, und an alle, die das Chart herunterladen können. Und {{ randAlphaNum 32 }} in einem Secret ohne lookup ändert bei jedem helm upgrade unbemerkt das Datenbankpasswort. Dieser Skill findet diese und zehn weitere Fehler in Helm-Charts vor der Veröffentlichung oder Installation und erklärt, wie Sie jeden davon beheben.

Ihr Agent führt einen Scanner für Ihr Chart aus: Chart.yaml, requirements.yaml, values.yaml und weitere Values-Dateien sowie die Dateien mit den Endungen .yaml, .yml und .tpl in templates/ (auch Subcharts in charts/). Chart.yaml und Values-Dateien werden als YAML gelesen. Templates enthalten Go-Template-Code, der kein gültiges YAML ist. Deshalb werden sie zeilenweise gelesen, wobei Kommentare mit {{/* */}} und # übersprungen und direkt in der Datei eingetragene Werte von {{ ... }}-Referenzen unterschieden werden. Der Scanner kennt Helm-Konventionen wie einen leeren Image-Tag mit Rückgriff auf appVersion, die Namen existingSecret und passwordKey, mit enabled: false deaktivierte Komponenten, Bitnami resourcesPreset und helm test-Pods. So erhält ein frisch mit helm create erstelltes Chart nur die tatsächlich relevanten Prüfpunkte. Er führt niemals helm aus, rendert keine Templates und verbindet sich mit keinem Cluster. Er liefert BLOCK, REVIEW oder NOT FLAGGED mit Datei, Zeile, Begründung und einem sichereren Vorgehen. Geheimnisse werden niemals ausgegeben.

Was geprüft wird

BLOCK (vor der Veröffentlichung beheben)

  • H01: Passwörter, Tokens und Schlüssel in Values-Dateien und Templates: Schlüssel mit Namen, die auf Geheimnisse hinweisen, env-Werte, direkt eingetragene Secret-Daten, Ersatzwerte mit | default "..." für geheime Werte oder innerhalb von data eines Secrets, private Schlüssel und Passwörter in URLs

  • H02: privileged: true in einem Template oder einer Values-Datei

  • H03: hostPath-Mounts des Docker-, containerd- oder CRI-O-Sockets oder des Stammverzeichnisses eines Nodes ohne readOnly

REVIEW (vor dem Release prüfen)

  • H11: tag: latest, Images ohne Tag, default "latest" in Templates und appVersion: latest (helm test-Pods werden übersprungen)

  • H12: hostNetwork, hostPID, hostIPC und weitere hostPath-Mounts, einschließlich eines schreibgeschützten Mounts des Node-Stammverzeichnisses, wie ihn Node-Exporter verwenden

  • H13: kein Speicherlimit in den Standardwerten oder Workload-Templates ohne resources-Block

  • H14: Container, die als Root laufen können: runAsUser: 0, kein runAsNonRoot in den Standardwerten, Templates ohne securityContext

  • H15: Abhängigkeiten aus einem Chart-Repository ohne Version oder mit einem nach oben offenen Versionsbereich (*, >=); lokale file://-Subcharts werden übersprungen

  • H16: Abhängigkeiten aus unverschlüsselten http://-Repositories

  • H17: Services vom Typ LoadBalancer ohne Quelladressbereiche oder Annotation für einen internen Load Balancer

  • H18: aktivierte Ingresses ohne TLS und Ingress-Templates ohne tls-Abschnitt

  • H19: mit randAlphaNum, uuidv4 oder genCA erzeugte Secrets in einer Datei, die lookup nie verwendet, sodass sie sich bei jedem Upgrade ändern

Im Lieferumfang enthalten

  • Der Scanner (Python 3.9+, nur Standardbibliothek)

  • Ein Regelleitfaden mit Begründung und sichererem Vorgehen für jede Regel

  • Ein riskantes und ein sicheres Beispiel-Chart (Chart.yaml, values.yaml sowie Templates für Deployment, Secret, Service, Ingress, DaemonSet und Tests) und der tatsächliche Scannerbericht für das riskante Beispiel

Grenzen

Der Scanner liest die Chart-Dateien so, wie sie vorliegen, und rendert keine Templates: Bei der Installation mit --set oder -f übergebene Werte, Logik innerhalb von if- und range-Blöcken, benannte Templates aus anderen Dateien und Standardwerte von Subcharts, die nicht im Ordner liegen, werden nicht aufgelöst. Gerenderte Manifeste und der laufende Cluster werden nicht geprüft. NOT FLAGGED ist keine Sicherheitsgarantie.

Inhalt

Eine ZIP-Datei mit 24 Dateien: SKILL.md, der Scanner in scripts/ (4 Python-Dateien), references/rules.md (jede Regel mit Begründung und sichererem Vorgehen) und examples/ (17 Beispieldateien sowie report.md mit der tatsächlichen Scannerausgabe für das riskante Beispiel).

Verwendung: Dies ist ein Agent-Skill: ein Ordner mit einer SKILL.md-Datei und Python-Skripten, die ein KI-Programmieragent wie Claude Code, Cursor oder Codex CLI ausführen kann. Entpacken Sie ihn in den Skills-Ordner Ihres Agenten (für Claude Code: ~/.claude/skills/) und bitten Sie Ihren Agenten anschließend, Ihr Projekt zu prüfen. Die Skripte laufen auch eigenständig mit Python 3.9 oder neuer, ohne zusätzliche Installation. Sie lesen ausschließlich Ihre Dateien: kein Netzwerkzugriff und keine Datenübertragung.

Das bekommst du

1 Datei · 39.01 KB

  • helm-chart-safety-check-1.0.0.zipZIP · 39.01 KB

In Getly Pro enthaltenPro holen

LizenzKommerzielle Nutzung erlaubt
Veröffentlicht11. Nov. 2026
Dateigröße39.01 KB
DateiformatZIP
Versionv1.0

Tags

helmkuberneteschartssecuritydevopsai agent skill
R
RR HH

Häufige Fragen

Erhalte ich sofort Zugriff?

Ja. Dies ist ein digitales Produkt - du kannst es direkt nach dem Kauf aus deiner Bibliothek herunterladen.

Darf ich es für kommerzielle Projekte nutzen?

Ja. Kommerzielle Nutzung ist erlaubt: im eigenen Business und in dem, was du verkaufst. Die Datei selbst darfst du nicht weiterverkaufen oder verbreiten.

Wie sind die Rückerstattungsbedingungen?

Du kannst innerhalb von 30 Tagen eine Rückerstattung anfordern. Stimmt etwas nicht, fordere sie bei deiner Bestellung an - das Getly-Team prüft sie.

Welche Dateiformate und -größen erhalte ich?

Du lädst 1 Datei herunter - ZIP - insgesamt 39.01 KB.

Erhalte ich kostenlose Updates?

Ja - wenn der Verkäufer eine neue Version veröffentlicht, kannst du die aktuellen Dateien kostenlos erneut aus deiner Bibliothek herunterladen. Aktuelle Änderungen findest du im Changelog.

Preis

$5.00