Claude: Blog (Web)
85

Thủ thuật

Outtake phát triển đặc vụ điều tra an ninh mạng tự hành trên nền tảng Claude

(giờ Việt Nam)

Tóm tắt AI

Nền tảng an ninh mạng Outtake đã tận dụng Claude Code và Agent SDK để xây dựng Recon Agent, một đặc vụ AI có khả năng tự động thực hiện các cuộc điều tra an ninh mạng chuyên sâu.

Bản dịch AI

How Outtake built a cyber investigator on Claude

Cách Outtake xây dựng một agent phức tạp, hoạt động lâu dài với Claude

Outtake đã xây dựng Recon Agent qua khoảng bốn giai đoạn. Mỗi giai đoạn đều tập trung vào việc hiểu rõ thế nào là một cuộc điều tra hiệu quả, sau đó dần dần chuyển giao khả năng phán đoán đó cho agent.

Bước 1: Trở thành chuyên gia trước tiên.

Trước khi xây dựng bất kỳ phần nào của agent, các kỹ sư của Outtake đã tự mình thực hiện các cuộc điều tra mạng thực tế và thu thập kiến thức chuyên môn từ khách hàng cũng như các đối tác thiết kế.

Mục tiêu là xác định thế nào là "tốt". Đối với những loại điều tra này, điều đó có nghĩa là xác định bằng chứng nào quan trọng, cách tổ chức chúng và điều gì phân biệt một kết luận có thể hành động được với một sự phỏng đoán. Tiêu chuẩn đó đã trở thành điểm tham chiếu cố định mà họ quay lại ở mọi giai đoạn sau này.

“Điều quan trọng nhất khi xây dựng các agent hoạt động lâu dài là bạn thực sự phải hiểu thế nào là tốt? Agent đó được cho là phải làm gì?” Jack Hayford, trưởng nhóm kỹ thuật cho nền tảng agent của Outtake, cho biết. “Bởi vì cuối cùng, bạn đang đảm bảo rằng agent có thể thực hiện điều đó trong mọi trường hợp.”

Bước 2: Tạo nguyên mẫu trong Claude Code

Ban đầu, nhóm Outtake đã sử dụng các khung agent truyền thống để tự động hóa dần các cuộc điều tra mà họ đang chuẩn hóa.

Tuy nhiên, họ nhanh chóng nhận ra rằng Recon Agent không thể chỉ là một điều tra viên đơn giản. Nó cần phải viết, chạy mã, xây dựng công cụ ngay lập tức và thực sự tương tác với các tên miền độc hại.

“Mỗi cuộc điều tra đều khác biệt và mang tính kỹ thuật sâu sắc,” Hayford nói. “Agent cần có khả năng lập trình và năng lực thực thi, và Claude Code là một công cụ hỗ trợ ban đầu mạnh mẽ để chúng tôi thực sự xác thực các giả định đó và bắt đầu thử nghiệm ngày càng nhiều hơn.” Chính nhờ việc tạo nguyên mẫu trong Claude Code mà họ đã hình thành nguyên tắc thiết kế cốt lõi của mình: hạn chế agent chặt chẽ ở cấp độ điều phối (‘luôn làm X, Y, Z khi điều tra một tên miền’), nhưng để nó tự do ứng biến bất cứ khi nào cần sự phán đoán.

Bước 3: Nâng cấp lên môi trường hỗ trợ cấp sản xuất

“Chúng tôi thực sự thích các mô hình mà Claude Code đã giới thiệu, nhưng chúng tôi cần quyền truy cập bổ sung vào các nguyên hàm cấp thấp hơn, thứ mà chúng tôi không muốn tự mình xây dựng,” Hayford nói.

Sử dụng Claude Agent SDK là bước tiếp theo tự nhiên để đưa Recon Agent vào sản xuất. Việc chuyển đổi các kỹ năng và mô hình từ Claude Code đảm bảo rằng nhóm không bị giảm tốc độ trong khi vẫn có quyền kiểm soát chặt chẽ hơn đối với bộ nhớ, ngữ cảnh và hệ thống tệp của Recon Agent mà không cần phải "phát minh lại bánh xe" về vòng lặp agent và xử lý phiên làm việc.

Bước 4: Xây dựng vòng lặp lặp lại chặt chẽ dựa trên các bài đánh giá (evals).

