AI agents are well-suited for tedious security bug hunting in large codebases like Firefox, which has tens of thousands of source files. The goal is zero bugs, not just finding hard-to-find ones. Mozilla has used agentic scanning to fix almost 500 security bugs.
AI agent rất phù hợp cho việc săn lỗi bảo mật tẻ nhạt trong các codebase lớn như Firefox, với hàng chục nghìn tệp nguồn. Mục tiêu là không còn lỗi, chứ không chỉ tìm ra những lỗi khó phát hiện. Mozilla đã dùng quét agentic để sửa gần 500 lỗi bảo mật.
Firefox has tens of thousands of source code files and tens of millions of lines of code.
Firefox có hàng chục nghìn tệp mã nguồn và hàng chục triệu dòng mã.
It's not possible to say one shot, go find all the potential bugs in this project.
Không thể nói một phát là đi tìm hết mọi lỗi tiềm ẩn trong dự án này.
It's way too much context for the model.
Ngữ cảnh đó quá lớn đối với mô hình.
- I think people really underappreciate the relentless tedium that an agent will go through.
- Tôi nghĩ mọi người thực sự đánh giá thấp sự kiên trì nhàm chán không ngừng nghỉ mà một agent sẽ trải qua.
- Anybody who's done this kind of what I call archaeology, it's really hard to do.
- Bất kỳ ai từng làm loại việc mà tôi gọi là khảo cổ học này, đều thấy nó thực sự khó làm.
And this is something that the coding agents are great at.
Và đây là việc mà các coding agent rất giỏi.
I asked Cloud Code, go figure out semantically when this bug was introduced.
Tôi đã hỏi Cloud Code, hãy tìm ra một cách ngữ nghĩa khi nào lỗi này được đưa vào.
I was like watching it do get commands.
Tôi đã kiểu như xem nó thực hiện các lệnh get.
that I didn't even know existed.
Mà tôi thậm chí còn không biết là có tồn tại.
- And the ability to take an agent, give it a very constrained problem in surface area and say exhaust every attempt at this is really powerful.
- Và khả năng lấy một agent, giao cho nó một vấn đề rất hạn chế về phạm vi bề mặt và nói hãy thử cạn kiệt mọi nỗ lực cho việc này thực sự rất mạnh mẽ.
Again, not because human intelligence couldn't identify similar issues, but actually our like cognitive energy declines over time in a way that agents don't.
Một lần nữa, không phải vì trí tuệ con người không thể nhận ra những vấn đề tương tự, mà thực ra là vì năng lượng nhận thức của chúng ta suy giảm theo thời gian theo cách mà các agent không bị.
- Our goal is not to have a bunch of bugs that are hard to find.
- Mục tiêu của chúng tôi không phải là có một đống lỗi khó tìm.
Our goal is to have zero bugs.
Mục tiêu của chúng tôi là không có lỗi nào.
And so I think that these tools as us and other defenders are starting to apply them actually get us closer to that world.
Và vì vậy tôi nghĩ rằng những công cụ này, khi chúng tôi và các defender khác bắt đầu áp dụng chúng, thực sự đưa chúng ta đến gần thế giới đó hơn.
- Welcome back to how I AI.
- Chào mừng trở lại với how I AI.
I'm Clarvo, product leader and AI obsessive here on a mission to help you build better with these new tools.
Tôi là Clarvo, lãnh đạo sản phẩm và người ám ảnh về AI, ở đây với sứ mệnh giúp bạn xây dựng tốt hơn với những công cụ mới này.
Today I have Brian Ginstead, distinguished engineer at Mozilla Firefox, who's going to take us behind the scenes with their experience with Anthropic's new but not yet fully released model Mythos and how they solved almost 500 security bugs by
Hôm nay tôi có Brian Ginstead, kỹ sư xuất sắc tại Mozilla Firefox, người sẽ đưa chúng ta ra hậu trường với trải nghiệm của họ với mô hình Mythos mới nhưng chưa được phát hành đầy đủ của Anthropic và cách họ giải quyết gần 500 lỗi bảo mật bằng cách
rolling their own harness, which isn't as complicated as you think.
Tự xây dựng harness của riêng họ, điều này không phức tạp như bạn nghĩ.
Let's get to it.
Hãy bắt đầu thôi.
This episode is brought to you by Work OS.
Tập này được tài trợ bởi Work OS.
AI has already changed how we work.
AI đã thay đổi cách chúng ta làm việc.
tools are helping teams write better code, analyze customer data, and even handle support tickets automatically.
Các công cụ đang giúp đội ngũ viết mã tốt hơn, phân tích dữ liệu khách hàng và thậm chí xử lý phiếu hỗ trợ tự động.
But there's a catch.
Nhưng có một vấn đề.
These tools only work well when they have deep access to company systems.
Những công cụ này chỉ hoạt động tốt khi chúng có quyền truy cập sâu vào các hệ thống của công ty.
Your co-pilot needs to see your entire codebase.
Co-pilot của bạn cần thấy toàn bộ codebase của bạn.
Your chatbot needs to search across internal docs.
Chatbot của bạn cần tìm kiếm khắp các tài liệu nội bộ.
And for enterprise buyers, that raises serious security concerns.
Và đối với người mua doanh nghiệp, điều đó làm dấy lên những lo ngại bảo mật nghiêm trọng.
That's why these apps face intense IT scrutiny from day one.
Đó là lý do tại sao những ứng dụng này phải đối mặt với sự soi xét gay gắt của IT ngay từ ngày đầu tiên.
To pass, they need secure authentication, access controls, audit logs, the whole suite of enterprise features.
Để vượt qua, chúng cần xác thực an toàn, kiểm soát truy cập, nhật ký kiểm toán, toàn bộ bộ tính năng doanh nghiệp.
Building all that from scratch, it's a massive
Xây dựng tất cả những thứ đó từ đầu, đó là một
lift.
Gánh nặng lớn.
That's where work OS comes in.
Đó là lúc Work OS xuất hiện.
Work OS gives you drop-in APIs for enterprise features so your app can become enterprise ready and scale up market faster.
Work OS cung cấp cho bạn các API cắm vào là dùng được cho các tính năng doanh nghiệp để ứng dụng của bạn có thể sẵn sàng cho doanh nghiệp và mở rộng ra thị trường nhanh hơn.
Think of it like Stripe for enterprise features.
Hãy nghĩ về nó như Stripe dành cho các tính năng doanh nghiệp.
OpenAI, Perplexity, and Cursor are already using WorkOS to move faster and meet enterprise demands.
OpenAI, Perplexity và Cursor đã đang sử dụng WorkOS để tiến nhanh hơn và đáp ứng các yêu cầu doanh nghiệp.
Join them and hundreds of other industry leaders at workos.com.
Hãy tham gia cùng họ và hàng trăm nhà lãnh đạo ngành khác tại workos.com.
Start building today.
Bắt đầu xây dựng ngay hôm nay.
Brian, welcome to How I AI.
Brian, chào mừng đến với How I AI.
I'm really excited about this episode because I think you have one of the most impactful stories in AI engineering right now.
Tôi thực sự hào hứng về tập này vì tôi nghĩ bạn có một trong những câu chuyện có tác động mạnh nhất trong kỹ thuật AI hiện nay.
So, tell me first, let's take a step back for people.
Vậy, trước tiên hãy nói cho tôi, hãy lùi lại một bước cho mọi người.
what is the scope of the product you're working on and how challenging is what you pulled off?
Phạm vi của sản phẩm bạn đang làm là gì và điều bạn đã làm được khó khăn đến mức nào?
- Yeah, thank thanks for having me.
- Vâng, cảm ơn vì đã mời tôi.
So, I I work on Firefox, which is a production web browser.
Vậy, tôi làm việc trên Firefox, một trình duyệt web đang được sản xuất.
It's very large and very complex.
Nó rất lớn và rất phức tạp.
Um, we have to render the entire web, whether the site was built in 2000 or just pushed up yesterday.
Ừm, chúng tôi phải render toàn bộ web, bất kể trang đó được xây dựng năm 2000 hay vừa được đẩy lên hôm qua.
And so, there's all sorts of performance, security, and complexity um that we deal with.
Và vì vậy, có đủ loại vấn đề về hiệu năng, bảo mật và độ phức tạp mà chúng tôi phải xử lý.
And so we recently in the last few months have been using new
Và gần đây trong vài tháng qua, chúng tôi đã sử dụng những
agentic uh scanning techniques to find a a deluge of security bugs inside of the the product as have many teams as we've started to uh get better harnesses, models and techniques for actually getting those bugs fixed.
Kỹ thuật quét agentic mới để tìm ra một trận lụt các lỗi bảo mật bên trong sản phẩm, cũng như nhiều đội ngũ khác khi chúng tôi bắt đầu có được những harness, mô hình và kỹ thuật tốt hơn để thực sự sửa được những lỗi đó.
- Yeah.
- Vâng.
And what caused me to reach out and ask you to be on the podcast was this chart.
Và điều khiến tôi liên hệ và mời bạn lên podcast là biểu đồ này.
Everybody saw this maybe on X or on the timeline where the Firefox security bug fixes by month just spiked in multiples in April.
Mọi người đều thấy điều này có thể trên X hoặc trên dòng thời gian, nơi các bản sửa lỗi bảo mật của Firefox theo tháng đột ngột tăng gấp nhiều lần vào tháng Tư.
And the headline of a lot of post around this was Mythos the definitely real M that other people have access to just not not us normies has unlocked a incredible
Và tiêu đề của nhiều bài đăng xung quanh chuyện này là Mythos, cái M chắc chắn có thật mà những người khác có quyền truy cập, chỉ là không phải chúng ta, những người bình thường, đã mở khóa một lượng khám phá và sửa lỗi đáng kinh ngạc
amount of discovery and fixes on edge case or complex security bugs.
về các lỗi bảo mật phức tạp hoặc trường hợp biên.
But I think the story behind the story is actually a little bit different.
Nhưng tôi nghĩ câu chuyện đằng sau câu chuyện thực ra hơi khác một chút.
Can you tell us about kind of how you got here and how much of this was model and how much of this was work you did internally?
Bạn có thể kể cho chúng tôi nghe về việc bạn đã đến đây như thế nào và bao nhiêu phần trong đó là nhờ mô hình, bao nhiêu là công việc bạn đã làm nội bộ không?
- Yeah, that's right.
- Ừ, đúng vậy.
So I think like a lot of open source projects through 2025, we had been dealing with almost like unwanted AI bug reports and you know the shape you've seen it if you see you get a doc and you can just tell it's from an AI.
Tôi nghĩ giống như nhiều dự án mã nguồn mở trong suốt năm 2025, chúng tôi đã phải xử lý những báo cáo lỗi AI gần như không mong muốn, và bạn biết đấy, hình dạng đó bạn đã thấy rồi, nếu bạn nhận được một tài liệu và bạn có thể biết ngay nó đến từ AI.
you know, it looks very nice and professional, but you would get halfway through and the engineer is looking at this and saying that's wrong, right?
Bạn biết đấy, nó trông rất đẹp và chuyên nghiệp, nhưng bạn sẽ đọc đến nửa chừng và kỹ sư nhìn vào đó và nói rằng sai rồi, đúng không?
And
Và
so there's a it's sort of asymmetric cost on project maintainers to receive a thing.
Vì vậy, có một kiểu chi phí bất đối xứng đối với những người duy trì dự án khi nhận được một thứ như vậy.
It's cheap to just paste in some C++ code into a chatbot and get back something that's wrong, but there was no way to actually verify whether that was true.
Thật rẻ khi chỉ dán một đoạn mã C++ vào chatbot và nhận lại một thứ sai, nhưng không có cách nào thực sự xác minh liệu điều đó có đúng hay không.
And that all changed like I would say in February of 2026.
Và tất cả đã thay đổi, tôi muốn nói là vào tháng Hai năm 2026.
And I think a big part of that story is the harnesses themselves just getting
Và tôi nghĩ một phần lớn của câu chuyện đó là bản thân các harness chỉ trở nên
better.
Tốt hơn.
Definitely improving and upgrading the model helps in a couple ways.
Chắc chắn việc cải thiện và nâng cấp mô hình giúp ích theo một vài cách.
Like it has better hypotheses about where to start with the bug.
Giống như nó có các giả thuyết tốt hơn về nơi bắt đầu với lỗi.
It does a better job of making test cases.
Nó làm tốt hơn trong việc tạo các trường hợp kiểm thử.
But I think the harness itself and plugging it into a pipeline of getting the bugs fixed is actually a little bit the story behind the story.
Nhưng tôi nghĩ bản thân harness và việc cắm nó vào một quy trình để sửa lỗi thực ra lại là một phần của câu chuyện đằng sau câu chuyện.
- Yep.
- Đúng vậy.
So for folks that have heard this word over and over again.
Vậy đối với những người đã nghe từ này lặp đi lặp lại nhiều lần.
I know the engineers that are watching probably know what you're talking about, but just define for us or show us what you mean by harness and how you built something custom to your product, your team that unlocked your ability to get actual throughput on security bug fixes, not just a bunch of unactionable kind of
Tôi biết các kỹ sư đang xem có lẽ biết bạn đang nói về điều gì, nhưng hãy định nghĩa cho chúng tôi hoặc cho chúng tôi thấy ý bạn là gì khi nói harness và cách bạn xây dựng một thứ tùy chỉnh cho sản phẩm, cho nhóm của bạn, thứ đã mở khóa khả năng đạt được thông lượng thực sự trong việc sửa lỗi bảo mật, chứ không chỉ là một đống báo cáo rác không thể hành động
slop reports or things you couldn't validate.
hoặc những thứ bạn không thể xác minh.
The harvest is a way to give an LLM tools to achieve some goal.
Harness là một cách để cung cấp cho LLM các công cụ nhằm đạt được một mục tiêu nào đó.
And so if you think back to chat bots before they had any custom tools or anything like this, it's almost a brain in a jar.
Và nếu bạn nghĩ lại về các chatbot trước khi chúng có bất kỳ công cụ tùy chỉnh nào hay thứ gì đó như thế này, nó gần giống như một bộ não trong lọ.
You know, you're just chatting with it and it's chatting back.
Bạn biết đấy, bạn chỉ trò chuyện với nó và nó trò chuyện lại.
That has almost there's no furnace around that.
Điều đó gần như không có lò nung nào xung quanh nó.
These days, the chatbots are sort of blurring in a little bit with the coding CLI in terms of what they can do.
Ngày nay, các chatbot đang phần nào mờ nhòe với CLI lập trình về những gì chúng có thể làm.
This is giving access to tools like running bash scripts, opening a browser, measuring whether you were able to create a security issue and so on.
Điều này là việc cấp quyền truy cập vào các công cụ như chạy script bash, mở trình duyệt, đo lường liệu bạn có thể tạo ra một vấn đề bảo mật hay không, v.v.
And so this is
Và vì vậy đây là
the actual uh mechanism that we use uh and have customized to find issues in Firefox.
Cơ chế thực sự mà chúng tôi sử dụng và đã tùy chỉnh để tìm ra các vấn đề trong Firefox.
This is largely like you could almost imagine just cloud code is a harness, right?
Điều này phần lớn giống như bạn gần như có thể tưởng tượng cloud code chỉ là một harness, đúng không?
And so you build custom prompting and some custom orchestration around it to plug in with your particular systems, but um it's it's actually a reasonably simple uh wrapper around it.
Và vì vậy bạn xây dựng lời nhắc tùy chỉnh và một số điều phối tùy chỉnh xung quanh nó để cắm vào các hệ thống cụ thể của bạn, nhưng ừm, nó thực ra là một lớp bao bọc khá đơn giản xung quanh nó.
You just need to give it
Bạn chỉ cần cung cấp cho nó
access to the right tools for the job.
Quyền truy cập vào đúng công cụ cho công việc.
- So show us what tools you decided were necessary in your harness and walk us through where you felt there was real leverage in building something custom versus using off-the-shelf cloud code or off-the-shelf codecs.
- Vậy hãy cho chúng tôi thấy những công cụ bạn quyết định là cần thiết trong harness của bạn và dẫn chúng tôi đi qua nơi bạn cảm thấy có đòn bẩy thực sự trong việc xây dựng một thứ tùy chỉnh so với việc dùng cloud code có sẵn hoặc codecs có sẵn.
So, here's an example that's sort of a flowchart, a little bit of how our custom harness works.
Vậy, đây là một ví dụ, kiểu như một lưu đồ, một chút về cách harness tùy chỉnh của chúng tôi hoạt động.
And I'll say up front, like often when I see these flowcharts, you see
Và tôi sẽ nói trước rằng, thường khi tôi thấy những lưu đồ này, bạn thấy
them in academic papers, too.
Chúng trong các bài báo học thuật nữa.
It makes it look really complicated.
Nó làm cho mọi thứ trông thực sự phức tạp.
There's all of these boxes and arrows and I think really it's it's simpler than it looks.
Có đủ loại hộp và mũi tên và tôi nghĩ thực ra nó đơn giản hơn vẻ ngoài.
I would say Firefox has tens of thousands of source code files and tens of millions of lines of code.
Tôi muốn nói Firefox có hàng chục nghìn tệp mã nguồn và hàng chục triệu dòng mã.
And so it's not possible to say, "Oh, one shot, go find all the potential bugs in this project.
Và vì vậy không thể nói, "Ồ, một phát, hãy đi tìm tất cả các lỗi tiềm ẩn trong dự án này.
It's way too much context for
Đó là quá nhiều ngữ cảnh đối với