KI-Tools & -Skripte
Sicherheitsprüfung für Airflow-DAGs
Prüfen Sie Apache-Airflow-DAGs und airflow.cfg vor dem Deployment: Zugangsdaten im DAG-Code, dag_run.conf in Bash und SQL, zugängliche Konfiguration und offene API, Geheimnisse in airflow.cfg, in Airflow 3 entfernte Funktionen, catchup, Timeouts und Aufrufe auf oberster Ebene.
Das bekommst du: 1 Datei · 36.88 KB · ZIP
Kaufoptionen ansehenProduktbeschreibung
bash_command="./export.sh --region {{ dag_run.conf['region'] }}" erlaubt jedem, der den DAG mit einer Konfiguration auslösen kann, eigene Befehle auf Ihren Workern auszuführen, da Airflow den gerenderten Befehl nicht escapet. expose_config = True zeigt Ihren fernet_key und das Datenbankpasswort auf der Konfigurationsseite an. Dieser Skill findet diese und zehn weitere Airflow-Fehler vor dem Deployment und zeigt, wie Sie jeden davon beheben.
Ihr Agent führt einen Scanner in Ihrem Airflow-Projekt aus: für DAG-Dateien und Plugins (jede .py-Datei, die airflow importiert), webserver_config.py und airflow.cfg. Er analysiert Python mit dem Standardmodul ast, sodass Kommentare und Zeichenfolgen nicht mit Code verwechselt werden, und liest airflow.cfg wie Airflow selbst Abschnitt für Abschnitt. Er kennt Airflow 2.x und 3.x (airflow.sdk), DAG(...) und @dag, default_args, Param-Beschränkungen, Jinja-Vorlagen und das sichere env=-Muster aus der Airflow-Dokumentation. Außerdem liest er die projekteigenen Standardwerte für Wiederholungsversuche, Timeouts und catchup aus airflow.cfg. Er importiert oder startet Ihre DAGs niemals. Er liefert BLOCKIEREN, PRÜFEN oder NICHT MARKIERT, jeweils mit Datei, Zeile, Begründung und sichererem Vorgehen. Geheimnisse werden niemals ausgegeben.
Was geprüft wird
BLOCKIEREN (vor der Veröffentlichung beheben)
A01: Passwörter, Token und Schlüssel im DAG-Code (password=, env=-Werte, extra=-JSON, Verbindungs-URIs mit Passwort, bekannte Tokenformate) oder in Befehlen (PGPASSWORD=..., export API_TOKEN=..., --password=..., curl -u user:password, URLs mit Passwort)
A02: per Vorlage in bash_command, @task.bash, SSH-, Docker- und Kubernetes-Pod-Befehle oder SQL-Text eingesetztes dag_run.conf
A03: expose_config = True (in [webserver] für 2.x und [api] für 3.x), ein API-Backend, das jede Anfrage zulässt, AUTH_ROLE_PUBLIC und der all-admins-Modus von Airflow 3
A04: fernet_key, secret_key, jwt_secret, Passwörter und Datenbank-URLs mit Passwort in airflow.cfg
PRÜFEN (vor der Veröffentlichung prüfen)
A11: zur Parse-Zeit berechnetes start_date (datetime.now(), days_ago())
A12: schedule_interval, timetable und days_ago, die in Airflow 3 entfernt wurden
A13: zeitgesteuerte Airflow-2-DAGs, die catchup beim Standardwert belassen (True in 2.x)
A14: zeitgesteuerte DAGs ohne execution_timeout oder dagrun_timeout
A15: zeitgesteuerte DAGs ohne Wiederholungsversuche
A16: Variable.get, Verbindungsabfragen, Hook-Abfragen, HTTP- und Datenbankaufrufe auf oberster Ebene von DAG-Dateien
A17: load_examples = True und test_connection = Enabled
A18: per Vorlage in Befehle oder SQL eingesetzte params ohne enum oder numerische Begrenzung (eine Auslösekonfiguration kann sie ersetzen)
Im Lieferumfang
Der Scanner (Python 3.9+, nur Standardbibliothek)
Ein Regelhandbuch mit Begründung und sichererem Vorgehen zu jeder Regel
Ein unsicheres und ein sicheres Beispielprojekt (jeweils zwei DAGs, airflow.cfg und webserver_config.py) sowie der tatsächliche Scanner-Bericht für das unsichere Beispiel
Grenzen
Der Scanner liest jede Datei so, wie sie vorliegt: Werte, die über mehrere Variablen oder andere Module in einen Befehl gelangen, durch bash_command geladene .sh-Dateien, AIRFLOW__-Umgebungsvariablen in Docker-Compose-, Helm- oder Kubernetes-Dateien sowie in der Datenbank oder einem Secrets-Backend gespeicherte Verbindungen und Variablen werden nicht geprüft. NICHT MARKIERT ist keine Garantie.
Archivinhalt
Eine ZIP-Datei mit 16 Dateien: SKILL.md, der Scanner in scripts/ (5 Python-Dateien), references/rules.md (jede Regel mit Begründung und sichererem Vorgehen) und examples/ (8 Beispieldateien sowie report.md, die tatsächliche Scanner-Ausgabe für das unsichere Beispiel).
Anwendung: Dies ist ein Agenten-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 das Archiv 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 lassen sich auch eigenständig mit Python 3.9 oder neuer ausführen, ohne zusätzliche Installation. Sie lesen nur Ihre Dateien: kein Netzwerkzugriff, und es wird nichts versendet.
Das bekommst du
1 Datei · 36.88 KB
- airflow-dag-safety-check-1.0.0.zipZIP · 36.88 KB
KI-Tools & -Skripte
Sicherheitsprüfung für Airflow-DAGs
Prüfen Sie Apache-Airflow-DAGs und airflow.cfg vor dem Deployment: Zugangsdaten im DAG-Code, dag_run.conf in Bash und SQL, zugängliche Konfiguration und offene API, Geheimnisse in airflow.cfg, in Airflow 3 entfernte Funktionen, catchup, Timeouts und Aufrufe auf oberster Ebene.
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 36.88 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



