Yazılım Gündemi - 6
12-25 Ağustos 2019

İçindekiler

yazilim-gundemi-banner.png

< Önceki Gündem | 12-25 Ağustos 2019 | Sonraki Gündem >

TeknoSeyir'de Oku

1 RestClient ve diğer 10 Ruby kütüphanesinin arka kapı içerdiği ortaya çıktı

Ruby kütüphanelerinin barındırıldığı RubyGems.org sitesindeki bilgileri çalınan geliştiricilerin projelerine, kurulduğu sunucuda arka kapı açan kod parçaları eklenmiş. Aynı olay strong-password isimli kütüphanenin de başına gelmişti (bkz: Yazılım Gündemi - 1). Yöntem aynı: RubyGems.org sitesindeki kullanıcı bilgilerini ele geçen hacker(lar), projeye zararlı kod parçaları eklemişler ve yeni versiyon çıkarak, kütüphaneyi kullananların zararlı kod parçalarını güncelleme ile edinmeleri sağlanmış.

ruby-zararli-kod.png

Şekil 2: CVE Numarası: CVE-2019-15224

Zararlı kod parçalarından bazıları kullanıcıların cookie bilgilerini çalmaya yönelikken, bazıları da sistemi kripto para madenciliği için kullanıyormuş. Daha teknik bilgiler için RestClient kütüphanesinin şu github sayfasına bakabilirsiniz. Saldırıdan etkilenen Ruby kütüphaneleri ve versiyonları ise şu şekilde:

  • rest-client: 1.6.10, 1.6.11, 1.6.12, 1.6.13
  • cron_parser: 0.1.4, 1.0.12, 1.0.13
  • coin_base: 4.2.1, 4.2.2
  • blockchain_wallet: 0.0.6, 0.0.7
  • bitcoin_vanity: 4.3.3
  • lita_coin: 0.0.3
  • coming-soon: 0.2.8
  • omniauth_amazon: 1.0.1
  • awesome-bot: 1.18.0
  • doge-coin: 1.0.2
  • capistrano-colors: 0.5.5

Zararlı kod içerdikleri anlaşılan bu versiyonlar RubyGems.org ekibi tarafından geri çekilmiş fakat olay anlaşına kadar bu kütüphaneler toplam 3.584 kez indirilmiş. Siz de mutlaka projelerinizde yukarıdaki kütüphanelerin ve versiyonların olup olmadığını kontrol edin ve tabii ki projenize bağımlılık eklerken daha dikkatli olun.

2 standard isimli JavaScript aracı terminal çıktısında reklam göstermeyi planlıyor

GitHub'da 21K yıldıza sahip, başka bir çok proje tarafından da kullanılan bu araç, fonlama konusunda yaşadığı sıkıntılardan ötürü terminal çıktısına açık kaynağı destekleyen bir firmadan reklam almayı planlıyor. Yani projenize standard aracını eklemek için npm install standard yazdığınızda aracın kurulumu sonrasında terminalde ve muhtemelen log dosyasında bir reklam göreceğiz. Açıkcası ben de şaşırdım fakat projenin github sayfasındaki issue altında yazılanları görünce biraz da olsa hak verdim.

terminal-reklam.png

Hepimiz açık kaynağın nimetlerinden fazlasıyla faydalanıyoruz fakat açık kaynak camiasına katkı sağlama konusunda ciddi eksikliklerimiz var. Girdiğimiz açık kaynak projelerin sitelerindeki "Bağış Yap" butonlarını görmezden geliyor, hatta sitedeki reklamları bile engelliyoruz. Üstüne bir de karşılaştığımız sorunları ya da hataları çözmek için az da olsa uğraşmak yerine direkt issue açıp ya da mail gönderip, 3-4 gün içerisinde sorumuzun çözülmesini bekliyoruz. Lafa gelince hepimiz ortamlarda açık kaynağın faydalarından, nimetlerinden, ne kadar süper bir şey olduğundan bahsettik; fakat, konu maddi ve/veya manevi destek olmaya gelince ne elimizi cebimize attık, ne de klavyemize dokunduk.

Terminal çıktısına reklam almak belki de doğru bir yöntem değil, fakat, şu çok açık ortada ki: Geliştirici camiası olarak açık kaynak ile ilgili algılarımızı değiştirme zamanımız geldi. Açık kaynak camiasından aldığımızın ne kadarını geri verdiğimizin/verebildiğimizin sorusunu kendimize sormamız gerekiyor. Açık kaynak araçları/kütüphaneleri kullanarak projeler yapıp bir güzel paramızı kazanıyoruz ama hiç birimiz, "kardeşim ben senin projeni kullanarak para kazandım, al bu da benden sana bu aracı geliştirmeye devam edebilmen için xx $/€" ya da "#504 numaralı issue sayfasındaki sorunu çözdüm, inceleyip, kodlarımı kabul edebilir misin?" demiyoruz. Ohh, ne rahat!…

