Tiếp tục đọc cho đến khi một chi tiết nhỏ làm thay đổi toàn bộ bức tranh. Không phải chính commit khắc phục (remediation) đã tạo ra khác biệt. Mà là kỳ vọng thầm lặng rằng mọi thứ được giới thiệu sau các bản sửa đó sẽ tự động kế thừa cùng các giả định về an ninh. Điều đó giống như một câu hỏi lớn hơn cả bản vá.
Tôi bắt đầu lần theo những gì xảy ra sau các commit khắc phục thay vì đọc về lỗ hổng đã xuất hiện trước chúng. Rồi tôi so sánh các triển khai sau này với kiến trúc xung quanh để xem liệu các tính năng mới có thực sự bị ràng buộc bởi cùng những giả định mà các bản sửa đã được viết cho hay không. Tôi lấy một ly cà phê và lần ngược lại lịch sử của kho mã, vì chuỗi diễn biến quan trọng hơn là từng thay đổi đơn lẻ.
Chính lúc đó, có điều gì đó trở nên khó có thể bỏ qua. Một commit khắc phục đóng lại một đường lỗi cụ thể, nhưng mọi tính năng được thêm vào sau đó lại tạo ra những tương tác mới mà phần lý luận an ninh ban đầu chưa bao giờ đề cập rõ ràng. Về mặt cơ học, điều đó có lý vì phát triển không thể dừng lại sau mỗi lần sửa. Về mặt cấu trúc, nó kể một câu chuyện khác. An ninh bắt đầu phụ thuộc ít hơn vào việc liệu lỗi cũ đã biến mất hay chưa, và nhiều hơn vào việc mọi triển khai mới có tiếp tục tôn trọng các ranh giới mà bản khắc phục đã âm thầm thiết lập hay không.
Tài liệu trả lời một câu hỏi nhưng lại đặt ra câu hỏi khác. Chúng giải thích điều gì đã thay đổi tại thời điểm khắc phục, nhưng một cách tự nhiên lại nói ít hơn về việc các triển khai về sau duy trì những giả định đó như thế nào khi giao thức phát triển. Đó là phần không ai đưa vào slide, vì nó chỉ trở nên rõ ràng khi bạn theo dõi dòng thời gian của commit thay vì chỉ đọc các bản cập nhật rời rạc.
Có lẽ đó là chủ ý. Có lẽ phát triển liên tục tạo ra một sự đánh đổi không thể tránh khỏi, thay vì chỉ là điểm yếu. Tôi vẫn đang cố gắng quyết định liệu mốc an ninh quan trọng thực sự là chính commit khắc phục, hay là tính năng đầu tiên chứng minh thành công rằng các giả định đó vẫn còn đúng sau khi giao thức lại thay đổi.
@BabylonLabs_io
#baby $BABY
Tôi bắt đầu lần theo những gì xảy ra sau các commit khắc phục thay vì đọc về lỗ hổng đã xuất hiện trước chúng. Rồi tôi so sánh các triển khai sau này với kiến trúc xung quanh để xem liệu các tính năng mới có thực sự bị ràng buộc bởi cùng những giả định mà các bản sửa đã được viết cho hay không. Tôi lấy một ly cà phê và lần ngược lại lịch sử của kho mã, vì chuỗi diễn biến quan trọng hơn là từng thay đổi đơn lẻ.
Chính lúc đó, có điều gì đó trở nên khó có thể bỏ qua. Một commit khắc phục đóng lại một đường lỗi cụ thể, nhưng mọi tính năng được thêm vào sau đó lại tạo ra những tương tác mới mà phần lý luận an ninh ban đầu chưa bao giờ đề cập rõ ràng. Về mặt cơ học, điều đó có lý vì phát triển không thể dừng lại sau mỗi lần sửa. Về mặt cấu trúc, nó kể một câu chuyện khác. An ninh bắt đầu phụ thuộc ít hơn vào việc liệu lỗi cũ đã biến mất hay chưa, và nhiều hơn vào việc mọi triển khai mới có tiếp tục tôn trọng các ranh giới mà bản khắc phục đã âm thầm thiết lập hay không.
Tài liệu trả lời một câu hỏi nhưng lại đặt ra câu hỏi khác. Chúng giải thích điều gì đã thay đổi tại thời điểm khắc phục, nhưng một cách tự nhiên lại nói ít hơn về việc các triển khai về sau duy trì những giả định đó như thế nào khi giao thức phát triển. Đó là phần không ai đưa vào slide, vì nó chỉ trở nên rõ ràng khi bạn theo dõi dòng thời gian của commit thay vì chỉ đọc các bản cập nhật rời rạc.
Có lẽ đó là chủ ý. Có lẽ phát triển liên tục tạo ra một sự đánh đổi không thể tránh khỏi, thay vì chỉ là điểm yếu. Tôi vẫn đang cố gắng quyết định liệu mốc an ninh quan trọng thực sự là chính commit khắc phục, hay là tính năng đầu tiên chứng minh thành công rằng các giả định đó vẫn còn đúng sau khi giao thức lại thay đổi.
@BabylonLabs_io
#baby $BABY
