
認可されたラボ環境でのCVE-2025-47928(spotipy-dev/spotipyのpull_request_targetシークレット流出)の再現 — 脆弱性のあるコミット4f5759d時点のスナップショット
自動生成された研究アーティファクト — 上流プロジェクトではありません。
このリポジトリは、公開されている GitHub Actions ワークフローの脆弱性を再現するための、ラヴァル大学の修士論文向けに自動ハーネスが構築した使い捨てラボです。これは
spotipy-dev/spotipyのコミット4f5759dbfb4506c7b6280572a4db1aabc1ac778d(2025-04-21)時点の逐語的なスナップショットであり、そのプロジェクト自身のライセンスの下で再配布されています。そのライセンスファイルはこのスナップショットに変更なしで含まれています。上流プロジェクトは関与しておらず、標的にもされておらず、ここで研究されている脆弱性はすでに公開されています。このリポジトリ内のすべてのシークレットと変数はランダムに生成されたダミー値であり、実際の認証情報は存在しません。アクション参照とランナーイメージは、2025-04-21 時点で解決されたものに固定されています。スナップショットに加えられたすべての変更については、ハーネス出力内の
pinning.mdを参照してください。質問や異議がある場合: [email protected]
Spotipy は Spotify Web API のすべての機能をサポートしており、すべてのエンドポイントへのアクセスとユーザー認証のサポートを含みます。機能の詳細については、Spotify Web API のドキュメントを確認することをお勧めします。
pip install spotipy
または、Windows ユーザーの場合
py -m pip install spotipy
またはアップグレード
pip install spotipy --upgrade
完全なサンプル集は、オンラインドキュメント と Spotipy サンプルディレクトリ にあります。
始めるには、spotipy をインストールし、https://developers.spotify.com/ で新しいアカウントを作成するかログインしてください。ダッシュボード に移動し、アプリを作成して、新しい ID と SECRET(ID と SECRET はアプリ設定で確認できます)を環境に追加します:
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'])
期待される結果:
0 Island In The Sun
1 Say It Ain't So
2 Buddy Holly
.
.
.
18 Troublemaker
19 Feels Like Summer
ユーザー認証機能にアクセスするには、マイダッシュボード でアプリケーションにリダイレクト URI を追加する必要があります。
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'])
期待される結果は、あなたが「いいね」した音楽のリストになります。たとえば、Red と Sunflower を「いいね」した場合、結果は次のようになります:
0 Post Malone – Sunflower - Spider-Man: Into the Spider-Verse
1 Taylor Swift – Red
よくある質問については、FAQ をご確認ください。
Spotipy に関する質問は Stack Overflow で行えます。 投稿する前に、Spotipy タグと、その他の関連タグも必ず追加してください。
このライブラリ固有の提案、バグ、その他の問題がある場合は、 こちら に報告してください。 またはプルリクエストを送信してください。
Python の経験がある開発者で、Spotipy に貢献したい場合は、ドキュメントページに記載されているガイドラインに必ず従ってください
ガイドラインを見る