WPPerks
Güvenlik10 dk okumaWPPerks editör ekibi

GPL eklentileri güvenli mi? Kurulumdan önce nasıl kontrol edilir?

GPL etiketi indirme paketinin güvenliğini kanıtlamaz. Dosya kaynağını, bilinen güvenlik açıklarını ve güncelleme yolunu değerlendirmek için pratik bir rehber.

GPL eklentileri güvenli mi? Güvenli olabilirler, ancak GPL etiketi tek başına belirli bir indirme paketinin kurulmasının güvenli olduğunu göstermez. Yararlı bir değerlendirme; dosyaların nereden geldiğini, nelerin değiştirildiğini, sağlanan sürümde bilinen bir güvenlik açığı bulunup bulunmadığını ve düzeltmeleri nasıl alacağınızı inceler.

Düşük fiyat, zararlı yazılım bulunduğunun kanıtı değildir. Pahalı bir abonelik de yazılımın güvenlik açığı içermediğini kanıtlamaz. Elinizdeki paketi ve arkasındaki bakım sürecini değerlendirdiğinizde karar vermek kolaylaşır.

Bu rehber, bir GPL lisanslı WordPress eklentisini çalıştırmadan önce nasıl kontrol edeceğinizi, yaygın güvenlik kontrollerinin neyi gösterebildiğini ve hangi durumlarda kurulumu bekletmeniz gerektiğini açıklar.

GPL eklenti arşivi üzerindeki WordPress logosu büyüteçle inceleniyor; yanında soru işaretli bir kalkan bulunuyor.
GPL etiketi lisansı açıklar. İndirme kaynağının ve dosyaların ayrıca kontrol edilmesi gerekir.

GPL izinleri açıklar; indirme kaynağı başka bir soruyu yanıtlar

WordPress, GNU General Public License kapsamında dağıtılır. GPL kapsamındaki kod, geçerli lisans koşullarına uyularak kullanılabilir, incelenebilir, değiştirilebilir ve yeniden dağıtılabilir. Bir kopya için ücret almak GPL ile uyumludur; GNU, GPL yazılım satışıyla ilgili sık sorulan sorularda bunu açıklar.

Bu izinler bir ZIP dosyasının kaynağını veya özgünlüğünü doğrulamaz. Lisans açıklaması; aracı bir sağlayıcının kod ekleyip eklemediğini, indirmenin beklenen ürünü içerip içermediğini ya da ilgili sürümün bakımının devam edip etmediğini gösteremez. Lisansın temelini daha ayrıntılı öğrenmek için GPL lisansı nedir? rehberini okuyabilirsiniz.

Aynı ayrım, nulled WordPress eklentileri konusunda da yararlıdır. “GPL” bir lisansın adıdır; “nulled” ise genellikle lisans kontrolleri kaldırılmış veya ücretli özellikleri açılmış gibi sunulan, değiştirilmiş premium paketler için kullanılır. Bir değişiklik otomatik olarak zararlı değildir. Ayrıca GPL kapsamındaki kodu değiştirme izni, geliştiricinin barındırdığı hizmetlere erişim hakkını kanıtlamaz. Açıklanmayan bir değişiklik, kod sunucunuzda çalıştırılmadan önce yine de incelenmelidir.

GPL ile nulled arasındaki farklar rehberimiz bu terimleri daha ayrıntılı ele alır. Buradaki pratik soru daha dardır: bu belirli indirme paketine güvenmek için hangi kanıtlar var?

Bir eklentinin güvenlik sorunu oluşturabileceği üç durum

Paket size ulaşmadan önce biri tarafından değiştirilmiştir

Değiştirilmiş bir eklenti arka kapı içerebilir, yönetici hesabı oluşturabilir, ziyaretçileri başka adreslere yönlendirebilir veya güvenlik araçlarının çalışmasını engelleyebilir. 2025 yılında belgelenen bir araştırmada Wordfence, site savunmasını zayıflatan değiştirilmiş eklentileri anlattı. Bunların arasında Wordfence'i devre dışı bırakma ve zararlı faaliyetleri gizleme davranışları da vardı. Araştırmacılar, o saldırı kampanyasında güncelliğini yitirmiş nulled indirmelerini olası bir giriş yolu olarak belirledi.

