
Proof-of-Concept, das die CVE-2025-24793 SQL-Injection-Sicherheitslücke im Snowflake-Connector für Python demonstriert, mit automatischer Erkennung von gepatchten/nicht gepatchten Versionen für Sicherheitstests.
Dieses Repository enthält Proof-of-Concept (PoC) Code zum Testen der Sicherheitslücke CVE-2025-24793 im Snowflake Connector für Python. Das Projekt enthält sowohl gepatchte als auch ungepatchte Versionen, um die Sicherheitslücke und deren Behebung zu demonstrieren.
├── Dockerfile # Docker-Konfiguration
├── requirements.txt # Python-Abhängigkeiten
├── config.toml # Snowflake-Verbindungskonfiguration (muss erstellt werden)
├── cve_2025_24793_poc.py # Haupt-PoC-Skript (erkennt automatisch gepatcht/ungepatcht)
├── snowflake_app.py # Hauptanwendung
└── snowflake_connector_python-2.9.0-py3-none-any.whl # Snowflake Connector Wheel
Ersetzen Sie einfach snowflake_connector_python-2.9.0-py3-none-any.whl durch Ihren Build:
Das PoC-Skript erkennt automatisch, welche Version Sie verwenden.
Snowflake-Konto erstellen:
abc123.us-east-1)Datei config.toml erstellen:
Erstellen Sie eine Datei config.toml im Hauptverzeichnis mit Ihren Snowflake-Anmeldedaten:
[connections.my_example_connection]
account = "your_account_identifier" # z.B. "abc123.us-east-1"
user = "your_username" # Ihr Snowflake-Benutzername
password = "your_password" # Ihr Snowflake-Passwort
role = "your_role" # z.B. "ACCOUNTADMIN" oder "SYSADMIN"
warehouse = "your_warehouse" # z.B. "COMPUTE_WH"
database = "your_database" # z.B. "TESTDB"
schema = "your_schema" # z.B. "PUBLIC"
Beispielkonfiguration:
[connections.my_example_connection]
account = "abc123.us-east-1"
user = "testuser"
password = "MySecurePassword123!"
role = "ACCOUNTADMIN"
warehouse = "COMPUTE_WH"
database = "TESTDB"
schema = "PUBLIC"
Docker-Image erstellen:
docker build -t <container_name> .
Docker-Container ausführen:
docker run --rm <container_name>
Testen mit einem beliebigen Build:
# 1. Ersetzen Sie das Wheel durch Ihre gepatchte oder ungepatchte Version
# 2. Bauen und ausführen – das Skript erkennt die Version automatisch
docker build -t snowflake-test .
docker run --rm snowflake-test
Der PoC wird automatisch:
Diese Sicherheitslücke betrifft den Snowflake Connector für Python und beinhaltet SQL-Injection über die Funktion write_pandas.
Das PoC-Skript erkennt und demonstriert automatisch:
Das Skript untersucht die Funktion write_pandas, um festzustellen, ob der verwundbare Parameter stage_location vorhanden ist, und gibt klares Feedback zum Sicherheitsstatus.
⚠️ Sicherheitswarnung: Dies ist ein Proof-of-Concept ausschließlich für Bildungs- und Testzwecke. Nicht in Produktionsumgebungen verwenden.
⚠️ Konfigurationssicherheit: Committen Sie Ihre Datei config.toml niemals mit echten Anmeldedaten in die Versionsverwaltung. Fügen Sie sie zur .gitignore hinzu.
⚠️ Snowflake-Kosten: Beachten Sie, dass die Durchführung dieser Tests Snowflake-Compute-Guthaben verbrauchen kann.
config.tomlrequirements.txt