Anthropic เปิดตัว Claude Security Plugin เวอร์ชันเบต้า: ระบบสแกนช่องโหว่แบบ Multi-Agent บน Terminal

Anthropic ได้เปิดตัว Claude Security plugin สำหรับ Claude Code ในรุ่นเบต้า โดยปลั๊กอินนี้จะทำการสแกนหาช่องโหว่ของ Repository ในรูปแบบ multi-agent จากภายในเซสชันของ Claude Code ที่คุณใช้งานอยู่ จากนั้นจะเปลี่ยนรายการช่องโหว่ที่คุณเลือกให้เป็นไฟล์ patch เพื่อให้ผู้พัฒนาตรวจสอบและนำไปใช้งานด้วยตัวเอง
Anthropic เน้นย้ำถึงความอเนกประสงค์ของเครื่องมือนี้ โดยชูจุดเด่นที่ความสามารถในการรันการสแกนแบบครอบคลุมทั้ง codebase หรือเลือกตรวจสอบเฉพาะส่วนที่มีการเปลี่ยนแปลงจาก terminal ได้ทันทีก่อนการ commit
สิ่งที่ปลั๊กอินเพิ่มเข้ามา
ปลั๊กอินนี้เพิ่มคำสั่งใหม่คือ /claude-security ซึ่งจะเปิดเมนูสำหรับ 3 งานหลัก ตามเอกสารอย่างเป็นทางการ:
- Scan codebase: สแกนไฟล์ทั้งหมดใน repository หรือเฉพาะส่วนที่กำหนดขอบเขตไว้
- Scan changes: สแกนความแตกต่าง (diff) ของ branch, pull request หรือเพียงหนึ่ง commit
- Suggest patches: เปลี่ยนช่องโหว่ที่พบในรายงานให้เป็นไฟล์ .patch สำหรับแก้ไขโค้ด
สำหรับการติดตั้ง ผู้ใช้สามารถรันชุดคำสั่งจาก Official Anthropic Marketplace ได้ดังนี้:
/plugin install claude-security@claude-plugins-official
/reload-pluginsหากไม่พบ marketplace ให้รันคำสั่ง /plugin marketplace add anthropics/claude-plugins-official ก่อน โดยซอร์สโค้ดของปลั๊กอินนี้ถูกเปิดเผยเป็นสาธารณะใน claude-plugins-official repository และปัจจุบันอยู่ที่เวอร์ชัน 0.10.0
โครงสร้างของ Scan Pipeline
การสแกนถูกออกแบบมาในรูปแบบของ dynamic workflow ซึ่งเป็นสคริปต์ JavaScript สำหรับกระจายงานไปยัง subagents โดยตัวสคริปต์จะแบ่งการทำงานออกเป็น 6 ระยะ:
- Inventory: สำรวจและแบ่ง repository ออกเป็นส่วนประกอบต่างๆ
- Threat model: ระบุจุดที่เสี่ยงต่อการถูกโจมตี (entry points) และไฟล์สำคัญที่ต้องตรวจสอบ
- Research: ใช้ AI researcher เจาะลึกแต่ละส่วนตามหมวดหมู่ความเสี่ยง
- Sweep: ตรวจสอบซ้ำเพื่อเก็บตกช่องว่างที่การสแกนรอบแรกอาจมองข้าม
- Panel: การตรวจสอบแบบเผชิญหน้าผ่าน 3 มุมมองโดยมีผู้ลงคะแนนตัดสิน
- Adversarial: ระยะสุดท้ายสำหรับความพยายามระดับสูงสุด โดยการทำ Red-team กับรายการที่ก้ำกึ่ง
ระบบจะสแกนครอบคลุม 4 หมวดหมู่หลัก ได้แก่ injection-and-input, auth-and-access, memory-and-unsafe และ crypto-and-secrets ทั้งนี้ในส่วนของโปรเจกต์ที่เป็นภาษา memory-safe เช่น Python หรือ TypeScript จะมีการตัดการตรวจสอบด้านหน่วยความจำออกเพื่อความรวดเร็ว
ความเข้มข้นของการสแกนแบ่งเป็น 4 ระดับ (low, medium, high, max) ซึ่งส่งผลต่อจำนวนการสแกนจำกัดที่ 12-24 ส่วนประกอบ และจำนวน AI researcher ที่ใช้ในแต่ละจุด โดยระบบใช้โมเดลระดับสูงอย่าง Opus เป็นตัวควบคุม (orchestrator) และใช้ Sonnet สำหรับสำรวจโค้ด โดย Agents ทั้งหมดจะได้รับสิทธิ์แบบอ่านอย่างเดียว (read-only) เพื่อความปลอดภัย
สิ่งที่ตรวจพบผ่านเกณฑ์เข้าไปอยู่ในรายงานได้อย่างไร
สิ่งที่คาดว่าเป็นช่องโหว่จะไม่ถูกระบุในรายงานทันทีที่ค้นพบ แต่ต้องผ่านการตรวจสอบจากคณะกรรมการ (panel) ซึ่งประกอบด้วยผู้ตรวจสอบอิสระ 3 คนในมุมมองที่ต่างกัน ได้แก่ REACHABILITY (การเข้าถึงได้), IMPACT (ผลกระทบ) และ DEFENSES (การป้องกัน)
เกณฑ์การตัดสินใช้มติเสียงข้างมาก 2 ใน 3 หากมีผู้เห็นชอบไม่ถึงเกณฑ์ รายการนั้นจะถูกคัดออก นอกจากนี้จำนวนเสียงยังระดับความเชื่อมั่น (confidence) ของรายงานอีกด้วย เช่น หากเป็นเอกฉันท์ 3/3 จะได้ระดับความเชื่อมั่นสูง (high) แต่ถ้าได้ 2/3 จะถูกลดระดับลงมาอยู่ที่ปานกลาง (medium)
ข้อมูลในรายงานจะถูกประมวลผลด้วย Python เพื่อให้มั่นใจว่าค่า verification.status ถูกระบุอย่างถูกต้องตามหลักฐานการลงคะแนนจริง ไม่ใช่เพียงการกล่าวอ้างลอยๆ จากโมเดล AI ทำให้ผู้พัฒนาสามารถตรวจสอบย้อนกลับความน่าเชื่อถือของรายงานได้ด้วยตนเอง
สิ่งที่การสแกนเขียนลงในดิสก์
ทุกการสแกนจะสร้างโฟลเดอร์ชื่อ CLAUDE-SECURITY-<timestamp>/ ใน repository ซึ่งประกอบด้วยไฟล์สำคัญ 3 ประเภท ได้แก่:
- CLAUDE-SECURITY-RESULTS.md: รายงานสรุปช่องโหว่ที่มนุษย์อ่านเข้าใจง่าย พร้อมระบุความรุนแรงและแนวทางแก้ไข
- CLAUDE-SECURITY-RESULTS.jsonl: ข้อมูลการค้นพบในรูปแบบ JSON สำหรับนำไปประมวลผลต่อ
- CLAUDE-SECURITY-REVISION-<commit>.json: บันทึกรายละเอียดการสแกน เช่น ระดับความพยายามและผลการตรวจสอบย้อนหลัง
ระบบจะสร้างไฟล์ .gitignore ของตัวเองมาให้ด้วย เพื่อป้องกันไม่ให้รายงานเหล่านี้ถูกสั่ง git add เข้าไปใน commit โดยไม่ตั้งใจ เว้นแต่ผู้พัฒนาจะต้องการเก็บไว้เป็นหลักฐานการตรวจสอบ (audit trail) เอง
Patch และเงื่อนไขการสร้างรหัสแก้ไข
เมื่อมีการสร้าง Patch ระบบจะดำเนินการใน Repository สำเนาชั่วคราว (scratch clone) เพื่อไม่ให้กระทบกับไฟล์งานปัจจุบัน โดยจะมี Agent แยกอีกตัวหนึ่งทำหน้าที่ตรวจสอบว่าไฟล์ patch นั้นเป็นไปตามเงื่อนไข 3 ข้อ คือ แก้ไขปัญหาได้จริง, ไม่สร้างช่องโหว่ใหม่ และไม่ทำให้พฤติกรรมเดิมของระบบผิดเพี้ยน
หากไม่สามารถยืนยันได้ครบทั้งสามข้อ ระบบจะแสดงเฉพาะบันทึกเหตุผลแทนการสร้างไฟล์ patch และเมื่อได้ไฟล์ที่ผ่านเกณฑ์มาแล้ว ผู้ใช้จะต้องนำไปใช้งานเองด้วยคำสั่ง:
git apply CLAUDE-SECURITY-<timestamp>/patches/F1.patch
Anthropic แนะนำให้ผู้พัฒนาตรวจสอบและนำแต่ละ patch ไปใช้แยกกันผ่าน pull request เพื่อความรอบคอบสูงสุด
ความต้องการ ค่าใช้จ่าย และความปลอดภัย
ผู้ใช้ปลั๊กอินนี้จำเป็นต้องสมัครแผนบริการแบบชำระเงินและใช้ Claude Code v2.1.154 ขึ้นไป โดยต้องติดตั้ง Python 3.9.6 และ Git ไว้ในเครื่อง การใช้งานจะถูกนับรวมในขีดจำกัด token ของแผนที่เลือก เนื่องจากการสแกนไม่มีการแยกส่วน (isolation) ตัวเอง การรันคำสั่งภายใต้สิทธิ์ของผู้ใช้จึงควรระมัดระวังในกรณีที่ codebase ไม่คุ้นเคย โดยแนะนำให้ใช้งานร่วมกับ sandbox-runtime เพื่อความปลอดภัยสูงสุด
อย่างไรก็ตาม การสแกนนี้เป็นการทำงานแบบ AI-driven ที่ผลลัพธ์อาจไม่เหมือนเดิมทุกครั้ง (nondeterministic) และไม่ได้ถูกออกแบบมาเพื่อทดแทนเครื่องมือวิเคราะห์โค้ดพื้นฐาน (Static Analysis) หรือการรีวิวโค้ดโดยมนุษย์ แต่เป็นเครื่องมือเสริมแกร่งให้กับ workflow ปกติ
ตำแหน่งในลักษณะการทำงาน (Stack)
| Stage | Tool | What it covers |
|---|---|---|
| In session | Claude Security plugin | ภายในเซสชัน |
| Code Review | (Team, Enterprise) | การรีวิวโค้ด |
| Claude Security | (Enterprise) | Claude Security |
ความคิดเห็น (0)
เข้าสู่ระบบเพื่อร่วมแสดงความเห็น
สมัครสมาชิกมาเป็นคนแรกที่แสดงความเห็นกันเลยโบร