Bu olay, mümkün olan bir saldırı mekanizmasını gösterir. Üçüncü taraflardan edinilen her GPL kopyasının zararlı yazılım içerdiğini kanıtlamaz ve GPL indirmelerine ilişkin bir zararlı yazılım oranı sunmaz. Çıkarılabilecek yararlı ders şudur: önce kurup sonra taramak, zararlı kodun harekete geçmesi için zaman tanıyabilir.

Orijinal eklentide bir güvenlik açığı vardır

Bir WordPress eklentisi güvenlik açığı, geliştiricinin değiştirilmemiş sürümünde de bulunabilir. Örneğin bir yetkilendirme hatası, ziyaretçinin yalnızca yöneticilere açık olması gereken bir işlemi gerçekleştirmesine izin verebilir. Sitenin riske girmesi için kodda kasıtlı olarak yerleştirilmiş bir arka kapı bulunması gerekmez.

Bu nedenle dosya bütünlüğü ve güvenlik açığı durumu ayrı ayrı kontrol edilmelidir. Dosyaların geliştiricinin dosyalarıyla eşleşmesi, değiştirilip değiştirilmediklerini yanıtlar; o kodda sonradan bir güvenlik sorunu keşfedilip keşfedilmediğini yanıtlamaz. Resmî WordPress güvenlik el kitabı, kurulu eklentileri ve temaları güncel tutmayı ve bakımı sürdürülen yazılımları seçmeyi vurgular.

Bir sonraki güvenlik düzeltmesini alamazsınız

Bir eklenti bugün uygun olabilir ve yarın bir yamaya ihtiyaç duyabilir. İndirme sağlayıcınız güncellemeleri sunmayı bırakırsa veya elle kurulması gereken güncellemeleri otomatik sanırsanız, düzeltme mevcut olduğu hâlde siteniz açıkla karşı karşıya kalabilir.

“Güncellemeler dâhil” ifadesini araştırmanın başlangıcı olarak görün. Yeni dosyaların nasıl teslim edildiğini, sizi kimin bilgilendirdiğini ve güncellemeyi gerçekte kimin kurduğunu öğrenin. Koda erişim, güncelleme hizmeti ve orijinal geliştiricinin desteği, satın almanın ayrı bileşenleridir. GPL lisanslı WordPress eklentileri rehberi, paket ile hizmetler arasındaki bu ayrımı açıklar.

GPL WordPress eklentilerinin güvenliği kurulumdan önce nasıl kontrol edilir?

İlk kontrolleri paket henüz indirme dosyasıyken yapın. Tanımadığınız bir ZIP'i yalnızca çalışıp çalışmadığını görmek için canlı siteye yüklemeyin. Dosyaları kendiniz değerlendiremiyorsanız, arşivi ve aşağıdaki soruları geliştiricinize ya da barındırma sağlayıcınızın güvenlik ekibine iletin.

1. Kaynağı doğrulayın ve paketi tam olarak tanımlayın

GPL WordPress eklentisinin kaynağını doğrulamak için kısa bir kayıt hazırlayın: ürün adı, orijinal geliştirici, sağlayıcı, indirme tarihi, tam sürüm ve açıklanan değişiklikler. Sağlayıcının verdiği bilgileri geliştiricinin belgeleri ve değişiklik kaydıyla karşılaştırın. Arşiv dosyasının adı değiştirilebilir; tek başına güvenilir kanıt sayılmaz.

Sağlayıcıya somut sorular sorun:

  • Bunlar geliştiricinin yayımladığı sürüm dosyaları mı, yoksa paket değiştirildi mi?
  • Değiştirildiyse hangi dosyalar değişti ve neden?
  • Sağlanan sürümü ve uyumluluk gereksinimlerini nasıl belirleyebilirim?
  • Güvenlik güncellemelerini nasıl alacağım ve bunları kurmak için hangi erişim gerekiyor?

