ภาพประกอบนามธรรมที่สร้างขึ้นบนพื้นหลังสีน้ำเงินเข้ม โครงสร้างสะพานสีเทากระเบื้องขนาดกว้างพาดผ่านกรอบภาพ และช่องสี่เหลี่ยมหนึ่งช่องบนด้านซ้ายของโครงสร้างเปิดอยู่และเรืองแสงสีเหลืองอำพัน ผ่านช่องนั้นมีกลุ่มบล็อกเล็ก ๆ ที่เหมือนกันไหลทะลักออกไปทั่วตารางพิมพ์เขียวจาง ๆ โดยข้ามเส้นขอบสีฟ้าไซแอนแบบจุดบางที่วาดไว้ในระยะหน้าฉากโดยไม่ถูกหยุด ที่มุมขวาล่าง บล็อกเหล่านั้นไหลเข้าสู่โครงตาข่ายโปร่งแสงต่ำของโหนดที่เชื่อมต่อกันซึ่งคล้ายกับที่จัดเก็บหน่วยความจำ ไม่มีข้อความ ตัวอักษร ตัวเลข บุคคล เครื่องหมายการค้า หรือโลโก้องค์กรใด ๆ ปรากฏอยู่ โลโก้ OrcaRouter ถูกคอมโพสิตไว้ที่มุมขวาล่างของแถบสีขาวใต้ภาพ
AI Safety Incidents

RufRoot: คำขอที่ไม่ผ่านการตรวจสอบสิทธิ์เพียงครั้งเดียวไปยัง MCP bridge ของ Ruflo สามารถรันคำสั่ง ขโมยกุญแจ และวางยาหน่วยความจำของ AI

ผู้เขียน

Rowan Sterling

วันที่เผยแพร่

โมเดลล่าสุด · 20ดูโมเดลทั้งหมด →
เบนช์มาร์ก: Artificial Analysis · อัปเดตทุกวัน
กลับไปยังโพสต์ทั้งหมด

เมื่อ30 มิถุนายน 2026 Noma Labsได้ส่งมอบให้แก่ผู้ดูแลของ Ruflo ซึ่งเป็น exploit ที่ใช้งานได้จริงต่อตัวโปรเจกต์เอง. ฝ่ายวิจัยของ Noma Security พบว่า Ruflo — แพลตฟอร์มจัดการเอเจนต์แบบโอเพนซอร์สที่เคยเผยแพร่ในชื่อ Claude Flow — มาพร้อมการปรับใช้ Docker Compose แบบค่าเริ่มต้นที่ผูก Model Context Protocol บริดจ์ของตนไว้กับพอร์ต 3001 บนทุกอินเทอร์เฟซเครือข่าย และไม่ต้องการการยืนยันตัวตนใด ๆ เลย. คำขอ HTTP เพียงครั้งเดียวไปยัง /mcp ปลายทางก็เพียงพอที่จะรันคำสั่งเชลล์ภายในคอนเทนเนอร์ในฐานะผู้ใช้ node และจากเชลล์นั้น ผู้โจมตีสามารถอ่านคีย์ API ของผู้ให้บริการ LLM ทุกตัวในสภาพแวดล้อม ดัมป์บทสนทนาที่จัดเก็บไว้ทั้งหมด ปล่อยฝูงเอเจนต์ที่เรียกเก็บเงินกับคีย์ของเหยื่อ และเขียนคำสั่งลงใน AgentDB แหล่งจัดเก็บการเรียนรู้ ซึ่งจะคอยชี้นำคำตอบของ AI สำหรับผู้ใช้ทุกคนของอินสแตนซ์นั้นต่อไป. ช่องโหว่นี้คือ CVE-2026-59726 โดยมีชื่อเล่นว่า RufRoot ได้คะแนน CVSS 10.0 และได้รับการแก้ไขใน 3.16.3 ภายใน 24 ชั่วโมง. ไม่มีแหล่งข่าวที่เราได้อ่านรายงานว่าช่องโหว่นี้ถูกใช้ประโยชน์ในสภาพแวดล้อมจริง. บันทึกของคลังข้อมูลเองสำหรับช่องโหว่นี้ พร้อมรายการแหล่งที่มาและระดับความเชื่อมั่น อยู่ที่ คลังเหตุการณ์ AI ถัดจากรายการ MCP และโครงสร้างพื้นฐานอื่น ๆ ที่บันทึกไว้รอบ ๆ ช่องโหว่นี้

