Browser Extension Risk: ส่วนเสริมเล็ก ๆ ที่อาจเห็นข้อมูลมากกว่าที่คิด
Browser extension ช่วยให้งานสะดวกขึ้น แต่บางตัวขออ่านหรือเปลี่ยนข้อมูลบนเว็บไซต์ที่เราเปิด ลองดูวิธีตัดสินใจว่าจะเก็บ จำกัดสิทธิ์ หรือถอดส่วนเสริมออก
Browser extension มีความพิเศษอย่างหนึ่งครับ ตอนติดตั้งเรามักจำได้ดีว่าต้องการมันมาช่วยอะไร แต่ผ่านไปไม่กี่เดือน ปุ่มเล็ก ๆ ข้าง address bar อาจเพิ่มขึ้นเรื่อย ๆ จนเริ่มตอบไม่ได้ว่าตัวไหนยังใช้อยู่ ตัวไหนติดไว้ทดลอง และตัวไหนตามมาจากเครื่องเก่าผ่าน browser sync
ความเสี่ยงไม่ได้อยู่ที่จำนวนอย่างเดียว เพราะ browser คือที่เดียวกับที่เราเปิดอีเมล เอกสารบน cloud, ระบบลูกค้า หน้า admin และบางครั้งก็รวมถึง internet banking ส่วนเสริมที่ได้รับอนุญาตให้อ่านหรือเปลี่ยนข้อมูลบนหน้าเว็บจึงอยู่ใกล้ข้อมูลสำคัญมากกว่าหน้าตาของมันเยอะ
ถ้าจะตรวจ ผมจะไม่เริ่มจากพยายามฟันธงว่า extension ตัวไหน “ปลอดภัย” หรือ “อันตราย” จากชื่อกับดาวใน store แต่จะเปิดตัวที่มีสิทธิ์กว้างที่สุดขึ้นมาก่อน แล้วถามง่าย ๆ ว่า มันช่วยงานอะไร และเหตุใดงานนั้นจึงต้องเห็นทุกเว็บไซต์ที่เราเปิด คำตอบจะพาเราไปได้สามทาง: เก็บไว้ จำกัดสิทธิ์ หรือถอดออก
Permission บอกว่าทำอะไรได้ ไม่ได้บอกว่าจะทำอะไร
เวลา Chrome แสดงคำเตือนว่า extension สามารถ “อ่านและเปลี่ยนข้อมูลบนเว็บไซต์ที่คุณเข้าชม” ข้อความนี้กำลังบอก capability หรือความสามารถที่ browser อนุญาตให้ใช้ ไม่ได้ยืนยันว่าผู้พัฒนาจะเอาข้อมูลไปทำเรื่องไม่ดี และก็ไม่ได้รับรองว่าจะไม่มีอะไรผิดพลาดในอนาคต
คำอธิบาย permission ของ Chrome Web Store ระบุว่าสิทธิ์บนทุกเว็บไซต์อาจเปิดให้ extension อ่าน ขอ หรือแก้ไขข้อมูลในหน้าที่เราเปิดได้ ส่วนสิทธิ์อื่นอาจมองเห็น browsing history, URL และชื่อของ tab, ตำแหน่ง หรือข้อมูลที่ copy-paste ประโยชน์ของคำเตือนจึงอยู่ที่การช่วยให้เรามองเห็นขอบเขต ไม่ใช่ใช้เป็นตรารับรองหรือป้ายประณาม
ผมมองเรื่องนี้คล้ายกับการให้กุญแจครับ กุญแจห้องทำงานไม่ได้แปลว่าคนถือกุญแจจะขโมยของ แต่ถ้าเขาต้องเข้ามารดน้ำต้นไม้เดือนละครั้ง เราก็ควรถามว่าจำเป็นต้องถือ master key ที่เปิดได้ทุกห้องหรือเปล่า
สิทธิ์ที่ควรหยุดอ่านรายละเอียดเพิ่ม ได้แก่การอ่านและเปลี่ยนข้อมูลทุกเว็บไซต์, browsing history และ tabs, clipboard, downloads, cookies หรือข้อมูลเกี่ยวกับ session รวมถึง camera, microphone และการเชื่อมต่อกับโปรแกรมบนเครื่อง สิทธิ์เหล่านี้อาจมีเหตุผลที่ดีได้ เพียงแต่เหตุผลควรตรงกับ feature ที่เราใช้จริง

