🤖HermesBlog
Hermes Feature Guides · Parte 98/9/2026

Security — Eight Layers of Protection

Plugin System — Endless Extensions — easy-to-understand guide based on official docs (updated 2026-08-09)

hermes-feature-9-plugins

ความปลอดภัย — การป้องกันแปดชั้น

เมื่อคุณปล่อยให้ AI agent รันคำสั่งบนเครื่องของคุณ คุณย่อมอยากรู้ว่ามันปลอดภัย Hermes Agent ให้ความสำคัญกับเรื่องนี้ด้วย โมเดลความปลอดภัยแบบหลายชั้น (defense-in-depth) — การป้องกันแปดชั้นที่ทำงานร่วมกันเพื่อให้คุณควบคุมได้เสมอ

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

นี่คือหน้าตาของการป้องกันทั้งแปดชั้น:

  1. การอนุญาตผู้ใช้ (User authorization) — เฉพาะคนที่ได้รับอนุญาตเท่านั้นที่คุยกับ agent ได้
  2. การอนุมัติคำสั่งอันตราย (Dangerous command approval) — คุณเป็นคนอนุมัติการกระทำที่ทำลายล้าง
  3. ความปลอดภัยในการเขียนไฟล์ (File write safety) — ปกป้องไฟล์ของคุณจากการเขียนที่ไม่พึงประสงค์
  4. การแยกสภาพแวดล้อมด้วยคอนเทนเนอร์ (Container isolation) — รันงานเสี่ยงในแซนด์บ็อกซ์ (Docker, Singularity, Modal)
  5. การกรองข้อมูลรับรอง MCP (MCP credential filtering) — เก็บความลับไม่ให้ซับโปรเซสเห็น
  6. การสแกนไฟล์บริบท (Context file scanning) — ตรวจจับ prompt injection ในไฟล์โปรเจกต์
  7. การแยกเซสชัน (Cross-session isolation) — เซสชันไม่สามารถสอดส่องข้อมูลของกันและกันได้
  8. การทำความสะอาดอินพุต (Input sanitization) — บล็อก shell injection ผ่านเทคนิคหลอกลวงด้วย working directory

เยอะไปหมดเลยใช่ไหม? มาดูชั้นที่คุณจะได้เจอบ่อยที่สุดกันดีกว่า: การอนุมัติคำสั่งอันตราย

การอนุมัติอัจฉริยะ: มนุษย์อยู่ในวงจร

ก่อนที่ Hermes จะรันคำสั่งใดๆ มันจะเช็คกับรายการแพตเทิร์นอันตรายก่อน ถ้าเจออะไรที่ดูเสี่ยง คุณจะถูกถามให้อนุมัติ

แต่จุดที่ฉลาดคือ ระบบอนุมัตินี้มี สามโหมด ตั้งค่าได้ที่ ~/.hermes/config.yaml:

approvals:
  mode: smart                     # smart | manual | off
  timeout: 300                    # seconds to wait for user response
  cron_mode: deny                 # deny | approve — for cron jobs
  single_query_mode: deny         # deny | approve — for -q sessions
  mcp_reload_confirm: true        # /reload-mcp asks before rebuilding tools
  destructive_slash_confirm: true # /clear, /new, /reset, /undo prompt first

แต่ละโหมดทำอะไรบ้าง:

โหมด พฤติกรรม
smart (ค่าเริ่มต้น) ใช้ LLM เสริมช่วยตัดสินความเสี่ยง คำสั่งปลอดภัยอย่าง python -c "print('hello')" จะถูกอนุมัติอัตโนมัติ คำสั่งอันตรายจริงๆ จะถูกปฏิเสธอัตโนมัติ กรณีที่ไม่แน่ใจจะถามคุณ
manual ถามคุณเสมอสำหรับคำสั่งอันตราย ไม่มีระบบอัตโนมัติ
off ปิดการตรวจสอบทั้งหมด — เทียบเท่ากับ --yolo ใช้เฉพาะในสภาพแวดล้อมที่เชื่อถือได้เท่านั้น

โหมด smart คือจุดที่ลงตัวที่สุด มันเหมือนมีบอดี้การ์ดที่รู้ความแตกต่างระหว่าง “ไปเช็คจดหมาย” กับ “เปิดห้องนิรภัย”

โหมด YOLO: ระวังไว้ด้วย

บางครั้งคุณก็แค่อยากให้ agent ทำงานเร็วๆ โดยไม่ต้องมากวนคุณ นั่นคือหน้าที่ของโหมด YOLO — มันข้ามการอนุมัติคำสั่งอันตรายทั้งหมดสำหรับเซสชันปัจจุบัน