Açık bir yanıt, doğrulayabileceğiniz bilgiler verir. “%100 temiz” yazan bir rozet; tarama aracını, kontrol edilen dosyaları, tarama tarihini veya orijinal kaynağı tanımlamaz. Kullanıcı yorumları sağlayıcının sorulara yanıt verip vermediğini değerlendirmenize yardımcı olabilir, ancak elinizdeki arşivin özgünlüğünü doğrulayamaz.

İhtiyacınız olan özelliğin geliştirici hesabına, uzak API'ye, şablon kitaplığına veya başka bir barındırılan hizmete bağlı olup olmadığını da kontrol edin. Yerel eklentinin çalışması ile uzak bir hizmete erişebilmek ayrı iddialardır. Bir etkinleştirme mesajını erişim hakkının kanıtı olarak görmek yerine hizmetin gerçek koşullarını doğrulayın.

2. Dosyaları aynı sürümün güvenilir bir kopyasıyla karşılaştırın

En yararlı karşılaştırma, bağımsız olarak güvenilen bir referansla başlar: geliştiricinin kendi indirmesi veya kimliği doğrulanmış başka bir sürüm kaynağı. Eşdeğer paketleri karşılaştırın. Premium paket ile ücretsiz sürümü karşılaştırmak doğal olarak farklılıklar oluşturur ve premium paketin özgünlüğünü kanıtlamaz.

Bir teknik uzmandan, aday eklentiyi çalıştırmadan çıkarılmış dosya listelerini ve içeriklerini karşılaştırmasını isteyin. Eklenen PHP dosyaları, değiştirilmiş güncelleme kodu, yeni dış bağlantılar veya kaldırılmış kontroller, ürünün işlevleri bağlamında açıklanmalıdır. Küçültülmüş bir JavaScript dosyası otomatik olarak zararlı yazılım değildir; meşru eklentiler de sıkıştırılmış kaynaklar kullanır. Amaç, tanımadığınız her satırı bulaşma olarak işaretlemek değil, beklenmeyen farkları anlamaktır.

Sağlama toplamı, dosya içeriğinin parmak izi gibidir. Eşleşen bir parmak izi ancak referansa güveniyorsanız anlamlıdır. Aynı bilinmeyen göndericinin arşivle birlikte sağladığı hash değeri, o göndericinin dosyasını tanımlayabilir; ancak geliştiricinin orijinal dosyası olduğuna dair bağımsız kanıt değildir. İki ZIP, yeniden paketlendikleri için farklı hash değerlerine sahip olabilir. Eklenti kodunun değiştiği sonucuna varmadan önce çıkarılan dosyaları karşılaştırın.

WordPress.org üzerinden dağıtılan eklentiler için yöneticiler, mevcut bir WordPress kurulumunda WP-CLI eklenti sağlama toplamı komutunu kullanabilir:

wp plugin verify-checksums --all --strict

Bu komut, kurulu eklenti dosyalarını WordPress.org sağlama toplamlarıyla kontrol eder. Bir zararlı yazılım tarayıcısı veya genel amaçlı ZIP doğrulama aracı değildir. strict seçeneği, readme değişiklikleri gibi komutun normalde daha az önemli saydığı farkları da kapsar.

Premium veya özel geliştirilen eklentiler için WordPress.org üzerinde sağlama toplamı referansı bulunmayabilir. Resmî WordPress WP-CLI güvenlik rehberinin gösterdiği gibi, referans yoksa kontrol atlanabilir. “Skipped”, o yöntemle doğrulanmadığı anlamına gelir; ne “temiz” ne de “bulaşmış” demektir. Bu dosyalar için aynı sürümün güvenilir referansını edinin veya teknik inceleme yaptırın.

İndirilen bir WordPress eklenti paketi, aynı sürümün güvenilir kopyasıyla dosya dosya karşılaştırılıyor.
Çıkarılan dosyaları aynı sürümün güvenilir bir kopyasıyla karşılaştırın. ZIP hash değerlerinin farklı olması tek başına iki paketin neden farklı olduğunu açıklamaz.

3. WordPress eklenti dosyalarını zararlı yazılıma karşı tarayın ve kapsamı kontrol edin

