- Joshua Rogers ने अपने AI-आधारित टूलसेट का उपयोग करके curl कोडबेस में संभावित समस्याओं की एक बड़ी सूची खोजी
- इस सूची में मामूली code style खामियों के साथ-साथ छोटे bugs और संभावित सुरक्षा कमजोरियाँ भी शामिल हैं
- मिली समस्याओं में अधिकांश छोटे bugs हैं, लेकिन उनमें 1–2 सुरक्षा की दृष्टि से गंभीर खामियाँ भी हो सकती हैं
- ये पहले से खोजी नहीं गई समस्याएँ थीं, इसलिए यह वास्तव में बहुत मूल्यवान परिणाम है
- रिपोर्ट की गई सामग्री के आधार पर 22 bug fixes पहले ही पूरे किए जा चुके हैं
- अभी भी इससे दोगुने से अधिक अप्रमाणित issues बचे हुए हैं, इसलिए review और fixes का काम जारी है
- विस्तृत समस्याओं को "Reported in Joshua's sarif data" के रूप में चिह्नित किया गया है, और रुचि होने पर उस data को सीधे देखा जा सकता है
1 टिप्पणियां
Hacker News राय
मैं यह नहीं चाहता कि वह सीधे कोड लिखे या ठीक करे, बल्कि वह कोड में संदिग्ध हिस्सों और उन जगहों की ओर इशारा करे जिन्हें मुझे और ध्यान से देखना चाहिए
जब मैं Claude से अपनी 20,000-लाइन वाली C library में बग ढूँढने को कहता हूँ, तो वह फाइलों को टुकड़ों में बाँटकर खास code pattern को grep करने जैसा काम करता है, और आखिर में बस मेरे FIXME comments की सूची बनाकर दे देता है (हँसी)
सच कहूँ तो यह एक साधारण bash script जितना ही काम है, और काफ़ी निराशाजनक है
ChatGPT तो उससे भी कम उपयोगी है, बस बार-बार यही कहता रहता है, "सब अच्छा लग रहा है! कमाल है! हाई-फाइव~"
अब तक असली बग ढूँढने में पारंपरिक static analysis कहीं ज़्यादा मददगार रहा है, लेकिन static analysis साफ़ होने का मतलब यह नहीं कि logical bug नहीं है
मुझे लगता है कि LLM को ठीक इसी जगह चमकना चाहिए
अगर LLM से ज़्यादा उपयोगी संभावित बग जानकारी पाने के लिए बहुत ही customized environment बनाना पड़े, तो जैसे static analysis tools जटिल setup माँगने पर कम इस्तेमाल होते हैं, वैसे ही इसकी उपयोगिता भी आखिरकार घट जाती है
AI को कोड लिखने देना और programmers को सिर्फ review करने देना, यह दिशा कहीं न कहीं गलत लगती है
हाँ, "code lines बढ़ती हैं~" वाले तरीके से इसे बेचने की वजह समझ में आती है
उदाहरण के लिए, "Claude Code से FIXME, TODO जैसे comments को नज़रअंदाज़ करके logical bug का असरदार review plan बनवाने के लिए मुझे कौन-सा prompt इस्तेमाल करना चाहिए?"
बना हुआ prompt इतना लंबा है कि यहाँ नहीं लिख सकता, लेकिन gist में सार्वजनिक उदाहरण देखा जा सकता है
उस नतीजे के आधार पर उसे लगातार सुधारकर agent भी बनाया जा सकता है
free trial के बाद हमारी dev team में यह इतना पसंद किया गया कि हमने इसे औपचारिक रूप से अपना लिया
कभी-कभी गलत detection हो जाती है, लेकिन उसे छोड़ दें तो यह बहुत उपयोगी है
PR author और reviewer, दोनों का काफ़ी समय बचता है
पहले जिन समस्याओं में घंटों लग जाते, उनमें कभी-कभी एक सुराग मिलते ही समाधान हो गया
AI के इस तरह के उपयोग की संभावना को लेकर मैं उत्साहित हूँ
'सब अच्छा लग रहा है' जैसा जवाब आया, यह थोड़ा हैरान करने वाला था
Codex CLI में इस्तेमाल करने पर यह अक्सर सवाल भी उठाता है
Gemini 2.5 Pro भी इस मामले में ठीक है
इतिहास देखें तो समझ आएगा: curl+AI से जुड़ी HN search link
आखिरकार बात शायद इस फ़र्क तक सिमटती है: सही समझ के साथ इस्तेमाल करने वाला व्यक्ति बनाम बस माहौल के भरोसे coding करने वाला व्यक्ति
यह उस दौर के उलट है जब Daniel Stenberg को AI द्वारा बनाई गई घटिया false-positive security issues से जूझना पड़ा था
HackerOne के बारे में: "AI से बने कूड़ा-करकट issue reports भेजने वालों को तुरंत ban कर देना चाहिए. यह लगभग DDoS attack के स्तर की बात है. समय की बर्बादी के लिए बिल भेजने का मन करता है"
इस साल जनवरी में Daniel के ब्लॉग पोस्ट को भी देखें: The I in LLM stands for Intelligence?
size_tके लिए गलतprintfformat specifier का इस्तेमाल) सिर्फ compiler warning flags ठीक से सेट करने पर भी पकड़े जा सकते हैंअगर AI यह सलाह दे कि "ज़रूरी compiler warning flags missing हैं", तो यह काफ़ी उपयोगी होगा
कुछ PR शायद dependabot match की वजह से भी हों, और "Joshua sarif data" खोजने पर PRs की और ठोस सूची देखी जा सकती है लिंक
शायद यही Daniel Stenberg की बदली हुई राय की वजह है
AI-based SAST technology अपनाने की बात बहुत होती है और इससे जुड़े products भी आए हैं, लेकिन अधिकांश अब भी उम्मीद से कमतर हैं
सिर्फ निराशा हो तो भी गनीमत है; गलत security पर भरोसा बन जाए तो यह खतरनाक हो सकता है
AI-based SAST scanners पर आलोचनात्मक नज़र और उसके आधार यहाँ दिए गए हैं
पहले कई tools bug नहीं ढूँढ पाए थे, तो यह जानने की उत्सुकता है कि इस बार की strategy ज़्यादा असरदार क्यों रही
Mastodon link शायद यह पुष्टि करने के लिए है कि code snippet में गलती होने पर भी bug असली है