- ghidraMCP คือเซิร์ฟเวอร์ Model Context Protocol (MCP) ที่ช่วยให้โมเดลภาษาขนาดใหญ่ (LLM) สามารถทำรีเวิร์สเอนจิเนียริงแอปพลิเคชันได้แบบอัตโนมัติ
- เปิดเผยความสามารถหลักของ Ghidra ให้กับไคลเอนต์ MCP เพื่อให้ LLM ใช้งานเครื่องมือวิเคราะห์ได้โดยตรง
- ช่วยเพิ่มความเร็วและประสิทธิภาพของการทำรีเวิร์สเอนจิเนียริง ด้วยการทำให้กระบวนการวิเคราะห์ที่เดิมต้องทำด้วยมือเป็นอัตโนมัติ
- สามารถนำไปใช้ได้ในหลากหลายด้าน เช่น การวิเคราะห์ความปลอดภัยด้วย AI, การวิเคราะห์มัลแวร์, การดีบักไบนารี
ฟีเจอร์หลัก
- การกำหนดค่า MCP เซิร์ฟเวอร์และปลั๊กอิน Ghidra
- มีอินเทอร์เฟซสำหรับเชื่อมต่อระหว่าง LLM และ Ghidra
- เปิดเผยฟังก์ชันของ Ghidra ในรูปแบบ API ผ่านโปรโตคอล MCP
- การดีคอมไพล์และวิเคราะห์ไบนารี
- ใช้ Ghidra เพื่อดีคอมไพล์และวิเคราะห์ไฟล์ปฏิบัติการหลายรูปแบบ เช่น ELF, PE
- การตั้งชื่อเมธอดและข้อมูลโดยอัตโนมัติ
- ตั้งชื่อที่มีความหมายให้กับเมธอดและข้อมูลที่ถูกทำให้อ่านยากหรือไม่มีชื่อโดยอัตโนมัติ
- ช่วยเพิ่มความสามารถในการอ่านโค้ดและความเร็วในการวิเคราะห์
- ความสามารถในการดูโครงสร้างโค้ด
- ดึงรายการเมธอด, คลาส, import และ export
- มีประโยชน์ต่อการวิเคราะห์ลำดับการทำงานของโค้ดและการพึ่งพากัน
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
มีความเห็นว่าอยากให้วันหนึ่งมีเครื่องมือที่สามารถแปลงไบนารีแบบปิดซอร์สทั้งหมดให้เป็นซอร์สโค้ดได้ การมีเวอร์ชัน "โอเพนซอร์ส" ของทุกเกมก็น่าจะสนุกดี
คิดว่าถ้า LLMs จะทำความเข้าใจโค้ดได้จริง ก็ควรต้องเป็น AST-native เพราะโค้ดมีโครงสร้างแบบต้นไม้ แต่เรากลับป้อนมันเข้าโมเดลในรูปแบบเชิงเส้น
มีคำถามว่าตอนนี้มีเครื่องมืออะไรบ้างที่เรียกใช้ MCP ได้ และได้รู้ว่าแอปเดสก์ท็อปของ Claude สามารถใช้ MCP แบบโลคัลได้
เคยมีวิดีโอที่ดีเกี่ยวกับการผสาน Ghidra เข้ากับ LLM
มีข้อมูลเกี่ยวกับ radare2 ด้วย
ประสบการณ์แค่คัดลอกจาก Ghidra แล้ววางให้ LLM ยังไม่ค่อยประสบความสำเร็จนัก อยากให้มี benchmark สำหรับเรื่องพวกนี้
มีความเห็นว่าอยากให้ MCP server มีความสามารถมากขึ้น เช่น การอ่านและเขียนหน่วยความจำของโปรแกรมแบบตามอำเภอใจ
มีการทดลองทางความคิดเกี่ยวกับว่าความปลอดภัยจะเปลี่ยนไปอย่างไร หากเราสามารถทำ reverse engineer ไบนารีทุกตัวได้อย่างสมบูรณ์แบบในทันที
สงสัยว่ามีใครกำลังทำ "catalog" ของ MCP server อยู่หรือไม่ เพราะการค้นหาบน GitHub ไม่ใช่วิธีที่ดีที่สุดในการค้นพบสิ่งเหล่านี้