Güvendiğiniz bir teknik uzmandan, çıkarılmış dosyaları herkese açık web dizininin dışında, yalıtılmış bir konumda inceleyip taramasını isteyin. PHP ve JavaScript için uygun, bakımı sürdürülen araçlar kullanılsın. Karşılaştırma amacıyla orijinal arşivi saklayın. Yalnızca incelemek için kurulum programını çalıştırmayın veya PHP dosyalarını çalıştırmaya dâhil etmeyin.

Arşiv taraması ancak araç ilgili arşiv biçimini destekliyorsa ve kurmayı düşündüğünüz içeriği inceliyorsa yararlıdır. Açılmamış veya atlanmış bir ZIP için verilen “tehdit bulunamadı” sonucu, içindeki dosyalar hakkında çok az şey söyler. Sonuçla birlikte taramanın kapsamını ve tamamlanma durumunu da isteyin.

WordPress eklentisi zararlı yazılım taraması, seçilen aracın tespit edebildiği zararlı imzaları, kalıpları veya davranışları arar. Tehditleri belirlemeye yardımcı olabilir, ancak bilinmeyen ya da henüz etkinleşmemiş kodun bulunmadığını kanıtlamaz. Bir uyarının bulaşma mı yoksa yanlış pozitif mi olduğunu anlayabilmek için teknik yorum da gerekebilir.

Wordfence, devamlı site taramasında kullanılan araçlara bir örnektir. Tarama belgeleri, bilinen zararlı kalıplara ve URL'lere yönelik kontrolleri açıklar. Belgelerde Standard Scan'in şu anda eklenti ve tema dosyalarının depo ile karşılaştırılmasını içermediği, bu seçeneklerin ayrıca etkinleştirilebildiği de belirtilir. Her kontrolün çalıştığını varsaymak yerine ilgili ayarları doğrulayın.

Tarama seçenekleri belgeleri, hariç tutulan dosyaları ve kapsam ayarlarını da açıklar. Atlanan yolları, hataları ve taramanın tamamlanıp tamamlanmadığını inceleyin. Şüpheli bir eklentiyi kurup ardından canlı sitede Wordfence çalıştırmak, indirmeyi çalıştırmadan önce incelemekten farklı bir işlemdir. Wordfence incelememiz, aracın devamlı korumadaki rolünü açıklar.

Üç ayrı eklenti kontrolü: dosya karşılaştırma, Wordfence logosuyla gösterilen zararlı yazılım taraması ve bilinen güvenlik açıklarının incelenmesi.
Bu kontroller farklı soruları yanıtlar. Wordfence bir tarayıcı örneği olarak gösterilir; bir indirmeyi onayladığı veya sertifikalandırdığı anlamına gelmez.

4. Sağlanan sürüme ilişkin güvenlik duyurularını kontrol edin

Ürünün güvenlik duyurularını ve güncel tutulan bir WordPress güvenlik açığı veritabanını araştırın. Örneğin Wordfence Intelligence, eklentiler ve temalar için aranabilir duyurular yayımlar. Başka bir eklentinin de paylaşabileceği genel bir ad yerine tam geliştirici ve ürün adını arayın.

Etkilenen sürüm aralığını, düzeltmenin yer aldığı sürümü, duyurunun yayımlanma tarihini ve açığın kullanılabilmesi için gereken koşulları okuyun. Ardından elinizdeki paketin gerçekten düzeltmeyi içerip içermediğini kontrol edin. Yakın zamanda indirilmiş olması, içindeki dosyaların güncel olduğunu göstermez.

Bir duyuru paketinizi etkiliyorsa ve güvenilir bir yoldan düzeltilmiş sürümü alamıyorsanız kurulumu erteleyin. Zararlı yazılım bulunmayan bir tarama, orijinal koddaki güvenlik açığını ortadan kaldırmaz. Duyuru bulamamak da yararlı bir bilgidir, ancak henüz keşfedilmemiş hataların bulunmadığını kanıtlayamaz.

5. İşlevleri canlı ortamdan ayrılmış bir yerde test edin

