
secretlint v13.0.4
प्लगेबल लिंटिंग टूल क्रेडेंशियल कमिट करने से रोकने के लिए।
Secretlint 

Secretlint एक प्लग करने योग्य लिंटिंग टूल है जो क्रेडेंशियल्स को कमिट करने से रोकता है।
विशेषताएँ
- स्कैनर: किसी प्रोजेक्ट में क्रेडेंशियल्स खोजें और उनकी रिपोर्ट करें
- प्रोजेक्ट के अनुकूल: अपना प्रोजेक्ट आसानी से सेट अप करें और CI सेवाओं को एकीकृत करें
- प्री-कमिट हुक: क्रेडेंशियल फ़ाइलों को कमिट करने से रोकें
- प्लग करने योग्य: कस्टम नियम बनाने और लचीले कॉन्फ़िगरेशन की अनुमति दें
- दस्तावेज़ीकरण: उस कारण का वर्णन करें जिसके आधार पर नियम इसे गोपनीय मानकर पहचानता है
त्वरित डेमो
आप https://secretlint.github.io/ पर secretlint के लिंटिंग परिणाम देख सकते हैं।
त्वरित शुरुआत
आप एक ही कमांड में अपने प्रोजेक्ट पर Secretlint आज़मा सकते हैं।
यदि आपने पहले से Docker इंस्टॉल कर रखा है:
docker run -v `pwd`:`pwd` -w `pwd` --rm -it secretlint/secretlint secretlint "**/*"
यदि आपने पहले से Node.js इंस्टॉल कर रखा है:
npx @secretlint/quick-start "**/*"
चलाने के बाद,
यदि आपको खाली परिणाम मिला और एग्ज़िट स्टेटस 0 है, तो आपका प्रोजेक्ट सुरक्षित है।
अन्यथा, आपको कुछ त्रुटि रिपोर्ट मिलेगी, आपके प्रोजेक्ट में क्रेडेंशियल रॉ डेटा के रूप में शामिल हैं।