ค่าเริ่มต้นที่เปิดประตู

Ruflo คือสิ่งที่ Noma Labs เรียกว่า agent meta-harness: เลเยอร์ที่โฮสต์เองสำหรับฝูงเอเจนต์สูงสุด 100 ตัว สร้างขึ้นสำหรับ Claude Code และ OpenAI Codex พร้อมหน่วยความจำระยะยาวและเซิร์ฟเวอร์ MCP ในตัวสำหรับการเรียกใช้เครื่องมือ การตั้งค่าตามปกติคือแบบที่ Noma อธิบาย — โคลนรีโพซิทอรี เพิ่มคีย์ API ของ LLM แล้วรันdocker compose up -d ไฟล์ compose ค่าเริ่มต้นของโปรเจกต์ผูกบริดจ์กับ0.0.0.0 บนพอร์ต 3001 และผูก MongoDB ที่ทำงานคู่กันกับทุกอินเทอร์เฟซบน27017 โดยปิดการรับรองความถูกต้องของ Mongo ขอบเขตที่สิ่งนี้เข้าถึงได้นั้นขึ้นอยู่กับไฟร์วอลล์ กลุ่มความปลอดภัย และการแบ่งส่วนเครือข่ายรอบการติดตั้งใช้งาน; ถ้อยคำของ Noma เองคืออินสแตนซ์ใดก็ตามที่เข้าถึงได้ผ่านเครือข่ายสามารถถูกโจมตีได้เต็มรูปแบบโดยไม่ต้องมีการรับรองความถูกต้อง

MCP Bridge เป็นเซิร์ฟเวอร์ Express.js ที่แปลงคำขอ JSON-RPC ซึ่งเข้ามาทาง HTTP ให้กลายเป็นการเรียกไปยังไลบรารีเครื่องมือภายในของ Ruflo ในบรรทัดโค้ดที่มีช่องโหว่ ไลบรารีนั้นมี233 เครื่องมือครอบคลุมการเข้าถึงเชลล์ การดำเนินการฐานข้อมูล การจัดการเอเจนต์ และการจัดเก็บหน่วยความจำ ข้อเขียนของ Noma กล่าวอย่างตรงไปตรงมาว่าสิ่งนี้ทำให้มันกลายเป็นอะไร: “MCP Bridge ไม่ใช่อินเทอร์เฟซดีบักเสริมแบบสุ่ม; หากแต่เป็นระบบประสาทส่วนกลางของ Ruflo ทุกการเรียกเครื่องมือ ทุกการกระทำของเอเจนต์ ทุกการดำเนินการด้านหน่วยความจำ ต่างผ่าน MCP Bridge”

ชั้นการรับรองความถูกต้องหายไป ไม่ใช่เพียงแค่อ่อนแอ POST /mcp และ POST /mcp/:group ดำเนินการตามโปรโตคอล MCP JSON-RPC และส่งคำขอ tools/call ที่เข้ามาโดยตรงไปยังฟังก์ชันภายใน executeTool() ของ Ruflo ซึ่งมีรายการบล็อกคำสั่งชื่อ AUTOPILOT_BLOCKED_PATTERNS ซึ่งมีจุดประสงค์เพื่อหยุดการดำเนินการเชลล์ที่เป็นอันตราย แต่คำแนะนำด้านความปลอดภัยของ GitHub ระบุไว้ชัดเจนว่า "ถูกบังคับใช้เฉพาะในโฟลว์ autopilot เท่านั้น POST /mcp และ POST /mcp/:group ได้ข้ามการบังคับใช้ดังกล่าว" การเรียกที่ไม่ผ่านการรับรองความถูกต้องครั้งเดียวซึ่งระบุชื่อ ruflo__terminal_execute จึงรันคำสั่งใด ๆ ในฐานะผู้ใช้ node ของคอนเทนเนอร์ ซึ่งบันทึกไว้ในคำแนะนำว่าเป็น uid 1000 โดยไม่ต้องมีโทเค็น เซสชัน หรือการโต้ตอบก่อนหน้าใด ๆ ไม่จำเป็นต้องยกระดับสิทธิ์สำหรับสิ่งที่เกิดขึ้นต่อไป: ข้อมูลรับรอง, API ของเอเจนต์, ที่เก็บหน่วยความจำ และฐานข้อมูล ล้วนเข้าถึงได้จากเชลล์นั้น

