# श्रेणियाँ

> Lagune प्रोजेक्ट किन विशेषज्ञता श्रेणियों का इस्तेमाल कर सकता है, OWASP से लेकर JavaScript, Python, Go और Rust की भाषा-विशेष हार्डनिंग तक, और उन्हें कैसे बदलें।

कैनोनिकल: https://lagune.ai/hi-IN/docs/categories
भाषा: hi-IN
मूल: https://lagune.ai/docs/categories
आख़िरी अपडेट: 2026-11-06

**Lagune** अपनी बिल्ट-इन [**विशेषज्ञताओं**](https://lagune.ai/hi-IN/docs/catalog) को **13 श्रेणियों** में बाँटता है। प्रोजेक्ट जिन श्रेणियों का इस्तेमाल करता है, उन्हीं से तय होता है कि कौन-सी बिल्ट-इन विशेषज्ञताएँ उसके [**कैटलॉग**](https://lagune.ai/hi-IN/docs/catalog) में शामिल होंगी। ये श्रेणियाँ दो हिस्सों में बँटी हैं: सिस्टम क्या करता है, और वह किस भाषा में लिखा गया है।

जब तक कोई श्रेणी दर्ज नहीं होती, प्रोजेक्ट सिर्फ़ `owasp` का इस्तेमाल करता है। [`/lagune-charter`](https://lagune.ai/hi-IN/docs/commands/charter) कमांड प्रोजेक्ट को पढ़कर हर वह श्रेणी दर्ज करती है जिसका उसे प्रोजेक्ट में आधार मिलता है, और आप जब चाहें इन्हें ख़ुद बदल सकते हैं।

## सिस्टम क्या करता है

| श्रेणी            | कुंजी     | यह किसे मज़बूत करती है                                                                                                                              |
| ----------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| OWASP             | `owasp`   | वे ऐप्लिकेशन सुरक्षा जोखिम जिन्हें OWASP ट्रैक करता है: इंजेक्शन, कमज़ोर एक्सेस कंट्रोल (Broken Access Control), ऑथेंटिकेशन और क्रिप्टो की विफलताएँ |
| इन्फ़्रास्ट्रक्चर | `infra`   | कंटेनर, वर्कलोड और सर्वरलेस कॉन्फ़िगरेशन: Dockerfile, Compose, Pod सुरक्षा, FaaS IAM और ट्रिगर                                                      |
| AI / LLM          | `ai`      | AI और LLM इंटीग्रेशन, प्रॉम्प्ट इंजेक्शन और टूल, एजेंट, रिट्रीवल और MCP की असुरक्षित वायरिंग के ख़िलाफ़                                             |
| Lovable           | `lovable` | AI से बने Supabase ऐप (Lovable और उस जैसे): RLS की कमियाँ, लीक हुई `service_role` कुंजियाँ और असुरक्षित डिफ़ॉल्ट                                    |

## सिस्टम किस भाषा में लिखा गया है

| श्रेणी     | कुंजी        | यह किसे मज़बूत करती है                                                                                                    |
| ---------- | ------------ | ------------------------------------------------------------------------------------------------------------------------- |
| JavaScript | `javascript` | `eval` और `child_process` से RCE, पाथ ट्रैवर्सल और प्रोटोटाइप पॉल्यूशन, इसके सभी रनटाइम में                               |
| Python     | `python`     | `pickle` और YAML डीसीरियलाइज़ेशन से RCE, `str.format` से स्ट्रिंग ट्रैवर्सल और क्लास पॉल्यूशन                             |
| Rust       | `rust`       | अनसाउंड `unsafe` API, `transmute` का ग़लत इस्तेमाल, इंटीजर ओवरफ़्लो और FFI सीमा पर अपरिभाषित व्यवहार (undefined behavior) |
| C / C++    | `c-cpp`      | फ़ॉर्मैट स्ट्रिंग बग, बफ़र ओवरफ़्लो और आउट-ऑफ़-बाउंड्स राइट, जो कोड एक्ज़ीक्यूशन का रास्ता खोलते हैं                      |
| PHP        | `php`        | टाइप जगलिंग से ऑथेंटिकेशन बायपास, ऑब्जेक्ट इंजेक्शन गैजेट चेन और असुरक्षित डिफ़ॉल्ट कॉन्फ़िगरेशन                          |
| Go         | `go`         | typed nil इंटरफ़ेस बग, गोरूटीन डेटा रेस और सुरक्षा से जुड़े कोड पाथ पर असुरक्षित कॉन्करेंसी                               |
| Java       | `java`       | `ObjectInputStream` डीसीरियलाइज़ेशन गैजेट चेन, जो आख़िरकार रिमोट कोड एक्ज़ीक्यूशन तक पहुँचती हैं                          |
| Ruby       | `ruby`       | `Marshal.load` और YAML डीसीरियलाइज़ेशन गैजेट चेन, जो रिमोट कोड एक्ज़ीक्यूशन तक पहुँचती हैं                                |
| .NET / C#  | `dotnet`     | `BinaryFormatter` डीसीरियलाइज़ेशन से RCE और वे एनकोडर बायपास जो XSS तक पहुँचते हैं                                        |

**टिप**

**Lagune** किसी एक भाषा से बंधा नहीं है: पूरा फ़्लो आपके प्रोजेक्ट को पढ़ता है, वह चाहे किसी भी भाषा में लिखा हो, और ये श्रेणियाँ बस किसी एक भाषा के ख़ास जोखिमों पर और गहराई जोड़ती हैं।

## कभी भी जोड़ें और हटाएँ

श्रेणी एक शुरुआत है, कोई पक्का वादा नहीं। अभी प्रोजेक्ट पर जो फ़िट बैठे, उसका इस्तेमाल करें, और `write add` और `write remove` से कुंजी के ज़रिए उसे कभी भी बदलें। टर्मिनल में बिना किसी वैल्यू के `--categories` देने पर एक इंटरैक्टिव पिकर खुलता है (स्पेस से चुनें या हटाएँ, एंटर से पक्का करें, कुछ न चुनें तो यह स्किप हो जाता है)। टर्मिनल के बाहर, श्रेणियाँ इसके बाद लिखकर दें।

**जोड़ें**

```bash
npx lagune write add --categories # interactive
npx lagune write add --categories owasp
npx lagune write add --categories owasp rust
```

**हटाएँ**

```bash
npx lagune write remove --categories # interactive
npx lagune write remove --categories owasp
npx lagune write remove --categories owasp rust
```

`write add` या `write remove` पहली बार चलाने पर शुरुआत `owasp` से होती है, इसलिए हर श्रेणी हटाने पर सूची ख़ाली रह जाती है, डिफ़ॉल्ट पर कभी नहीं लौटती। हर बदलाव `.lagune/configs.json` में दर्ज होता है, ताकि पूरी टीम एक ही सेट के साथ काम करे।

## देखें कि प्रोजेक्ट क्या इस्तेमाल करता है

`read list --categories` हर श्रेणी दिखाता है, और यह भी कि प्रोजेक्ट उसका इस्तेमाल करता है या नहीं:

```bash
npx lagune read list --categories
# Categories
#   • owasp       [used]       Harden against the application security risks OWASP tracks
#   • javascript  [available]  Harden JavaScript and its runtimes
#   • php         [available]  Harden PHP against type-juggling auth bypass
#   • go          [available]  Harden Go against typed-nil interface bugs
#   ...
#
# No category is recorded yet, so this project uses the default: owasp.
```

हर श्रेणी में कौन-सी विशेषज्ञताएँ हैं, यह [**कैटलॉग**](https://lagune.ai/hi-IN/docs/catalog) में देखें। [`/lagune-specialize`](https://lagune.ai/hi-IN/docs/commands/specialize) से लिखी आपकी अपनी विशेषज्ञताएँ कैटलॉग में शामिल होती हैं, श्रेणियाँ चाहे जो हों।

## अक्सर पूछे जाने वाले सवाल

### मैं कोई श्रेणी कैसे जोड़ूँ?

श्रेणी की कुंजी --categories को दें, जैसे npx lagune write add --categories javascript चलाएँ। जब तक कोई श्रेणी दर्ज नहीं होती, charter चरण भी प्रोजेक्ट को पढ़कर वे श्रेणियाँ दर्ज करता है जिनका उसे आधार मिलता है।

### क्या मैं एक से ज़्यादा श्रेणियाँ इस्तेमाल कर सकता हूँ?

हाँ। उन्हें एक ही लाइन में, एक के बाद एक लिखें।

### प्रोजेक्ट को कौन-सी श्रेणी इस्तेमाल करनी चाहिए?

डिफ़ॉल्ट owasp से शुरू करें, फिर अपनी भाषा या स्टैक वाली श्रेणी जोड़ें। विशेषज्ञताएँ सिर्फ़ ज़रूरत पड़ने पर ही लोड होती हैं, इसलिए किसी श्रेणी का तब तक कोई बोझ नहीं पड़ता, जब तक किसी चरण को उसकी किसी विशेषज्ञता की ज़रूरत न हो।
