เจกเจฟเจตเฉˆเจฒเจชเจฐ เจฒเจˆ เจ…เจฆเจฟเฉฑเจ– เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจฌเจฆเจฒเจพเจ… เจชเฉ‡เจธเจผ เจ•เจฐเจจ เจฒเจˆ เจŸเจฐเฉ‹เจœเจจ เจธเจฐเฉ‹เจค เจนเจฎเจฒเจพ

เจ•เฉˆเจฎเจฌเฉเจฐเจฟเจœ เจฏเฉ‚เจจเฉ€เจตเจฐเจธเจฟเจŸเฉ€ เจฆเฉ‡ เจ–เฉ‹เจœเจ•เจฐเจคเจพเจตเจพเจ‚ เจจเฉ‡ เจชเฉ€เจ…เจฐ-เจธเจฎเฉ€เจ–เจฟเจ† เจ•เฉ€เจคเฉ‡ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจ–เจคเจฐเจจเจพเจ• เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจšเฉเฉฑเจชเจšเจพเจช เจชเจพเจ‰เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจคเจ•เจจเฉ€เจ• เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เฉ€เจคเฉ€ เจนเฉˆเฅค เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€ เจนเจฎเจฒเจพ เจตเจฟเจงเฉ€ (CVE-2021-42574) เจจเฉ‚เฉฐ เจŸเจฐเฉ‹เจœเจจ เจธเฉ‹เจฐเจธ เจจเจพเจฎ เจนเฉ‡เจ  เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน เจŸเฉˆเจ•เจธเจŸ เจฆเฉ‡ เจ—เจ เจจ 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจนเฉˆ เจœเฉ‹ เจ•เฉฐเจชเจพเจˆเจฒเจฐ/เจฆเฉเจญเจพเจธเจผเฉ€เจ เจ…เจคเฉ‡ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฃ เจตเจพเจฒเฉ‡ เจตเจฟเจ…เจ•เจคเฉ€ เจฒเจˆ เจตเฉฑเจ–เจฐเจพ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจตเจฟเจงเฉ€ เจฆเฉ€เจ†เจ‚ เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ C, C++ (gcc เจ…เจคเฉ‡ clang), C#, JavaScript (Node.js), Java (OpenJDK 16), Rust, Go เจ…เจคเฉ‡ Python เจฒเจˆ เจธเจชเจฒเจพเจˆ เจ•เฉ€เจคเฉ‡ เจ—เจ เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจ…เจคเฉ‡ เจฆเฉเจญเจพเจธเจผเฉ€เจ เจฒเจˆ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจนเจจเฅค

เจตเจฟเจงเฉ€ เจ•เฉ‹เจก เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจตเจฟเจธเจผเฉ‡เจธเจผ เจฏเฉ‚เจจเฉ€เจ•เฉ‹เจก เจ…เฉฑเจ–เจฐเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจนเฉˆ เจœเฉ‹ เจฆเฉ‹-เจฆเจฟเจธเจผเจพเจตเฉ€ เจŸเฉˆเจ•เจธเจŸ เจฆเฉ‡ เจกเจฟเจธเจชเจฒเฉ‡ เจ•เฉเจฐเจฎ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ…เจœเจฟเจนเฉ‡ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจ…เฉฑเจ–เจฐเจพเจ‚ เจฆเฉ€ เจฎเจฆเจฆ เจจเจพเจฒ, เจŸเฉˆเจ•เจธเจŸ เจฆเฉ‡ เจ•เฉเจ เจนเจฟเฉฑเจธเฉ‡ เจ–เฉฑเจฌเฉ‡ เจคเฉ‹เจ‚ เจธเฉฑเจœเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เฉ€เจคเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจ, เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจฆเฉ‚เจœเฉ‡ - เจธเฉฑเจœเฉ‡ เจคเฉ‹เจ‚ เจ–เฉฑเจฌเฉ‡เฅค เจฐเฉ‹เจœเจผเจพเจจเจพ เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš, เจ…เจœเจฟเจนเฉ‡ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจ…เฉฑเจ–เจฐ เจตเจฐเจคเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจนเจฟเจฌเจฐเฉ‚ เจœเจพเจ‚ เจ…เจฐเจฌเฉ€ เจตเจฟเฉฑเจš เจ•เฉ‹เจก เจฒเจพเจˆเจจเจพเจ‚ เจชเจพเจ‰เจฃ เจฒเจˆเฅค เจชเจฐ เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจฒเจพเจˆเจจ เจตเจฟเฉฑเจš เจตเฉฑเจ–-เจตเฉฑเจ– เจŸเฉˆเจ•เจธเจŸ เจฆเจฟเจธเจผเจพเจตเจพเจ‚ เจจเจพเจฒ เจฒเจพเจˆเจจเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฆเฉ‡ เจนเฉ‹, เจจเจฟเจฐเจงเจพเจฐเจค เจ…เฉฑเจ–เจฐเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจธเฉฑเจœเฉ‡ เจคเฉ‹เจ‚ เจ–เฉฑเจฌเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจŸเฉˆเจ•เจธเจŸ เจฆเฉ‡ เจ…เฉฐเจธเจผ เจ–เฉฑเจฌเฉ‡ เจคเฉ‹เจ‚ เจธเฉฑเจœเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจฎเฉŒเจœเฉ‚เจฆเจพ เจจเจฟเจฏเจฎเจค เจŸเฉˆเจ•เจธเจŸ เจจเฉ‚เฉฐ เจ“เจตเจฐเจฒเฉˆเจช เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจเฅค

