ผมได้สแกนแอปพลิเคชันจริง 5 แอปด้วยเครื่องมือสแกนความปลอดภัย
ผมสร้าง VibeSafe ขึ้นมาเพื่อสแกนโค้ดที่สร้างโดย AI โดยผมได้ทดสอบกับแอปพลิเคชันจริง 5 แอปจาก Vibe Coding Showcase
ผลลัพธ์ที่ได้นั้นแย่มาก
แอปทั้ง 5 มีปัญหาด้านความปลอดภัย ไม่มีแอปไหนเลยที่มี Content Security Policy ผมพบปัญหารวมทั้งหมด 33 รายการ
รายละเอียดมีดังนี้:
- 6 ปัญหาระดับวิกฤต (Critical)
- 9 ปัญหาระดับสูง (High)
- 18 ปัญหาระดับกลาง (Medium)
นี่คือสิ่งที่ผมพบในแอปต่างๆ:
แอปที่ 1: แพลตฟอร์มสุขภาพมารดา แอปนี้มีการรั่วไหลของข้อมูล
- ไฟล์ .env เป็นสาธารณะ ใครก็สามารถขโมยข้อมูลประจำตัว (credentials) ของคุณได้
- โฟลเดอร์ .git ถูกเปิดเผย ใครก็สามารถดาวน์โหลดประวัติโค้ดทั้งหมดของคุณได้
- ไม่มีการป้องกัน XSS
- ไม่มีการจำกัดอัตราการเข้าสู่ระบบ (rate limiting)
แอปที่ 2: แพลตฟอร์มสะสมคะแนนผ่าน SMS แอปนี้มีรูปแบบปัญหาเหมือนกับแอปที่ 1
- ไฟล์ .env เป็นสาธารณะ
- โฟลเดอร์ .git เป็นสาธารณะ
- ไม่มี security headers
- ไม่มีการป้องกันการยืนยันตัวตน (auth protection)
แอปที่ 3: แพลตฟอร์ม SaaS สร้างโดย CTO ที่มีประสบการณ์ แต่ก็ยังมีช่องโหว่
- โฟลเดอร์ .git รั่วไหล
- ไดเรกทอรีแคชของ Python เป็นสาธารณะ
- ไม่มีการป้องกัน XSS
แอปที่ 4: แอปสำหรับพ่อแม่ นี่คือแอปที่ดีที่สุดในกลุ่ม แต่ก็ยังมีความเสี่ยง
- SSL และไฟล์ .env ปลอดภัยดี
- ไม่มีการป้องกัน XSS
- ไม่มีการจำกัดอัตราการลงชื่อเข้าใช้ ซึ่งทำให้เกิดการโจมตีแบบ brute-force ได้
แอปที่ 5: ผลิตภัณฑ์ของ Netlify
- ใบรับรอง SSL ไม่ถูกต้อง (invalid)
- เบราว์เซอร์บล็อกไซต์นี้เนื่องจากไม่ปลอดภัย
สรุปความเสี่ยงที่พบบ่อย:
- ไม่มี Content Security Policy: 100% ของแอปทั้งหมด
- ไม่มี X-Frame-Options: 100% ของแอปทั้งหมด
- ไม่มีการจำกัดอัตราการใช้งาน (rate limiting): 80% ของแอปทั้งหมด
- ไฟล์ .env หรือ .git รั่วไหล: 60% ของแอปทั้งหมด
คุณสามารถแก้ไขปัญหาเหล่านี้ได้ถึง 90% ภายในเวลาเพียง 15 นาที
วิธีแก้ไข:
- เพิ่ม Content-Security-Policy: 1 นาที
- เพิ่ม X-Frame-Options: 1 นาที
- เพิ่ม HSTS: 1 นาที
- บล็อกไฟล์ .env และ .git: 1 นาที
- เพิ่ม rate limiting middleware: 10 นาที
นี่ไม่ใช่แค่การทดลองเล็กๆ น้อยๆ แต่นี่คือผลิตภัณฑ์ที่ใช้งานจริงพร้อมผู้ใช้งานจริง แอปเหล่านี้จัดการข้อมูลสุขภาพ ข้อมูล SMS และบัญชีผู้ใช้ ซึ่งส่วนใหญ่กำลังตกอยู่ในความเสี่ยงต่อการถูกขโมยข้อมูลและการโจมตีแบบ clickjacking
