12 คะแนน โดย GN⁺ 2025-03-28 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ghidraMCP คือเซิร์ฟเวอร์ Model Context Protocol (MCP) ที่ช่วยให้โมเดลภาษาขนาดใหญ่ (LLM) สามารถทำรีเวิร์สเอนจิเนียริงแอปพลิเคชันได้แบบอัตโนมัติ
  • เปิดเผยความสามารถหลักของ Ghidra ให้กับไคลเอนต์ MCP เพื่อให้ LLM ใช้งานเครื่องมือวิเคราะห์ได้โดยตรง
  • ช่วยเพิ่มความเร็วและประสิทธิภาพของการทำรีเวิร์สเอนจิเนียริง ด้วยการทำให้กระบวนการวิเคราะห์ที่เดิมต้องทำด้วยมือเป็นอัตโนมัติ
  • สามารถนำไปใช้ได้ในหลากหลายด้าน เช่น การวิเคราะห์ความปลอดภัยด้วย AI, การวิเคราะห์มัลแวร์, การดีบักไบนารี

ฟีเจอร์หลัก

  • การกำหนดค่า MCP เซิร์ฟเวอร์และปลั๊กอิน Ghidra
    • มีอินเทอร์เฟซสำหรับเชื่อมต่อระหว่าง LLM และ Ghidra
    • เปิดเผยฟังก์ชันของ Ghidra ในรูปแบบ API ผ่านโปรโตคอล MCP
  • การดีคอมไพล์และวิเคราะห์ไบนารี
    • ใช้ Ghidra เพื่อดีคอมไพล์และวิเคราะห์ไฟล์ปฏิบัติการหลายรูปแบบ เช่น ELF, PE
  • การตั้งชื่อเมธอดและข้อมูลโดยอัตโนมัติ
    • ตั้งชื่อที่มีความหมายให้กับเมธอดและข้อมูลที่ถูกทำให้อ่านยากหรือไม่มีชื่อโดยอัตโนมัติ
    • ช่วยเพิ่มความสามารถในการอ่านโค้ดและความเร็วในการวิเคราะห์
  • ความสามารถในการดูโครงสร้างโค้ด
    • ดึงรายการเมธอด, คลาส, import และ export
    • มีประโยชน์ต่อการวิเคราะห์ลำดับการทำงานของโค้ดและการพึ่งพากัน

1 ความคิดเห็น

 
GN⁺ 2025-03-28
ความคิดเห็นบน Hacker News
  • มีความเห็นว่าอยากให้วันหนึ่งมีเครื่องมือที่สามารถแปลงไบนารีแบบปิดซอร์สทั้งหมดให้เป็นซอร์สโค้ดได้ การมีเวอร์ชัน "โอเพนซอร์ส" ของทุกเกมก็น่าจะสนุกดี

    • ตอนนี้มีโปรเจกต์อย่าง OpenGothic และ openage อยู่แล้ว แต่สิ่งเหล่านี้ต้องอาศัยความพยายามระยะยาวจากชุมชน
  • คิดว่าถ้า LLMs จะทำความเข้าใจโค้ดได้จริง ก็ควรต้องเป็น AST-native เพราะโค้ดมีโครงสร้างแบบต้นไม้ แต่เรากลับป้อนมันเข้าโมเดลในรูปแบบเชิงเส้น

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

    • เลยสงสัยว่ามีแชตอินเทอร์เฟซที่ใช้ MCP แบบรีโมตได้หรือไม่
    • อยากให้เว็บอินเทอร์เฟซของ ChatGPT, Claude และ Gemini สามารถระบุ MCP endpoint และความสามารถต่าง ๆ เพื่อเรียกใช้เซิร์ฟเวอร์จากระยะไกลได้
  • เคยมีวิดีโอที่ดีเกี่ยวกับการผสาน Ghidra เข้ากับ LLM

    • มีข้อมูลเกี่ยวกับ Malimite – decompiler สำหรับ iOS และ macOS
    • ถ้ายังไม่เคยดูช่อง YouTube ของเธอ แนะนำให้ลองดู นอกจากเนื้อหาเชิงเทคนิคแล้ว การตัดต่อด้วยกราฟิกสไตล์เรโทร OS ก็สนุกดี
  • มีข้อมูลเกี่ยวกับ radare2 ด้วย

  • ประสบการณ์แค่คัดลอกจาก Ghidra แล้ววางให้ LLM ยังไม่ค่อยประสบความสำเร็จนัก อยากให้มี benchmark สำหรับเรื่องพวกนี้

  • มีความเห็นว่าอยากให้ MCP server มีความสามารถมากขึ้น เช่น การอ่านและเขียนหน่วยความจำของโปรแกรมแบบตามอำเภอใจ

    • ตัวอย่างเช่น เคยทำ CTF challenge แบบ self-unpacking ที่ใช้คำสั่ง XOR อยู่ จึงอยากให้สามารถอ่านค่าที่อยู่ซึ่งถูก XOR ได้
  • มีการทดลองทางความคิดเกี่ยวกับว่าความปลอดภัยจะเปลี่ยนไปอย่างไร หากเราสามารถทำ reverse engineer ไบนารีทุกตัวได้อย่างสมบูรณ์แบบในทันที

  • สงสัยว่ามีใครกำลังทำ "catalog" ของ MCP server อยู่หรือไม่ เพราะการค้นหาบน GitHub ไม่ใช่วิธีที่ดีที่สุดในการค้นพบสิ่งเหล่านี้