Back to Blog

AI as a Security Engineer: Anthropic के Claude ने Firefox में 22 Vulnerabilities कैसे खोजीं

March 9, 2026by Ichiban Team
aisecurityclaudefirefoxvulnerabilityllmcybersecurity

Hero

#Introduction

Software development industry में लंबे समय से यह बहस चल रही है कि क्या artificial intelligence केवल code generation और code completion से आगे बढ़कर deep, contextual problem solving कर सकता है। हालांकि हमने AI को static analysis और automated fuzzing में मदद करते देखा है, लेकिन complex vulnerability discovery के लिए पारंपरिक रूप से human security engineers के intuition और architectural understanding की आवश्यकता रही है। वह paradigm अब तेजी से बदल रहा है।

हाल ही की रिपोर्ट्स के अनुसार, Anthropic के Claude (विशेष रूप से उनके latest models की capabilities का उपयोग करते हुए) ने केवल दो हफ्तों के भीतर Mozilla Firefox codebase में 22 अलग-अलग vulnerabilities खोज निकालीं। यह कोई मामूली उपलब्धि नहीं है। Firefox दुनिया के सबसे mature, complex, और heavily scrutinized codebases में से एक है, जिसमें C++ और Rust के करोड़ों lines के साथ एक highly optimized JavaScript engine (SpiderMonkey) शामिल है।

Developers और security professionals के लिए, यह घटना एक watershed moment है। यह साबित करता है कि Large Language Models (LLMs) अब विशाल, interconnected code repositories को समझ सकते हैं, कई files के बीच intricate data flows को ट्रैक कर सकते हैं, और उन subtle memory corruption bugs की पहचान कर सकते हैं जिन्हें traditional tools अक्सर मिस कर देते हैं।

#What Happened

14 दिनों के analysis period के दौरान, Anthropic के Claude द्वारा संचालित एक specialized agentic framework ने Firefox repository के भीतर लगभग 6,000 C++ files का evaluation किया। परिणाम चौंकाने वाले थे:

  • Total Vulnerabilities Found: 22
  • High-Severity Issues: 14
  • Unique Crash Reports Generated: 112
  • Time to First Critical Bug: 20 मिनट (JS engine में एक Use-After-Free)

इसे perspective में रखने के लिए, ये 14 high-severity bugs पिछले पूरे वर्ष में Mozilla द्वारा Firefox में पैच किए गए कुल high-severity vulnerabilities का लगभग 20% हैं। AI system को dynamic execution feedback के साथ iterative static analysis का उपयोग करते हुए, codebase को autonomously एक्सप्लोर करने का निर्देश दिया गया था।

हैरानी की बात यह है कि model ने deployment के पहले 20 मिनट के भीतर ही अपना पहला major issue—एक Use-After-Free (UAF) vulnerability—खोज लिया। खोजी गई अधिकांश vulnerabilities को responsibly disclose किया गया और बाद में Firefox 148 release में फिक्स कर दिया गया।

हालांकि, इस exercise के दौरान model के limitations को भी नोट करना उतना ही महत्वपूर्ण है। जबकि Claude vulnerabilities को identify करने में असाधारण रूप से proficient था, उसे exploitation के साथ काफी संघर्ष करना पड़ा। इसके द्वारा खोजे गए bugs के लिए reliable exploits synthesize करने के सैकड़ों प्रयासों में से, इसने केवल दो crude proofs-of-concept जनरेट किए, और उन दोनों के लिए browser के security sandbox को explicitly disable करने की आवश्यकता थी।

#Why It Matters

इस खोज के implications एक सिंगल browser patch cycle से कहीं आगे तक जाते हैं। पिछले एक दशक से, scale पर vulnerability discovery के लिए industry standard fuzzing (जैसे OSS-Fuzz) रहा है। हालांकि fuzzing अविश्वसनीय रूप से powerful है, यह inherently semi-blind होता है; यह inputs को mutate करता है और crashes के लिए monitor करता है, लेकिन जिस code को यह execute कर रहा है, उसकी semantic understanding इसके पास नहीं होती।

#The Shift from Fuzzing to Semantic Analysis

FeatureTraditional FuzzingLLM-Driven Analysis
ApproachInput mutation और coverage maximizationSemantic code comprehension और logical deduction
StrengthsEdge-case crashes खोजना, high throughputComplex state machines और logic flaws को समझना
Weaknessesअच्छे harnesses के बिना deeper logic bugs के प्रति blindHigh compute cost, false positives/hallucinations की संभावना
Setup TimeHigh (custom fuzz targets की आवश्यकता होती है)Low (सीधे source code पढ़ सकता है)