ลองหยิบ extension แปลภาษาขึ้นมาดูหนึ่งตัว
สมมติว่าเรามี extension แปลข้อความบนหน้าเว็บ หน้าที่หลักของมันต้องอ่านเนื้อหาที่เราต้องการแปล แบบนี้การขอเข้าถึง page content ก็ฟังขึ้น แต่ยังมีคำถามต่อว่า มันต้องอ่านทุกหน้าอัตโนมัติหรือทำงานเฉพาะตอนที่เรากดใช้ก็พอ
ตรงนี้ผมจะไล่ดูทีละเรื่องโดยไม่ต้องอ่าน source code:
- หน้าที่หลักคืออะไร: อธิบายได้ไหมในหนึ่งประโยค ถ้าติดไว้แปลหน้าเว็บ ก็ไม่ควรมี feature โฆษณา เปลี่ยน search engine หรือ redirect แทรกเข้ามาโดยไม่เกี่ยวข้อง
- สิทธิ์ตรงกับหน้าที่ไหม: การอ่านหน้าที่สั่งแปลมีเหตุผล แต่การขอ history ทั้งหมด clipboard ตลอดเวลา หรือทุก download ต้องมีคำอธิบายเพิ่ม
- ข้อมูลออกจากเครื่องหรือไม่: การแปลอาจต้องส่งข้อความไปยัง server ของผู้ให้บริการ เราจึงต้องรู้คร่าว ๆ ว่าส่งอะไร เก็บนานเท่าไร และเหมาะจะใช้กับเอกสารงานหรือลูกค้าหรือไม่
- ถ้าจำกัด site access แล้วยังใช้ได้ไหม: ถ้ากดใช้เฉพาะบางครั้งได้ ก็ไม่มีเหตุผลมากนักที่จะปล่อยให้ทำงานทุกหน้าอยู่ตลอด
นี่เป็นจุดที่ประโยชน์กับความเสี่ยงต้องมองคู่กัน ผมไม่ได้คิดว่าควรถอด extension แปลภาษาทิ้งเพียงเพราะต้องอ่านหน้าเว็บ เพราะถ้ามันช่วยงานจริงก็มีคุณค่า แต่ผมจะไม่ใช้มันใน profile เดียวกับระบบลูกค้าหรือเอกสารอ่อนไหวโดยไม่ตรวจ data practice และลดขอบเขตเท่าที่ทำได้
หลักเดียวกันใช้กับ extension จับภาพหน้าจอ, password manager, ad blocker, coupon finder หรือเครื่องมือบันทึกบทความได้ เพียงแต่แต่ละตัวมีเหตุผลในการขอสิทธิ์ไม่เท่ากัน Password manager อาจต้องทำงานบนหน้า login หลายเว็บ ส่วน extension เปลี่ยนภาพหน้า new tab ไม่น่าจะต้องอ่านข้อมูลทุกเว็บไซต์ (ถ้าขอจริงก็น่าสงสัยพอให้หยุดก่อน)
อยู่ใน official store แล้ว ผมยังดูอะไรอีก
Official store ช่วยกรองปัญหาได้ระดับหนึ่ง แต่ไม่ควรถูกมองเป็นใบรับรองตลอดอายุของ software ตัวหนึ่ง หลังติดตั้งไปแล้ว extension ยังอัปเดต เปลี่ยน feature หรือเปลี่ยนวิธีหารายได้ได้ และผู้ใช้ส่วนใหญ่มักไม่กลับมาอ่านรายละเอียดใหม่ทุก version
ก่อนตัดสินใจเก็บ extension ตัวอย่างไว้ ผมจะดู publisher ว่าเป็นใคร มีเว็บไซต์และช่องทาง support จริงไหม จากนั้นดูวันที่อัปเดตกับ version history ว่ายังมีคนดูแลอยู่หรือไม่ แล้วอ่าน privacy disclosure ว่าระบุข้อมูลที่เก็บ วัตถุประสงค์ และช่องทางลบข้อมูลชัดแค่ไหน
ดาวและจำนวนผู้ใช้ยังมีประโยชน์ แต่ผมใช้เพื่อบอกว่า “ควรอ่านต่อไหม” มากกว่า “เชื่อได้แล้วหรือยัง” โดยเฉพาะ review ล่าสุด ถ้าหลายคนพูดคล้ายกันว่าเริ่มมีโฆษณา เปลี่ยนหน้า search, redirect ไปเว็บอื่น หรือขอ permission เพิ่มหลัง update ตรงนี้มีน้ำหนักมากกว่าคะแนนเฉลี่ยที่สะสมมาหลายปี
ฝั่งผู้พัฒนา Chrome เองก็แนะนำให้ extension ขอเฉพาะ permission ที่เกี่ยวกับหน้าที่หลัก และใช้ optional permission เมื่อเหมาะสมใน Permission warning guidelines แต่ผู้ใช้ยังต้องดูว่าสิ่งที่ติดตั้งอยู่ทำตามหลักนั้นสมเหตุสมผลแค่ไหน
จำกัด Site Access แล้วลองใช้ก่อน