Kaynak ve dosyalarla ilgili soruları çözdükten sonra, canlı siteyi değiştirmeden önce sahte veriler içeren bir test sitesi kullanın. Eklentinin ana işlevini ve etkileyebileceği kullanıcı akışlarını kontrol edin: sayfa düzenleme, form gönderme, test siparişi tamamlama veya hesaba giriş yapma gibi.

Tanımadığınız bir paket için ortam; canlı sitenin dosyalarından, veritabanlarından ve kimlik bilgilerinden ayrılmalıdır. Aynı barındırma hesabındaki bir staging klasörü, canlı siteyle yetkileri veya gizli bilgileri paylaşabilir. Ortamın “staging” olarak adlandırılması, onu güvenilmeyen kodu çalıştırmaya uygun kılmaz. Bu amaçla kullanmadan önce barındırma sağlayıcınıza ya da geliştiricinize hangi unsurların yalıtıldığını sorun.

Entegrasyonların sandbox seçeneklerini kullanın; test e-postalarının, ödemelerinin ve webhook'larının gerçek müşterilere ulaşmasını engelleyin. Bunlar test ortamına yönelik kurulum önlemleridir, paketin incelenmesinin yerine geçmez. Başarılı bir test, kontrol edilen iş akışının o koşullarda çalıştığını gösterir; gizli zararlı davranışlar kısa bir deneme sırasında ortaya çıkmayabilir.

Canlı sitedeki değişiklikten önce hem dosyaların hem veritabanının geri yüklenebilir bir yedeği bulunsun; yedek kurulumdan ayrı bir yerde saklansın. Geri yüklemenin nasıl yapılacağını doğrulayın. UpdraftPlus yedekleme rehberi ve WP STAGING rehberi, bu ayrı operasyonel adımları açıklar.

Sahte veriler içeren WordPress test sitesi canlı siteden ayrılmış; ayrı kimlik bilgileri ve her iki ortamın dışında bir yedek gösteriliyor.
Yalıtılmış bir ortamda sahte veriler ve ayrı kimlik bilgileriyle test yapın. Canlı siteyi değiştirmeden önce geri yüklenebilir bir yedek saklayın.

Kontrolleriniz gerçekte neyi kanıtlar?

Sağlayıcının iddiasını veya teknik uzmanın raporunu değerlendirirken bu tabloyu kullanın. Her sonucun belirli bir anlamı vardır; sonuçları birlikte değerlendirmek, tek bir rahatlatıcı etikete güvenmekten daha sağlam bir karar verir.

KanıtNeyi belirlemeye yardımcı olur?Hangi soru açık kalır?
İzlenebilir kaynakDosyaları kimin sağladığı ve hangi sürümü sunduğunu belirttiğiO sürümde güvenlik hataları bulunup bulunmadığı
Güvenilir referansla eşleşmeKontrol edilen dosyaların referans sürümle eşleştiğiOrijinal kodun güvenlik açığı içerip içermediği
Tespit olmadan tamamlanan zararlı yazılım taramasıAracın gerçekten kontrol ettiği dosyalarda işaretlenen tehdit bulmadığıBilinmeyen tehditler, hariç tutulanlar ve aracın tespit edemediği davranışlar
İlgili güvenlik duyurularının incelenmesiYayımlanmış bir sorunun belirlenen sürümü etkileyip etkilemediğiHenüz keşfedilmemiş güvenlik açıkları
Başarılı yalıtılmış testDenenen işlevlerin o ortamda çalıştığıTest dışındaki davranışlar ve sitenin genel güvenliği
Doğrulanmış güncelleme yoluGelecekteki düzeltmeleri nasıl alabileceğinizBirinin bunları takip edip uygulayıp uygulamayacağı

Güvenilir referansınız yoksa pakete orijinal demek yerine bu eksikliği kaydedin. Tarayıcı dosyaları atladıysa bunları kontrol edilmemiş olarak belirtin. Belirsizlik, görünür olduğunda ve bir sonraki somut adımla ilişkilendirildiğinde yönetilebilir hâle gelir.

Bakımını yaptığınız gerçek siteye göre karar verin

