
Reproduction autorisée en laboratoire de CVE-2025-47928 (exfiltration de secrets via pull_request_target dans spotipy-dev/spotipy) — instantané au commit vulnérable 4f5759d
Artéfact de recherche automatisé — pas le projet en amont.
Ce dépôt est un laboratoire jetable construit par un harnais automatisé pour un mémoire de maîtrise à l'Université Laval sur la reproduction de vulnérabilités publiées dans les workflows GitHub Actions. Il s'agit d'un instantané verbatim de
spotipy-dev/spotipyau commit4f5759dbfb4506c7b6280572a4db1aabc1ac778d(2025-04-21), redistribué sous la licence propre de ce projet, dont le fichier est inclus inchangé dans cet instantané.Le projet en amont n'est pas impliqué, n'est jamais ciblé, et la vulnérabilité étudiée ici est déjà publique. Chaque secret et variable dans ce dépôt est une valeur factice générée aléatoirement — aucun identifiant réel n'est présent. Les références d'actions et les images d'exécuteurs sont épinglées à ce qu'elles résolvaient le 2025-04-21 ; voir
pinning.mddans la sortie du harnais pour chaque modification apportée à l'instantané.Questions ou objections : [email protected]
Spotipy prend en charge toutes les fonctionnalités de la Spotify Web API, y compris l'accès à tous les points de terminaison et la prise en charge de l'autorisation utilisateur. Pour plus de détails sur les capacités, nous vous encourageons à consulter la documentation de la Spotify Web API.
pip install spotipy
ou, pour les utilisateurs de Windows
py -m pip install spotipy
ou pour mettre à niveau
pip install spotipy --upgrade
Un ensemble complet d'exemples se trouve dans la documentation en ligne et dans le répertoire d'exemples Spotipy.
Pour commencer, installez spotipy, créez un nouveau compte ou connectez-vous sur https://developers.spotify.com/. Allez sur le tableau de bord, créez une application et ajoutez votre nouvel ID et SECRET (l'ID et le SECRET se trouvent dans les paramètres d'une application) à votre environnement :
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'])
Résultat attendu :
0 Island In The Sun
1 Say It Ain't So
2 Buddy Holly
.
.
.
18 Troublemaker
19 Feels Like Summer
Un URI de redirection doit être ajouté à votre application sur Mon tableau de bord pour accéder aux fonctionnalités authentifiées par l'utilisateur.
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'])
Le résultat attendu sera la liste de la musique que vous avez aimée. Par exemple, si vous avez aimé Red et Sunflower, le résultat sera :
0 Post Malone – Sunflower - Spider-Man: Into the Spider-Verse
1 Taylor Swift – Red
Pour les questions courantes, veuillez consulter notre FAQ.
Vous pouvez poser des questions sur Spotipy sur Stack Overflow. N'oubliez pas d'ajouter la balise Spotipy, ainsi que toute autre balise pertinente, avant de publier.
Si vous avez des suggestions, des bogues ou d'autres problèmes spécifiques à cette bibliothèque, déposez-les ici. Ou envoyez simplement une demande de tirage (pull request).
Si vous êtes un développeur avec de l'expérience en Python et que vous souhaitez contribuer à Spotipy, veuillez suivre les directives listées sur la page de documentation