เจ‡เจธ เจตเจฟเจงเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจคเฉเจธเฉ€เจ‚ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ–เจคเจฐเจจเจพเจ• เจ•เฉฐเจธเจŸเฉเจฐเจ•เจธเจผเจจ เจธเจผเจพเจฎเจฒ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจชเจฐ เจซเจฟเจฐ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจ‡เจธ เจฐเจšเจจเจพ เจฆเฉ‡ เจจเจพเจฒ เจŸเฉˆเจ•เจธเจŸ เจจเฉ‚เฉฐ เจ…เจฆเจฟเฉฑเจ– เจฌเจฃเจพเจ‰, เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจŸเจฟเฉฑเจชเจฃเฉ€ เจตเจฟเฉฑเจš เจœเจพเจ‚ เจธเฉฑเจœเฉ‡ เจคเฉ‹เจ‚ เจ–เฉฑเจฌเฉ‡ เจฆเจฟเจ–เจพเจ เจ—เจ เจ…เฉฑเจ–เจฐ เจ…เฉฑเจ–เจฐเจพเจ‚ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจœเฉ‹เฉœ เจ•เฉ‡, เจœเฉ‹ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจจเจพเจฒ เจ–เจคเจฐเจจเจพเจ• เจธเฉฐเจฎเจฟเจฒเจจ 'เจคเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจ…เฉฑเจ–เจฐ เจฒเจ—เจพเจ เจœเจพ เจฐเจนเฉ‡ เจนเจจเฅค เจ…เจœเจฟเจนเจพ เจ•เฉ‹เจก เจ…เจฐเจฅ เจชเฉฑเจ–เฉ‹เจ‚ เจธเจนเฉ€ เจฐเจนเฉ‡เจ—เจพ, เจชเจฐ เจตเจฟเจ†เจ–เจฟเจ† เจ•เฉ€เจคเฉ€ เจœเจพเจตเฉ‡เจ—เฉ€ เจ…เจคเฉ‡ เจตเฉฑเจ–เจฐเฉ‡ เจขเฉฐเจ— เจจเจพเจฒ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เฉ€เจคเฉ€ เจœเจพเจตเฉ‡เจ—เฉ€เฅค

เจกเจฟเจตเฉˆเจฒเจชเจฐ เจฒเจˆ เจ…เจฆเจฟเฉฑเจ– เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจฌเจฆเจฒเจพเจ… เจชเฉ‡เจธเจผ เจ•เจฐเจจ เจฒเจˆ เจŸเจฐเฉ‹เจœเจจ เจธเจฐเฉ‹เจค เจนเจฎเจฒเจพ

