Für den Diff-View in Github mag das stimmen. VSCode z.B. markiert „komische” Zeichen und fragt, ob man nicht das viel gängigere Zeichen gemeint hat.
Werden diese Symbole von einem böswilligen Akteur im Code vertauscht, so ist im Diff auf Github zwar eine Codeänderung erkennbar, jedoch sieht das Ergebnis fast identisch aus. Entwickler könnten daher fälschlicherweise zu der Annahme gelangen, es handle sich um einen Fehler im Diff-Viewer, und die Codeänderung ignorieren.
nicht nur das, die Änderung ließe sich ja auch plausibel “verstecken” indem in der selben Zeile auch noch etwas anderes verändert wird.
Die wenigsten Entwickler dürften die Unterschiede zwischen bestimmten Unicode-Zeichen zuverlässig erkennen. Gerade auf Github ist das ein Problem.
Der Unicode-Standard umfasst eine enorme Vielfalt an Zeichen. Einige davon gleichen sich nahezu vollständig. Inwiefern dies insbesondere bei auf Github gehosteten Softwareprojekten zum Problem werden kann, veranschaulicht der Curl-Entwickler Daniel Stenberg in einem neuen Blogbeitrag. Demnach lassen sich etwa im Code hinterlegte URLs manipulieren, ohne dass Entwickler dies erkennen.
Stenberg demonstriert das Problem am Beispiel der je nach Schriftart nahezu identisch aussehenden Zeichen g und ց. Während es sich bei dem ersten um den Kleinbuchstaben zum auch in der deutschen Sprache gängigen G handelt, ist das zweite Symbol ein armenisches kleines Co (Großbuchstabe: Ց).
Werden diese Symbole von einem böswilligen Akteur im Code vertauscht, so ist im Diff auf Github zwar eine Codeänderung erkennbar, jedoch sieht das Ergebnis fast identisch aus. Entwickler könnten daher fälschlicherweise zu der Annahme gelangen, es handle sich um einen Fehler im Diff-Viewer, und die Codeänderung ignorieren. Die Folgen können jedoch verheerend sein, etwa wenn die eigene Software plötzlich mit einer vom Angreifer kontrollierten Domain kommuniziert.