“Trojan Kaynak” olarak adlandırılan yeni bir saldırı türü, kaynak kodunun kötü niyetli bir şekilde kodlanarak derleyiciye ve insan gözüne farklı görünmesini sağlıyor. Bu saldırı, Unicode gibi metin kodlama standartlarındaki incelikleri istismar ederek, belirteçlerin (token) mantıksal olarak görüntülendikleri sıradan farklı bir sırada kodlandığı kaynak kodları üretiyor. Bu durum, insan kod inceleyicileri tarafından doğrudan algılanamayan güvenlik açıklarına yol açıyor.
Trojan Kaynak saldırıları, hem birinci taraf yazılımlar hem de tedarik zinciri genelinde endüstri için acil bir tehdit oluşturmaktadır. Araştırmacılar, C, C++, C#, JavaScript, Java, Rust, Go, Python, SQL, Bash, Assembly ve Solidity gibi birçok programlama dilinde çalışan Trojan Kaynak saldırı örnekleri sunmuştur. Bu geniş çaplı etki, saldırının ne kadar yaygın ve tehlikeli olabileceğini gözler önüne sermektedir.
Makale, bu tür saldırıları engellemek için kesin derleyici (compiler) düzeyinde savunmalar önermektedir. Ayrıca, derleyiciler bu saldırıyı engelleyecek şekilde güncellenirken, editörlerde, depolarda (repository) ve derleme süreçlerinde (build pipeline) uygulanabilecek diğer hafifletici kontrolleri de açıklamaktadır. Bu güvenlik açıkları için endüstri çapında koordineli bir açıklama yapıldığı ve çoğu derleyici, editör ve depoyu etkilediği belirtilmiştir. Bu süreç, farklı firmaların, açık kaynak topluluklarının ve diğer paydaşların güvenlik açığı açıklamalarına nasıl tepki verdiğini de göstermektedir.
Kaynak kodlarının insan gözüyle derleyiciye farklı görünmesini sağlayan bu yeni saldırı türü, yazılım güvenliği ve tedarik zinciri bütünlüğü için ciddi riskler barındırıyor.