เจ•เฉ‹เจก เจฆเฉ€ เจธเจฎเฉ€เจ–เจฟเจ† เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจ‡เฉฑเจ• เจกเจฟเจตเฉˆเจฒเจชเจฐ เจจเฉ‚เฉฐ เจ…เฉฑเจ–เจฐเจพเจ‚ เจฆเฉ‡ เจตเจฟเจœเจผเฉ‚เจ…เจฒ เจ†เจฐเจกเจฐ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจ†เจงเฉเจจเจฟเจ• เจŸเฉˆเจ•เจธเจŸ เจเจกเฉ€เจŸเจฐ, เจตเฉˆเจฌ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจœเจพเจ‚ IDE เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ—เฉˆเจฐ-เจธเจผเฉฑเจ•เฉ€ เจŸเจฟเฉฑเจชเจฃเฉ€ เจฆเฉ‡เจ–เจฃ เจจเฉ‚เฉฐ เจฎเจฟเจฒเฉ‡เจ—เจพ, เจชเจฐ เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจ…เจคเฉ‡ เจฆเฉเจญเจพเจธเจผเฉ€เจ เจ…เฉฑเจ–เจฐเจพเจ‚ เจฆเฉ‡ เจคเจฐเจ• เจ•เฉเจฐเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจ—เฉ‡ เจ…เจคเฉ‡ เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจฆเฉ‹-เจฆเจฟเจธเจผเจพเจตเฉ€ เจŸเฉˆเจ•เจธเจŸ เจตเฉฑเจฒ เจงเจฟเจ†เจจ เจฆเจฟเฉฑเจคเฉ‡ เจฌเจฟเจจเจพเจ‚, เจ–เจคเจฐเจจเจพเจ• เจธเฉฐเจฎเจฟเจฒเจจ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเฉ‹เฅค เจธเจฎเฉฑเจธเจฟเจ† เจตเฉฑเจ–-เจตเฉฑเจ– เจชเฉเจฐเจธเจฟเฉฑเจง เจ•เฉ‹เจก เจธเฉฐเจชเจพเจฆเจ•เจพเจ‚ (VS เจ•เฉ‹เจก, Emacs, Atom), เจ…เจคเฉ‡ เจจเจพเจฒ เจนเฉ€ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€เจ†เจ‚ (GitHub, Gitlab, BitBucket เจ…เจคเฉ‡ เจธเจพเจฐเฉ‡ Atlassian เจ‰เจคเจชเจพเจฆ) เจตเจฟเฉฑเจš เจ•เฉ‹เจก เจฆเฉ‡เจ–เจฃ เจฒเจˆ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจญเจพเจตเจฟเจค เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค

เจกเจฟเจตเฉˆเจฒเจชเจฐ เจฒเจˆ เจ…เจฆเจฟเฉฑเจ– เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจฌเจฆเจฒเจพเจ… เจชเฉ‡เจธเจผ เจ•เจฐเจจ เจฒเจˆ เจŸเจฐเฉ‹เจœเจจ เจธเจฐเฉ‹เจค เจนเจฎเจฒเจพ

เจ–เจคเจฐเจจเจพเจ• เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจตเจฟเจงเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ‡ เจ•เจˆ เจคเจฐเฉ€เจ•เฉ‡ เจนเจจ: เจ‡เฉฑเจ• เจฒเฉเจ•เจตเฉ‡เจ‚ "เจตเจพเจชเจธเฉ€" เจธเจฎเฉ€เจ•เจฐเจจ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจเจพ, เจœเฉ‹ เจธเจฎเฉ‡เจ‚ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจตเฉฑเจฒ เจฒเฉˆ เจœเจพเจ‚เจฆเจพ เจนเฉˆ; เจธเจฎเฉ€เจ•เจฐเจจเจพเจ‚ 'เจคเฉ‡ เจŸเจฟเฉฑเจชเจฃเฉ€ เจ•เจฐเจจเจพ เจœเฉ‹ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเฉˆเจง เจจเจฟเจฐเจฎเจพเจฃ เจตเจœเฉ‹เจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจœเจพเจ‚เจšเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ); เจนเฉ‹เจฐ เจธเจคเจฐ เจฎเฉเฉฑเจฒ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจเจพ เจœเฉ‹ เจธเจŸเฉเจฐเจฟเฉฐเจ— เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพ เจ…เจธเจซเจฒเจคเจพเจตเจพเจ‚ เจตเฉฑเจฒ เจฒเฉˆ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจนเจฎเจฒเจพเจตเจฐ เจ‡เฉฑเจ• เจคเจฌเจฆเฉ€เจฒเฉ€ เจฆเจพ เจชเฉเจฐเจธเจคเจพเจต เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจฒเจพเจˆเจจ เจธเจผเจพเจฎเจฒ เจนเฉˆ: if access_level != "user{U+202E} {U+2066}// เจœเจพเจ‚เจš เจ•เจฐเฉ‹ เจ•เจฟ เจ•เฉ€ เจชเฉเจฐเจธเจผเจพเจธเจ•{U+2069} {U+2066}" {

