เครื่องมือ SSH ใหม่ที่เรียกว่า ts-ssh ได้ก่อให้เกิดการถกเถียงในชุมชนนักพัฒนา ไม่เพียงแค่เรื่องฟีเจอร์ต่างๆ แต่รวมถึงวิธีการที่มันถูกสร้างขึ้น เครื่องมือนี้ซึ่งออกแบบมาเพื่อทำงานกับเครือข่าย Tailscale ดูเหมือนจะถูกสร้างขึ้นส่วนใหญ่ด้วยความช่วยเหลือของ AI ทำให้เกิดคำถามเกี่ยวกับความปลอดภัยและคุณภาพของโค้ดในซอฟต์แวร์ที่สร้างด้วย AI
ความกังวลด้านความปลอดภัยของโค้ดที่สร้างด้วย AI
ความกังวลหลักของนักพัฒนาเน้นไปที่ลักษณะที่เครื่องมือนี้ถูกสร้างด้วย AI และผลกระทบด้านความปลอดภัย ซอฟต์แวร์ที่เน้นความปลอดภัยต้องการการดูแลจากมนุษย์อย่างระมัดระวัง แต่หลักฐานชี้ให้เห็นว่าโปรเจกต์นี้อาจขาดการตรวจสอบโค้ดที่เหมาะสม การมีอยู่ของไฟล์เช่น CLAUDE.md ใน repository และข้อผิดพลาดที่เห็นได้ชัดจาก AI ทำให้ชุมชนนักพัฒนาไม่กล้าเชื่อใจเครื่องมือนี้สำหรับการเชื่อมต่อที่ปลอดภัย
ฉันกลัวว่านี่คือ vibe coded และไม่ได้รับการตรวจสอบอย่างใดอย่างหนึ่ง tsnet เป็นซอฟต์แวร์ที่ดี แต่การห่อหุ้มมันในลักษณะนี้เป็นสูตรสำหรับหายนะ
คำว่า vibe coding หมายถึงโค้ดที่สร้างด้วย AI ที่ไม่ได้รับการตรวจสอบหรือทำความเข้าใจอย่างเหมาะสมโดยนักพัฒนามนุษย์ สำหรับแอปพลิเคชันที่สำคัญด้านความปลอดภัยเช่นเครื่องมือ SSH วิธีการนี้ก่อให้เกิดความเสี่ยงอย่างมาก
ปัญหาการจัดการเวอร์ชันเผยให้เห็นการมีส่วนร่วมของ AI
สัญญาณเตือนอีกประการหนึ่งเกิดขึ้นจากการกำหนดหมายเลขเวอร์ชันที่ผิดปกติของโปรเจกต์ การเผยแพร่กระโดดจาก v0.1.0 ไป v1.0.0 ไป v2.0.0 แล้วกลับไปที่ v1.2.0 โดยไม่สนใจมาตรฐาน semantic versioning อย่างสิ้นเชิง รูปแบบการกำหนดเวอร์ชันที่วุ่นวายนี้ พร้อมกับข้อความตัวอย่างเช่น github.com/yourusername/ts-ssh ที่พบในโค้ด ชี้ให้เห็นอย่างชัดเจนถึงการสร้างแบบอัตโนมัติโดยไม่มีการดูแลจากมนุษย์
Semantic versioning ปฏิบัติตามรูปแบบที่ชัดเจนซึ่งหมายเลขเวอร์ชันบ่งบอกถึงประเภทของการเปลี่ยนแปลงที่เกิดขึ้น ช่วยให้ผู้ใช้เข้าใจความคาดหวังด้านความเข้ากันได้และความเสถียร
ปัญหาประวัติเวอร์ชัน:
- v0.1.0 → v1.0.0 → v2.0.0 → v1.2.0 (การกำหนดเวอร์ชันที่ไม่เป็นไปตามหลัก semantic versioning)
- มีข้อความตัวอย่าง: "github.com/yourusername/ts-ssh"
- รวมไฟล์ "CLAUDE.md" ที่บ่งชี้ถึงการใช้ความช่วยเหลือจาก AI
- การกำหนดเวอร์ชันที่ผิดปกติแสดงให้เห็นถึงการสร้างแบบอัตโนมัติโดยไม่มีการควบคุมดูแลที่เหมาะสม
ฟีเจอร์ที่มีประโยชน์ถูกบดบังด้วยปัญหาความไว้วางใจ
แม้จะมีความกังวล ts-ssh ก็ยังมีความสามารถที่มีประโยชน์อย่างแท้จริงสำหรับผู้ใช้ Tailscale เครื่องมือนี้ให้บริการ SSH session แบบหลายโฮสต์ การรันคำสั่งแบบขนานข้ามเซิร์ฟเวอร์หลายตัว และการดำเนินการถ่ายโอนไฟล์แบบรวม ฟีเจอร์เหล่านี้อาจมีค่าสำหรับผู้ดูแลระบบที่จัดการเครื่องหลายเครื่องผ่านเครือข่าย Tailscale
เครื่องมือนี้รองรับวิธีการยืนยันตัวตนต่างๆ รวมถึง SSH keys และการขอรหัสผ่าน และรวมถึงการตรวจสอบ host key เพื่อความปลอดภัย มันสามารถสร้าง tmux sessions ที่เชื่อมต่อกับโฮสต์หลายตัวพร้อมกัน ซึ่งมีประโยชน์อย่างยิ่งสำหรับการจัดการคลัสเตอร์เซิร์ฟเวอร์
คุณสมบัติหลักของ ts-ssh:
- การเชื่อมต่อ Tailscale ใน userspace โดยใช้ tsnet (ไม่ต้องใช้ daemon)
- วิธีการยืนยันตัวตนหลายแบบ: SSH keys, การป้อนรหัสผ่าน, หรือ bots
- เซสชัน SSH แบบโต้ตอบพร้อมการรองรับ PTY เต็มรูปแบบและการปรับขนาดเทอร์มินัล
- การดำเนินการหลายโฮสต์:
-multi host1,host2,host3
สำหรับเซสชัน tmux - การรันคำสั่งแบบขนานด้วยแฟล็ก
-parallel
- การกระจายไฟล์:
-copy file host1,host2,host3:/path/
- การค้นหาโฮสต์ด้วยคำสั่ง
-list
- การรองรับภาษา: อังกฤษและสเปน
การถกเถียงเรื่องการพัฒนาด้วย AI ในวงกว้าง
สถานการณ์นี้เน้นให้เห็นความตึงเครียดที่เพิ่มขึ้นในการพัฒนาซอฟต์แวร์ ในขณะที่ AI สามารถเร่งการเขียนโค้ดและช่วยนำฟีเจอร์ที่ซับซ้อนมาใช้ ชุมชนยังคงแบ่งแยกเรื่องการใช้งานที่เหมาะสม โดยเฉพาะสำหรับแอปพลิเคชันที่ละเอียดอ่อนด้านความปลอดภัย นักพัฒนาบางคนโต้แย้งว่าโค้ดที่สร้างด้วย AI ไม่ได้มีความปลอดภัยน้อยกว่าโค้ดที่เขียนโดยมนุษย์โดยธรรมชาติ ในขณะที่คนอื่นๆ ยืนยันว่าการตรวจสอบและความเข้าใจจากมนุษย์ที่เหมาะสมเป็นสิ่งจำเป็น
การถกเถียงขยายไปเกินกว่าเพียงความกังวลด้านความปลอดภัยไปสู่คำถามเกี่ยวกับฝีมือการพัฒนาซอฟต์แวร์และความรับผิดชอบทางวิชาชีพ เมื่อนักพัฒนาใช้ความช่วยเหลือของ AI โดยไม่เข้าใจหรือตรวจสอบผลลัพธ์อย่างเต็มที่ มันก่อให้เกิดคำถามเกี่ยวกับความรับผิดชอบและการบำรุงรักษา
บทสรุป
ความขัดแย้งเรื่อง ts-ssh ทำหน้าที่เป็นกรณีศึกษาสำหรับความท้าทายที่เผชิญกับการพัฒนาที่ช่วยเหลือด้วย AI ในขณะที่ฟีเจอร์ของเครื่องมือดูมีประโยชน์ การขาดการดูแลและตรวจสอบจากมนุษย์ที่เห็นได้ชัดได้ทำลายความไว้วางใจของชุมชน สถานการณ์นี้เน้นย้ำถึงความสำคัญของความโปร่งใสเกี่ยวกับการมีส่วนร่วมของ AI ในการพัฒนาซอฟต์แวร์และความจำเป็นในการตรวจสอบโค้ดที่เหมาะสม โดยเฉพาะในแอปพลิเคชันที่สำคัญด้านความปลอดภัย เมื่อ AI กลายเป็นสิ่งที่แพร่หลายมากขึ้นในการพัฒนาซอฟต์แวร์ การสร้างมาตรฐานที่ชัดเจนสำหรับการเปิดเผยและกระบวนการตรวจสอบจะเป็นสิ่งสำคัญสำหรับการรักษาความไว้วางใจของผู้ใช้และความปลอดภัยของซอฟต์แวร์