Şu örnek durumu düşünün: küçük bir işletme sitesi için premium form eklentisi seçiyorsunuz. Bir sağlayıcı sürümü ve güncelleme yolunu tanımlıyor, ancak bağımsız dosya karşılaştırması sunamıyor. Geliştirici ise doğrudan indirme ve destek sağlıyor. Her iki paket de GPL kapsamındaki kodu taşıyabilir; yine de elinizdeki kanıt ve alabileceğiniz yardım farklıdır.

Dosyaları inceleyip eklentinin bakımını yapabilecek bir geliştiriciniz varsa üçüncü taraf dağıtımı uygulanabilir olabilir. Kaynakla ilgili soruları çözebilecek veya acil düzeltmeleri alabilecek kimse yoksa doğrudan satın alma, operasyonel ihtiyaçlarınıza daha uygun olabilir. Karar, fiyatın yanı sıra elinizdeki kanıtlara ve sürdürebileceğiniz bakım sürecine bağlıdır.

İlerlemeden önce paketi tanımlayabilmeli, önemli değişiklikleri açıklayabilmeli, geçerli güvenlik duyurularını ele alabilmeli, güncelleme yolunu tarif edebilmeli ve başarısız bir kurulumdan sonra siteyi geri getirebilmelisiniz. Müşteri verilerini işleyen bir mağazada veya üyelik sitesinde çözülemeyen sorular, kurulumdan önce daha kapsamlı inceleme gerektirir.

Kaynak izlenemiyorsa, değişiklikler açıklanmıyorsa, geçerli bir güvenlik açığı giderilmemişse veya vaat edilen güncelleme yolu doğrulanamıyorsa durun. Eksik kanıtı isteyin ya da başka bir indirme kaynağı seçin. Bir paketin canlı sitenize uygun olmadığına karar vermek için onun zararlı olduğunu kanıtlamanız gerekmez.

Şüpheli bir indirmeyi zaten kurduysanız

Kaynağı, kurulum tarihini ve kurulu tam sürümü belgeleyerek başlayın. Orijinal ZIP'i ve ilgili günlükleri saklayın. Orijinal paketin yanı sıra çalışan sitenin de incelenmesini sağlayın: temiz bir arşiv tek başına, kurulumdan sonra olmuş olabilecek her şeyi açıklayamaz.

Güvenlik ihlali belirtileri varsa barındırma sağlayıcınızı veya olay müdahalesi uzmanını sürece dâhil edin. Resmî WordPress kurtarma rehberi, olayın belgelenmesini, nedeninin giderilmesini ve sitenin kurtarılmasını ele alır. Yalnızca şüpheli eklentiyi silmek; hesapları, veritabanı değişikliklerini veya kurulumun başka yerlerindeki dosyaları bırakabilir.

Eklentiyi güvenilir bir kopyayla değiştirmek temizleme işleminin bir parçası olabilir, ancak daha geniş inceleme önemlidir. Müdahaleyi yapan kişiye hangi kimlik bilgilerinin değiştirilmesi gerektiğini ve saldırıdan önceki bir yedeğin bulunup bulunmadığını sorun. Yedeğin geri yüklenmesi ancak yedeğin durumu ve güvenlik ihlalinin nedeni anlaşıldığında yararlıdır.

Güncellemeleri kurulum kararının bir parçası yapın

Kısa bir bakım kaydı tutun: eklentinin nereden geldiği, nasıl kontrol edildiği, hangi hizmetlere bağlı olduğu ve yamalardan kimin sorumlu olduğu. Sağlayıcı değiştiğinde, bakım durduğunda veya bir güvenlik duyurusu çıktığında bu kaydı yeniden inceleyin.

“GPL eklentileri güvenli mi?” sorusunun pratik yanıtı koşulludur: GPL lisanslı eklentiler, güvenilir dosyalara ve uygulanabilir bir bakım sürecine sahipseniz gerçek siteler için uygun olabilir. Kurulumdan önce kaynak, bütünlük ve güvenlik açığı sorularını çözün. Ardından güncelleme, test ve kurtarma sorumluluklarını belirleyin. Böylece kararınız, açıklayabileceğiniz ve sürdürebileceğiniz kanıtlara dayanır.