Zum Hauptinhalt springen

Befehlsmenü

Zu einer Seite springen oder den Katalog durchsuchen

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.

$5.00

Das bekommst du: 1 Datei · 36.88 KB · ZIP

Kaufoptionen ansehen

Produktbeschreibung

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

In Getly Pro enthaltenPro holen

LizenzKommerzielle Nutzung erlaubt
Veröffentlicht12. Nov. 2026
Dateigröße36.88 KB
DateiformatZIP
Versionv1.0

Tags

airflowdata-engineeringdagssecuritydevopsai 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 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