Dalam temuan lain yang dapat mengekspos pengembang pada peningkatan risiko serangan supply chain (rantai pasokan), telah muncul bahwa hampir sepertiga dari paket di PyPI, Indeks Paket Python, memicu eksekusi kode otomatis setelah mengunduhnya.
Salah satu cara menginstal paket untuk Python adalah dengan menjalankan perintah “pip install”, yang, pada gilirannya, memanggil file bernama “setup.py” yang disertakan bersama modul.
“setup.py,” seperti namanya, adalah skrip penyiapan yang digunakan untuk menentukan metadata yang terkait dengan paket, termasuk dependensinya.
Sementara pelaku ancaman telah menggunakan kode berbahaya dalam file setup.py, Checkmarx menemukan bahwa musuh dapat mencapai tujuan yang sama dengan menjalankan apa yang disebut perintah “pip download”.
“pip download melakukan resolusi dan pengunduhan yang sama dengan pemasangan pip, tetapi alih-alih menginstal dependensi, ia mengumpulkan distribusi yang diunduh ke direktori yang disediakan (secara default ke direktori saat ini),” tulis dokumentasi.
Dengan kata lain, perintah tersebut dapat digunakan untuk mengunduh paket Python tanpa harus menginstalnya di sistem. Tetapi ternyata, menjalankan perintah unduhan juga menjalankan skrip “setup.py” yang disebutkan di atas, yang mengakibatkan eksekusi kode berbahaya yang terkandung di dalamnya.
Namun, perlu diperhatikan bahwa masalah hanya terjadi ketika paket berisi file tar.gz alih-alih file wheel (.whl), yang “memotong eksekusi ‘setup.py’ dari persamaan.”
Meskipun pip default untuk menggunakan roda alih-alih file tar.gz, penyerang dapat memanfaatkan perilaku ini untuk secara sengaja menerbitkan paket python tanpa file .whl, yang mengarah ke eksekusi kode berbahaya yang ada di skrip pengaturan.
“Ketika pengguna mengunduh paket python dari PyPi, pip akan lebih memilih menggunakan file .whl, tetapi akan kembali ke file tar.gz jika file .whl tidak ada,” kata Gelb.
Temuan itu muncul saat Badan Keamanan Nasional AS (NSA), bersama dengan Badan Keamanan Siber dan Infrastruktur (CISA) dan Kantor Direktur Intelijen Nasional (ODNI), merilis panduan untuk mengamankan supply chain perangkat lunak.
Sumber: The Hackernews