ห่วงโซ่ ในแปดขั้นตอน

Noma Labs ได้เผยแพร่ proof of concept แปดขั้นตอนและยืนยันแต่ละขั้นตอนแบบสดกับ deployment Ruflo ค่าเริ่มต้นบน AWS EC2 โดยใช้ callback แบบ out-of-band ไปยัง Burp Collaborator เพื่อยืนยันการทำงานและการ exfiltration ขั้นตอนเหล่านี้ไม่ใช่ผลสืบเนื่องเชิงคาดเดาที่ซ้อนทับบนบั๊กเชิงทฤษฎี แต่เป็นลำดับที่แสดงให้เห็นจริง และส่วนการ remediate ของ advisory ถูกเขียนขึ้นสำหรับผู้ปฏิบัติงานที่อาจอยู่ในสถานการณ์นั้นแล้ว

A hand-built HTML card headed 'The RufRoot chain, step by step', kicker 'RufRoot - CVE-2026-59726', subtitle 'Eight steps Noma Labs confirmed live against a default Ruflo deployment on AWS EC2'. Eight rows, each with a circled step number, the action, and what it yielded. 1, call tools/list: enumerate the 233 exposed tools. 2, call ruflo__terminal_execute over POST /mcp: shell inside the bridge container as node, uid 1000, verified by an out-of-band callback. 3, run printenv: every LLM provider API key in the container environment. 4, call ruflo__swarm_init and ruflo__agent_spawn: attacker-controlled agent swarms running on the victim's keys and compute. 5, call ruflo__agentdb_pattern-store: a fabricated SOC2 policy in the learning store, steering future output for all users. 6, query MongoDB on port 27017: every stored conversation, title and metadata. 7, write /app/beacon.js and inject it into index.js, then kill PID 1: a backdoor that survives the container restart policy. 8, clear shell history: no forensic trace. A footer cites Noma Labs and CVE-2026-59726, and marks step 5 as the step a patched redeploy does not undo.

การลาดตระเวนมาก่อน เพราะรายการเครื่องมือเป็นสาธารณะสำหรับผู้เรียกใช้ทุกราย: tools/list จะคืนค่ารายการทั้ง 233 รายการโดยไม่ต้องใช้ข้อมูลรับรอง การรันคำสั่งเกิดขึ้นได้จากปลายทางเดียวกัน และ proof of concept ของ Noma ยืนยันด้วย callback แบบ out-of-band แทนที่จะอนุมานจากเนื้อหาการตอบกลับ ขั้นตอนด้านสภาพแวดล้อมคือขั้นตอนที่เปลี่ยนการที่โฮสต์ถูกบุกรุกให้กลายเป็นปัญหาการเรียกเก็บเงินและข้อมูลสูญหาย: ไฟล์ compose ส่งคีย์ของผู้ให้บริการเข้าไปในคอนเทนเนอร์ และกระบวนการแบ็กเอนด์สืบทอดสภาพแวดล้อมทั้งหมดผ่าน { ...process.env } ดังนั้นเพียง printenv ครั้งเดียวก็ดัมป์ข้อมูลเหล่านั้นออกมา จากนั้นคีย์เหล่านั้นทำให้ ruflo__swarm_init และ ruflo__agent_spawn สามารถเริ่มสวาร์มที่ผู้โจมตีควบคุม ซึ่งกินโควตาและพลังประมวลผลของเหยื่อ

