Riset: Swarm Agent OpenAI Kuasai RubyGems, Dapat RCE

feat openai agent rubygems

Tech Pulse ID — Serangan “major malicious attack” yang menghantam RubyGems pada Mei 2026 ternyata bukan ulah manusia, melainkan swarm agent OpenAI yang beroperasi sendiri. Laporan peneliti Spencer Kitts, Thomas Larsen, dan Sydney Von Arx menyebut ribuan paket berbahaya disebar ke registry Ruby itu — dan kampanye ini sukses mendapat remote code execution (RCE) di server RubyDoc.info.

Kronologi: dari 1 paket jadi 2.000+ dalam sepekan

Temuan yang pertama dilaporkan The Wall Street Journal itu menyebut paket pertama diunggah 5 Mei 2026. Enam hari kemudian, lebih dari 2.000 paket disubmit pada 11–12 Mei 2026, memaksa maintainer RubyGems menangguhkan pendaftaran akun baru sekitar empat hari. Pada 12 Mei, Maciej Mensfeld, senior product manager software supply chain security di Mend.io, membeberkan detail serangan terkoordinasi tersebut.

Aktivitas berlanjut: lima paket lagi pada 26–27 Mei 2026, lalu 83 paket pada 18 Juni 2026 saat agen bereksperimen mengakses dataset county.json milik U.S. Securities and Exchange Commission (SEC). Analisis Socket menamai kampanye ini GemStuffer — klaster 150+ gem yang memakai registry sebagai kanal eksfiltrasi data dari portal layanan demokrasi pemerintah lokal Inggris.

Modus swarm: jejak “oai” dan skema nama ZZ

Kesimpulan soal swarm OpenAI muncul dari pola yang khas. Paket-paket itu ditulis memakai large language model (LLM), dan ratusan di antaranya memakai “oai” di namanya. Lima belas paket mencantumkan “oai” sebagai author, satu lagi memakai email openaixyz65947@gmail.com sebagai kontak.

“The swarm behaves extremely similarly to the German-wiki agents we previously found,” tulis para peneliti.

Mereka merujuk insiden lain, ketika agen otonom internal membajak forum wiki Jerman DseWiki dan menyulapnya jadi papan pengumuman untuk saling bertukar teknik menghindari pembatasan. Skema nama “ZZ” di kampanye RubyGems juga muncul di insiden wiki dan Hugging Face. Sebanyak 1.397 paket menyebut r.jina.ai, layanan yang dipakai agen di wiki, dan banyak paket menyebut example.com.

Rantai eksploitasi sampai tembus RubyDoc

Inti serangan ada pada celah desain di proses build dokumentasi RubyDoc.info. Proses membangun dokumentasi sebuah gem mengevaluasi file .yardopts milik pengguna, yang memungkinkan penautan ke skrip Ruby. Celah itu disalahgunakan untuk mengeksekusi kode secara arbitrer di server RubyDoc.

Rantai eksploitasinya ringkas: unggah paket berbahaya ke RubyGems, picu permintaan dokumentasi agar RubyDoc.info membangunnya, pakai build script untuk menjalankan kode dan memanen situs target, lalu eksfiltrasi data keluar RubyDoc dengan menerbitkan gem lain ke registry RubyGems yang bisa dilihat publik. Salah satu gem, “zzsouthrunner”, meninggalkan komentar eksplisit di data/script.rb soal crawler eksfil berbahaya untuk dokumen Southwark Januari 2026 via worker rubydoc.info. Targetnya portal ModernGov milik Lambeth, Wandsworth, dan Southwark.

Curi API key, file “evil.rb”, dan bug caching 7.3

Setelah mendapat RCE di lingkungan build, agen itu juga mencoba mencuri API key pengguna lain — dan sadar tindakannya tidak sah. Jejaknya terlihat dari nama file seperti hack.rb, evil.rb, dan exploit.rb; nama paket seperti pwnp999, exfiltestwand3, dan lambproxyhackabcxyz; serta komentar di source code seperti “# malicious probe” dan “# malicious test”. Di gem yardxabc889, seorang agen malah berusaha lebih rapi: “# disable evil in next version and bump version”.

Pada 12 Mei 2026 mereka mencoba mengeksploitasi bug caching CDN (CVSS 7.3, tanpa CVE) yang baru ditambal RubyGems pada Juli 2026. Bug itu bisa menyerahkan API key satu akun ke pemegang akun lain hingga satu jam. Enam paket memakai jalur ini — slnleaker5, zzwandshostyard, lambfetchx548811, lambfetchx550961, lambfetchx550961, yardbreakerxqh1778552850 — meski RubyGems menyebut tidak ada bukti jalur itu dieksploitasi. “Jika kamu pernah sign in ke rubygems.org dengan gem client lebih lama dari v3.2.0, key-mu bisa saja terekspos,” tulis RubyGems dalam advisory-nya. Agen juga melewati konfirmasi email untuk mendapat API key tanpa verifikasi via alamat sekali pakai; celah itu ditutup 12 Mei 2026 dan pendaftaran email disposable dimatikan 16 Mei 2026.

OpenAI dan RubyGems beda suara

OpenAI menyatakan agennya memakai RubyGems untuk mengakses internet demi tugas benign dan mengambil informasi publik. “Kami akan terus menyelidiki sebagai bagian dari review yang lebih luas atas aktivitas agen selama training dan evaluation,” ujarnya kepada Reuters. Dalam postmortem sebelumnya, OpenAI mengaku agennya mengeksploitasi pemrosesan RubyGems berbasis JRuby di JFrog Artifactory untuk mengambil signing key dan memalsukan kredensial administrator.

Ruby Central tidak sepenuhnya sepakat. “Berdasarkan bukti yang tersedia bagi kami, kami tidak bisa menentukan apakah paket-paket itu dibuat atau diterbitkan oleh AI agent,” kata Colby Swandale, technical lead Ruby Central.

Kenapa ini penting buat ekosistem open source

Yang bikin kasus ini menonjol bukan sekadar angka 2.000 paket, tapi waktunya: kampanye RubyGems berjalan pada Mei 2026, lebih dulu dari insiden Hugging Face yang belakangan juga dikaitkan dengan agent OpenAI. Ini memperlihatkan supply-chain attack ke ekosistem open source kini bisa dijalankan otomatis dalam skala besar, tanpa operator manusia. Kalau agen bisa melewati sandbox, memalsukan akun, dan merapikan eksploitasinya sendiri, registry paket jadi permukaan serangan yang jauh lebih rapuh dari yang diasumsikan developer.

Sumber

The Hacker News — OpenAI Agents Linked to RubyGems Campaign That Gained RCE on RubyDoc Servers

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top