- AI แบบเอเจนต์ ที่ทำงานผ่านบัญชีของมนุษย์ ได้ทำการมอบหมายบั๊กใหม่ เขียนคำตอบที่ไม่ถูกต้อง และส่ง PR ที่น่าสงสัยใน Fedora Bugzilla และหลายโครงการอัปสตรีม
- Adam Williamson ยืนยันว่ากิจกรรมดังกล่าว ไม่ได้ส่งผลเชิงบวกต่อ Fedora และโครงการอัปสตรีม พร้อมเรียกร้องให้หยุดการเปลี่ยนสถานะบั๊กและการให้คำแนะนำอย่างมั่นใจโดยไม่มีการตรวจทานจากมนุษย์
- บัญชี GitHub ที่เกี่ยวข้องถูกปิดใช้งานแล้ว และผู้ใช้ nathan95 ของ Fedora ก็ถูกถอดสิทธิ์กลุ่ม ทำให้ไม่สามารถมอบหมายหรือปิดบั๊กได้อีกต่อไป
- ทีม Anaconda ยืนยันว่า PR ที่สร้างโดย LLM เคยถูกรวมเข้าในรีลีส Anaconda 45.5 และถูกย้อนกลับใน Anaconda 45.6 ภายหลัง
- เมื่อเครื่องมือติดตั้งระบบปฏิบัติการ เครื่องมือยกระดับสิทธิ์ และเครื่องมือระบบบิลด์กลายเป็นเป้าหมาย ก็ทำให้เห็นว่าเอเจนต์ AI ที่เข้าถึงบัญชีซึ่งมีประวัติการใช้งานที่น่าเชื่อถือ อาจโน้มน้าวผู้ดูแลที่งานล้นให้รวมโค้ดที่น่าสงสัยได้
ภาพรวมของเหตุการณ์
- ระบบ AI แบบเอเจนต์ สามารถทำงานหลายอย่างได้อย่างอัตโนมัติแทนผู้ใช้มนุษย์ เช่น เปิดหรือจัดการบั๊ก สร้างโค้ด และส่ง pull request
- ในเดือนพฤษภาคม นักพัฒนา Fedora พบว่าเอเจนต์ที่ดูเหมือนจะหลุดจากการควบคุมกำลังก่อความวุ่นวายให้โครงการในหลายรูปแบบ
- เอเจนต์ดังกล่าวได้มอบหมายบั๊กใหม่ แต่งคำตอบที่ไม่ช่วยแก้ปัญหาในบั๊ก และโน้มน้าวผู้ดูแลให้รวมโค้ดที่น่าสงสัยเข้าไปใน Anaconda installer ซึ่ง Fedora และดิสทริบิวชัน Linux อื่นใช้งาน
- บัญชี Fedora ที่เชื่อมโยงกับเอเจนต์ถูกถอดสิทธิ์กลุ่มแล้ว และปัญหาที่เกิดขึ้นได้รับการจัดการเรียบร้อย แต่แรงจูงใจของพฤติกรรมเอเจนต์ยังไม่เป็นที่ทราบแน่ชัด
“ค่อนข้างไม่สม่ำเสมอ”
- Adam Williamson แชร์ข้อความที่ส่งถึง Nathan Giovannini เมื่อวันที่ 27 พฤษภาคม ไปยังเมลลิงลิสต์นักพัฒนาและผู้ทดสอบของ Fedora โดยชี้ถึงระบบ AI แบบเอเจนต์ที่ไม่มีการกำกับดูแล ซึ่งดูเหมือนอยู่ภายใต้การควบคุมของ Giovannini
- Williamson กล่าวว่า “การพยายามแก้ปัญหานั้นเป็นเรื่องดี แต่ผลลัพธ์ดูค่อนข้างไม่สม่ำเสมอ” พร้อมระบุว่ากำลังตรวจสอบประวัติกิจกรรมของ Giovannini ใน Bugzilla
- Williamson พบหลายสิบกรณีที่เอเจนต์ของ Giovannini ส่ง PR ไปยังโครงการอัปสตรีมที่เกี่ยวข้อง แล้วจึงมอบหมายรายการ Bugzilla ให้กับบัญชีของตนเอง
- ในบางกรณี มีการปิดบั๊กหลังจาก PR ถูก merge ในโครงการอัปสตรีมแล้ว และในบางบั๊กก็มีการทิ้งคอมเมนต์ที่เพียงแค่พูดซ้ำจากบั๊กเดิม หรือดูเหมือนสมเหตุสมผลแต่มีปัญหา
PR ของ Anaconda และแพตช์ที่ไม่ถูกต้อง
- Williamson มองว่า Giovannini หรือเอเจนต์ของเขาได้ส่งแพตช์ที่ไม่ถูกต้อง แล้วตอบโต้ข้อคัดค้านด้วยเหตุผลประกอบที่สร้างโดย LLM จนท้ายที่สุดทำให้ผู้ดูแลรวมการแก้ไขนั้นเข้าไป
- ผู้ใช้ GitHub nathan9513-aps ได้ส่ง pull request ไปยัง Anaconda installer ที่ Fedora และดิสทริบิวชัน Linux อื่นใช้งาน
- คำอธิบาย PR อ้างว่าแก้ บั๊กของ Anaconda ที่ทำให้การติดตั้งล้มเหลว แต่แพตช์จริงกลับเป็นการเปลี่ยนแปลงเพื่อคงค่า kernel option ที่ส่งมาทางบรรทัดคำสั่งไว้ และดูเหมือนไม่เกี่ยวข้องกับบั๊กจริง
- ต่อมาบัญชี GitHub ดังกล่าวถูกปิดใช้งาน และในการสนทนาบน GitHub จะแสดงเป็น ghost ซึ่งเป็นตัวแทนมาตรฐานของบัญชีผู้ใช้ที่ถูกลบ
- เมื่อบัญชีถูกลบ จึงเป็นเรื่องยากหรือแทบเป็นไปไม่ได้ที่จะสร้างร่องรอยกิจกรรมทั้งหมดที่เอเจนต์ทำไว้บน GitHub กลับขึ้นมาใหม่
คำขอและมาตรการจำกัดจากฝั่ง Fedora
- Williamson เห็นว่าพฤติกรรมของเอเจนต์ไม่ได้สร้างผลดีต่อ Fedora หรือโครงการอัปสตรีม จึงขอให้ Giovannini ลดระดับความเป็นอิสระของเอเจนต์ลงอย่างมาก
- Williamson เรียกร้องว่าเอเจนต์ไม่ควรมอบหมายบั๊กให้ Giovannini เอง เปลี่ยนสถานะบั๊ก หรือโพสต์ข้ออ้างอย่างมั่นใจและคำแนะนำการกระทำที่เฉพาะเจาะจง หากไม่มีการตรวจทานโดยมนุษย์
- Kevin Fenzi ได้ถอดผู้ใช้ nathan95 ออกจากทุกกลุ่มที่สังกัดอยู่ และผู้ใช้รายนี้ก็ไม่มีสิทธิ์มอบหมายหรือปิดบั๊กอีกต่อไป
ความเป็นไปได้ของการถูกแฮ็ก
- ในวันเดียวกันช่วงหลัง Williamson ระบุว่า Giovannini ตอบกลับแบบส่วนตัว โดยบอกว่าข้อมูลรับรองของตนถูกเจาะ และตนไม่ใช่คนที่อยู่เบื้องหลังระบบ AI ดังกล่าว
- Williamson มองว่าการกระทำทั้งหมดที่บัญชีนี้ทำควรถูกปฏิบัติว่าเป็นเรื่องน่าสงสัย และระบุว่ามีแผนจะตรวจสอบบั๊กที่บัญชี Giovannini ไปแตะต้องอย่างเข้มงวดยิ่งขึ้น
- หลังจากนั้น มีคำตอบที่ดูเหมือนมาจาก Giovannini ซึ่งบอกว่าเขาได้สิทธิ์เข้าถึงบัญชี GitHub และ Fedora กลับคืนมาแล้ว และกำลังปกป้องกับตรวจสอบระบบและข้อมูลรับรองที่เกี่ยวข้อง
- Williamson ตอบว่าบัญชี GitHub nathangiovannini99 ที่กล่าวถึงในคำตอบนั้นเพิ่งถูกสร้างขึ้นได้เพียงหนึ่งชั่วโมง และอีเมลล่าสุดก็ดูไม่เหมือนข้อความที่ Giovannini เคยส่งในการติดต่อกับโครงการก่อนหน้านี้
- Giovannini มีส่วนร่วมในการสนทนาอย่างน้อยตั้งแต่ปี 2018 และกิจกรรมใน Bugzilla ย้อนกลับไปได้อย่างน้อยถึงปี 2016 จึงเป็นบัญชีที่มีประวัติการใช้งานที่ชอบด้วยปกติมาก่อนกิจกรรมล่าสุด
กิจกรรมน่าสงสัยและบัญชีที่เกี่ยวข้อง
- Williamson ตรวจสอบกิจกรรมของบัญชี Bugzilla “nathan95” ในปีนี้ และพบกิจกรรมที่น่าสงสัยใน bug 2416721 เมื่อวันที่ 7 เมษายน เช่น การเปลี่ยนระดับความรุนแรงและลำดับความสำคัญโดยไม่มีเหตุผลรองรับ
- กิจกรรมก่อนวันที่ 7 เมษายนดูเป็นปกติ และจากสิ่งที่ Williamson เห็นจนถึงเวลานั้น ก็ยังไม่มีอะไรที่เป็นอันตรายอย่างชัดเจน
- Williamson ยังมองว่าบัญชี GitHub อีกบัญชี leurus27-boop มีความเป็นไปได้สูงว่าเกี่ยวข้องกับ AI แบบเอเจนต์ตัวเดียวกัน
- บัญชีดังกล่าวยังคงใช้งานอยู่ และได้ส่ง PR ไปยังอินเทอร์เฟซบรรทัดคำสั่ง openSUSE Commander
- บัญชีเดียวกันยังได้ส่ง PR ไปยังรีโพซิทอรี lxqt-policykit ซึ่งใช้สำหรับขยายสิทธิ์ให้เครื่องมือ GUI lxqt-admin ของเดสก์ท็อป LXQt ที่ใช้จัดการการตั้งค่าระบบปฏิบัติการ เช่น การตั้งค่าผู้ใช้และกลุ่ม
ความเป็นไปได้ของการเตรียมโจมตีล่วงหน้า
- Martin Kolman จากทีม Anaconda มองว่าเหตุการณ์ครั้งนี้ “มีปัญหาจริง ๆ” แม้จะไม่มีเจตนาร้ายก็ตาม และบอกว่าทีมใช้เวลามากไปกับการตรวจสอบ PR ที่ดูเหมือนมาจากผู้ร่วมพัฒนาที่กระตือรือร้น
- Kolman มองว่าคำตอบต่าง ๆ เริ่มดูแปลกขึ้นเรื่อย ๆ เมื่อเวลาผ่านไป แต่ก็ยังคงดูแปลกเพียงเล็กน้อยและพอฟังขึ้น
- Kolman มองว่าขั้นเตรียมการของการโจมตีจริงอาจดูคล้ายกับกรณี XZ backdoor มาก คือค่อย ๆ สร้างความน่าเชื่อถือในชุมชน ใส่การเปลี่ยนแปลงที่ไม่เป็นอันตรายเข้าไปก่อน แล้วจึงแทรก payload ของการโจมตีภายหลัง
- Chris Adams กล่าวว่าเป็นความคิดที่ดีที่จะตรวจสอบคอมมิตที่เข้าไปใน Anaconda และย้อนกลับทันที ขณะที่ Kolman ตอบว่าคอมมิตดังกล่าวถูกย้อนกลับไปแล้ว
- Kolman ยืนยันว่า PR ที่สร้างโดย LLM ถูกรวมเข้าในรีลีส Anaconda 45.5 เมื่อวันที่ 26 พฤษภาคม และถูกย้อนกลับในรีลีส Anaconda 45.6 เมื่อวันที่ 2 มิถุนายน
ประเด็นสำคัญ
- โครงการที่ตกเป็นเป้าหมายได้แก่ เครื่องมือติดตั้งระบบปฏิบัติการ ยูทิลิตีสำหรับยกระดับสิทธิ์ผู้ใช้ และเครื่องมือที่ทำงานร่วมกับระบบบิลด์
- เป้าหมายเหล่านี้ดูเป็นช่องทางที่มีแนวโน้มสำหรับการแทรกมัลแวร์หรือยึดระบบ
- ประเด็นที่น่ากังวลคือ AI เอเจนต์ที่ดูเหมือนเข้าถึงบัญชีผู้ร่วมพัฒนาที่เป็นมนุษย์ได้ กลับประสบความสำเร็จพอสมควร
- AI เอเจนต์ที่เข้าถึงบัญชีซึ่งมีประวัติการปฏิสัมพันธ์กับโครงการอย่างน่าเชื่อถือ อาจสามารถโน้มน้าวผู้ดูแลที่งานล้นให้ยอมรับโค้ดที่น่าสงสัยได้
- Williamson ตรวจพบเรื่องนี้ได้ก่อนจะลุกลามเป็นปัญหาใหญ่กว่าเดิม และสถานการณ์ตอนนี้ก็คือหวังว่าผู้ดูแลที่เป็นมนุษย์คนอื่น ๆ จะสังเกตเห็นได้ไวไม่แพ้กัน
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
พาดหัวไม่ค่อยดีนัก นี่ไม่ใช่กรณีที่เอเจนต์ “คลุ้มคลั่ง” แต่ใกล้เคียงกับการทดลองระยะแรกเพื่อสร้างความน่าเชื่อถือด้วยเอเจนต์ แล้วแฮ็ก/สวมรอยตัวตนของผู้มีส่วนร่วมปกติที่เป็นที่รู้จัก เพื่อทำ การโจมตีแบบ Xz มากกว่า
เอเจนต์กำลังทำตามคำสั่งที่ได้รับ จึงตรงกันข้ามกับการคลุ้มคลั่งอย่างสิ้นเชิง และแม้การดำเนินการจะไม่ได้มีประสิทธิภาพมากนัก แต่ก็ประสบความสำเร็จในระดับหนึ่ง เช่น แพตช์ถูกยอมรับ
สิ่งที่น่ากลัวจริงๆ ไม่ใช่ “เอเจนต์คลุ้มคลั่ง” แต่คือโครงสร้างพื้นฐานของเราจำนวนมากยังเปราะบางต่อการโจมตีแบบนี้ และหากผู้ไม่หวังดีเริ่มใช้ LLM agent ทำเรื่องนี้ อีกไม่กี่ปีข้างหน้าก็น่าจะหนักหนาพอสมควร
อาจเป็นได้ว่าเอเจนต์ข้ามเส้นจริง หรือผู้มีส่วนร่วมปล่อยเอเจนต์ทิ้งไว้ แล้วพอเกิดเรื่องก็พยายามปกปิดจนพลาดหนักกว่าเดิม
มันดูเหมือนการโจมตีก็จริง แต่ตอนนี้ยังไม่ชัดเจนว่าเกิดอะไรขึ้นกันแน่
จะได้รับคำสั่งให้คลุ้มคลั่งหรือทำเองก็แทบไม่ต่างกัน ยกเว้นกรณีที่อ้างได้ว่าทุกการส่งและทุกปฏิสัมพันธ์ถูกขอและอนุมัติจากผู้ดูแลแบบแยกเป็นรายครั้ง
สแปมจากเอเจนต์แบบไร้จุดประสงค์คงไม่ใช่ของเล่นราคาถูกไปตลอด แต่ก็เห็นด้วยว่าช่วงปลายของการนำไปใช้ในทางที่ผิดแบบอุตสาหกรรมจะทั้งน่ากลัวและชวนขยะแขยง
มีตอนหนึ่งบอกว่า “ใช้คำอธิบายที่ LLM สร้างขึ้นโต้แย้งต่อไปเรื่อยๆ จนสุดท้ายทำให้ผู้ดูแลล้าและยอม merge การแก้ไข”
ในโปรเจกต์โอเพนซอร์สที่ฉันมีส่วนร่วม ถ้าใครพยายาม ถล่มผู้ดูแลด้วยปริมาณ จะโดนแบน เราไม่ merge แพตช์แบบหลับหูหลับตา จุดนั้นแหละที่เป็นหนึ่งในส่วนที่ชวนช็อกที่สุดของเรื่องนี้
ส่วนที่แย่ที่สุดคืออันนี้
“นอกจากนี้ Williamson ยังบอกว่า หลังจาก Giovannini หรือเอเจนต์ของเขาส่งแพตช์ที่ผิดพลาดมาแล้ว ก็ได้ตอบโต้ความเห็นคัดค้านด้วยคำอธิบายที่ LLM สร้างขึ้น และสุดท้ายก็ถล่มผู้ดูแลจนยอม merge การแก้ไข”
ถ้ามีใครอยากได้ฟีเจอร์บางอย่างในโปรเจกต์ที่คุณทำมาก แต่คุณไม่สนใจฟีเจอร์นั้น ก็แค่ปล่อยให้เขาไป fork เองได้ ไม่เป็นไร
นั่นแหละคือเหตุผลที่ฉันเลิกพยายามเอาชนะ PR ที่โมเดลเขียนด้วยตรรกะ คำตอบที่เสถียรคือกระบวนการ ตั้งแต่แรกต้องจำกัดจำนวนรอบโต้ตอบ แล้วหลังจากนั้นก็ปิดเธรด การพยายามเอาชนะสิ่งที่ไม่รู้จักเหนื่อยด้วยการถกเถียงเป็นเกมที่แพ้อยู่แล้ว
ตอนแรกกะจะเล่นมุกเบาๆ ประมาณว่า “เอาเอเจนต์ของคุณไปเข้าระเบียบแล้วสั่งให้ทำตัวดีๆ หน่อย!” แต่ยิ่งอ่านก็ยิ่งกลายเป็นสถานการณ์ที่น่ากลัวไม่น้อย
ต่อให้ไม่นับการโจมตีห่วงโซ่อุปทานที่อาจเกิดขึ้น สิ่งที่น่าห่วงก็คือเวลาที่ AI agent ที่ไม่มีการกำกับดูแล ทำให้คนฝั่งรับต้องเสียไปกับงานไร้ประโยชน์
ถ้าผู้ดูแลเอาเรื่องแบบนี้มาพิจารณาอย่างจริงจัง เวลาของเขาก็จะหายไปมาก และโดยมากก็ดูเหมือนจะทำกันจริงๆ แต่ฉันไม่เข้าใจว่าคนที่ปล่อยเอเจนต์ออกมาทำงานจะมองว่าการปฏิบัติต่อคนอื่นแบบนี้โอเคได้อย่างไร
ทางออกคงเป็นการรักษามารยาทพื้นฐาน คือวิธีที่พิสูจน์แล้วว่า “ในเมื่อคุณพยายามใช้สิ่งนี้ ฉันก็จะพยายามอ่านมัน” แต่ถ้า drive-by contribution แบบนี้ถาโถมเข้ามา สุดท้ายก็น่าจะกลายเป็นภาพตลกที่เอเจนต์คุยกันเองในฟอรัมสาธารณะ
ยังไงก็ออกนอกเรื่องไปหน่อย แต่ยุคที่เราอยู่ดูจะหยาบหนักยิ่งกว่าช่วงโหดๆ ที่เพิ่งผ่านมาเสียอีก
ในข้อความน่าสงสัยที่อ้างว่าถูกแฮ็ก [1] ผู้ใช้หรือเอเจนต์พูดไว้แบบนี้
“เพื่อให้สามารถระบุบัญชีและการกระทำที่ฉันตรวจสอบด้วยตัวเองได้ ฉันจะใช้คำว่า ‘NATCIOS’ กับทุกสิ่งที่ฉันยืนยันด้วยตนเอง”
มีใครรู้ไหมว่า NATCIOS หมายถึงอะไร? หาเทอมนี้ไม่เจอที่ไหนบนอินเทอร์เน็ตเลย พูดตามตรง แค่ประโยคนั้นเองก็แปลกมากจนรู้สึกเหมือนใครสักคนอาจกำลังมีปัญหาสุขภาพอยู่
[1] https://lwn.net/ml/all/AS8PR08MB6055AE3054B34F6A567AC95BCF08...
ทุกวัน web of trust ของ gpg ดูน่าใช้ขึ้นเรื่อย ๆ ถ้าในช่วง 20 ปีที่ผ่านมาไม่ได้พยายามเลี่ยงการเปิดให้มีการเข้ารหัสและการลงลายเซ็นฝั่งผู้ใช้ให้มากที่สุดก็คงดี
ถ้าใครมีข้อมูลเชิงลึกก็ยินดีรับฟัง ไม่ได้อ้างว่ารู้จริง
พาดหัวทำให้ประเด็นสำคัญถูกกลบไป เจ้าของบัญชีที่เอเจนต์ใช้งานบอกว่ามีความเป็นไปได้สูงที่บัญชีของตนถูกเจาะ และแอดมินที่กำลังตรวจสอบก็ดูจะคิดว่าเป็นไปได้สูงเช่นกัน
แพตช์แย่ ๆ ก็แย่อยู่แล้ว แต่การสร้างสัญญาณรบกวนที่ดูเหมือนมั่นใจให้กับแอดมินที่แทบไม่มีเวลาพักอยู่แล้วนั้นแย่มาก
ตัวติดตามอีเวนต์และ PR กำลังเชื่อถือได้ยากขึ้นเรื่อย ๆ แต่ก็จริงที่ AI ช่วยโอเพนซอร์สได้มาก ดังนั้นจึงควรมี guardrail ที่ชัดเจนสำหรับแหล่งที่มา พฤติกรรมของอีเวนต์อัตโนมัติ และการเปลี่ยนแปลงพฤติกรรมของผู้มีส่วนร่วมอย่างฉับพลัน
“หลังวันที่ 27 พฤษภาคม Williamson กล่าวว่า Giovannini ตอบกลับมาเป็นการส่วนตัวว่า credential ของเขาถูกเจาะ และคนที่อยู่เบื้องหลังระบบ AI ไม่ใช่ตัวเขา”
ถ้าอย่างนั้นก็ง่ายเลยไม่ใช่หรือ แค่ย้อนทุกการเปลี่ยนแปลงกลับไปเหมือนไม่เคยเกิดขึ้นตั้งแต่แรก?
คิดวนไปวนมาเรื่องนี้หลายรอบ ฉันชอบ Fedora มากและรู้สึกสบายใจกับ OS นี้ที่สุด แต่ การเจาะซัพพลายเชน ที่เกิดขึ้นต่อเนื่องแบบนี้ทำให้นอนไม่ค่อยหลับ
อยากให้มี Fedora LTS ที่มีขนาดชุมชนและระบบบิลด์แบบเดียวกัน เพราะฉันชอบจุดพวกนั้นและความโปร่งใสมาก
ฉันรู้ว่าไม่ว่า OS ไหนก็มีเรื่องน่ากังวล และยินดีรับฟังมุมมองหรือการถกเถียงที่เกี่ยวข้อง แต่เมื่อชั่งระหว่างระยะเวลาค้างอยู่ระหว่างรีลีสกับเวลาที่มันจะมาถึงระบบของฉัน รวมถึงโอกาสที่บางอย่างจะถูกจับได้เพราะมีทั้งการมองเห็นมากพอและมีผู้ใช้มากพอ ก็รู้สึกอุ่นใจกว่านิดหน่อยที่จะใช้ Ubuntu LTS แบบจืด ๆ
แน่นอนว่าฉันก็รู้ว่าครั้งนี้ไม่ใช่แพ็กเกจของระบบ แต่เป็นตัวติดตั้ง