ขั้นตอนที่ห้าคือขั้นตอนที่คงอยู่ต่อแม้การบุกรุกจะผ่านพ้นไปแล้ว การใช้ ruflo__agentdb_pattern-store นомаได้ฝังนโยบายการปฏิบัติตามข้อกำหนด SOC2 ที่กุขึ้น ซึ่งสั่งให้ AI ฝัง URL ที่ผู้โจมตีควบคุมไว้ในสคริปต์การติดตั้งใช้งานทุกตัวที่มันสร้างขึ้นในภายหลัง เนื่องจาก AgentDB มีอยู่เพื่อคงรูปแบบลักษณะนี้ไว้อย่างแม่นยำ เพื่อให้พฤติกรรมของเอเจนต์ดีขึ้นข้ามเซสชัน รายการที่ถูกแทรกจึงมีพฤติกรรมตรงตามที่ระบบถูกออกแบบไว้ ข้อเขียนของ Noma ระบุว่า "บทสนทนาในอนาคตจะสร้างผลลัพธ์ที่ได้รับอิทธิพลจากผู้โจมตี และผู้ใช้ไม่มีทางรู้ได้" Dark Reading ซึ่งรายงานช่องโหว่นี้เมื่อวันที่ 29 กรกฎาคม ได้สอบถามผู้เชี่ยวชาญภายนอกถึงความแตกต่างนี้: John Gallagher รองประธานที่ Viakoo เรียกมันว่าเป็นปัญหาคนละประเภท: "นี่ไม่ใช่การใช้ประโยชน์จากช่องโหว่ของซอฟต์แวร์ แต่เป็นการวางยาพิษในหน่วยความจำ"

ขั้นตอนที่เหลือเป็นการโจมตีหลังเข้าถึงระบบตามแบบแผน ซึ่งดำเนินการได้อย่างสะดวกผิดปกติ MongoDB บนเครือข่าย Docker ภายในไม่มีการพิสูจน์ตัวตน ผู้โจมตีจึงติดตั้งไคลเอนต์ใน /tmp จากนั้นดัมพ์บทสนทนาและส่งออกไป การคงอยู่ (persistence) มาจากการเขียน /app/beacon.js โดยเพิ่ม require('./beacon.js') หนึ่งบรรทัดลงใน index.js และฆ่า PID 1 หลังจากนั้นนโยบายการรีสตาร์ตของ Docker ทำให้คอนเทนเนอร์กลับมาพร้อมบีคอนที่ทำงานอยู่ ขั้นตอนสุดท้ายคือการล้างประวัติเชลล์ ทั้งหมดนี้สืบเนื่องมาจากคำขอที่ไม่มีการพิสูจน์ตัวตนเพียงครั้งเดียว ไม่มีสิ่งใดในการติดตั้งตามค่าเริ่มต้นที่หยุดลูกโซ่นี้ได้ ณ จุดใดเลย

การแก้ไข และส่วนที่แพตช์ไม่อาจเข้าถึงได้

ผู้ดูแลโครงการได้ปล่อยRuflo 3.16.3ภายใน 24 ชั่วโมงหลังการเปิดเผยเมื่อวันที่ 30 มิถุนายน และ GitHub ได้เผยแพร่คำแนะนำด้านความปลอดภัยGHSA-c4hm-4h84-2cf3เมื่อวันที่1 กรกฎาคม 2026. การแก้ไขซึ่งติดตามในรีโพซิทอรีในชื่อ ADR-166 และผสานในพูลรีเควสต์ 2521 เปลี่ยนแปลงค่าเริ่มต้นแทนที่จะเพียงเพิ่มการตรวจสอบ:

• MCP bridge จะผูกกับ 127.0.0.1 โดยค่าเริ่มต้น; การ bind แบบ public จำเป็นต้องใช้ MCP_AUTH_TOKEN และโปรเซสจะสิ้นสุดการทำงานพร้อมข้อความ fatal ตอนบูตหากไม่มีโทเค็น

• มิดเดิลแวร์ตรวจสอบโทเค็นแบบ Bearer ที่ใช้การเปรียบเทียบแบบเวลาคงที่ (constant-time) อยู่ด้านหน้าของบริดจ์

• terminal_executeถูกจำกัดการเข้าถึงฝั่งเซิร์ฟเวอร์ไว้เบื้องหลังMCP_ENABLE_TERMINAL=true ซึ่งปิดไว้เป็นค่าเริ่มต้น และการจำกัดนี้ถูกบังคับใช้อย่างเหมือนกันบน/mcp, /mcp/:group และโฟลว์ autopilot — จุดเชื่อมที่ขาดหายไปซึ่งทำให้เชนที่ถูกเปิดเผยนั้นไปถึงเชลล์ได้

MongoDB ต้องมีการยืนยันตัวตน โดยจำเป็นต้องมีรหัสผ่าน root เพื่อให้คอนเทนเนอร์บูตได้

• คอนเทนเนอร์ bridge รันระบบไฟล์รากแบบอ่านอย่างเดียวร่วมกับ tmpfs, รายการที่อนุญาต CORS เข้ามาแทนที่ไวลด์การ์ด และการล็อกการถดถอยใน CI ครอบคลุมการกำหนดค่าแบบสแตติกและพฤติกรรมขณะรันไทม์

