ประสบการณ์การแฮ็กแอปหาคู่ และวิธีที่ผิดพลาดในการปฏิบัติต่อ นักวิจัยด้านความปลอดภัย
(alexschapiro.com)- แอปหาคู่ Cerca ใช้การล็อกอินด้วยหมายเลขโทรศัพท์ร่วมกับ API ที่เปิดเผย ทำให้เกิดสภาพเสี่ยงอันตรายที่ โค้ดยืนยันตัวตนถูกรวมอยู่ในคำตอบของ OTP และอาจลุกลามไปถึงการเข้าถึงข้อมูลส่วนบุคคลได้
api.cercadating.comเมื่อแนบ header เวอร์ชันแอปแล้ว จะสามารถเห็น endpoint ผ่าน openapi.json ของ/docsและบางคำขอยังสามารถแก้ไข business logic เช่นการจับคู่คนสองคนแบบบังคับได้user/{user_id}คืนค่า PII เช่นชื่อ ตำแหน่ง วันเกิด โรงเรียน หมายเลขโทรศัพท์ อีเมล และสถานะโปรไฟล์ เพียงมี user ID ที่ถูกต้อง ซึ่งเมื่อรวมกับช่องโหว่ OTP ก็อาจนำไปสู่การยึดบัญชีได้- หลังเข้าถึงบัญชีแล้ว ยังสามารถเข้าถึง ข้อมูลหนังสือเดินทางหรือบัตรประจำตัว, URL เซลฟี และข้อความส่วนตัวได้สำหรับผู้ใช้ที่เคยส่งข้อมูลดังกล่าว โดยสคริปต์ตรวจสอบพบผู้ใช้ 6,117 คน, ผู้ใช้ 207 คนที่กรอกข้อมูลบัตร, และผู้ใช้ 19 คนที่แสดงว่าเป็นนักศึกษา Yale
- ช่องโหว่ถูกรายงานต่อ Cerca เมื่อวันที่ 23 กุมภาพันธ์ 2025 และมีการคุยทางโทรศัพท์ในวันที่ 24 กุมภาพันธ์ แต่จนถึงเวลาที่เปิดเผยเมื่อวันที่ 21 เมษายน ก็ไม่มีคำตอบติดตามหรือการแจ้งเตือนผู้ใช้ มีเพียงการยืนยันอย่างอิสระว่าได้มีการแพตช์แล้ว
การตอบสนองที่ขาดหายหลังการแจ้งช่องโหว่
- แอปหาคู่ Cerca มี ช่องโหว่ด้านความปลอดภัยของแอปหาคู่ ที่อาจเปิดให้เห็นข้อความส่วนตัว ข้อมูลหนังสือเดินทาง รสนิยมทางเพศ และข้อมูลส่วนบุคคลอื่น ๆ
- หลังค้นพบช่องโหว่ จึงได้รายงานไปยังทีม Cerca ทางอีเมลเมื่อวันที่ 23 กุมภาพันธ์ 2025 และในวันถัดมาได้คุยวิดีโอเพื่อหารือเรื่องช่องโหว่ แนวทางบรรเทา และมาตรการติดตามผล
- ทีม Cerca ยอมรับถึงความร้ายแรงของปัญหา ขอบคุณสำหรับการเปิดเผยอย่างรับผิดชอบ และให้คำมั่นว่าจะแก้ไขช่องโหว่พร้อมแจ้งผู้ใช้ที่ได้รับผลกระทบ
- จากนั้นได้ขออัปเดตเกี่ยวกับการแก้ไขและแผนแจ้งผู้ใช้ในวันที่ 5 มีนาคม และ 13 มีนาคม แต่จนถึงวันที่เปิดเผย 21 เมษายน 2025 ก็ไม่มีการตอบกลับ
- ก่อนเปิดเผย มีการ ยืนยันอย่างอิสระ แล้วว่าช่องโหว่ได้รับการแพตช์ จึงตัดสินใจเผยแพร่ข้อมูล
การเข้าถึงบัญชีที่เริ่มจากการล็อกอิน OTP
- แอปใช้เพียง การล็อกอินแบบ OTP ที่ส่งรหัสไปยังหมายเลขโทรศัพท์
- เพื่อดูคำขอเครือข่ายจากแอป จึงใช้ Charles Proxy บนแอป iPhone เพื่อดักจับคำขอของแอป
- ในคำตอบที่ใช้ trigger OTP นั้น มี one-time password รวมอยู่โดยตรง
- ด้วยโครงสร้างนี้ หากรู้เพียงหมายเลขโทรศัพท์ของผู้ใช้ ก็สามารถเข้าถึงบัญชีนั้นได้
- เนื่องจากยังต้องมีช่องทางอื่นเพื่อรู้หมายเลขโทรศัพท์ของเจ้าของบัญชี จึงนำไปสู่การสำรวจ API endpoint
Endpoint ที่ถูกเปิดเผยผ่านเอกสาร OpenAPI
- ใช้ directory fuzzer เพื่อไล่ enumerates path ของ
api.cercadating.com - หากไม่มี header ที่เกี่ยวข้องกับแอป จะไม่สามารถเข้าถึงส่วนใดของเว็บไซต์ได้เลย
- เมื่อตั้งให้ Gobuster ส่งคำขอพร้อม header ดังกล่าว ก็พบ endpoint
/docsและมีopenapi.jsonให้ใช้งานที่นั่น - ใช้ฟังก์ชัน match-and-replace ของ Burp Suite เพื่อตั้งให้แนบ header เวอร์ชันแอปและ bearer token ที่ดึงจาก Charles Proxy ติดไปทุกครั้ง
- บาง endpoint ที่ไม่ได้รับการป้องกันส่งผลต่อ business logic และยังสามารถส่งคำขอเพื่อบังคับจับคู่คนสองคนได้
การเปิดเผยโปรไฟล์ผู้ใช้และข้อมูลส่วนบุคคล
- endpoint
user/{user_id}จะคืนข้อมูลส่วนบุคคลหลากหลายอย่างเมื่อได้รับ user ID ที่ถูกต้อง - คำตอบมีข้อมูลดังต่อไปนี้
- ชื่อ เพศ เพศที่สนใจ เมือง ละติจูด·ลองจิจูด
- อีเมลสถาบันการศึกษาและสถานะการยืนยัน อุตสาหกรรม อาชีพ วันเกิด ส่วนสูง
- school ID และชื่อสถาบัน สถานะความสมบูรณ์ของโปรไฟล์
- สถานะการยืนยันสัญชาติด้วยเอกสาร สถานะการยืนยันมือถือ·อีเมล
- สถานะพรีเมียม สถานะบัญชีว่าใช้งานอยู่·พักใช้งานชั่วคราว·อยู่ใน onboarding
- หมายเลขโทรศัพท์ อีเมล user ID จำนวนครั้งค้นหาที่เหลือ
- รูปโปรไฟล์ ความชอบในการจับคู่ prompt ของผู้ใช้ ข้อมูลติดต่อร่วมกัน เวลาสร้าง·แก้ไข และอายุ เป็นต้น
- ด้วยสคริปต์ Python สามารถค้นหา user ID ที่มีอยู่จริงและไล่ดึงข้อมูลผู้ใช้จำนวนมากได้
- หมายเลขโทรศัพท์ที่ได้กลับมานั้น เมื่อนำไปรวมกับช่องโหว่ OTP ก็สามารถใช้เพื่อ เข้าถึงบัญชีทั้งหมด ได้
- แม้ไม่ต้องล็อกอินด้วย OTP ก็ยังอยู่ในสภาพที่ข้อมูลส่วนบุคคลของผู้ใช้ถูกเปิดเผย
การเข้าถึงต่อเนื่องไปถึงบัตรประจำตัวและข้อความส่วนตัว
- ฟิลด์
national_id_verifiedแสดงให้เห็นว่าระบบมีการเก็บข้อมูลหนังสือเดินทางหรือบัตรประจำตัว - คำตอบที่เกี่ยวกับเอกสารยืนยันตัวตนมีข้อมูลดังต่อไปนี้
verification_type:PASSPORTdocument_numberfront_side_urlback_side_urlselfie_url- สถานะ, ID, user ID
- ข้อมูลเหล่านี้ถูกส่งให้เฉพาะผู้ใช้ที่ล็อกอินแล้วเท่านั้น แต่เพราะช่องโหว่ OTP จึงอยู่ในสภาพที่ สามารถล็อกอินเป็นผู้ใช้คนใดก็ได้
- ผู้เขียนระบุว่าโครงสร้างนี้ทำให้สามารถดูข้อมูลเอกสารยืนยันตัวตนของใครก็ได้หากมีการส่งไว้ แต่ในทางปฏิบัติไม่ได้ทำเช่นนั้น
- ยังสามารถดู ข้อความส่วนตัว กับคู่เดตที่เป็นไปได้ และหากมีการส่งไว้ก็เข้าถึงข้อมูลหนังสือเดินทางได้ด้วย
ขนาดของการเปิดเผยที่ตรวจสอบได้
- ใช้สคริปต์อย่างรวดเร็วเพื่อนับจำนวนผู้ใช้ที่สามารถดึงข้อมูลได้ จำนวนผู้ใช้ที่ลงทะเบียนว่าเป็นนักศึกษา Yale และจำนวนผู้ใช้ที่กรอกข้อมูลบัตรประจำตัว
- สคริปต์ทำงานโดยไล่ตรวจ user ID ที่มีอยู่จริง และจะหยุดเมื่อไม่พบ ID ที่ใช้ได้ติดต่อกัน 1,000 ค่า
- วิธีนี้ไม่ได้ตัดความเป็นไปได้ว่ายังมีผู้ใช้อีกมากกว่านี้
- Cerca ระบุว่ามีผู้ใช้ 10,000 คนในสัปดาห์แรก
- ตัวเลขที่ยืนยันได้มีดังนี้
- ผู้ใช้ 6,117 คน
- ผู้ใช้ที่กรอกข้อมูลบัตร 207 คน
- ผู้ใช้ที่ระบุว่าเป็นนักศึกษา Yale 19 คน
คำมั่นเรื่องความเป็นส่วนตัวกับความเสี่ยงที่เกิดขึ้นจริง
- นโยบายความเป็นส่วนตัวของ Cerca ระบุว่า “ปกป้องข้อมูลด้วยการเข้ารหัสและมาตรการมาตรฐานอุตสาหกรรมอื่น ๆ”
- เมื่อเทียบกับสภาพช่องโหว่ที่เกิดขึ้นจริง ถ้อยคำนี้ถือว่า ชวนให้เข้าใจผิด
- ข้อมูลที่อาจถูกเปิดเผยรวมถึงรสนิยมทางเพศ ข้อความส่วนตัว และข้อมูลส่วนบุคคลหลากหลายประเภท
- หากผู้ไม่หวังดีเข้าถึงข้อมูลเหล่านี้ได้ ก็อาจนำไปสู่การขโมยตัวตน การสะกดรอย หรือการข่มขู่
- เพราะแอปหาคู่จัดการกับข้อมูลที่อ่อนไหว จึงควรให้ ความปลอดภัยของข้อมูลผู้ใช้ มาก่อนความเร็วในการเปิดตัวแอป
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
แอปนี้ดูเหมือนเป็น โปรเจกต์ระดับเริ่มต้น ที่นักศึกษามหาวิทยาลัยทำขึ้น แน่นอนว่าพวกเขาควรพยายามอย่างเต็มที่เพื่อปฏิบัติตามแนวทางด้านความปลอดภัยและการสื่อสารให้ถูกต้อง แต่เมื่อคิดว่าแม้แต่ “บริษัทผู้ใหญ่” ที่ได้รับเงินลงทุนจาก VC รายใหญ่ก็ยังรับมือกับปัญหาคล้าย ๆ กันได้เละเทะ ผมก็ไม่อยากโจมตีพวกเขารุนแรงเกินไป
https://georgetownvoice.com/2025/04/06/georgetown-students-c...
คล้ายกับกรณีคนขับรถชนคนตาย แล้วมารู้ทีหลังว่าไม่มีใบขับขี่ด้วยซ้ำ
ในโพสต์ต้นฉบับบอกว่าเขาติดต่อทีม Cerca ตั้งแต่เดือนกุมภาพันธ์ ดังนั้นคงเป็นช่องโหว่ที่พบในวันเปิดตัว หรือไม่ก็มีโครงสร้างอะไรบางอย่างที่แปลกอยู่ ไม่ว่าจะอย่างไร นี่ก็เป็นทั้ง “ช่องโหว่อายุสองเดือน” และ “แอป/บริการที่นักศึกษาทำซึ่งมีอายุสองเดือน”
แถมนี่ไม่ใช่ของที่ทำเล่น ๆ แต่เป็นผลิตภัณฑ์เชิงพาณิชย์ มี in-app purchase ขึ้นไว้ว่า Cerca App $9.99, Cerca App 3 month $9.99, 10 Swipes $2.99, 3 Swipes $0.99, 5 swipes $1.99, 3 Searches $1.99, 10 Searches $3.99, 5 Searches $2.99
ในฐานะวิศวกรของบริษัทเล็ก บางครั้งผมก็กังวลเรื่อง ความรับผิดส่วนบุคคล ของตัวเอง มีบริษัทจำนวนมากที่อยู่ในอุตสาหกรรมที่ไม่ถูกกำกับดูแล ไม่อยู่ภายใต้ PCI หรือ HIPAA และในองค์กรเล็ก ๆ ความปลอดภัยมักถูกผลักให้เป็นแค่เรื่องที่ฝ่ายวิศวกรรมสนใจ ไม่ใช่หน้าที่ระดับองค์กร
ทีมผลิตภัณฑ์โฟกัสที่ฟีเจอร์, PM โฟกัสที่กำหนดการ, QA โฟกัสที่การหาบั๊ก และแทบไม่มีใครส่งเสียงอย่างมีเหตุผลเรื่องความปลอดภัย วิศวกรไม่ได้ถูกคาดหวังให้ทำอะไรมากกว่าปิดงานที่อยู่บนบอร์ด ถ้าทำให้ปลอดภัยได้โดยไม่กระทบกำหนดการก็ดี แต่ถ้าไม่ได้ ก็จะถูก PM หรือคนอื่น ๆ กดดัน
แล้วก็จะได้ยินคำพูดอย่าง “ต้องใช้เวลานานแค่ไหน?”, “ความเสี่ยงที่เรื่องแบบนั้นจะเกิดขึ้นจริงมีมากแค่ไหน?”, “ไว้ค่อยจัดการเรื่องความปลอดภัยทีหลัง ตอนนี้ปล่อย MVP ให้ลูกค้าใช้ก่อนเถอะ” ในฐานะพนักงาน ผมก็ทำงานตามที่นายจ้างสั่ง แต่ถ้าบริษัทถูกฟ้องเพราะถูกแฮ็กหรือข้อมูลรั่ว ผมก็อดคิดไม่ได้ว่าผมจะต้องรับผิดส่วนตัวหรือเปล่า เพียงเพราะเป็นคนเดียวที่ “ควรรู้” เรื่องนี้
อย่างไรก็ตาม การที่องค์กรทุกขนาดขาดมาตรฐานความปลอดภัยโดยรวมเป็นเรื่องน่าสมเพช ดูเหมือนการปล่อยฟีเจอร์ใหม่จะมาก่อนการทำให้แน่ใจว่ามีแนวทางความปลอดภัยที่ดีเสมอ
แต่ก็เข้าใจว่าในสตาร์ทอัพที่มีนักพัฒนาแค่หนึ่งหรือสองคน แม้แต่เรื่องนี้ก็ทำได้ยาก ถ้าผมรู้สึกว่าบริษัทไม่ได้มุ่งทำสิ่งที่ถูกกฎหมาย ผมคงลาออก
มันไม่ง่าย แต่เป็นเรื่องสำคัญที่ถ้าไม่จัดการอย่างจริงจัง อาจทำให้ธุรกิจทั้งธุรกิจจมลงได้
ต้องมีประวัติอีเมลที่คุณยกความกังวลเรื่องการขาดความปลอดภัย และบันทึกที่หัวหน้าตอบกลับมาว่าไม่ต้องใส่ใจ ผมไม่รู้ว่าอยู่ในเขตอำนาจศาลไหน แต่ไม่เคยได้ยินกรณีที่พนักงานทั่วไปต้องรับผิดทางกฎหมายเป็นการส่วนตัวจากเหตุข้อมูลรั่ว โดยปกติแล้วเหตุข้อมูลรั่วมักไม่มีใครเผชิญผลลัพธ์จริงจัง บริษัทแค่จ่ายค่าปรับเชิงพิธีการแล้วก็ผ่านไป
ในฐานะนักวิจัย ถ้าต้องการลดความเสี่ยงทางกฎหมาย แค่สร้างบัญชีที่สองหรือให้เพื่อนสร้างโปรไฟล์แล้วให้ความยินยอมในการเข้าถึงก็น่าจะเพียงพอแล้ว
ไม่จำเป็นต้องไปดึงข้อมูลจริงมาเพื่อพิสูจน์ ช่องโหว่แบบ enumeration ถ้า ID ของผมคือ 12345 และเพื่อนสมัครแล้วได้ 12357 แค่นั้นก็เพียงพอเป็นหลักฐานว่าคุณสามารถหา ID ของผู้ใช้คนใดก็ได้และเข้าถึงโปรไฟล์ได้
อย่างที่หลายคนพูดกัน ไม่จำเป็นต้องเข้าถึง ข้อมูลที่ระบุตัวบุคคลได้ ของผู้ใช้รายอื่นมากขนาดนั้นเพื่อยืนยันและเปิดเผยช่องโหว่
การบอกว่าอยากให้ข้อมูลที่ระบุตัวบุคคลได้ถูกปกป้อง แต่กลับไปดึงข้อมูลนั้นมาเพื่อพิสูจน์ เป็นสิ่งที่ไม่จำเป็นและหน้าไหว้หลังหลอก
บทความค่อนข้างสับสน ส่วนที่บอกว่าในระบบล็อกอินแบบ OTP การตอบกลับของคำขอรหัสผ่านแบบใช้ครั้งเดียวมี OTP ส่งกลับมาแบบตรง ๆ ยังอธิบายไม่พอ แต่น่าจะหมายความว่าเป็น API อย่าง api.cercadating.com/otp/ ถ้าเดาหมายเลขโทรศัพท์ได้ ก็จะรับโค้ด OTP ของเบอร์นั้นได้ แม้ไม่ได้เป็นเจ้าของหมายเลขนั้น
อีกอย่าง เขาบอกว่าใช้สคริปต์ที่หยุดเมื่อไม่เจอผู้ใช้ที่ถูกต้องใน ID ต่อเนื่อง 1,000 รายการ แล้วพบผู้ใช้ 6,117 คน, 207 คนที่ใส่ข้อมูลบัตรประจำตัว, และ 19 คนที่อ้างว่าเป็นนักศึกษา Yale แต่ไม่แน่ใจว่าผู้เขียนรู้หรือไม่ว่านี่อันตรายแค่ไหน โดยพื้นฐานแล้วคล้ายกับวิธีที่ weev เจาะ AT&T และเขาก็ต้องเข้าคุก[0]
แม้จะเป็นบริษัทที่ใหญ่กว่าและการรั่วไหลที่ใหญ่กว่า แต่ผมคงไม่ออกมาคุยโวต่อสาธารณะว่าตัวเองใช้ช่องโหว่ด้านความปลอดภัยเข้าถึงข้อมูลของคนหลายพันคนโดยไม่ได้รับอนุญาต ไม่ได้จะตัดสินเรื่องศีลธรรม และคิดว่านักวิจัยความปลอดภัยควรมีพื้นที่ในการแจ้งเตือน แต่กฎหมายค่อนข้างเสียเปรียบต่อนักวิจัยความปลอดภัยมาก
[0] https://en.wikipedia.org/wiki/Goatse_Security#AT&T/iPad_emai...
จำเลยในคดีนั้นยังถูกกล่าวหาว่าเผยแพร่ข้อมูลระบุตัวบุคคลพื้นฐานด้วย แต่กรณีนี้ดูเหมือนไม่ได้เกิดเรื่องแบบนั้น
เคยเจอเรื่องคล้ายกันกับแอปหาคู่อีกแอป แต่ฝั่งนั้นไม่ตอบกลับเลย สุดท้ายเพื่อดึงความสนใจของผู้ก่อตั้ง ผมเลยเปลี่ยนข้อความแนะนำตัวของเขาเป็นประโยคว่า “ติดต่อกลับมาหน่อย” แล้วเขาก็กู้คืนจากแบ็กอัป
หลายปีต่อมาเห็นโฆษณาบน Instagram เลยลองตรวจดูว่าปัญหายังอยู่ไหม ปรากฏว่ายังอยู่ โครงสร้างคือแค่รู้ API endpoint ที่หาได้ง่ายผ่านแอป-พร็อกซี-เซิร์ฟเวอร์ ใครก็มีสิทธิ์แอดมินเต็มรูปแบบและเข้าถึงข้อความทั้งหมด การแมตช์ และอื่น ๆ ได้
ชักคิดว่าควรกลับไปลองอีกสักครั้งไหม
ก่อนจะรับข้อมูลอ่อนไหวอย่างหนังสือเดินทางหรือที่อยู่ ควรบังคับให้ผู้คนคิดให้ดีอีกครั้ง เรื่องแบบนี้จะมองข้ามว่าเป็นแค่ เด็ก ๆ ทำแอป ไม่ได้
ถ้าเป็นเว็บหาคู่ API แค่คืนค่าสถานะบัตรประจำตัวเป็นบูลีน verified/not-verified หรือค่า enum อย่าง ‘not-verified’, ‘passport’, ‘drivers-license’ ก็เพียงพอแล้ว ไม่มีความจำเป็นจริง ๆ ที่จะแสดงรายละเอียดให้ไคลเอนต์/UI เห็น
กรณีอย่างแอปสายการบินที่ต้องเลือกเอกสารระบุตัวตนเพื่อวัตถุประสงค์ด้านตรวจคนเข้าเมือง อาจเป็นข้อยกเว้นที่แสดงข้อมูลได้มากขึ้น แต่ก็ควรเป็นแบบแอป United ที่แสดงแค่เลขท้ายไม่กี่หลักของหนังสือเดินทาง หวังว่าแม้แต่ API ภายในก็จะส่งมาแค่นั้น
หรือไม่ก็ให้หน่วยงานที่ “คล้ายรัฐบาล” อย่าง Apple หรือ Google รับหน้าที่ก็ได้
https://en.wikipedia.org/wiki/General_Data_Protection_Regula...
การที่การตอบกลับของ API สำหรับคำขอ คืนค่า OTP กลับมานั้นไม่สมเหตุสมผลเลย ทำไมถึงทำแบบนั้นนะ?
ถ้าไม่คิดเรื่องความปลอดภัย นี่ก็เป็นวิธีแก้ที่ดูสมเหตุสมผลและชัดเจนมาก แอปหาคู่เป็นหนึ่งในประเภทแอปที่อันตรายที่สุดในการสร้าง เพราะโดยธรรมชาติมีข้อมูลระบุตัวบุคคลจำนวนมาก และนี่ก็แย่มาก
ใน proof of concept หรือ MVP ที่ทำเร็ว ๆ มักใช้โมเดลที่บันทึกเป็นการตอบกลับ API ตรง ๆ เพื่อประหยัดเวลา จึงพลาดได้ง่าย
ตอน API ใหม่ของ Pinterest ออกมา มันกำลังโปรยข้อมูลผู้ใช้ทั้งหมดให้ทุกแอปที่ใช้ OAuth integration อยู่ และยังรวมถึง ค่าลับสำหรับการยืนยันตัวตนสองขั้นตอน ด้วย ผมรายงานไปและได้รางวัลบั๊กบาวน์ตี แต่เรื่องแบบนี้ยังเกิดขึ้นได้แม้กับ API ของบริษัทใหญ่ที่ควรรู้ดีกว่านี้
อาจเป็นความผิดของเฟรมเวิร์ก เป็นไปได้ว่าโครงสร้างคือเอาอ็อบเจกต์ที่จะใส่ลงฐานข้อมูลไป serialize โดยตรงจาก ORM หรือระบบจัดเก็บอื่น แล้วส่งกลับเป็น HTTP response
https://yaledailynews.com/blog/2025/04/24/yale-student-expos...
เป็นบทความอีกชิ้นเกี่ยวกับเรื่องนี้
อยากให้มีกฎหมายที่ทำให้การเก็บข้อมูลระบุตัวบุคคลอันตรายพอ ๆ กับ การเก็บกากนิวเคลียร์ ถ้ารั่ว บริษัทควรเกือบแน่นอนว่าจะล้มละลาย และผู้รับผิดชอบควรเผชิญความเสี่ยงทางกฎหมาย
ผมคิดว่านี่เป็นวิธีที่ดีที่สุดในการปรับแรงจูงใจให้ถูกต้อง ตอนนี้แทบไม่มีข้อเสียจากการเก็บข้อมูลผู้ใช้ให้มากที่สุดเท่าที่จะทำได้ ข้อมูลรั่ว? โพสต์ทวีตขอโทษหนึ่งอันแล้วก็ไปต่อ
ถึงจะทำให้ปัญหานี้ได้รับความสนใจอย่างที่ควรได้รับ
ถ้า “ไม่ได้รับการตอบกลับใด ๆ” ก็ถึงเวลาที่ควรแจ้งว่า หากยังคงเงียบต่อไป จะเปิดเผยช่องโหว่หลังผ่านไป 90 วัน