n8n Community Nodes kontrolü: üçüncü taraf kod ne kadar güveni hak ediyor
npm üzerinde 12.000'den fazla Community Node bulunuyor. Üretime almadan önce hangi inceleme kriterlerinin geçerli olduğu ve tedarik zinciri riskinin nasıl sınırlandırılacağı.

n8n Community Node, tanımadığınız birinin yazdığı bir npm paketidir ve CRM, muhasebe ve posta kutunuza ait erişim bilgilerinizle aynı makinede çalışır. Kurulum iki dakika sürer, sorumluluk bundan sonra size kalır. Bu nedenle üretime almadan önceki soru bir işlevsellik sorusu değil, bir tedarik zinciri sorusudur: bu kodun bakımını kim yapıyor, ne sıklıkla ve yarın kimse ilgilenmezse ne olur.
Havuz, sezgiye güvenmenin yeterli olmayacağı kadar büyük. npm kayıt defteri, n8n tarafından öngörülen paket anahtar kelimesi için 12.022 paket (3 Ağustos 2026 tarihi itibarıyla). Burada n8n çekirdeği değil, eklentiler ele alınıyor: çekirdek için güvenlik sertleştirme.
Bir Community Node, örneğinizde hangi yetkileri alır?
Bir Community Node, n8n'in kendisiyle aynı yetkilerle çalışır. n8n'in risklerle ilgili dokümantasyonu bunu hiç yumuşatmadan ifade ediyor: Community Nodes'ların "full access to the machine that n8n runs on, and can do anything, including malicious actions" yetkisine sahip olduğunu ve kullanılan her node'un workflow'larınızdaki verilere eriştiğini belirtiyor.
Bu nedenle kurulum rollere bağlıdır. Self-hosted bir örnekte, kurulum dokümantasyonuna göre sadece Owner ve Admin rolleri npm üzerinden Community Nodes kurabilir ve iletişim kutusu "I understand the risks of installing unverified code from a public source" cümlesinin aktif olarak onaylanmasını gerektirir. Buna ek olarak n8n bir engelleme listesi (blocklist) kasıtlı olarak kötü amaçlı veya zarar verecek derecede kusurlu olan paketler için tutar.
Riskin teorik değil gerçek olduğunu n8n'in kendisi belgeledi. npm solucanı Shai-Hulud'un ardından şirket, 25 Kasım 2025 tarihli Security Advisory'sinde n8n çekirdeğinde kullanılan npm paketlerinin etkilenmediğini, ancak doğrulanmamış iki Community Node'un etkilendiğini ve bunların kurulumunun kesinlikle önerilmediğini bildirdi.
n8n Community Nodes için "doğrulanmış" gerçekte ne anlama gelir?
Doğrulanmış anlamına şu gelir: n8n, gönderilen paketi sabit bir güvenlik ve kalite gereksinimleri kataloğuna göre kontrol etmiş ve node panelinize eklemiştir. Başlangıçta, n8n duyurusuna göre n8n 1.94.0 sürümünden itibaren bir kalkan simgesiyle tanınan yaklaşık 25 node vardı. Doğrulama yönergeleri doğrulanmamış paketler için de bir ölçüt olarak kullanılabilir:
- Çalışma zamanı bağımlılığı yok: her geçişli bağımlılık, tedarik zincirinizde ek bir üçüncü taraf yayıncı anlamına gelir.
- MIT lisansı: böylece yeniden kullanım ve kendi bakımınızı sürdürme hukuken tartışmasız kalır.
- Ortam ve dosya sistemine erişim yok: kod, ortam değişkenlerini okuyamaz ve dosya okuyup yazamaz.
- Paket başına tam olarak bir üçüncü taraf hizmeti: akış kontrol node'u yok, mevcut node'ların kopyası yok.
- Geçilen tarama: npx @n8n/scan-community-package hatasız çalışmalıdır.
- Kanıtlanabilir köken: 1 Mayıs 2026'dan itibaren gönderilen node'ların, gönderim dokümantasyonuna göre GitHub Actions üzerinden bir provenance (köken) beyanıyla yayınlanması gerekir; yerel bir bilgisayardan yapılan yayınlama artık kabul edilmiyor.
Bir kısıtlama burada devreye giriyor: gönderilen bir paket belirli bir zaman noktasında kontrol edilir. Bu mühür, bir sonraki sürümü kimin yayınlayacağı sorusuna cevap vermez.
Üretime almadan önce hangi inceleme kriterleri geçerlidir?
Altı kriter belirleyicidir ve bu altı kriterin tamamı, tek satır kod okumadan, herkese açık npm meta verilerinden birkaç dakika içinde yanıtlanabilir. Kayıt defteri registry.npmjs.org/<paketname> adresinde time, maintainers, dist-tags, repository ve license alanlarını sağlar.
- Bakım durumu: time alanı her sürüm yayınının zaman damgasını içerir. Bağlı hizmet API'sini geliştirmeye devam ederken son sürüm on iki aydan daha eskiyse, bu node kullanım dışı kalmaya doğru gidiyor demektir.
- Bus faktörü: maintainers alanı kaç kişinin yayın yapabildiğini gösterir. Tek bir özel bakımcı (maintainer) eleyici bir kriter değildir, ancak yedek yolu önceden planlamak için bir nedendir.
- Yaygınlık: api.npmjs.org/downloads/point/last-month/<paketname> uç noktası, indirme sayılarını ilgili dönemle birlikte döndürür. Kıyaslama olarak: n8n paketinin kendisi 4 Temmuz - 2 Ağustos 2026 arasında 335.472 indirme alıyor. Üç haneli bir aylık değerde, hataları sizden önce bulan neredeyse kimse yoktur.
- Bağımlılık derinliği: paketin dependencies alanı. npm audit bunları bilinen güvenlik açıklarıyla karşılaştırır. Sıfır çalışma zamanı bağımlılığı hedef değerdir.
- Köken ve imza: repository alanının gerçek, herkese açık bir depoyu gösterip göstermediği. npm audit signatures provenance (köken) onaylarını kontrol edebilirsiniz; yani paketin belirtilen depodan ve izlenebilir bir CI hattından geldiğinin kanıtını.
- Yetki ihtiyacı: node'un hangi kimlik bilgilerini istediği ve kapsamın amaca uygun olup olmadığı. Tek bir hizmet için olan ancak geniş yetkiler isteyen bir node açıklama gerektirir.
Proje terk edilirse ne olur?
Bir projenin terk edilmesi başlangıçta fark edilmez çünkü kurulu sürüm çalışmaya devam eder. Bu durum bir sonraki n8n güncellemesinde görünür hale gelir: yeni n8n sürümüyle artık uyumlu olmayan bir Community Node, örneğin başlatılmasını engelleyebilir, bkz. n8n güncellemeden sonra başlamıyor. Sessiz bir bakım sorunu, bir dakika içinde tüm workflow'ların çökmesine dönüşür.
Bu nedenle çıkış planı kurulumdan önce hazırlanmalıdır. Üç nokta yeterlidir: aynı API'ye karşı genellikle yerleşik HTTP Request node'u olan belirlenmiş bir yedek yol, çünkü bir Community Node genellikle yalnızca bir REST arayüzünü daha kullanışlı hale getirir. Değişken bir etiket yerine sabit bir sürüm. Ve etkilenen workflow'ların listesi. Ortam değişkeni ile kurulum burada yardımcı olur: N8N_COMMUNITY_PACKAGES; paket adını, isteğe bağlı bir sürümü ve çözümlenen tarball'ın isteğe bağlı bir SHA-512 sağlama toplamını kabul eder, böylece yalnızca sürüm değil paket içeriği de sabitlenmiş olur. n8n Cloud'da soru farklı şekilde ortaya çıkar; orada zaten yalnızca doğrulanmış node'lar kullanılabilir, bkz. self-hosted'dan buluta geçiş.
Örnek üzerindeki riski nasıl sınırlandırırsınız?
Yeni bir n8n örneğinin varsayılan ayarları temkinliliğe değil açıklığa göre yapılandırılmıştır. Beş ortam değişkeni bunu değiştirir. ortam değişkenleri dokümantasyonuna göre aşağıdakiler geçerlidir:
- N8N_COMMUNITY_PACKAGES_ENABLED: Varsayılan true. false yapıldığında örnek, doğrulanmış ve doğrulanmamış Community Nodes'ların tamamını devre dışı bırakır.
- N8N_UNVERIFIED_PACKAGES_ENABLED: Varsayılan true. false yapıldığında yalnızca doğrulanmış node'lar kullanılabilir kalır. Çoğu orta ölçekli işletme örneği için en etkili tekil anahtar.
- N8N_VERIFIED_PACKAGES_ENABLED: Varsayılan true. Doğrulanmış node'ların node panelinde görünüp görünmeyeceğini kontrol eder.
- N8N_COMMUNITY_PACKAGES_MANAGED_BY_ENV: n8n 2.21.0'dan itibaren varsayılan false. true yapıldığında n8n, her başlatmada kurulu paketleri yapılandırmayla karşılaştırır ve arayüzdeki yönetimi salt okunur hale getirir. Node envanteri böylece tıklamaların sonucu değil, dağıtımın (deployment) bir parçası olur.
- NODES_EXCLUDE: varsayılan olarak n8n-nodes-base.executeCommand ve n8n-nodes-base.localFileTrigger ile doludur; çalışmaması gereken herhangi bir node ile genişletilebilir.
NordFlux'ta müşteriler için işlettiğimiz n8n ortamlarında şu kural geçerlidir: doğrulanmamış Community Nodes üretim örneğinde devre dışıdır, adaylar kendi kimlik bilgileriyle ayrı bir test örneğinde incelenir ve yedek yolu belgelenmeden hiçbir node üretime alınmaz. Bu, kurulum sırasında yarım saat sürer. Daha fazlası için Almanya'da n8n barındırma.
n8n Community Nodes hakkında sıkça sorulan sorular
Doğrulanmış n8n Community Nodes güvenli midir?
Doğrulanmış node'lar n8n tarafından sabit bir kataloğa göre kontrol edilir: çalışma zamanı bağımlılığı yok, MIT lisansı, ortam değişkenlerine veya dosya sistemine erişim yok, tam olarak bir bağlı üçüncü taraf hizmeti, geçilen paket taraması. Bu, riski belirgin şekilde azaltır ancak bakım durumunun kontrolünün yerini tutmaz, çünkü doğrulama gönderilen bir pakete ilişkindir, gelecekteki her sürüme değil.
n8n Cloud'da Community Nodes kullanabilir miyim?
Yalnızca doğrulanmış olanlar. npm üzerinden kurulum, dolayısıyla tüm doğrulanmamış node'lar, n8n dokümantasyonuna göre yalnızca self-hosted olarak mümkündür. Doğrulanmamış veya kendi yazdığı node'ları kullananların, buluta geçmeden önce bunları değiştirmesi gerekir.
Bir Community Node'un artık bakımının yapılmadığını nasıl anlarım?
registry.npmjs.org/<paketname> adresindeki npm meta verilerinde, tüm sürüm yayın zaman damgalarını içeren time alanından anlaşılır. Son sürümün, bağlı hizmetin son büyük API değişikliğinden daha eski olması en açık işarettir.
Çalışanların kendi başına node kurmasını nasıl engellerim?
Self-hosted örneklerde zaten yalnızca Owner ve Admin hesapları Community Nodes kurabilir, diğer tüm kullanıcılar kurulu node'ları yalnızca kullanabilir. Envanteri sabitlemek isteyenler N8N_COMMUNITY_PACKAGES_MANAGED_BY_ENV değerini true olarak ayarlar: arayüzdeki yönetim salt okunur hale gelir.
Kullanılan bir node'un ele geçirildiği bildirilirse ne yapmalı?
Node'u NODES_EXCLUDE ile yüklemeden hariç tutun, etkilenen workflow'ları durdurun, node'un erişimi olan tüm kimlik bilgilerini değiştirin. n8n bu tür vakaları topluluk forumundaki Security Advisories kategorisinde yayınlar.
Simon Glowik
NordFlux'un kurucusu. Webden ve SEO'dan grup ölçeğindeki otomasyona kadar yedi yıllık deneyim, bugün KOBİ'ler için pragmatik biçimde ve Alman veri egemenliğiyle.
Sertifikalar
- Microsoft sertifikalı — PL-900 ve AZ-900
- UiPath sertifikalı — Automation Developer Associate
Otomasyon veya KI hakkında somut sorularınız mı var?
30 dakikalık ücretsiz ilk görüşmede durumunuzu doğrudan konuşuruz. Bağlayıcı değildir.