Bu konuda siz ne düşünüyorsunuz? Kullandığınız bir araç/kütüphane bu şekilde reklam alsa -ki şu an almayı planlıyor- tepkiniz ne olurdu? Yorum kısmında konuşalım.

3 Git versiyon kontrol sisteminin 2.23 sürümü duyuruldu

Hepimizin her gün kullandığı popüler versiyon kontrol sistemi git 2.23 sürümü ile yenilikler ve hata gidermelerini sunuyor. Öne çıkan bazı özellikler bu şekilde:

3.1 git checkout için yeni deneysel alternatif komutlar

Bildiğimiz gibi git checkout komutu hem dallar arasında geçiş yapmak için hem de dosyaları son commit'deki hallerine resetlemek için kullanılabiliyor. Üstelik git checkout --branch olmayan-dal gibi bir kullanımla da olmayan bir dalı yaratıp, ona geçiş yapma özelliği de var. İki farklı işlevin bir komuta toplanmasından dolayı benim de zaman zaman garipsediğim bir komut. Bu sürümde bu işlevleri ayıran deneysel iki komut eklenmiş.

  • git switch: Dallar arasında geçiş yapmak, yeni dal oluşturup ona geçmek için kullanılacak. Dokümantasyon. Örnek:

    $ git switch yeni-ozellik
    
    Switched to branch 'yeni-ozellik'
    Your branch is up to date with 'origin/yeni-ozellik'
    
  • git restore: Verilen dosyası son commit'deki haline geri döndürmek için kullanılacak. Dokümantasyon. Örnek:

    $ git restore program.c
    

Diğer özellikler ve değişiklikler için konu başlığındaki bağlantıya tıklayabilir ya da GitHub Blog'da yayınlanan bu yazıyı okuyabilirsiniz.

4 Bitbucket, Mercurial desteğini sonlandırmaya hazırlanıyor

Bitbucket, GitHub gibi bir uzak depo sunucu hizmeti veren bir site. GitHub'dan farklı olarak sadece git ile değil, alternatif bir versiyon kontrol sistemi olan mercurial ile de çalışmayı destekliyordu. Fakat artık Bitbucket'da bu desteğini sonlandırmaya karar vermiş ve planlar yapılmış. 1 Şubat 2020 itibariyle kullanıcılar yeni Mercurial deposu oluşturulamayacak; 1 Haziran 2020 itibariyle de Bitbucket'de Mercurial desteği tamamen kalkacak ve Mercurial depoları da sunucudan silinecek. Desteğin kalkmasının nedenini söylemeye gerek yok sanırım. Artık hepimiz her yeni projede varsayılan olarak git kullanmaya başladık. Açıkcası ben Mercurial hiç kullanmadım, hatta öyle bir depo da hiç görmedim, bu yüzden nasıl bir sistem olduğu konusunda pek fikrim yok.

Bu haberi duyan, %100 açık kaynak ve özgür yazılım olarak geliştirilen Sourcehut da bir blog yazısı yayınlayarak, Bitbucket'dan Mercurial kullanıcılarını kendi sitesine davet etti.

5 Mikrokontrolcüler için Qt kütüphanesi tanıtıldı

YouTube videosu | Ürün tanıtım sayfası

C++ deneyimim konsola "Merhaba dünya" yazdırmaktan öteye gitmediği halde bu gelişme beni bile heyecanlandırdı. Özellikle videodaki gibi düşük sistem gereksinimleri ile çalışan cihazlarda akıcı ve güzel tasarımlı ekranlar hazırlayabileceksek, mutlaka bir ara Qt kütüphanesini incelemem gerekecek.

Teknik detayları henüz açık değil fakat konuyla ilgili Qt takımı, 4 Eylül tarihinde internet üzerinden soru&cevap kısmının da olacağı bir webiner düzenleyecek. Sanırım webiner boyunca çok daha teknik kavramları anlatacaklardır. Buradan kendinize uygun saatteki webinere kayıt olabilirsiniz.

6 Etkinlik Duyurusu: Typed Properties ve dahası ile PHP 7.4

php-etkinligi.png

İstanbul PHP grubunun organize ettiği bu etkinlikte PHP 7.4 ile birlikte gelecek özellikler anlatılacak. Birkaç özelliği Yazılım Gündemi - 3 yazısında ben de anlatmıştım fakat PHP geliştirmeyle ilgilenen ve İstanbul'da olan arkadaşların mutlaka bu etkinliğe katılmasını tavsiye ederim, daha faydalı olacaktır.

7 Diğer Haberler

8 Lisans

Tarih: 25 Ağustos 2019

Yazar: Eren Hatırnaz

Oluşturuldu: 2021-01-24 Sun 22:46

Validate