Claude की सफलता यह दर्शाती है कि AI agents fuzzing की brute force और एक human researcher के intuition के बीच एक bridge के रूप में कार्य कर सकते हैं। Code के intent को समझकर, एक LLM उन logical inconsistencies और memory mismanagement को पहचान सकता है जो शायद कभी किसी randomized fuzzer द्वारा ट्रिगर न हों। यह "patch-to-discovery" pipeline को काफी तेज कर देता है, जिससे engineering teams complex codebases को reactively के बजाय proactively harden कर सकती हैं।

#Technical Implications

Claude द्वारा खोजी गई vulnerabilities के प्रकार—मुख्य रूप से memory safety issues जैसे Use-After-Free और out-of-bounds reads/writes—static analysis के माध्यम से detect करना कुख्यात रूप से कठिन है क्योंकि वे अक्सर कई function calls और asynchronous boundaries तक फैले होते हैं।

#Understanding the Use-After-Free (UAF)

एक Use-After-Free vulnerability तब होती है जब कोई application किसी pointer का उपयोग तब भी जारी रखता है जब वह object जिसे वह point कर रहा था, deallocate हो चुका हो। Browser engine जैसे complex C++ applications में, object lifecycles को reference counting और smart pointers के माध्यम से manage किया जाता है, जिससे manual auditing में errors होने की संभावना बहुत अधिक हो जाती है।

एक UAF pattern के इस simplified conceptual example पर विचार करें जिसे एक LLM cross-file dependencies को analyze करके पहचान सकता है:

// File: EventDispatcher.cpp
void EventDispatcher::ProcessEvent(Event* evt) {
    if (evt->Type() == EventType::RELOAD) {
        // Deallocates the associated UI component
        evt->GetTarget()->Destroy(); 
    }
    
    // VULNERABILITY: If the target was destroyed, this access is invalid
    LogEventTargetMetrics(evt->GetTarget()->GetName()); 
}

एक traditional linter शायद यह समझने में संघर्ष करे कि Destroy() उस memory को free कर देता है जो GetTarget() को बैक कर रही है। हालांकि, एक LLM Destroy() की definition पढ़ सकता है, lifecycle state change को infer कर सकता है, और बाद के read operation को dangerous के रूप में flag कर सकता है। लगभग 6,000 files में इन contextual state changes को track करने की Claude की क्षमता automated code review में एक बहुत बड़ी छलांग है।

इसके अलावा, यह तथ्य कि Claude को इन bugs को weaponize करने में संघर्ष करना पड़ा, एक महत्वपूर्ण technical boundary को उजागर करता है। किसी memory corruption issue को identify करने के लिए semantic understanding की आवश्यकता होती है; जबकि एक reliable exploit बनाने के लिए specific operating system, memory layout, heap shaping techniques, और mitigation bypasses (जैसे ASLR और DEP) के deep knowledge की आवश्यकता होती है। यह दर्शाता है कि हालांकि AI एक बेहतरीन defensive tool है, fully autonomous offensive AI को अभी भी महत्वपूर्ण technical hurdles का सामना करना पड़ रहा है।

#What's Next

Continuous integration और continuous deployment (CI/CD) pipelines में advanced LLMs का integration अगला logical step है। हम एक ऐसे भविष्य की ओर बढ़ रहे हैं जहां "AI Security Engineers" हर pull request का review करेंगे, केवल style और syntax के लिए नहीं, बल्कि deep architectural flaws और memory safety vulnerabilities के लिए भी।

  1. Hybrid Tooling: Traditional fuzzers के साथ LLMs के integration की उम्मीद करें। एक LLM codebase को analyze कर सकता है, potential weak points की पहचान कर सकता है, और उन specific assumptions को test करने के लिए automatically highly targeted fuzz harnesses लिख सकता है।
  2. Language Migrations: Claude जैसे tools legacy C/C++ codebases को Rust जैसी memory-safe languages में migrate करने की प्रक्रिया को तेज करेंगे। AI vulnerable C++ logic को map कर सकता है और रास्ते में semantics को verify करते हुए, इसे reliably safe Rust equivalents में translate कर सकता है।
  3. Democratized Security: छोटी organizations जो dedicated, full-time vulnerability researchers afford नहीं कर सकती हैं, वे security auditing का वह baseline हासिल करने के लिए AI का लाभ उठा सकेंगी जो पहले केवल tech giants के लिए ही reserved था।

#Conclusion

Anthropic के Claude द्वारा दो हफ्तों में Firefox में 22 vulnerabilities खोजना सिर्फ एक impressive benchmark नहीं है; यह software engineering में new normal का एक preview है। जैसे-जैसे ये models तेज़, सस्ते होते जा रहे हैं और इनके context windows बड़े होते जा रहे हैं, complex systems के बारे में reason करने की इनकी क्षमता मौलिक रूप से बदल देगी कि हम software कैसे बनाते और secure करते हैं। AI-augmented security engineer का युग आधिकारिक तौर पर आ चुका है, और यह वेब को काफी सुरक्षित जगह बनाने का वादा करता है।