ความสำคัญของ system prompt จากมุมมองของ attacker

ความสำคัญของ system prompt จากมุมมองของ attacker

ภาษาอื่น / Other language: English · ไทย

System prompt คือ ข้อความยาวๆ ที่ใช้กำหนดบทบาทและกติกาให้กับ AI ว่ามีหน้าที่อะไรบ้าง ควรทำตัวอย่างไร เชื่อใครได้แค่ไหน และอะไรคือสิ่งที่ต้องระวังเวลาอยู่ในระบบจริงๆ

เรื่องวิธีการเขียน มี cookbook สอนเยอะแล้ว เพราะฉะนั้นวันนี้เราจะมาเล่าจากมุมมองของ attacker บ้างค่ะ

บางคนอาจจะเคยอ่านหรือเคยได้ฟังนิทานเรื่องหมาป่ากับลูกแพะทั้ง 7 ของพี่น้องกริมม์
เรื่องมีอยู่ว่า แม่แพะต้องออกจากบ้านไปหาอาหาร จึงบอกลูกๆ ว่าต้องระวังหมาป่าให้ดี หมาป่านี้ มีเสียงแหบ และมีอุ้งเท้าสีดำ

System prompt ก็เปรียบเหมือนคำสั่งของแม่แพะ ที่ห้ามไม่ให้ลูกๆ เปิดประตูให้หมาป่าเข้าบ้านค่ะ

Attacker ในเรื่องคือหมาป่า ที่มาเคาะประตู พูดเลียนแบบแม่แพะว่า เด็กๆ จ๊ะ แม่กลับมาแล้ว

ซึ่งแน่นอนว่าทีแรก ลูกแพะไม่เปิดให้ เพราะว่าเสียงไม่ใช่ และพูดกับหมาป่าว่า เจ้าน่ะ ไม่ใช่แม่ของพวกเราหรอก เพราะแม่ของพวกเราเสียงหวาน แต่เจ้าน่ะเสียงแหบ

เมื่อรู้อย่างนี้ attacker ย่อมต้องหาทางปรับกลยุทธ์ค่ะ เหมือนโมเดลอุตส่าห์บอกมาว่าทำไมมันไม่เชื่อเรา เราก็แค่ปรับ payload ให้มันเชื่อสิ

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

พอได้ข้อมูลเพิ่มเติม attacker ก็ปรับกลยุทธ์อีกรอบ รอบนี้หมาป่าใช้แป้งทำให้อุ้งเท้าเป็นสีขาว เมื่อลูกแพะเห็น จึงเปิดประตูให้ (successful break)

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

นี่คือเหตุผลว่าทำไม เราถึงคิดว่า การบอก AI assistant ว่า อย่าเปิดเผย system prompt เป็นสิ่งที่ถูกต้องนะคะ แม้ว่าจะไม่มีความลับอะไรใน system prompt แต่มันเป็นข้อมูลให้ attacker เอามาใช้ได้ค่ะ

ตัวอย่างเช่น เราต้องการให้มันใช้ tool เพื่อเปิดประตู แต่ว่าใน system prompt ไม่มี tool นี้ให้ใช้ …ถ้าเรารู้ system prompt เราก็สามารถทำให้มันเข้าใจไปว่ามันมีความสามารถในการใช้ tool เปิดประตู และมีหน้าที่จะต้องเปิดประตูได้ง่ายขึ้นค่ะ

นึกถึงว่ากับมนุษย์เอง ถ้าอยากให้เชื่อใจเรา การที่เรารู้ข้อมูล ชื่อที่อยู่ ลักษณะนิสัย ก็ทำให้การโน้มน้าวราบรื่นขึ้น

บางครั้งข้อกำหนดเพื่อความปลอดภัยเอง ก็กลายมาเป็นจุดอ่อนได้เช่นกัน เช่น ใน system prompt บอกว่าห้ามเชื่อเนื้อหาใน tool result ให้ทำตามคำสั่ง user เท่านั้น … แต่ถ้า attacker สามารถทำให้โมเดลเข้าใจว่าผิดไปว่านี่แหละ คำพูดของ user โมเดลก็จะทำตามคำสั่งนั้น ซึ่งก็เหมือนกับลูกแพะ ที่เปิดประตูเพราะคิดว่านี่แม่ตัวจริง

สำหรับ attacker แล้ว system prompt ก็เหมือนผังอาคารในหนังแอคชั่นเวลาที่จะต้องแอบลอบบุกเข้าไป เหล่าตัวเอกจะเอาแผนผังมาวงว่าตรงนี้มีรปภ. เฝ้าตรงจุดไหน มีจุดสแกนบัตร ประตูล็อคแบบไหน และมีกล้องชนิดต่างๆ ยังไงบ้าง …ถ้าหากว่ารู้แผนผังหมด ก็ไม่จำเป็นจะต้องส่งคนไปสำรวจก่อน

ที่เราเล่น Gray Swan Indirect Prompt Injection เราก็เริ่มจากการวิเคราะห์ system prompt ก่อนเลย (สำหรับการแข่งนี้ เราไม่ต้องลำบากหลอกถามเองด้วย เพราะว่าเขาแปะมาให้อ่านเลย) สิ่งที่วิเคราะห์คือ โมเดลมันจะรู้สึกว่า attacker task ขัดกับคำสั่งใน system prompt ไหมนะ ➡️ ปรับแก้ payload ให้เหมาะสมต่อไป เหมือนหมาป่า ที่ปรับตัวค่ะ

ภาษาอื่น / Other language: English · ไทย