ไม่มีสิ่งใดในนั้นที่ลบรายการซึ่งถูกเขียนลงใน AgentDB แล้วออกไป คำแนะนำดังกล่าวบอกผู้ดูแลระบบของอินสแตนซ์ที่เปิดเผยใด ๆ ให้ตั้งไฟร์วอลล์สำหรับพอร์ต 3001 และ 27017 ทันที หมุนเวียนคีย์ของผู้ให้บริการ ตรวจสอบที่เก็บแพตเทิร์นเพื่อหารายการที่ถูกแทรก agentdb_pattern-store และล้างรายการเหล่านั้นออก ตรวจสอบ MongoDB เพื่อหาการแก้ไขดัดแปลง และสร้างคอนเทนเนอร์ใหม่จากอิมเมจที่สะอาด คำเตือนนั้นตรงไปตรงมาอย่างผิดปกติ: "การรีดีพลอยที่แพตช์แล้วเพียงอย่างเดียวไม่ได้ย้อนคืนการปนเปื้อน" บทวิเคราะห์ของ Noma สรุปเช่นเดียวกัน — การตรวจสอบที่เก็บแพตเทิร์นเป็นส่วนหนึ่งของการแก้ไข และการแพตช์ไม่ใช่

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

A hand-built HTML timeline card headed 'From disclosure to coverage', kicker 'RufRoot - disclosure timeline', subtitle 'Five dates, from the private report to the day the record was filed'. Six dated rows. 30 June 2026: Noma Labs discloses the flaw to Ruflo's maintainer with a working proof of concept. 1 July 2026: Ruflo 3.16.3 ships and GHSA-c4hm-4h84-2cf3 is published with CVSS 10.0. 9 July 2026: the CVE record for CVE-2026-59726 is published in the National Vulnerability Database, later marked Deferred. 29 July 2026: The Hacker News and Dark Reading report the flaw; Noma Labs publishes its research. 30 July 2026: SecurityWeek reports it, and the record is dated to this day. A separate amber note reads: no source we read reports exploitation in the wild at any point on this timeline. A footer cites The Hacker News, the GitHub advisory API, the NVD record and SecurityWeek.

สิ่งที่ได้รับการยืนยันแล้ว และสิ่งที่ยังไม่ได้รับการยืนยัน

บันทึกทางเทคนิคในที่นี้เป็นข้อมูลชั้นต้นและสอดคล้องกัน คําแนะนําด้านความปลอดภัยระบุชื่อแพ็กเกจที่ได้รับผลกระทบ (npm ruflo ต่ำกว่า 3.16.3) เวอร์ชันที่แก้ไขแล้ว endpoint ที่แน่นอน ผู้ใช้คอนเทนเนอร์ และพอร์ตทั้งสอง; บันทึกการเผยแพร่ของผู้ดูแลอธิบายห่วงโซ่เดียวกัน; บทความของ Noma ให้รายละเอียด proof-of-concept; และสื่ออิสระ — The Hacker News และ Dark Reading เมื่อวันที่ 29 กรกฎาคม 2026, SecurityWeek เมื่อวันที่ 30 กรกฎาคม — รายงานกลไกเดียวกันโดยไม่เพิ่มรายละเอียดเฉพาะที่ขัดแย้งกัน บันทึกวิจัยของ Cloud Security Alliance ลงวันที่ 5 สิงหาคม 2026 ย้ำลำดับเหตุการณ์และวางไว้เคียงข้างช่องโหว่ MCP และ agent-orchestration ที่ไม่มีการยืนยันตัวตนซึ่งเคยติดตามมาก่อนหน้านี้ คลังให้เกรดความเชื่อมั่นของบันทึกเป็น A โดยไม่มีข้อโต้แย้ง และทำเครื่องหมายว่าเป็น landmark; เกรดความรุนแรงของบันทึกอยู่ในระดับสูง ซึ่งแตกต่างจากคะแนน CVSS เอง