ถ้า extension ยังมีประโยชน์ แต่สิทธิ์กว้างเกินความสบายใจ ผมชอบเริ่มจากการจำกัด site access เพราะทำง่ายและย้อนกลับได้ Chrome Help ระบุว่าผู้ใช้สามารถเลือกให้ส่วนเสริมเข้าถึงเว็บไซต์เมื่อกดใช้ เฉพาะเว็บไซต์ที่กำหนด หรือทุกเว็บไซต์ สำหรับ permission ที่รองรับ
ในกรณี extension แปลภาษา ผมจะลองตั้งเป็น “เมื่อกด extension” ก่อน ใช้งานไปสักพักแล้วดูว่ารบกวนเกินไปไหม ถ้าต้องใช้ประจำกับเว็บไซต์เอกสารบางแห่ง ค่อยเพิ่มเฉพาะ domain นั้น การให้สิทธิ์ทุกเว็บไซต์ควรเป็นปลายทางหลังยืนยันแล้วว่า feature ต้องใช้จริง ไม่ใช่ค่าเริ่มต้นเพราะกดง่ายกว่า
Firefox ก็มีแนวทางคล้ายกัน ผู้ใช้เปิดหน้า Add-ons Manager เพื่อดู permission และปิด optional permission บางรายการได้ตาม Mozilla Support ชื่อเมนูอาจเปลี่ยนไปตาม browser และ version แต่หลักคิดเหมือนเดิม คือไม่ต้องให้สิทธิ์เผื่อ feature ที่เราไม่ได้ใช้
มีข้อแม้เล็กน้อย: site access ไม่ได้ควบคุม extension ทุกชนิดเหมือนกัน Google ระบุว่าการเปลี่ยนนี้ใช้กับเว็บไซต์ที่ตรงกับ host permission และไม่ครอบคลุม extension ที่เปลี่ยน network access ระดับล่าง เช่น VPN หรือ proxy ดังนั้นอย่าเห็นปุ่มจำกัดเว็บแล้วสรุปว่าควบคุมทุกอย่างจบแล้ว
แยก Browser งานออกจากของที่อยากลอง