Khả năng lặp lại với chi phí thấp và phản hồi nhanh là đặc biệt quan trọng trong an ninh mạng, nơi những kẻ tấn công thích nghi ngay khi chúng biết một công cụ phòng thủ tồn tại. Nhóm đã tích hợp các bài đánh giá agent ngay từ đầu và đạt được một bộ đánh giá mạnh mẽ chạy nhiều kịch bản cùng một lúc. Điều này cho phép họ thực hiện các thay đổi lớn, như nâng cấp mô hình và tái cấu trúc toàn bộ hệ thống bộ nhớ, một cách an toàn và tự tin.

Nó cũng cho phép nhóm tách mình ra khỏi vòng lặp agent. Ví dụ, khi Recon Agent hoàn thành một cuộc điều tra và báo cáo lại rằng nó có thể làm tốt hơn với một công cụ mà nó không có, một agent lập trình riêng biệt sẽ đọc các đề xuất đó, viết công cụ mới và xây dựng một kịch bản thử nghiệm để dùng thử.

Chỉ đến cuối cùng, con người mới can thiệp để xem xét kết quả: liệu agent có thực hiện cuộc điều tra tốt hơn với công cụ đó hay không? “Chúng tôi là nút thắt cổ chai, và khi bạn xây dựng những agent dài, phức tạp này, việc tự động hóa vòng lặp phản hồi là rất quan trọng. Nó nhanh hơn nhiều và cũng thỏa mãn hơn nhiều với tư cách là một nhà phát triển,” Hayford nói.

Những bài học từ việc xây dựng một agent hoạt động lâu dài

Trong những ngày đầu của agent, các nhà phát triển thường viết kịch bản hành vi của agent trước với các đường dẫn cứng nhắc, xác định trước, từng bước một để ngăn nó đi chệch hướng. Giờ đây, các quy trình làm việc phức tạp đang được thay thế bằng một môi trường hỗ trợ (harness): một môi trường hỗ trợ gồm bộ nhớ, công cụ, kỹ năng và các rào cản bảo vệ.

Dưới đây là một số bài học rút ra từ kinh nghiệm của nhóm Outtake trong việc triển khai Recon Agents.

Công cụ: hệ thống tệp (filesystem) và bash là tất cả những gì bạn cần

Hệ thống tệp cho phép bộ nhớ tồn tại sau khi nén. Các agent thường được cung cấp các công cụ rất cụ thể và tinh tế, nhưng việc cung cấp cho agent một hệ thống tệp cùng với khả năng viết, đọc và chạy mã sẽ giúp agent phản ứng với các trở ngại.

“Việc trao những công cụ và khả năng mở cực kỳ mạnh mẽ đó cho một agent là một bước thay đổi lớn. Chúng tôi đã quan sát thấy rất nhiều trường hợp agent có một công cụ bị lỗi do sự cố mạng hoặc bất cứ điều gì, và nó sẽ chỉ cần tìm giải pháp thay thế phù hợp và tiếp tục,” Hayford nói. “Bởi vì phần còn lại của môi trường hỗ trợ mà chúng tôi đã xây dựng đủ mạnh, và bởi vì nó để lại cho agent cơ hội ứng biến với những công cụ mạnh mẽ, mở này, nó vẫn có thể đạt được kết quả thành công.”

Các câu lệnh (Prompts) chỉ là gợi ý

Các câu lệnh cung cấp sự linh hoạt khi cần thiết, nhưng việc mã hóa cứng (hardcoding) bất cứ khi nào có thể sẽ đảm bảo tính ổn định. “Khi bạn xây dựng những agent hoạt động lâu dài trở nên phức tạp theo thời gian, các câu lệnh chỉ là gợi ý,” Hayford nói. “Khi một agent không làm những gì bạn muốn, phản ứng tự nhiên là thêm vào phần dễ thay đổi nhất của agent. Việc chèn ‘khi X xảy ra, hãy đảm bảo bạn làm Y’ vào câu lệnh hệ thống (system prompt) có thể hiệu quả ban đầu, nhưng khi agent này chạy lâu hơn, mọi từ trong câu lệnh đó có thể cuối cùng sẽ bị bỏ qua.” Cách tiếp cận đúng đắn là xây dựng xung quanh khả năng đó bằng cách xác định những gì agent luôn phải làm và biến nó thành một phần của các rào cản bảo vệ agent. “Hãy lấy những thứ này ra khỏi câu lệnh và đưa chúng vào môi trường hỗ trợ,” ông nói. “Bây giờ agent không cần phải suy nghĩ về nó nữa và nó có nhiều không gian ngữ cảnh và sự chú ý hơn để tập trung vào những lĩnh vực mà nó thực sự có thể phát huy thế mạnh.”