คุณสามารถเปิดใช้งานได้สามวิธี:

  1. แฟล็ก CLI: hermes --yolo หรือ hermes chat --yolo
  2. คำสั่งสแลช: พิมพ์ /yolo ระหว่างเซสชัน
  3. ตัวแปรสภาพแวดล้อม: ตั้งค่า HERMES_YOLO_MODE=1

คำสั่ง /yolo เป็นสวิตช์สลับ — ใช้แต่ละครั้งจะเปิดหรือปิด:

> /yolo
  ⚡ YOLO mode ON — all commands auto-approved. Use with caution.

> /yolo
  ⚠ YOLO mode OFF — dangerous commands will require approval.

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

⚠️ คำเตือน: โหมด YOLO ปิดการตรวจสอบความปลอดภัยของคำสั่งอันตรายทั้งหมด — ยกเว้นบล็อกลิสต์ที่เด็ดขาด ใช้เฉพาะเมื่อคุณเชื่อถือสิ่งที่ถูกสร้างขึ้นอย่างเต็มที่ เช่น สคริปต์อัตโนมัติที่ทดสอบแล้วในสภาพแวดล้อมที่ใช้แล้วทิ้ง

คีย์คอนฟิกใหม่ที่คุณควรรู้

อัปเดตล่าสุดเพิ่มคีย์สำคัญสองตัวในคอนฟิก approvals:

mcp_reload_confirm (ค่าเริ่มต้น: true) — เมื่อคุณรัน /reload-mcp Hermes จะถามก่อนสร้างชุดเครื่องมือ MCP ใหม่ ทำไมน่ะเหรอ? เพราะการสร้างใหม่จะทำให้ provider prompt cache ใช้งานไม่ได้ หมายความว่าเมสเสจถัดไปจะส่ง input tokens เต็มรูปแบบ (เสียค่าใช้จ่ายมากขึ้น) ถ้าคุณคลิก Always Approve ค่านี้จะเปลี่ยนเป็น false

destructive_slash_confirm (ค่าเริ่มต้น: true) — คำสั่งเซสชันที่ทำลายล้างอย่าง /clear, /new, /reset และ /undo ตอนนี้จะถามก่อนทิ้งสถานะการสนทนา คุณจะเห็นไดอะล็อกสามตัวเลือก: Approve Once / Always Approve / Cancel บน Telegram, Discord และ Slack จะใช้ปุ่มใช่/ไม่ใช่แบบเนทีฟ ส่วนที่อื่นๆ จะใช้ข้อความแทน TUI ก็รองรับเช่นกัน — และคุณสามารถบังคับข้ามโมดัลได้ด้วย HERMES_TUI_NO_CONFIRM=1

เซสชันแบบไม่มีคนดูแล: Cron และ Single-Query

การตั้งค่าใหม่สองตัวจัดการกรณีที่ไม่มีใครอยู่คอยตอบคำถาม:

  • cron_mode (ค่าเริ่มต้น: deny) — เมื่อ cron job เจอคำสั่งอันตราย deny จะบล็อกมัน (agent ต้องหาทางอื่น) ส่วน approve จะอนุมัติทุกอย่างอัตโนมัติในบริบท cron
  • single_query_mode (ค่าเริ่มต้น: deny) — แนวคิดเดียวกันสำหรับเซสชันแบบครั้งเดียว hermes chat -q เซสชัน -q รันเทิร์นเดียวแล้วจบ — ไม่มีผู้ใช้คอยตอบ deny จะบล็อกคำสั่ง ส่วน approve จะอนุมัติอัตโนมัติ

ทั้งคู่ตั้งค่าเริ่มต้นเป็น deny ด้วยเหตุผลที่ดี: เมื่อไม่มีมนุษย์อยู่ในวงจร การบล็อกปลอดภัยกว่าการเดา

สรุป

โมเดลความปลอดภัยของ Hermes Agent ถูกสร้างมาเพื่อการใช้งานจริง โหมด smart approval ให้ระบบอัตโนมัติโดยไม่ประมาท โหมด YOLO ให้ความเร็วเมื่อคุณต้องการ — พร้อมการแจ้งเตือนด้วยภาพเพื่อให้คุณไม่ลืม และคีย์คอนฟิกใหม่ๆ ให้คุณควบคุมเซสชันแบบไม่มีคนดูแลและคำสั่งที่ทำลายล้างได้อย่างละเอียด

ปรัชญานั้นง่ายมาก: คุณยังคงควบคุมได้เสมอ แม้ตอนที่ agent ทำงานอัตโนมัติ


📖 เอกสารทางการ

この記事は Hermes Agent のเอกสารทางการに基づいています:เอกสารทางการ › user-guide/features/plugins