आप निरंतर सुरक्षा चाहते हैं, तो कृपया निम्नलिखित इंस्टॉलेशन गाइड देखें और प्री-कमिट हुक तथा CI सेट अप करें।
इंस्टॉलेशन
Docker का उपयोग करना
पूर्वापेक्षाएँ: Docker आवश्यक है
Node.js और secretlint के साथ चलने वाला वातावरण पाने के लिए हमारे Docker कंटेनर का उपयोग करें, जिसे आप जितनी जल्दी डाउनलोड कर सकते हैं उतनी जल्दी प्राप्त कर सकते हैं।
आप निम्नलिखित कमांड द्वारा वर्तमान डायरेक्टरी के अंतर्गत सभी फ़ाइलों को secretlint से जाँच सकते हैं:
docker run -v `pwd`:`pwd` -w `pwd` --rm -it secretlint/secretlint secretlint "**/*"
secretlint/secretlint docker कंटेनर डिज़ाइन के अनुसार बिना कॉन्फ़िगरेशन के काम करता है।
इस Docker इमेज में अंतर्निहित पैकेज हैं:
- @secretlint/secretlint-rule-preset-recommend
- @secretlint/secretlint-rule-pattern
- @secretlint/secretlint-formatter-sarif
अधिक जानकारी के लिए, कृपया secretlint का Dockerfile देखें।
Node.js का उपयोग करना
पूर्वापेक्षाएँ: Node.js 22+ आवश्यक है।
Secretlint JavaScript में लिखा गया है। आप npm का उपयोग करके Secretlint इंस्टॉल कर सकते हैं:
npm install secretlint @secretlint/secretlint-rule-preset-recommend --save-dev
आपको तब एक कॉन्फ़िगरेशन फ़ाइल सेट अप करनी चाहिए:
npx secretlint --init
अंत में, आप किसी भी फ़ाइल या निर्देशिका पर Secretlint को इस तरह चला सकते हैं:
npx secretlint "**/*"
📝 Secretlint glob pattern का समर्थन करता है और glob pattern को दोहरे उद्धरण चिह्नों में लपेटा जाना चाहिए।
npm install --global का उपयोग करके Secretlint को वैश्विक रूप से इंस्टॉल करना भी संभव है। लेकिन, हम इसकी अनुशंसा नहीं करते, कुछ नियम वैश्विक रूप से टूट सकते हैं।
सिंगल-एक्ज़ीक्यूटेबल बाइनरी का उपयोग करना
पूर्वापेक्षाएँ: कोई नहीं
आप सिंगल-एक्ज़ीक्यूटेबल बाइनरी का उपयोग करके Node.js के बिना secretlint कमांड का उपयोग कर सकते हैं।
- Releases पृष्ठ से नवीनतम बाइनरी डाउनलोड करें
- फ़ाइल की अनुमति को निष्पादन योग्य में बदलें:
chmod +x ./secretlint - कॉन्फ़िगरेशन फ़ाइल बनाने के लिए
./secretlint --initचलाएँ - अपने प्रोजेक्ट को लिंट करने के लिए
./secretlint "**/*"चलाएँ
अधिक जानकारी के लिए, कृपया publish/binary-compiler README देखें।
उपयोग
secretlint --help उपयोग दिखाता है।
Secretlint CLI that scan secret/credential data.
Usage
$ secretlint [file|glob*]
Note
supported glob syntax is based on picomatch (the engine used by micromatch)
https://github.com/micromatch/picomatch#globbing-features
https://github.com/micromatch/micromatch#matching-features
Options
--init setup config file. Create .secretlintrc.json file from your package.json
--format [String] formatter name. Default: "stylish". Available Formatter: checkstyle, compact, github, jslint-xml, junit, pretty-error, stylish, tap, unix, json, mask-result, table
--output [path:String] output file path that is written of reported result.
--secretlintrc [path:String] path to .secretlintrc config file. Default: .secretlintrc.*
--secretlintignore [path:String] path to .secretlintignore file. Default: .secretlintignore
--stdinFileName [String] filename to process STDIN content. Some rules depend on filename to check content.
--no-color disable ANSI-color of output.
--no-terminalLink disable terminalLink of output.
--no-maskSecrets disable masking of secret values; secrets are masked by default.
--no-glob disable glob pattern interpretation; treat all inputs as literal file paths.
--no-gitignore disable .gitignore cascade respect; .gitignore files are
respected by default (since v13).
Options for Developer
--profile Enable performance profile.
--secretlintrcJSON [String] a JSON string of .secretlintrc. use JSON string instead of rc file.
Experimental Options
--locale [String] locale tag for translating message. Default: en
Examples
# Scan a single file
$ secretlint ./README.md
# Scan all files (wrap glob in double quotes to avoid shell expansion)
$ secretlint "**/*"
$ secretlint "source/**/*.ini"
# Treat inputs as literal paths (for SvelteKit (group) / Next.js [param] etc.)
$ secretlint --no-glob "src/(auth)/login.ts"
# Lint STDIN content (filename hint affects which rules apply)
$ echo "SECRET" | secretlint --stdinFileName=secret.txt
# Use a custom config file
$ secretlint "**/*" --secretlintrc=.secretlintrc.custom.json
# Scan files ignored by .gitignore (e.g. to verify build artifacts)
$ secretlint --no-gitignore "dist/**/*"
# Mask secrets in a file in-place
$ secretlint .zsh_history --format=mask-result --output=.zsh_history
# Output JSON for programmatic parsing
$ secretlint "**/*" --format=json --output=secretlint-report.json
# Output GitHub Actions annotations in CI
$ secretlint "**/*" --format=github
Exit Status
Secretlint exits with the following values:
- 0:
- Linting succeeded, no errors found.
- Found only "warning" or "info" severity messages.
- Found lint error but --output is specified.
- 1:
- Linting failed, errors found.
- 2:
- Unexpected error occurred, fatal error.
कॉन्फ़िगरेशन
Secretlint में एक कॉन्फ़िगरेशन फ़ाइल .secretlintrc.{json,yml,js} होती है।
- दस्तावेज़: Secretlint को कॉन्फ़िगर करना
secretlint --init चलाने के बाद, आपकी डायरेक्टरी में एक .secretlintrc.json फ़ाइल होगी।
इसमें, आपको कुछ नियम इस तरह कॉन्फ़िगर किए हुए दिखेंगे: