Bu Uyarı Neden Çıkıyor?
macOS, kullanıcıları zararlı yazılımlardan korumak için Gatekeeper adlı bir güvenlik mekanizması kullanır. Gatekeeper, internetten indirilen uygulamaların Apple Developer sertifikasıyla imzalanmış ve Apple tarafından notarize edilmiş olmasını bekler. Bir uygulama bu kontrollerden geçemezse macOS onu açmayı reddedebilir ve gösterdiği mesaj çoğu zaman ürkütücü olan "hasarlı ve açılamıyor" uyarısıdır.
OpenGnothia hakkında bir not: güncel sürümler Apple Developer sertifikasıyla imzalanmış ve Apple tarafından notarize edilmiştir; bu nedenle hiçbir uyarı çıkmadan, ek bir işleme gerek kalmadan normal şekilde açılır. Daha eski sürümler imzasız dağıtılıyordu, dolayısıyla uzun süredir sakladığınız çok eski bir indirme hâlâ bu uyarıyı verebilir. Rehberin geri kalanı uyarıyı genel olarak açıklar; Gatekeeper'ın doğrulayamadığı, herhangi bir geliştiriciye ait her uygulama için geçerlidir.
Bu uyarı, dosyanın gerçekten hasarlı olduğu ya da zararlı yazılım içerdiği anlamına gelmez. Yalnızca macOS'un, imzasını doğrulayamadığı bir uygulamaya verdiği yanıttır. İndirmenin gerçekten bozulmuş olması da mümkündür, ancak bu, imza kaynaklı sorunlara kıyasla çok daha nadirdir.
macOS Gatekeeper Nedir?
Gatekeeper, macOS'un yerleşik güvenlik özelliklerinden biridir. macOS Catalina (10.15) ve sonrasında güvenlik politikaları daha da sıkılaştırılmıştır. Gatekeeper üç seviyede çalışır: App Store'dan indirilen uygulamalar (en güvenilir), tanımlanmış geliştiricilerden gelen imzalı uygulamalar ve bilinmeyen kaynaklardan gelen uygulamalar.
İnternetten bir dosya indirdiğinizde, macOS bu dosyaya com.apple.quarantine adlı özel bir özellik (extended attribute) ekler. Uygulama ilk kez açıldığında Gatekeeper bu özelliği kontrol eder ve uygulamanın güvenilirliğini değerlendirir.
İmzasız uygulamalar için Gatekeeper iki farklı uyarı gösterebilir: "[Uygulama] can't be opened because Apple cannot check it for malicious software" veya daha sert olan "[Uygulama] is damaged and can't be opened. You should move it to the Trash." İkinci uyarı özellikle macOS Ventura ve sonrasında daha sık karşılaşılan bir durumdur.
Çözüm: Terminal ile Karantina Özelliğini Kaldırma
Sorunu çözmek için, indirme sırasında macOS'un dosyaya eklediği karantina özelliğini kaldırırsınız. Bu işlem güvenlidir ve yalnızca indirme işaretini temizler; uygulamanın kendisini değiştirmez.
Adım 1: Terminal uygulamasını açın. Spotlight'ı açmak için Command + Space tuşlarına basın, "Terminal" yazın ve Enter'a basın.
Adım 2: Aşağıdaki komutu, AppName kısmını uygulamanın gerçek adıyla değiştirerek yazın ve Enter'a basın:
xattr -cr /Applications/AppName.app
Uygulama hâlâ Applications yerine Downloads klasöründeyse komutu oraya yöneltin:
xattr -cr ~/Downloads/AppName.app
İşe yarayan bir kısayol: sonunda boşluk bırakarak "xattr -cr " yazın, ardından uygulamayı Finder'dan Terminal penceresine sürükleyin. macOS tam yolu sizin için doldurur ve yazım hatalarının önüne geçer.
Adım 3: Komutu çalıştırdıktan sonra uygulamayı normal şekilde açabilirsiniz. macOS artık onu karantinada saymayacaktır.
Komut Ne Yapıyor?
xattr komutu, macOS'ta dosyalara eklenmiş genişletilmiş özellikleri (extended attributes) yönetmek için kullanılır. Kullandığımız komuttaki bayrakların anlamları şöyledir:
-c bayrağı: Dosyadaki tüm genişletilmiş özellikleri temizler (clear). Bu, com.apple.quarantine özelliğini de içerir.
-r bayrağı: İşlemi alt klasörlere de uygular (recursive). Bir .app dosyası aslında bir klasör yapısıdır, bu yüzden tüm alt dosyaları da temizlememiz gerekir.
Bu komut yalnızca dosya özelliklerini değiştirir, uygulamanın kendisini veya sistem ayarlarını etkilemez. Güvenle kullanabilirsiniz.
Alternatif Yöntem: Sistem Ayarları
Terminal kullanmak istemiyorsanız sorunu macOS Sistem Ayarları üzerinden de çözmeyi deneyebilirsiniz, ancak bu yöntem her zaman işe yaramaz.
Adım 1: Uygulamayı açmayı deneyin, uyarıyı alın ve uyarıyı kapatın.
Adım 2: System Settings (Sistem Ayarları) > Privacy & Security (Gizlilik ve Güvenlik) bölümüne gidin.
Adım 3: Sayfanın alt kısmında "[Uygulama] was blocked from use because it is not from an identified developer" gibi bir mesaj göreceksiniz. Yanındaki "Open Anyway" (Yine de Aç) butonuna tıklayın.
Adım 4: Tekrar bir onay penceresi çıkacaktır, "Open" (Aç) butonuna tıklayın.
Not: "cannot be checked" uyarısı yerine daha sert olan "is damaged" uyarısını alıyorsanız bu yöntem çoğu zaman işe yaramaz, çünkü macOS bu durumda geçersiz kılma butonunu hiç göstermez. O hâlde yukarıdaki Terminal yöntemini kullanın.
Sık Sorulan Sorular
xattr komutunu çalıştırdım ama uygulama hâlâ açılmıyor, ne yapmalıyım? Önce doğru yolu kullandığınızdan emin olun; Terminal'de ls /Applications/ komutunu çalıştırarak uygulamanın gerçekten orada olduğunu doğrulayın. Ayrıca uygulamayı bağlı DMG'nin içinden Applications klasörüne sürüklediğinizden emin olun; bir uygulamayı DMG'nin içinden çalıştırmak kendi başına sorun çıkarır. Yine de olmuyorsa indirme gerçekten bozulmuş olabilir, dosyayı yeniden indirin.
Bu işlem güvenli mi? Komutun kendisi güvenlidir: xattr -cr yalnızca macOS'un dosyaya eklediği üst verileri kaldırır, uygulamanın kodunu veya sistem güvenlik ayarlarınızı değiştirmez. Asıl karar, komutu neye uyguladığınızdır. Karantina işaretini temizlemek, Gatekeeper'ın uygulamayı denetlemesini durduran şeyin ta kendisidir; bu yüzden komutu yalnızca gerçekten güvendiğiniz bir kaynaktan gelen yazılımlarda kullanın.
Her güncelleme sonrası bunu tekrar yapmam gerekiyor mu? Yalnızca imzasız uygulamalar için. macOS her yeni indirmeye yeni bir karantina özelliği ekler, dolayısıyla imzasız bir uygulamada komutu her güncellemeden sonra tekrar çalıştırmanız gerekir. Düzgün imzalanmış ve notarize edilmiş uygulamalarda — OpenGnothia'nın güncel sürümleri dahil — buna hiç gerek yoktur.
Windows veya Linux'ta da bu sorun oluşur mu? Hayır, bu uyarı macOS'a özgü Gatekeeper mekanizmasından kaynaklanır. Windows'ta SmartScreen benzer bir işlev görür, ancak farklı bir uyarı ve kendi "Yine de çalıştır" seçeneğiyle gelir. Linux'ta ise varsayılan olarak buna denk bir mekanizma bulunmaz.
