Chương 15 - Chương 15: Người Từng Nói Không Nhận Được
Chương 15: Người Từng Nói Không Nhận Được
Tôi nhìn dòng “đã rút lại bởi SELF_MH” lâu đến mức mắt bắt đầu cay. Trong phòng 6A, không ai nói gì trong vài giây đầu. Trước đó, mỗi phát hiện vẫn có thể bị đẩy sang vùng xám: quyền nhóm, máy dùng chung, cảnh báo khủng hoảng. Nhưng cảnh báo nghiệp vụ này khác. Nó do chính rule tôi cấu hình tạo ra, mang nội dung tôi từng cố gắng chứng minh, rồi lại bị ghi thành chính tôi tự tay rút xuống. Nếu một năm trước người ta nói tôi im lặng, thì bây giờ dữ liệu đang cho thấy có người đã mượn miệng tôi để bắt tôi im.
Đỗ Quang Vinh đặt bút xuống bàn. “Mở audit trail của RISK-DELIVERY-0820-77. Từng bước một. Ai nhận cảnh báo, ai mở cảnh báo, ai xác nhận, ai rút lại.” Trưởng bộ phận công nghệ thông tin liếc qua Lâm Gia Nghi. Chị gật đầu rất nhẹ. “Chỉ metadata và nội dung nghiệp vụ của cảnh báo. Không mở tin nhắn cá nhân nếu chưa có căn cứ.”
Màn hình chuyển sang bản ghi chi tiết. RISK-DELIVERY-0820-77 được hệ thống kiểm thử tạo lúc 21:43:18 ngày 19/08, dựa trên rule MH_HANDOVER_BLOCKER_05. Tôi nhớ cái tên ấy. Tôi đã đặt nó trong một buổi tối tăng ca, sau khi phát hiện trạng thái nghiệm thu có thể bị đẩy sang “hoàn tất tạm” dù ba điểm đối chiếu log chưa đủ điều kiện. Một năm sau, cái tên ấy quay về như một nhân chứng sống sót sau đống tro.
Nội dung rule hiện lên: nếu bảng chuyển giao thiếu xác nhận từ kiểm thử, vận hành và phụ trách dự án, hệ thống phải chặn xác nhận hoàn tất, đồng thời gửi cảnh báo đến nhóm PRJ-HANDOVER-0820, người phụ trách dự án, quản lý vận hành liên quan và tài khoản cấu hình rule. Trạng thái gửi: thành công. Thời điểm gửi đầu tiên: 21:43:22. Thời điểm đẩy lên kênh dự án: 21:43:27. Thời điểm gửi email nội bộ: 21:43:34.
“Danh sách người nhận,” Đỗ Quang Vinh nói.
Một bảng mới mở ra. PKT_PROJECT_LEAD, ML_QA_REVIEW, VT_HANDOVER, OPS-WARROOM-0820 và SELF_MH. Tất cả đều có trạng thái delivered. Tôi nhìn từng dòng một, chậm hơn tất cả mọi người. Một năm trước, khi tôi bị hỏi vì sao không báo sớm, Phùng Kiến Thành đã nói rất chắc trước mặt ba bộ phận: “Tôi không nhận được cảnh báo nào từ Minh Hạ.” Khi đó câu nói ấy như một cánh cửa sập xuống. Hôm nay, cánh cửa đó tự mở từ phía hệ thống.
“Trạng thái đã nhận không đồng nghĩa đã đọc,” Phùng Kiến Thành nói trước khi ai kịp hỏi anh ta. “Một dự án giai đoạn đó có hàng trăm thông báo. Tôi có thể không nhìn thấy cảnh báo cụ thể.”
Tôi quay sang anh ta. “Năm ngoái anh không nói là anh không đọc. Anh nói anh không nhận được.”
Phòng họp yên đi. Phùng nhìn tôi, quai hàm siết lại. “Tôi không nhớ từng câu chữ trong một cuộc họp cách đây một năm.”
“Biên bản nhớ,” Lâm Gia Nghi nói. Chị không nâng giọng, nhưng trưởng bộ phận công nghệ thông tin đã hiểu ngay và mở thư mục hồ sơ rà soát cũ. Vài thao tác sau, một đoạn biên bản hiện trên màn hình, ghi lời Phùng Kiến Thành: “Không nhận được cảnh báo trạng thái chuyển giao từ Minh Hạ trước thời điểm xác nhận hoàn tất.” Câu đã đè lên tôi suốt một năm không còn lơ lửng trong trí nhớ của riêng tôi nữa.
Đỗ Quang Vinh nhìn công nghệ thông tin. “Mở read receipt và hành vi sau khi nhận cảnh báo.”
Bảng log thu hẹp lại theo PKT_PROJECT_LEAD. Cảnh báo được gửi đến hộp thư nội bộ của Phùng lúc 21:43:35. Được mở lúc 21:44:02 từ máy PRJ-12-07. Link chi tiết cảnh báo được truy cập lúc 21:44:19. File snapshot log đi kèm được tải xuống lúc 21:45:11. Và lúc 21:46:03, người nhận bấm nút xác nhận “Đã tiếp nhận”. Tôi nhìn ba chữ ấy. Đã tiếp nhận. Ba chữ sạch sẽ, nhỏ gọn, lịch sự. Ba chữ đủ để biến câu “không nhận được” thành một lời nói dối có dấu thời gian.
Phùng Kiến Thành bật cười một tiếng rất ngắn. “Nút xác nhận tự động trong hệ thống đôi khi được bấm để dọn thông báo. Không chứng minh tôi đã xem nội dung đầy đủ.”
Kỷ Dương ngẩng lên. “Nếu chỉ dọn thông báo, anh sẽ bấm dismiss. Nút ‘Đã tiếp nhận’ chỉ hiện sau khi mở chi tiết cảnh báo và snapshot log.” Anh quay sang công nghệ thông tin. “Kiểm tra thời lượng phiên xem.”
Con trỏ chạy xuống thêm một dòng. Detail view duration: 74 giây. Snapshot opened locally: 21:45:18 đến 21:45:52. Tôi không biết bảy mươi tư giây là dài hay ngắn đối với người khác. Nhưng với một cảnh báo chỉ có sáu dòng tóm tắt, bảy mươi tư giây đủ để đọc đi đọc lại nhiều lần. Đủ để biết nó nói gì.
Mai Lan đặt tay lên mép bàn. “Dù anh Phùng có mở, cảnh báo này vẫn do SELF_MH rút lại. Chúng ta đang đi quá xa khỏi hành vi chính.”
“Không,” tôi nói. Lần này tôi nhìn thẳng vào chị. “Chúng ta đang đi đến lý do vì sao hành vi chính có thể xảy ra.”
Mai Lan im một nhịp. Bây giờ tôi chỉ nói điều cần nói, rồi để log nói tiếp phần còn lại.
Đỗ Quang Vinh yêu cầu mở luồng xử lý rút lại cảnh báo. Hệ thống hiển thị ba điều kiện để một cảnh báo mức đỏ có thể bị rút: người cấu hình rule xác nhận cảnh báo sai; quản trị dự án chuyển trạng thái sang đã xử lý với căn cứ; hoặc có ít nhất một người phụ trách liên quan xác nhận đã tiếp nhận và yêu cầu hủy escalation trong vòng xử lý khủng hoảng. Dòng thứ ba khiến cả phòng trầm xuống. Nó không nói ai rút. Nhưng nó nói một nút đã bấm trước đó có thể trở thành chìa khóa.
Công nghệ thông tin mở chi tiết thao tác 22:59:12. Tài khoản thực hiện: SELF_MH. Thiết bị: ADM-12-02. Hành động: retract alert. Lý do chọn: “Đã có người phụ trách tiếp nhận, chờ đối chiếu ngoài hệ thống.” Ghi chú nhập tay: “Không escalate để tránh nhiễu xác nhận chuyển giao.” Tôi thấy câu cuối giống hệt chiếc bóng của ticket bảo mật SEC-HR-0820-118. Cùng một cách nói. Cùng một cách biến việc che đi thành trật tự.
Kỷ Dương hỏi: “Căn cứ người phụ trách tiếp nhận là bản ghi nào?”
Một cửa sổ nhỏ bung ra. Reference ack: ACK-PKT-214603. Người xác nhận: PKT_PROJECT_LEAD. Thiết bị xác nhận: PRJ-12-07. Tôi nghe tiếng thở của Phùng Kiến Thành chệch đi. Chỉ đủ để tôi nhận ra.
Đỗ Quang Vinh nhìn anh ta. “Anh Phùng, năm ngoái anh nói không nhận được cảnh báo. Hôm nay hệ thống ghi anh nhận, mở, tải snapshot và xác nhận đã tiếp nhận. Sau đó chính xác nhận của anh được dùng làm căn cứ để tài khoản SELF_MH rút cảnh báo mức đỏ. Anh muốn giải thích thế nào?”
Lần đầu tiên kể từ đầu cuộc họp, Phùng Kiến Thành không trả lời ngay. Anh ta nhìn màn hình, rồi nhìn Mai Lan, rồi lại nhìn xuống ly nước đã nguội. Không rõ là cầu cứu hay ra hiệu, nhưng đủ để tôi hiểu giữa họ có một đường dây chưa lộ hết. Mai Lan không nhìn lại anh ta. Chị giữ mắt trên tập tài liệu trước mặt, hai ngón tay ép chặt mép giấy đến trắng ra.
“Tôi cần xem lại ngữ cảnh lúc đó,” Phùng nói cuối cùng. “Tôi không phủ nhận log hệ thống, nhưng tôi không đồng ý suy diễn rằng tôi cố tình nói dối.”
“Tạm thời không cần suy diễn,” Lâm Gia Nghi đáp. “Chúng ta đang ghi nhận mâu thuẫn giữa lời trình bày trong biên bản cũ và hành vi hệ thống.”
Tôi cúi mắt xuống hai bàn tay mình. Chúng vẫn đặt trên mặt bàn, không run. Vào giây phút một lời nói dối bắt đầu lộ ra, tôi không thấy nhẹ nhõm như từng tưởng. Tôi chỉ thấy mệt vì sự thật vốn không trốn kỹ; người ta chỉ chọn không mở đúng cửa.
Võ Thành bất chợt lên tiếng, nhỏ hơn bình thường. “Nếu ACK của anh Phùng được dùng để rút cảnh báo, vậy người ngồi ADM-12-02 phải biết ACK đó tồn tại.” Anh dừng lại, nuốt khan. “Hoặc có người đã chỉ cho họ.”
Câu nói ấy kéo tất cả quay lại điểm lạnh nhất của vụ việc. Người ngồi ADM-12-02 không chỉ tình cờ đăng nhập tài khoản tôi. Người đó biết cảnh báo nào cần rút, biết phải chọn lý do gì, biết dùng xác nhận nào làm căn cứ, và biết cách viết một câu ghi chú giống hệt logic đóng cảnh báo bảo mật bên vận hành. Một người nhầm lẫn không thể làm được như vậy. Một người hoảng loạn cũng không thể bình tĩnh đến vậy.
Đỗ Quang Vinh yêu cầu trích xuất quan hệ giữa ACK-PKT-214603 và ticket rút cảnh báo. Công nghệ thông tin mở metadata liên kết. Ban đầu chỉ có những dòng kỹ thuật khó đọc. Rồi một trường “initiated_by_workflow” xuất hiện: OPS_HANDOVER_FASTTRACK. Lâm Gia Nghi lập tức yêu cầu dừng ở đó và chụp hash màn hình trước khi mở sâu hơn. Sau khi xác nhận, công nghệ thông tin nhấp vào ID workflow.
Màn hình hiện một lịch sử kích hoạt ngắn ngủi. OPS_HANDOVER_FASTTRACK được bật lúc 22:37:51. Người bật: TQ-HOANG. Người phê duyệt luồng: HMD_OPS_ADMIN. Đối tượng ảnh hưởng: RISK-DELIVERY-0820-77, SEC-HR-0820-118, transfer_sign_prepare. Tôi đọc ba dòng đối tượng ảnh hưởng, và trong đầu bỗng nối chúng thành một đường thẳng. Cảnh báo nghiệp vụ. Cảnh báo chữ ký. Thư mục chuẩn bị chuyển giao. Không phải ba sự cố rời nhau. Là một luồng.
Mai Lan đứng bật dậy. “Luồng fasttrack của vận hành không thể mở ở đây nếu không có đại diện khối vận hành. Đây là vượt phạm vi cuộc họp.”
Đỗ Quang Vinh nhìn chị, ánh mắt rất bình tĩnh. “Vượt phạm vi hay vượt khỏi phần chị muốn chúng tôi nhìn thấy?”
Cả phòng nín lại. Mai Lan không đáp. Tôi nhìn màn hình, nơi tên TQ-HOANG và HMD_OPS_ADMIN nằm cạnh nhau như hai cánh cửa tiếp theo. Một năm trước, Phùng Kiến Thành nói anh ta không nhận được. Hôm nay, hệ thống nói anh ta đã nhận. Nhưng điều khiến tôi lạnh sống lưng không phải là câu nói dối ấy. Mà là có một luồng vận hành đã dùng lời “đã tiếp nhận” của anh ta, chữ ký bị lấy của tôi, và quyền cấp từ tầng trên để đóng cả ba con đường cảnh báo trong cùng một đêm.
Đúng lúc Đỗ Quang Vinh yêu cầu mời Tạ Quốc Hoàng vào phòng 6A, công nghệ thông tin khựng lại lần nữa. “Có một bản đính kèm trong workflow fasttrack,” anh nói. “Tên file là approval_note_hmd_2257.txt.”
Tôi nhìn đồng hồ góc màn hình. 22:57. Hai phút trước khi tài khoản của tôi rút cảnh báo đỏ.
Công nghệ thông tin mở preview metadata, chưa mở nội dung. Trường mô tả hiện ra chỉ một dòng: “Theo trao đổi với Hạ, đã thống nhất không nhận cảnh báo qua hệ thống.” Tôi nhìn dòng ấy, rồi trong ngực như có thứ gì rất cũ vỡ ra mà không phát ra tiếng. Họ không chỉ nói người khác không nhận được. Họ còn chuẩn bị nói rằng chính tôi là người không muốn nhận.
