
Một chút sau 6 giờ chiều giờ Đông (ET) vào thứ Tư, hệ thống bắt đầu nhấp nháy đỏ cho nhà phát triển iOS Clay Jones. Như nhiều nhà phát triển khác, Jones sử dụng một sản phẩm của Google gọi là Crashlytics để theo dõi khi ứng dụng của anh ta ngừng hoạt động. Đột ngột, nó đăng ký hàng chục nghìn lần sập ứng dụng. Nó cũng chỉ ra nguyên nhân: một đoạn mã mà ứng dụng của Jones tích hợp để cho phép người dùng đăng nhập bằng tài khoản Facebook của họ.
Vào lúc 6:30 chiều, Jones đã gửi báo cáo lỗi về lỗ hổng trong bộ công cụ phát triển phần mềm của Facebook trên GitHub, kho mã nguồn. Anh ấy cung cấp câu trả lời ngắn gọn cho một biểu mẫu tiêu chuẩn:
Mục tiêu bạn muốn đạt được là gì? Chúng tôi đang sử dụng FBSDK trong ứng dụng của chúng tôi như một lựa chọn xác thực.
Mong muốn điều gì sẽ xảy ra? Tôi muốn FBSDK không gặp sự cố.
Anh ta không phải là một mình. Theo các báo cáo lan rộng và dịch vụ theo dõi web Down Detector, các ứng dụng iOS nổi bật như TikTok, Spotify, Pinterest, Venmo và nhiều ứng dụng khác đã gặp sự cố vào thứ Tư. Nhiều người dùng phát hiện rằng ứng dụng của họ sập mỗi khi họ cố gắng mở ứng dụng, có sử dụng Facebook để đăng nhập hay không. “Hãy di chuyển chậm hơn và hãy hỏng ít thứ hơn,” một người nhận xét trên GitHub viết. “Cảm ơn bạn.”
“Hôm qua, một bản phát hành mới của Facebook bao gồm một thay đổi đã gây ra sự cố trong một số ứng dụng sử dụng Facebook iOS SDK đối với một số người dùng. Chúng tôi xác định vấn đề nhanh chóng và giải quyết nó,” Facebook nói trong một tuyên bố.
Thay đổi đó rất nhỏ, so với ảnh hưởng lớn của nó. “Nó giống như một giá trị máy chủ - đầu ra là cung cấp một từ điển các thứ - đã được thay đổi thành việc cung cấp một YES/NO đơn giản thay vì, mà không có cảnh báo,” nhà phát triển iOS Steven Troughton-Smith nói. “Một thay đổi đơn giản như vậy có thể làm hỏng một ứng dụng không chuẩn bị cho nó.”
Việc sử dụng SDK, không chỉ từ Facebook mà chung, là phổ biến chủ yếu vì sự thuận tiện. Giống như cách bạn có thể lắp ráp một chiếc ô tô bằng cách sử dụng các bộ phận từ các nhà sản xuất khác nhau có chuyên môn cụ thể, các nhà phát triển xây dựng ứng dụng với mã nguồn bên ngoài, đặc biệt từ các công ty trực tuyến phổ biến như Facebook và Google. Một SDK có nghĩa là bạn phải làm ít công việc hơn.
“Hầu hết tất cả những ứng dụng này—Pinterest, Spotify, nhiều ứng dụng lớn—đều sử dụng Facebook SDK cho nút đăng nhập,” Jones nói. “Bạn sẽ thấy 'Đăng nhập bằng Facebook.' Mọi người đều có nó, rất phổ biến, tốt cho tỷ lệ đăng ký vì nó chỉ là một cú nhấp chuột.”
Và nhiều ứng dụng không sử dụng Đăng nhập bằng Facebook vẫn sử dụng SDK, đó là lý do tại sao vấn đề vào thứ Tư lan rộng như vậy. “Rất phổ biến khi các ứng dụng kết nối với Facebook, bất kể họ có sử dụng một tính năng liên quan đến Facebook hay không, chủ yếu là vì quảng cáo,” nhà nghiên cứu an ninh iOS Will Strafach nói, người có ứng dụng Guardian Firewall tự động chặn các theo dõi trực tuyến. “Điều này là điều mà người ta không được biết đến, và điều làm nhiều người cảm thấy bực bội hơn là cố gắng chặn nó sẽ làm hỏng những thứ mà người dùng thực sự muốn, như Đăng nhập bằng Facebook.”
Nhưng đối với các nhà phát triển, việc sử dụng một SDK cũng có nghĩa là đầu hàng quyền lực khi có sự cố, cả trong việc xác định vấn đề và giải quyết nó. Ngay cả khi Crashlytics xác định mã lỗi gây sự cố ngay lập tức, những chi tiết đó ít giúp đỡ Jones và những người khác. “Đó là mã nguồn của Facebook,” Jones nói. “Nó không giống như là một cái gì đó chúng tôi viết ra hoặc là một cái chúng tôi biết rất nhiều về. Bạn có thể cố gắng phân tích những gì đang diễn ra dựa trên cách mã được viết, nhưng đó không phải là mã của chúng tôi.”
Facebook không phải là công ty duy nhất gặp vấn đề trong danh mục cụ thể này. Vào cuối tháng 4, SDK Google Maps đã gặp vấn đề tương tự làm cho ứng dụng sử dụng nó bị crash khi mở. Sự cố vào thứ Tư đáng chú ý không chỉ vì ảnh hưởng lan rộng mà còn vì nó là một lời nhắc về việc Facebook có tầm ảnh hưởng ra sao. Không chỉ vậy, mà nhiều nhà phát triển bình luận trong báo cáo lỗi GitHub của Jones lưu ý rằng những lỗi crash có vẻ chỉ ra rằng Facebook SDK đang gửi thông tin trở lại máy chủ của công ty mỗi khi ứng dụng được mở, hoạt động mà họ—và hầu hết là người dùng của họ—đều thấy là bất ngờ nhất.
"Mặc định, SDK được cấu hình để gửi sự kiện cho việc cài đặt ứng dụng, khởi chạy ứng dụng, mua trong ứng dụng và lỗi SDK," Tom Parnell, người phát ngôn của Facebook nói. "Nhà phát triển có thể tắt những sự kiện này, thêm các sự kiện khác từ thư viện tiêu chuẩn mà chúng tôi bao gồm, hoặc tạo ra sự kiện tùy chỉnh của họ."
Đó là một khía cạnh tiềm ẩn khác của việc sử dụng bất kỳ SDK nào: Bạn thường không biết chính xác nó đang làm gì.
“Thực sự là hiếm khi mở ứng dụng App Store mà nó không thực hiện kết nối đến dịch vụ phân tích để báo cáo việc cài đặt cùng với các dữ liệu truy vấn khác, cũng như báo cáo việc sử dụng ứng dụng liên tục,” Strafach nói. “Điều thú vị ở đây là mọi người buộc phải chú ý đến điều này ngay bây giờ vì sự cố crash—nhược điểm của việc bao gồm đoạn mã một cách tùy ý trong ứng dụng mà không xem xét nó để tìm lỗi."
May mắn là Facebook đã khắc phục vấn đề một cách nhanh chóng, theo cách hiểu của những điều này. Jones nói rằng mất khoảng hai giờ để mọi thứ trở lại bình thường. (Bản vá chính nó đến sớm hơn, nhưng mất thời gian để lan truyền.) Tuy nhiên, có lẽ là hữu ích khi không nên chuyển qua quá nhanh từ sự cố này như một nghiên cứu trường hợp về cách ứng dụng yêu thích của bạn thực sự được xây dựng như thế nào, mọi khía cạnh của internet làm thế nào liên kết với nhau, và làm thế nào nhiều con đường dẫn về Facebook—dù bạn có tài khoản hay không.
More Great Mytour Stories
- 27 ngày tại vịnh Tokyo: Điều gì đã xảy ra trên Diamond Princess
- Để chạy marathon tốt nhất ở tuổi 44, tôi đã phải vượt qua quá khứ của mình
- Tại sao nông dân đổ sữa, ngay cả khi mọi người đang đói
- “Fleeceware” là gì và làm thế nào bạn có thể bảo vệ bản thân?
- Mẹo và công cụ cắt tóc tại nhà
- 👁 Trí tuệ nhân tạo phát hiện ra một phương pháp điều trị tiềm năng cho Covid-19. Ngoài ra: Nhận tin tức AI mới nhất
- 🏃🏽♀️ Muốn có những công cụ tốt nhất để khỏe mạnh? Kiểm tra những lựa chọn của đội ngũ Gear của chúng tôi cho những chiếc vòng đeo sức khỏe tốt nhất, trang thiết bị chạy bộ (bao gồm giày và tất), và tai nghe tốt nhất