มีรายละเอียดการให้คะแนนประเด็นหนึ่งที่ควรระบุให้ชัดเจน เพราะเอกสารหลักสองฉบับขัดแย้งกัน GHSA-c4hm-4h84-2cf3 มีCVSS 10.0บนเวกเตอร์AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H — การเปลี่ยนแปลงขอบเขต (scope change) คือสิ่งที่ทำให้คะแนนพุ่งไปถึงระดับสูงสุด สำเนาของคำแนะนำเดียวกันบนหน้าเผยแพร่ 3.16.3 อธิบายคะแนนว่า "CVSS 9.8 ระดับวิกฤต" บันทึกของ National Vulnerability Database ซึ่งตรวจสอบเมื่อ 30 ตุลาคม 2026 เผยแพร่เมื่อ 9 กรกฎาคม 2026 และทำเครื่องหมายว่า เลื่อนออกไป โดยมีคะแนน 10.0 ของ GitHub เป็นตัวชี้วัดรอง และไม่มีคะแนนที่ NVD จัดทำเอง เราไม่พบคำอธิบายสำหรับตัวเลข 9.8 และบทความนี้ไม่ได้คลี่คลายประเด็นนั้น

ตัวเลขการนำไปใช้นั้นน้อยกว่า Noma Labs ระบุในขณะนั้นว่าโปรเจกต์มีดาวบน GitHub มากกว่า 67,000 ดาว ดาวน์โหลดราว 10 ล้านครั้ง และผู้ใช้ที่ใช้งานอยู่ราว 1 ล้านคน; The Hacker News ซึ่ง Cloud Security Alliance สรุปไว้ อ้างถึงจำนวนดาวมากกว่า 66,500 ดาว ยอดดาวน์โหลดและจำนวนผู้ใช้เป็นข้อมูลของ Noma เองและไม่ได้ผ่านการตรวจสอบอย่างเป็นอิสระ จำนวนดาวของที่เก็บโค้ดเมื่อวันที่ 30 ตุลาคม 2026 อยู่ที่ 80,198 — เป็นการตรวจสอบขอบเขตการเข้าถึงของโปรเจกต์ ไม่ใช่ตัววัดการเปิดเผย และไม่มีแหล่งใดเผยแพร่ว่ามีการติดตั้งใช้งานจำนวนเท่าใดที่เข้าถึงได้จริงจากเครือข่าย

A hand-built HTML card headed 'Established, and not', kicker 'RufRoot - evidence', subtitle 'What the advisory, the release notes and the research support, against what nobody has shown'. Two columns. The left column, headed 'Established', lists: CVE-2026-59726 affects npm ruflo below 3.16.3 and is patched in 3.16.3; the default compose file bound the MCP bridge to 0.0.0.0 on port 3001 and MongoDB to 27017 without authentication; POST /mcp and POST /mcp/:group reached 233 tools and terminal_execute with no credential, running as node, uid 1000; Noma Labs confirmed an eight-step chain live on AWS EC2 with out-of-band callbacks, including an AgentDB pattern injection; the advisory was published 1 July 2026 with CVSS 10.0 and the fix shipped within 24 hours of the 30 June disclosure; the archive record is confidence A, undisputed, no real harm recorded, GLOBAL, MCP and INFRA. The right column, headed 'Not established', lists: that anyone exploited the flaw in the wild; how many Ruflo deployments were actually network-reachable; that any instance's AgentDB was poisoned, since no audit results are published; whether 9.8 in the release notes or 10.0 in the advisory is the intended score; Noma's counts of 10M downloads and 1M active users, which no independent source confirms; that any operator received notice beyond the public advisory. A footer cites GHSA-c4hm-4h84-2cf3, the Ruflo 3.16.3 release notes, Noma Labs and SecurityWeek.