ถ้าใช้เครื่องเดียวทั้งงานและเรื่องส่วนตัว การแยก browser profile เป็นวิธีที่ผมมองว่าคุ้ม เพราะไม่เสียค่าใช้จ่ายเพิ่มและช่วยลดของปนกันได้เยอะ Work profile อาจมีแค่ password manager, SSO หรือ extension ที่บริษัทกำหนด ส่วน shopping helper, coupon, theme และเครื่องมือที่อยากลองก็อยู่ personal profile
Google อธิบายว่า profile แยก bookmarks, history, extensions, passwords และ settings ออกจากกัน และ managed work profile ยังรับ policy จากองค์กรได้ แนวทางนี้ช่วยให้ extension ส่วนตัวไม่โผล่ไปพร้อมกับหน้าที่เปิดอีเมลหรือข้อมูลลูกค้าโดยไม่ตั้งใจ
แต่ profile ไม่ใช่ sandbox สมบูรณ์ครับ คนที่ใช้ OS account เดียวกันอาจสลับ profile ได้ และโปรแกรมระดับเครื่องยังอยู่นอกขอบเขต ถ้าต้องการการแยกที่จริงจังกว่านั้น อาจต้องใช้ OS account หรืออุปกรณ์คนละชุด การเลือกขึ้นอยู่กับข้อมูลที่เปิดและผลกระทบถ้าเกิดปัญหา ไม่จำเป็นต้องเล่นท่ายากที่สุดกับทุกคน
เรื่องนี้ต่อจากพื้นฐานใน Getting Started with Cyber Hygiene โดยตรง เพราะ browser profile ที่สะอาดช่วยได้ก็ต่อเมื่อบัญชีหลัก MFA และอุปกรณ์ได้รับการดูแลด้วย
ถ้าไม่ได้ใช้แล้ว ถอดออกให้จบ
การ disable เหมาะกับการลองปิดชั่วคราวเพื่อดูว่างานยังเดินได้ไหม แต่ถ้าผ่านไปแล้วไม่กระทบอะไร ผมจะ uninstall มากกว่าปล่อยค้างไว้ ส่วนเสริมที่ไม่ได้ใช้ยังเป็น software ที่รับ update และยังมี permission เดิมอยู่ การเก็บไว้เผื่อวันหนึ่งอาจได้ใช้ มักไม่คุ้มกับภาระที่เราต้องกลับมาจำว่ามันคืออะไร
หลัง uninstall ยังมีอีกเรื่องที่หลายคนลืม: ถ้า extension เคยให้สร้าง account, เชื่อม Google/Microsoft ผ่าน OAuth หรือส่งข้อมูลไปยังบริการข้างหลัง การลบออกจาก browser ไม่ได้แปลว่าบัญชี integration และข้อมูลที่เคยส่งจะหายตามไปด้วย ควรกลับไปดู connected apps, account page และช่องทางลบข้อมูลของผู้ให้บริการเท่าที่เกี่ยวข้อง
ไม่จำเป็นต้องเปลี่ยน password ทุกครั้งที่ถอด extension แบบไม่มีเหตุผล แต่ถ้ามีพฤติกรรมผิดปกติ publisher เปลี่ยนอย่างน่าสงสัย หรือมีหลักฐานว่า session/credential อาจถูกแตะ ค่อยจัดการบัญชีตามระดับความเสี่ยง การหมุนทุกอย่างแบบตื่นตระหนกอาจสร้างงานเพิ่มและทำให้พลาดจุดที่ควรตรวจจริง
ถ้าเปิดหน้า Extensions อยู่ตอนนี้ ผมจะทำแบบนี้
เริ่มจากเรียงดูทั้งหมดแล้วเลือกตัวที่ไม่รู้ว่าติดไว้ทำอะไร ถ้าไม่มีเหตุผลใช้งานปัจจุบัน ให้ disable เพื่อทดสอบหรือ uninstall ได้เลย จากนั้นหยิบตัวที่ขออ่านทุกเว็บไซต์ขึ้นมาเพียงหนึ่งตัว ไม่ต้องพยายามตรวจทั้ง browser ในคราวเดียว
สำหรับตัวนั้น ให้ตอบว่าหน้าที่หลักคืออะไร publisher ตรวจสอบได้ไหม ข้อมูลออกจากเครื่องหรือไม่ และจำกัด site access แล้วยังทำงานได้หรือเปล่า ถ้าคำตอบชัดและประโยชน์คุ้ม ก็เก็บไว้ ถ้ายังต้องใช้แต่ลดขอบเขตได้ ก็จำกัดสิทธิ์ ส่วนตัวที่ไม่มีเหตุผลรองรับหรือไม่ได้ใช้แล้ว การถอดออกตรงไปตรงมากว่า
ถ้าเป็นเครื่องของทีม ควรเพิ่มอีกเพียงสองข้อมูลคือใครต้องใช้และใช้กับงานอะไร ไม่ต้องสร้าง spreadsheet ใหญ่ตั้งแต่วันแรกครับ รายการสั้นที่ตอบได้ว่า extension ไหนจำเป็นกับงาน มีใครรับผิดชอบ และควรกลับมาตรวจเมื่อไร มีประโยชน์กว่ารายชื่อยาวที่ไม่มีใครตัดสินใจ
สุดท้ายผมยังใช้ browser extension อยู่ เพราะหลายตัวช่วยประหยัดเวลาได้จริง เพียงแต่ไม่มองมันเป็นของตกแต่ง browser อีกต่อไป มันคือ software ที่ได้ยืนอยู่ตรงทางผ่านของข้อมูลเรา ตัวไหนมีเหตุผลก็เก็บ ตัวไหนขอเกินจำเป็นก็จำกัด และตัวไหนจำไม่ได้แล้วว่ามีไว้ทำไม ก็คงถึงเวลาถอดออกครับ
อ่านต่อที่เกี่ยวข้อง
แหล่งข้อมูลอ้างอิง
- Google Chrome Web Store Help: Permissions requested by apps and extensions
- Google Chrome Help: Install and manage extensions
- Chrome for Developers: Permission warning guidelines
- Mozilla Support: Manage optional permissions for Firefox extensions
- Google Chrome Help: Create and personalise your profile
- Chrome Enterprise Help: Managed profile and managed browser