
Autorisierte Labor-Reproduktion von CVE-2025-47928 (spotipy-dev/spotipy pull_request_target-Geheimnis-Exfiltration) — Snapshot beim verwundbaren Commit 4f5759d
Automatisiertes Forschungsobjekt – nicht das Upstream-Projekt.
Dieses Repository ist ein Wegwerf-Labor, das von einer automatisierten Testumgebung für eine Masterarbeit an der Université Laval zur Reproduktion veröffentlichter GitHub-Actions-Workflow- Schwachstellen erstellt wurde. Es ist eine wörtliche Momentaufnahme von
spotipy-dev/spotipybeim Commit4f5759dbfb4506c7b6280572a4db1aabc1ac778d(2025-04-21), weiterverbreitet unter der eigenen Lizenz dieses Projekts, deren Datei unverändert in dieser Momentaufnahme enthalten ist.Das Upstream-Projekt ist nicht beteiligt, wird niemals angegriffen, und die hier untersuchte Schwachstelle ist bereits öffentlich bekannt. Jedes Secret und jede Variable in diesem Repository ist ein zufällig generierter Dummy-Wert – es sind keine echten Anmeldedaten vorhanden. Aktionsreferenzen und Runner-Images sind auf den Stand vom 2025-04-21 fixiert; siehe
pinning.mdin der Testumgebungs-Ausgabe für jede an der Momentaufnahme vorgenommene Änderung.Fragen oder Einwände: [email protected]
Spotipy unterstützt alle Funktionen der Spotify Web API, einschließlich Zugriff auf alle Endpunkte und Unterstützung für die Benutzerautorisierung. Details zu den Möglichkeiten finden Sie in der Dokumentation der Spotify Web API.
pip install spotipy
alternativ für Windows-Benutzer
py -m pip install spotipy
oder aktualisieren
pip install spotipy --upgrade
Eine vollständige Sammlung von Beispielen finden Sie in der Online-Dokumentation und im Spotipy-Beispielverzeichnis.
Um loszulegen, installieren Sie spotipy, erstellen Sie ein neues Konto oder melden Sie sich auf https://developers.spotify.com/ an. Gehen Sie zum Dashboard, erstellen Sie eine App und fügen Sie Ihre neue ID und Ihr SECRET (ID und SECRET finden Sie in den App-Einstellungen) zu Ihrer Umgebung hinzu:
import spotipy
from spotipy.oauth2 import SpotifyClientCredentials
sp = spotipy.Spotify(auth_manager=SpotifyClientCredentials(client_id="YOUR_APP_CLIENT_ID",
client_secret="YOUR_APP_CLIENT_SECRET"))
results = sp.search(q='weezer', limit=20)
for idx, track in enumerate(results['tracks']['items']):
print(idx, track['name'])
Erwartetes Ergebnis:
0 Island In The Sun
1 Say It Ain't So
2 Buddy Holly
.
.
.
18 Troublemaker
19 Feels Like Summer
Eine Weiterleitungs-URI (Redirect URI) muss Ihrer Anwendung unter Mein Dashboard hinzugefügt werden, um auf benutzerauthentifizierte Funktionen zugreifen zu können.
import spotipy
from spotipy.oauth2 import SpotifyOAuth
sp = spotipy.Spotify(auth_manager=SpotifyOAuth(client_id="YOUR_APP_CLIENT_ID",
client_secret="YOUR_APP_CLIENT_SECRET",
redirect_uri="YOUR_APP_REDIRECT_URI",
scope="user-library-read"))
results = sp.current_user_saved_tracks()
for idx, item in enumerate(results['items']):
track = item['track']
print(idx, track['artists'][0]['name'], " – ", track['name'])
Das erwartete Ergebnis ist die Liste der Musik, die Sie gemocht haben. Wenn Sie beispielsweise Red und Sunflower gemocht haben, lautet das Ergebnis:
0 Post Malone – Sunflower - Spider-Man: Into the Spider-Verse
1 Taylor Swift – Red
Für häufige Fragen lesen Sie bitte unsere FAQ.
Sie können Fragen zu Spotipy auf Stack Overflow stellen. Vergessen Sie nicht, vor dem Posten das Spotipy-Tag sowie alle anderen relevanten Tags hinzuzufügen.
Wenn Sie Vorschläge, Fehler oder andere Probleme haben, die speziell diese Bibliothek betreffen, melden Sie diese hier. Oder senden Sie einfach einen Pull-Request.
Wenn Sie ein Entwickler mit Python-Erfahrung sind und zu Spotipy beitragen möchten, befolgen Sie bitte die Richtlinien auf der Dokumentationsseite