ม้วนเอกสารในห้องมืด แถวรายการสองแถวมีจุดเขียวมรกต แถวที่สามเป็นช่องว่างมีกรอบสีอำพัน เงามือเอื้อมมาแตะช่องว่างนั้น

ไฟล์ llms.txt ที่ตั้งใจให้เอไออ่าน กำลังกลายเป็นช่องลงของที่ไม่ใช่ของบริษัท

พี่โชว์Engineering

เว็บจำนวนมากวางไฟล์ชื่อ llms.txt หรือ llms-full.txt ไว้ให้เอไออ่านง่าย คล้าย robots.txt ที่บอกเครื่องมือค้นหาว่าจะเก็บหน้าไหน ไฟล์นี้ถ้าเขียนคำสั่งติดตั้งโซฟต์แวร์ แล้วชื่อแพ็กเกจนั้นยังไม่มีใครจดทะเบียน คนอื่นจดชื่อนั้นได้

รายงานของ Ars Technica สรุปงานของนักวิจัยจากสตาร์ทอัพในอิสราเอลที่ยังไม่เปิดชื่อบริษัท พวกเขาสแกน 6,214 โดเมนของบริษัทป้องกัน ฟอร์จูน 500 และบริษัทเทคโนโลยี พบไฟล์ดังกล่าว 8,265 ไฟล์ ในนั้น 120 เว็บชี้ไปยังแพ็กเกจหรือโดเมนที่ยังไม่มีเจ้าของ รวม 227 คำสั่ง

เกิดอะไรขึ้นตอนเอไอเชื่อเอกสาร

นักวิจัยจดชื่อที่ว่างบางชื่อ แล้ววางแพ็กเกจที่โทรกลับมาหาเซิร์ฟเวอร์พวกเขาเมื่อถูกติดตั้ง ภายในหนึ่งชั่วโมงมีเครื่องของบริษัทฟอร์จูน 500 โทรกลับ ต่อมามีอีกหลายสิบเครื่อง ทั้งบริษัทใหญ่และสตาร์ทอัพ ลำดับโปรเซสแม่บอกว่าตัวติดตั้งมาจากเอไอเขียนโค้ดอย่าง Claude ของ Anthropic, Codex ของ OpenAI และ Hermes ของ Nous Research ณ เวลาที่บทความลง สามบริษัทนี้ยังไม่ตอบคำขอสัมภาษณ์

อย่างน้อยหนึ่งเคสไม่ใช่การทดลอง ไฟล์บนเว็บ clerk.com มีข้อความสั่งให้ดึงแพ็กเกจด้วย npx ซึ่งลงแคชแล้วรันได้โดยไม่ต้องใส่ในรายการไลบรารีของโปรเจกต์ มีคนจดชื่อนั้นแล้ววางโปรแกรมทำร้าย Clerk แก้แล้ว และระบุว่าถ้าเอไอลงไบนารีในแพ็กเกจ @clerk/eslint-plugin ไปแล้วจะไม่กระทบ ไม่ชัดว่ามีการติดจริงหรือไม่

แผนภาพด้านล่างย่อเส้นทางตามรายงาน ไม่ใช่ขั้นตอนการโจมตี

flowchart LR
  D[llms.txt บนเว็บบริษัท] --> A[เอไออ่านแล้วเชื่อ]
  A --> R[ทะเบียนแพ็กเกจสาธารณะ]
  R --> E[ชื่อที่ยังไม่มีเจ้าของ]
  E --> M[เครื่องในบริษัทลงของ]

นักวิจัยระบุว่าสัญญาณบนเครื่องดูเหมือนนักพัฒนาลงของจากทะเบียนที่บริษัทอนุญาตอยู่แล้ว ระบบกันไวรัสปลายทางจึงอาจไม่กระพริบ

ทำไมเอกสารถึงกลายเป็นคำสั่ง

เอไอไม่แยกหน้าเว็บกับคำสั่งได้แน่นเหมือนคน ถ้าไฟล์นั้นเสิร์ฟด้วย HTTPS บนโดเมนบริษัท ในรูปแบบที่ออกแบบมาให้เอไออ่าน ตัวเอไอมักไม่ตั้งคำถามว่าแพ็กเกจนั้นเป็นของบริษัทจริงหรือไม่

บางรายการอยู่ในไฟล์ก่อนยุคเอไอ แปลว่าคนเขียนเอง บางรายการนักวิจัยสงสัยว่าเอไอช่วยเขียนแล้วใส่ชื่อที่ไม่มีจริง

สิ่งที่บทความนี้ไม่ทำ: ไม่ลงชื่อแพ็กเกจที่นักวิจัยขอให้ปิด ไม่ลงวิธีจดชื่อเพื่อทดลองเอง

คนดูแลเว็บและคนใช้เอไอทำอะไรได้

  • เปิด llms.txt ของเว็บตัวเอง ค้นคำว่า install, pip, npm, npx ลบชื่อที่ไม่ได้จดทะเบียน
  • ตั้งเอไอให้ลงของได้เฉพาะทะเบียนภายในหรือรายการที่อนุญาต
  • งานติดตั้งต้องมีคนกดรับ แม้จะช้าลง
  • คู่กับที่กั้นระบบที่ทีมแดง NVIDIA ย้ำใน /blog/nvidia-four-ways-secure-agents

Recap

llms.txt ตั้งใจเป็นแผนที่ให้เอไอ แต่ถ้ามีคำสั่งลงของที่ชี้ไปชื่อว่าง มันกลายเป็นช่องโซ่อุปทานโดยไม่ตั้งใจ งานสำรวจนี้พบทั้งการทดลองที่เครื่องบริษัทใหญ่โทรกลับ และอย่างน้อยหนึ่งเคสโปรแกรมทำร้ายบนเว็บจริงที่ผู้ถูกระบุแก้แล้ว ตรวจไฟล์ของตัวเองก่อนเชื่อว่าเอไออ่านเอกสารแล้วจะลงของให้ถูกครับ