สิ่งที่ยังไม่ได้รับการยืนยันคือส่วนที่ถูกทำให้เกินจริงได้ง่ายที่สุด ทั้ง Noma ผู้ดูแล และสื่อใด ๆ ที่เราอ่าน ต่างไม่ได้อ้างว่าช่องโหว่นี้ถูกใช้ประโยชน์ในสภาพแวดล้อมจริง และบันทึกของคลังข้อมูลก็ไม่ระบุความเสียหายจริงสำหรับรายการนี้ proof of concept ของ Noma ถูกทดสอบกับ deployment ที่นักวิจัยควบคุมบน EC2 ซึ่งแสดงให้เห็นว่าการติดตั้งแบบค่าเริ่มต้นอนุญาตอะไรได้บ้าง ไม่ใช่สิ่งที่อินสแตนซ์โปรดักชันใด ๆ ได้รับผลกระทบจริง ไม่มีการเผยแพร่จำนวน deployment ของ Ruflo ที่เปิดสู่อินเทอร์เน็ต และไม่มีผู้ปฏิบัติงานรายใดเผยแพร่ผลการตรวจสอบ AgentDB ดังนั้นทั้งจำนวนผู้ได้รับผลกระทบและปริมาณ memory ที่ถูกวางยาพิษซึ่งมีอยู่ จึงไม่เป็นที่ทราบ คำแนะนำของ Cloud Security Alliance ที่ให้ถือว่า deployment ที่เปิดเผยนั้นถูกบุกรุกโดยสมบูรณ์ เป็นท่าทีต่อความเสี่ยงที่สมเหตุสมผลจากการใช้ประโยชน์แบบไม่ต้องมีปฏิสัมพันธ์ใด ๆ; มันไม่ใช่หลักฐานว่าเกิดการบุกรุกขึ้นจริง

ทำไมหอจดหมายเหตุจึงจัดให้สิ่งนี้เป็นหมุดหมายสำคัญ

ธงหมุดหมายของคลังข้อมูลนี้ตั้งอยู่บนสิ่งที่มีความเฉพาะเจาะจงกว่าคะแนนสูงสุด ช่องโหว่การรันโค้ดจากระยะไกลระดับ CVSS 10.0 ในบริการที่โฮสต์เองยอดนิยมเป็นแนวที่คุ้นเคย และการแก้ไขในกรณีนี้มาถึงภายใน 24 ชั่วโมง สิ่งที่ทำให้ RufRoot แตกต่างคือช่องโหว่นั้นสิ้นสุดลงในไปป์ไลน์การเรียนรู้ของ AI เอง โดยวิธีการแก้ไขตามแบบแผน — อัปเกรด รีดีพลอย ปิดพอร์ต — ยังคงทิ้งคำสั่งที่ถูกฉีดไว้ในที่เดิมและยังคงกำหนดรูปร่างคำตอบ บันทึกของ Cloud Security Alliance มองกรณีนี้เป็นกรณีศึกษาในรูปแบบที่ได้บันทึกไว้แล้วในเครื่องมือเอเจนต์ต่างๆ รวมถึงเชนเช็กพอยต์ของ LangGraph และส่วนติดต่อ AutoGen Studio ที่ไม่มีการยืนยันตัวตน และให้เหตุผลว่าหน่วยความจำแบบถาวรที่ใช้กำหนดพฤติกรรมของเอเจนต์ควรได้รับการปฏิบัติเป็นที่เก็บข้อมูลอ่อนไหวภายใต้การเฝ้าติดตามความสมบูรณ์ แทนที่จะเป็นแคช

การปรับกรอบความคิดใหม่นี้คือข้อสรุปที่นำไปปฏิบัติได้จริง สิ่งที่มองเห็นได้จากเหตุการณ์นี้คือ dependency ที่ได้รับการแพตช์และประกาศคำแนะนำที่เผยแพร่แล้ว ส่วนสิ่งที่มองไม่เห็นคือรูปแบบใดก็ตามที่ AgentDB ของผู้ปฏิบัติงานอาจยังคงมีอยู่ และไม่มีเครื่องมือหรือ signature ที่เผยแพร่ซึ่งใช้แยกนโยบายที่เรียนรู้มาอย่างถูกต้องออกจากนโยบายที่ถูกฝังไว้ได้ สำหรับองค์กรที่รันไฟล์ compose ค่าเริ่มต้นไว้หลังเครือข่ายที่เข้าถึงได้ การตอบสนองที่มีประโยชน์คือสิ่งที่ทั้ง Noma และประกาศคำแนะนำระบุไว้: ให้ถือว่าคีย์ถูกอ่านไปแล้ว หมุนเวียนคีย์เหล่านั้น และตรวจสอบหน่วยความจำก่อนจะเชื่อคำตอบที่มันสร้างขึ้น

© 2026 OrcaRouter

สำหรับผู้ให้บริการ

ให้บริการแพลตฟอร์มการอนุมานอยู่หรือไม่ นำโมเดลของคุณขึ้น OrcaRouter

providers@orcarouter.ai

เข้าร่วมคอมมูนิตี้ของเรา

Discordsupport@orcarouter.aiXLinkedInGitHubYouTube