เจœเฉ‹ เจ•เจฟ เจธเจฎเฉ€เจ–เจฟเจ† เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจตเจฟเฉฑเจš เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ access_level != โ€œเจ‰เจชเจญเฉ‹เจ—เจคเจพโ€ { // เจœเจพเจ‚เจš เจ•เจฐเฉ‹ เจ•เจฟ เจ•เฉ€ เจชเฉเจฐเจธเจผเจพเจธเจ•

เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจนเจฎเจฒเจพเจตเจฐ เจฐเฉ‚เจช (CVE-2021-42694) เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจนเฉ‹เจฎเฉ‹เจ—เจฒเจฟเจซเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเจพเจฒ เจœเฉเฉœเจฟเจ† เจนเฉ‹เจ‡เจ† เจนเฉˆ, เจ…เฉฑเจ–เจฐ เจœเฉ‹ เจฆเจฟเฉฑเจ– เจตเจฟเฉฑเจš เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเฉ‡ เจนเจจ, เจชเจฐ เจ…เจฐเจฅ เจตเจฟเฉฑเจš เจตเฉฑเจ–เจฐเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจตเฉฑเจ–เฉ‹ เจตเฉฑเจ–เจฐเฉ‡ เจฏเฉ‚เจจเฉ€เจ•เฉ‹เจก เจ•เฉ‹เจก เจนเจจ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ…เฉฑเจ–เจฐ โ€œษ‘โ€ เจตเจฐเจ—เจพ เจนเฉˆเฅค 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: เจฐเฉฑเจธ เจ•เฉ‹เจ•เจธ, เจชเจฒเฉˆเจจ 9 เจ“เจเจธ เจ…เจคเฉ‡ เจ—เฉ‹ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจฆเฉ‡ เจตเจฟเจ•เจพเจธเจ•เจพเจฐเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ•, เจจเฉ‡ เจตเจฐเจฃเจฟเจค เจนเจฎเจฒเจพ เจตเจฟเจงเฉ€ เจตเฉฑเจฒ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฆเฉ€ เจ†เจฒเฉ‹เจšเจจเจพ เจ•เฉ€เจคเฉ€, เจœเฉ‹ เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจคเฉ‹เจ‚ เจœเจพเจฃเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ (เจ—เฉ‹, เจฐเจธเจŸ, เจธเฉ€++, เจฐเฉ‚เจฌเฉ€) เจ…เจคเฉ‡ เจ‡เจธ เจจเฉ‚เฉฐ เจ—เฉฐเจญเฉ€เจฐเจคเจพ เจจเจพเจฒ เจจเจนเฉ€เจ‚ เจฒเจฟเจ† เจ—เจฟเจ† เจธเฉ€เฅค . เจ•เฉŒเจ•เจธ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจธเจฎเฉฑเจธเจฟเจ† เจฎเฉเฉฑเจ– เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เฉ‹เจก เจเจกเฉ€เจŸเจฐเจพเจ‚ เจ…เจคเฉ‡ เจตเฉˆเจฌ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธเจพเจ‚ เจตเจฟเฉฑเจš เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเฉ‡ เจธเจนเฉ€ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉˆ, เจœเจฟเจธ เจจเฉ‚เฉฐ เจธเจฎเฉ€เจ–เจฟเจ† เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ เจธเจนเฉ€ เจŸเฉ‚เจฒเจธ เจ…เจคเฉ‡ เจ•เฉ‹เจก เจเจจเจพเจฒเจพเจˆเจœเจผเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจนเฉฑเจฒ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจฒเจˆ, เจธเฉฑเจŸเฉ‡เจฌเจพเจœเจผเฉ€ เจฆเฉ‡ เจนเจฎเจฒเจฟเจ†เจ‚ เจตเฉฑเจฒ เจงเจฟเจ†เจจ เจ–เจฟเฉฑเจšเจฃ เจฆเฉ€ เจฌเจœเจพเจ, เจ•เฉ‹เจก เจ…เจคเฉ‡ เจจเจฟเจฐเจญเจฐเจคเจพ เจธเจฎเฉ€เจ–เจฟเจ† เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฟเจนเจคเจฐ เจฌเจฃเจพเจ‰เจฃ 'เจคเฉ‡ เจงเจฟเจ†เจจ เจ•เฉ‡เจ‚เจฆเจฐเจฟเจค เจ•เจฐเจจเจพ เจตเจงเฉ‡เจฐเฉ‡ เจ‰เจšเจฟเจค เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

เจฐเจพเจธ เจ•เจพเจ•เจธ เจ‡เจน เจตเฉ€ เจฎเฉฐเจจเจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ เจธเจนเฉ€ เจœเจ—เฉเจนเจพ เจจเจนเฉ€เจ‚ เจนเจจ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจ–เจคเจฐเจจเจพเจ• เจšเจฟเฉฐเจจเฉเจนเจพเจ‚ 'เจคเฉ‡ เจชเจพเจฌเฉฐเจฆเฉ€ เจฒเจ—เจพเจ‰เจฃ เจจเจพเจฒ, เจธเจพเจงเจจเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจตเฉฑเจกเฉ€ เจชเจฐเจค เจฐเจนเจฟเฉฐเจฆเฉ€ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‡เจนเจจเจพเจ‚ เจšเจฟเฉฐเจจเฉเจนเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจธเจตเฉ€เจ•เจพเจฐเจฏเฉ‹เจ— เจฐเจนเจฟเฉฐเจฆเฉ€ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฌเจฟเจฒเจก เจธเจฟเจธเจŸเจฎ, เจ…เจธเฉˆเจ‚เจฌเจฒเจฐ, เจชเฉˆเจ•เฉ‡เจœ เจฎเฉˆเจจเฉ‡เจœเจฐ เจ…เจคเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจธเฉฐเจฐเจšเจจเจพ เจชเจพเจฐเจธเจฐ เจ…เจคเฉ‡ เจกเฉ‡เจŸเจพเฅค เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡, Rust เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเจฟเจธ เจจเฉ‡ เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจตเจฟเฉฑเจš LTR/RTL เจ•เฉ‹เจก เจฆเฉ€ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจฆเฉ€ เจฎเจจเจพเจนเฉ€ เจ•เฉ€เจคเฉ€ เจนเฉˆ, เจชเจฐ เจ•เจพเจฐเจ—เฉ‹ เจชเฉˆเจ•เฉ‡เจœ เจฎเฉˆเจจเฉ‡เจœเจฐ เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจซเจฟเจ•เจธ เจจเจนเฉ€เจ‚ เจœเฉ‹เฉœเจฟเจ†, เจœเฉ‹ Cargo.toml เจซเจพเจˆเจฒ เจฆเฉเจ†เจฐเจพ เจ‡เฉฑเจ• เจธเจฎเจพเจจ เจนเจฎเจฒเฉ‡ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚, BUILD.bazel, CMakefile, Cargo.toml, Dockerfile, GNUmakefile, Makefile, go.mod, package.json, pom.xml เจ…เจคเฉ‡ requirements.txt เจตเจฐเจ—เฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจนเจฎเจฒเจฟเจ†เจ‚ เจฆเจพ เจธเจฐเฉ‹เจค เจฌเจฃ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจเฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