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.
Das bekommst du: 1 Datei · 39.01 KB · ZIP
Kaufoptionen ansehenProduktbeschreibung
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
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.
In Getly Pro enthaltenPro holen
Tags
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



