α’αααααααΆαααααΆαααααΈααΆαααα·ααααΆααα Cambridge ααΆαααααα»αααααααΆααα αα ααααααα½ααααααΆααααΆααααα αΌαααΌαααααΆααΆαααααααααααααΆαααα αααα»ααααααααΌααααααΆααα·αα·αααααααα·ααααααααα·α αα·ααΈααΆαααααααΆααααα αΆααααααΆααααα α (CVE-2021-42574) ααααΌαααΆααααα αΆααααααααααα Trojan Source α αΎαααα’ααααΎααΆααααααΎαα’ααααααααααΎααα αα»αααααΆαααααΆααα’αααα ααααα/α’ααααααααα αα·αα’ααααααααΎαααΌαα α§ααΆα ααααααα·ααΈααΆαααααααααΌαααΆααααα αΆααααααΆααα’αααα ααααα αα·αα’αααααααααααααααααααααααααααααααααΆαα C, C++ (gcc αα·α clang), C#, JavaScript (Node.js), Java (OpenJDK 16), Rust, Go αα·α Python α
αα·ααΈααΆαααααααΊααα’ααααΎααΆαααααΎααααΆαααα½α’ααααααΌααΈααΌααα·ααααα αααα»αααα·αααααααΌααααααααΆααααααΌαααααΆαααααα αΆαααα’ααααααααααα·αα αααααΆααααα½αααΈαα½α’αααααααααΆαααααα αααααααααααα’αααααα’αΆα ααααΌαααΆααααα αΆαααΈααααααα ααααΆα α ααααααααααα - ααΈααααΆααα αααααα αα αααα»αααΆαα’αα»αααααααα αΆααααα αα½α’αααααααα½ααα·αα·αααααααααα’αΆα ααααΌαααΆαααααΎ α§ααΆα ααα ααΎααααΈαααα αΌααααααΆααααΌαααΆααΆααΆα αααααΎα α¬ααΆααΆα’αΆαααΆαααα αααα»αα―αααΆαα ααα»ααααααααα·αααΎα’ααααααα αΌαααααΆααΌααααααΆαααααααΆααα·ααα α’αααααααααααααααΆαααα»ααααααΆαααα½α αααααααΎαα½α’αααααααααΆααααααΆαα α’αααααααααααα αΆαααΈααααΆααα αααααα’αΆα αααα½αααΎααααΆααΎα’αααααααααααΆαααααΆαααααΆααααααααα αΆαααΈααααααα ααααΆαα
αααααααΎαα·ααΈααΆαααααααα α’αααα’αΆα ααααααααΆαααααΆαααΆααααΆααΆααα ααΌα ααα»αααααααααΆααααααααΎα±ααα’αααααααΆαα½αααΉαααααααααααΎααα·αααΎααα αααααΎαααΌα ααααααααααα αααα»αααα·αααααααΆαααααα α¬αα ααΆααααα»ααα½α’ααααααααααα αΆαααΈααααΆααα ααααα αααααΉαααΆααα αααααΆαααααα»αα αα½α’αααααααααααααΆααααΌαααΆαααΆααααΎααΆααααα αΌαααααΆααΆαα ααΌαααααααααΉααα ααααααΉαααααΌαααΆααααααα ααα»ααααααΉαααααΌαααΆαααααααΆα αα·ααααα αΆααα»αααααΆα
αα ααααα·αα·αααααΎαααΌα α’αααα’αα·ααααααααΉαααααΌαααααααα»αααΉαααααΆαααααααΎαααΎααααα½α’αααα α αΎαααΉαααΎαααα·αααααααααα·ααα½αα±αααααααααα αααα»ααααααα·ααΈαα·ααααα’αααααααααΎα α ααα»α αααααΆααααα ααααα α¬ IDE ααα»ααααα’αααα ααααα αα·αα’αααααααααααΉαααααΎααααΆααα‘αΌααΈαααααα½α’αααα α αΎαααΉα ααααΎαααΆαβααΆαβαααα αΌαβααααΆααΆαβααΌα βαααβααΆαβαααβαα·αβααΆαβααβα α·αααβαα»αβααΆααβα ααααβα’αααααβααΈαβαα·αβαααα»αβααα·αααααα αααα αΆααααααααΆααααααααααα·ααΈααααΌαααααααα·ααααΆα αααΎα (VS Code, Emacs, Atom) ααααΌα ααΆα ααα»α αααααΆαααααααΆααααΎαααΌααα αααα»αααααΆαα (GitHub, Gitlab, BitBucket αα·αααα·ααα Atlassian ααΆααα’αα)α
ααΆααα·ααΈααΆα αααΎααααα»αααΆαααααΎαα·ααΈααΆαααααααΎααααΈα’αα»αααααααααααΆαααααΆααΆαα ααΆααααααααααααα "αααα‘αα" αααααΆαα αααααΆααα αααααΆααααα αααα»αααΆααα»ααααααααΆα ααΆααααα ααααα·αααααΆααααααΆα’αΆα ααΎαααΎαααΆααΆααΆαααΆααααααααΉαααααΌα (α§ααΆα ααα ααΎααααΈαα·αααΆααααα½ααα·αα·αααααααΆααα); ααααααααααααααα’αααααααααααααααααΆααα αααααΆααααΆααααααα»ααα»ααααΆαααααα’ααααα
α§ααΆα ααα α’αααααΆααααα αΆαα’αΆα ααααΎααΆαααααΆααααααΌαααααα½ααααα αΌααααααΆααα if access_level != "α’αααααααΎααααΆαα{U+202E} {U+2066}// αα·αα·αααααΎαααΆααΎα’αααααααααααα{U+2069} {U+2066}" {
αααααΉαααααΌαααΆααααα αΆααα αααα»αα ααα»α αααααΆαααα·αα·αααα‘αΎααα·αααΌα ααΆααααα·αααΎ access_level != "α’αααααααΎααααΆαα" { // αα·αα·αααααΎαααΆααΎα’αααααααααααα
ααΎαααΈααα αααΆααααααααααΆαααΆααααα αΆααα½αααααααααααααΌαααΆαααααΎα‘αΎα (CVE-2021-42694) αααααΆααααααΉαααΆαααααΎααααΆααααΆααα homoglyphs αα½α’αααααααααΆαααααααααααααααααΆ ααα»ααααααΆαα’αααααααα»ααααααΆ αα·αααΆααααααΌαααΌααΈααΌαααααααααααΆ (α§ααΆα ααα αα½α’αααα βΙβ ααααααααΉα β a", "Ι‘" - "g", "Ι©" - "l") α αα½α’ααααααααααααααΆα’αΆα ααααΌαααΆαααααΎααΆααΆααΆαα½αα ααα½ααα αααα»αααααααα»αααΆα αα·αα’αααααΎααααΈααααΆααα’αααα’αα·ααααααα α§ααΆα ααα αα»αααΆαααΈααααααΆαααααααα·αα’αΆα αααα ααααΆαα’αΆα ααααΌαααΆαααααααααα’αα»αααααααααααΆααααααααααΆα ααΎααααΆαααΆααα·ααΆααααα’α·ααα ααΆαα·αα αααΆααααααΆααααΆααΎαα»αααΆαααΆααααΈαααααα½αααΆααααΌαααΆαα α αα ααααααααΆααααΆαααα½αα
ααΆαα·ααΆαααΆααα»ααααα·ααΆα ααΆααααΌαααΆαααααΆαα±ααα’αααα ααααα α’ααααααααα αα·αα§ααααααααα»ααααααΆαααααα½α’ααααααΌααΈααΌααααα αΆαααα α»α α¬ααΆααααααΆαααααα·αααΎααΆααα½α’αααααααααααααααααα·αααααΌαααααα αααα»αααα·ααααα α’ααααα’αααα α¬α§αααααααααααααααααΆααααααΌααα·ααα αααααααα (U+202A, U+202B, U +202C, U+202D, U+202E, U+2066, U+2067, U+2068, U+2069, U+061C, U+200E αα·α U+200F)α αα½α’αααααααααααααα½αααααααΌαααΆαα αΆαααΆαααααΆαα αααΆααααΆαααα αααα»αααΆααααααααΆααΆααααααααααα·ααΈ α αΎααα½αααααααΌαααΆααααααα αααα»ααααααα·ααΈαα·ααααααΌα αα·αα ααα»α αααααΆααααααΆααα
α§αααααααααααΈ 1α ααααααΆαααΆααααααααααααΌαααΆααααα ααααααΆαα GCC, LLVM/Clang, Rust, Go, Python αα·α binutils α GitHub, Bitbucket αα·α Jira ααααΆααααααααΆααααα αΆααααααααα ααΆααα½ααα»ααααααΆαα GitLab αααα»αααααΎαααΆαα ααΎααααΈαααααα’ααααααααΆαααΌααααααΆααααα αΆ ααΆααααΌαααΆαααααΎα±ααααααΎααΆααααααααΆα grep -r $'[\u061C\u200E\u200F\u202A\u202B\u202C\u202D\u202E\u2066\u2067\u2068\u2069/'] ααααα
α§αααααααααααΈ 2α Russ Cox αααααΆα’ααααααααΎα Plan 9 OS αα·αααΆααΆαααααα·ααΈ Go ααΆααα·ααααααΆαααα α·ααααα»αααΆααα α½αα ααα»α αααααα·ααΈααΆαααααααΆααααα αΆααααααΆααα·αααααΆ αααααααΌαααΆαααααααΆααααΆααΌαααα αΎα (Go, Rust, C++, Ruby) α αΎααα·αααααΌαααΆαααααα α·ααααα»αααΆααααααΆαααααααα . αααααΆαααα Cox αααα αΆα ααααααΆααααααΉαααΆααααα αΆαααααΉαααααΌαααααααααΆααα αααα»ααααααα·ααΈαα·ααααααΌα αα·αα ααα»α αααααΆααααα ααααα αααα’αΆα αααααααΆαααΆααααααααΎα§αααααααααΉαααααΌα αα·αα§ααααααα·ααΆαααΌαα’αα‘α»αααααα·αα·αααα ααΌα αααα αααα½αα±ααααΆαααΆααααΆαααΆαααα α·ααααα»αααΆααα ααααααΆαααΆααααα αΆαααΆαααΆααααΆααααααΆα ααΆααΆααΆαααααααααΆααααα»αααΆααααααααΎααΆααααααα’ααααΎαααΆααα·αα·αααααΌα αα·αααΆαααΉαααα’ααα
Ras Cox ααααΏααΆα’αααα
ααααααα·ααααααΆααααααααααΉαααααΌαααΎααααΈαααααααΆααααα αΆααααα ααααααααααΆαα αΆαααΆαααα·αα·ααααααααΆαααααααααΆαααα
ααααα·αα’αααα
ααααα ααΆαα
ααΆααααααΆααααααααα§ααααααααααΆαααααΎααααΆαααα·αα·ααααααααΆααΆααααααα
ααα’αΆα
ααα½αααααΆα ααΌα
ααΆααααααααααΆαααα α§αααααααα‘αΎαααΆααΎαα αααααα·ααΈααααααααααααα
αα αα·αα§ααααααααααΆαααααααα
ααΆαααααααααααααα αα·ααα·ααααααα ααΆα§ααΆα ααα αααααα Rust ααααΌαααΆααααααα±αα αααα αΆαααΆααααααΎαααΆαααααΌα LTR/RTL αα
αααα»ααααααα·ααΈα
ααααα ααα»αααααα·αααΆαααααααααΆααα½ααα»ααα
ααΆαααααααα·ααΈααααααααααααα
αααααα·α αααα’αα»ααααΆαα±ααααΆαααΆαααΆααααα αΆαααααααααααΆααΆααααα―αααΆα Cargo.toml α ααΌα
ααααΆααα α―αααΆαααΌα
ααΆ BUILD.bazel, CMakefile, Cargo.toml, Dockerfile, GNUmakefile, Makefile, go.mod, package.json, pom.xml αα·α require.txt α’αΆα
ααααΆαααΆαααααααααΆαααΆααααα αΆαα
ααααα: opennet.ru