Đọc thêm về các phương pháp hay nhất để chỉ đạo Claude, cũng như chi phí ngữ cảnh và quyền hạn của từng phương pháp.

Các bài đánh giá (Evals) là để tăng tốc độ, không chỉ để đảm bảo độ tin cậy

Sử dụng các "sự phản chiếu" thủ công như một lộ trình cho các bài đánh giá tự động nhằm thắt chặt chu kỳ phát triển. Quan điểm thông thường là các bài đánh giá là một cổng chất lượng để đảm bảo độ tin cậy. Tuy nhiên, đối với các agent hoạt động lâu dài, lợi ích lớn hơn là tốc độ.

Ban đầu, mỗi khi Recon Agent chạy, nhóm đã thực hiện đánh giá thủ công về hiệu suất của nó. Nhưng việc đọc bản ghi 30 phút về mọi thứ mà một agent đã làm là rất tàn khốc và không thể mở rộng.

“Trong phát triển agent hiện đại, đánh giá đầu ra là bước tốn kém nhất trong vòng lặp,” Jack nói.

Một bài đánh giá chỉ là một phiên bản có cấu trúc, được chấm điểm và có thể tự động hóa của sự phản chiếu đó. Khi bạn đã mã hóa thế nào là tốt thành một bài kiểm tra có thể lặp lại, bạn có thể đặt một agent vào vị trí giám khảo để đọc bản ghi 30 phút và chấm điểm cho lần chạy đó.

“Tôi nghĩ rằng một số kỹ sư cảm thấy lo ngại về việc xây dựng các bài đánh giá vì nó giống như ý tưởng xây dựng một trường hợp hoàn hảo,” Jack nói. “Việc xây dựng một phiên bản đánh giá nào đó ngay từ đầu sẽ giúp bạn xây dựng agent đó nhanh hơn bất kể chúng có chính thức hay ‘hoàn hảo’ hay không.”

Bảo vệ các agent của bạn

Tiêm câu lệnh (Prompt injection) là một mối đe dọa thực sự, vì vậy việc đặt agent của bạn vào một sandbox hoặc cung cấp cho nó lớp giáp bảo vệ là điều cần thiết. Nhóm Outtake đã chọn Claude một phần vì sức mạnh của nó chống lại việc tiêm câu lệnh.

“Bảo mật là một lưu ý lớn đối với chúng tôi khi xây dựng Recon Agent,” Hayford nói. “Chúng tôi đã cung cấp cho nó một hệ thống tệp và bash và chúng tôi đang gửi nó vào các môi trường đối nghịch, vì vậy vấn đề quan trọng nhất mà chúng tôi phải giải quyết là xây dựng một loại hộp nổ (blastbox) nơi bạn có thể cố gắng ẩn agent của mình khỏi các nội bộ nhạy cảm mà không thực sự cản trở nó.”

Cách tiếp cận của họ giả định rằng agent có thể bị chiếm quyền điều khiển, vì vậy hệ thống xung quanh được thiết kế để ngăn chặn thiệt hại. Tuy nhiên, bảo mật trông khác nhau tùy theo từng agent, tùy thuộc vào mục đích của chúng, và không phải tất cả các agent đều là ứng cử viên cho blastbox.

Outtake hiện đang chấm điểm mức độ tin cậy tại thời điểm chính xác mà agent tiếp cận internet, triển khai một điểm kiểm tra đánh giá bất cứ thứ gì mà agent sắp chạm vào: ‘Trang này có phải là giả mạo không? Nó có phải là phần mềm độc hại không? Nó có đang cố gắng tiêm câu lệnh vào agent ngay bây giờ không?’ Đây có thể chính là lớp giáp mà các agent cần khi chúng đi qua một internet ngày càng đối nghịch.

Tiếp theo là gì

Đọc bài gốc

Bài viết được AI dịch và tổng hợp tự động từ Claude: Blog (Web). Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.