เมื่อกลางปีที่ผ่านมามีรายงานการโจมตี CVE-2021-42574 ที่อาศัยอักขระ Unicode สำหรับการพิมพ์จากขวาไปซ้าย ทำให้ตัวแก้ไขโค้ดแสดงอักขระกลับข้างเปิดทางให้คนร้ายอาจจะซ่อนโค้ดเอาไว้ภายในซอร์สโค้ดเอง โดยที่โปรแกรมเมอร์มองไม่เห็นซอร์สโค้ดนั้น
ปัญหานี้ไม่ใช่ปัญหาของภาษาโปรแกรมมิ่งโดยตรง แต่วันนี้ทาง Rust ก็ออกมาประกาศว่าจะป้องกันปัญหานี้ด้วยการเพิ่มกฎตรวจสอบโค้ด (lint) เข้าไปใน rustc ทำให้โค้ดที่มีอักขระ Unicode เหล่านี้คอมไพล์ไม่ผ่าน หากต้องการใช้งานจริงๆ ต้อง escape ตัวอักขระเสียก่อน
Rust เป็นภาษาโปรแกรมมิ่งที่มีแนวทางควบคุมให้โปรแกรมเมอร์มีสุขลักษณะการเขียนโค้ดที่ดีโดยเปิดกฎการตรวจสอบไว้เป็นค่ามาตรฐาน หากโปรแกรมเมอร์ไม่แก้ไขหรือขอยกเว้นคำเตือนบางจุดโดยเฉพาะก็จะแจ้งเตือนเป็นมาตรฐานโดยไม่ต้องเปิดออปชั่นเพิ่มเติม หรือบางกรณีก็คอมไพล์ไม่ผ่านไปเลย
ทาง Rust ตรวจสอบแพ็กเกจที่เผยแพร่ผ่าน crates.io พบว่ามีแพ็กเกจเพียง 5 ตัวที่มีอักขระที่เข้าข่าย และทุกแพ็กเกจไม่ได้ใส่อักขณะเพื่อมุ่งร้ายแต่อย่างใด และกฎการตรวจสอบโค้ดจะเพิ่มใน Rust 1.56.1 ที่เปิดให้ดาวน์โหลดวันนี้
ที่มา - Rust