Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
api-security-audit-action — CI/CD में OpenAPI अनुबंधों की स्थैतिक API सुरक्षा ऑडिटिंग को स्वचालित करता है, प्रमाणीकरण, प्राधिकरण और डेटा बाधाओं के लिए 300+ जाँच चलाता है, तथा न्यूनतम-स्कोर गेट्स और SARIF आउटपुट के साथ। | Kitploit
उपकरण/GitHubGitHub/42crunch/api-security-audit-action
रक्षात्मक उपकरणस्थैतिक विश्लेषणभेद्यता विश्लेषणएपीआई सुरक्षा परीक्षणDevSecOpsAPI सुरक्षा
GitHub42crunch/api-security-audit-action

api-security-audit-action

CI/CD में OpenAPI अनुबंधों की स्थैतिक API सुरक्षा ऑडिटिंग को स्वचालित करता है, प्रमाणीकरण, प्राधिकरण और डेटा बाधाओं के लिए 300+ जाँच चलाता है, तथा न्यूनतम-स्कोर गेट्स और SARIF आउटपुट के साथ।

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
361413 दिन पहलेKitploit द्वारा समीक्षित

GitHub Action: 42Crunch REST API स्टैटिक सुरक्षा परीक्षण

यह REST API स्टैटिक सुरक्षा परीक्षण एक्शन उन REST API कॉन्ट्रैक्ट्स का पता लगाता है जो OpenAPI Specification (OAS, जिसे पहले Swagger के नाम से जाना जाता था) का पालन करते हैं और उन पर गहन सुरक्षा जाँच चलाता है। OAS v2 और v3.0.x दोनों समर्थित हैं, JSON और YAML दोनों प्रारूपों में।

आप इस एक्शन का उपयोग निम्नलिखित परिदृश्यों में कर सकते हैं:

  • अपने CI/CD वर्कफ़्लो में स्वचालित स्टैटिक API सुरक्षा परीक्षण (SAST) कार्य जोड़ें।
  • पुल रिक्वेस्ट समीक्षाओं और/या कोड मर्ज पर ये जाँच करें।
  • पाए गए मुद्दों को GitHub के Security / Code Scanning Alerts में फ़्लैग करें।

यह एक्शन 42Crunch API Security Audit द्वारा संचालित है। Security Audit API परिभाषा का स्टैटिक विश्लेषण करता है जिसमें प्रमाणीकरण, प्राधिकरण और डेटा बाधाओं से संबंधित सर्वोत्तम प्रथाओं और संभावित कमजोरियों पर 300 से अधिक जाँच शामिल हैं।

अपने रिपॉज़िटरी में APIs खोजें

डिफ़ॉल्ट रूप से, यह एक्शन निम्न कार्य करेगा:

  1. रिपॉज़िटरी में किसी भी .json और .yaml फ़ाइल की खोज करें।
  2. उन फ़ाइलों को चुनें जो OpenAPI स्कीमा का उपयोग करती हैं।
  3. OpenAPI परिभाषाओं पर सुरक्षा ऑडिट करें।

इस प्रकार, आप रिपॉज़िटरी में किसी भी नए या बदले हुए API कॉन्ट्रैक्ट का पता लगा सकते हैं।

आप API डिस्कवरी में शामिल या बाहर किए जाने वाले रिपॉज़िटरी के विशिष्ट भागों या फ़ाइलनाम मास्क को निर्दिष्ट करके एक्शन के व्यवहार को बारीकी से समायोजित कर सकते हैं। आप डिस्कवरी को पूरी तरह से अक्षम भी कर सकते हैं और इसके बजाय केवल विशिष्ट API फ़ाइलों को सूचीबद्ध कर सकते हैं जिन्हें जाँचा जाना है और उन्हें 42Crunch API Security Platform में अपने मौजूदा APIs से मैप कर सकते हैं। आप ये सभी सेटिंग्स कॉन्फ़िगरेशन फ़ाइल 42c-conf.yaml में कॉन्फ़िगर करते हैं। उन्नत उदाहरणों के लिए, यहाँ देखें।

सभी खोजे गए APIs को 42Crunch Platform में एक API कलेक्शन में अपलोड किया जाता है। डिफ़ॉल्ट रूप से, एक्शन पर्यावरण चर GITHUB_REPOSITORY और GITHUB_REF का उपयोग उस रिपॉज़िटरी और ब्रांच/टैग/PR नाम के लिए करता है जहाँ से API कलेक्शन उत्पन्न हुआ है। आप default-collection-name एक्शन पैरामीटर का उपयोग करके नाम को ओवरराइड कर सकते हैं। बाद के रन के दौरान, कलेक्शन में मौजूद APIs आपकी रिपॉज़िटरी में हुए बदलावों के साथ सिंक में रहते हैं।

कमजोर APIs की तैनाती रोकने के लिए इस एक्शन का उपयोग करें

इस एक्शन को GitHub में अपने CI/CD वर्कफ़्लो में जोड़ें और इसे सुरक्षा मुद्दों वाली API परिभाषाओं पर विफल होने दें।

Security Audit प्रत्येक API कॉन्ट्रैक्ट को 0 से 100 के बीच एक ऑडिट स्कोर देता है जो आपके APIs की सुरक्षा सतह को दर्शाता है। आप GitHub Action के min-score पैरामीटर का उपयोग ऑडिट स्कोर के लिए थ्रेशोल्ड सेट करने के लिए कर सकते हैं जिस पर एक्शन विफल होता है (यदि कोई अन्य मान निर्दिष्ट नहीं है तो डिफ़ॉल्ट 75 है)। यह खराब गुणवत्ता वाली API परिभाषाओं को पकड़ने और डिज़ाइन समय पर ही मुद्दों का समाधान करने में मदद करता है।

अधिक उन्नत विफलता स्थितियाँ कॉन्फ़िगरेशन फ़ाइल 42c-conf.yaml में सेट की जा सकती हैं, जैसे कि श्रेणी (सुरक्षा या डेटा सत्यापन) के अनुसार ऑडिट स्कोर, मुद्दों का गंभीरता स्तर, या यहाँ तक कि विशिष्ट मुद्दे, जो उनके issue ID द्वारा निर्दिष्ट हों। उन्नत उदाहरणों के लिए, यहाँ देखें।

इसके अतिरिक्त, प्लगइन प्लेटफ़ॉर्म स्तर पर परिभाषित security quality gates (डिफ़ॉल्ट या टैग-संचालित) लागू करता है। Security quality gates उद्यम के भीतर परिभाषित एप्लिकेशन सुरक्षा आवश्यकताओं को लागू करते हैं।

विस्तृत कार्रवाई योग्य रिपोर्ट पढ़ना

जब भी एक्शन चलता है, इसमें आपकी प्रत्येक OpenAPI फ़ाइल के लिए विस्तृत, प्राथमिकता-क्रमित कार्रवाई योग्य रिपोर्ट का लिंक शामिल होता है:

विस्तृत रिपोर्ट 42Crunch Platform में पढ़ने के लिए लिंक का अनुसरण करें:

42Crunch अलर्ट को GitHub code scanning में अपलोड करना

आप 42Crunch ऑडिट द्वारा पाए गए मुद्दों को सीधे GitHub में, Code scanning alerts के अंतर्गत Security टैब पर ट्रैक कर सकते हैं।

इसे सक्षम करने के लिए, अपने GitHub वर्कफ़्लो में एक्शन के पैरामीटर में upload-to-code-scanning:true शामिल करें।

अपने कोड में इसका सटीक स्थान देखने और कमजोरी के विवरण तथा अनुशंसित सुधार चरणों को प्राप्त करने के लिए किसी भी अलर्ट पर क्लिक करें।

आरंभ करना

यह एक्शन 42Crunch API Security Audit सेवा का उपयोग करता है। एक्शन का उपयोग करने से पहले, आपके पास 42Crunch प्लेटफ़ॉर्म पर एक खाता होना आवश्यक है। यदि आप 42Crunch ग्राहक नहीं हैं, तो आप इस पृष्ठ से निःशुल्क खाते का अनुरोध कर सकते हैं: https://42crunch.com/get-started/।

फिर, 42Crunch Platform में प्रमाणित होने के लिए एक्शन हेतु API टोकन बनाने और उसे GitHub में एक secret के रूप में सहेजने हेतु दस्तावेज़ में वर्णित चरणों का पालन करें।

एक्शन पैरामीटर

api-token

आवश्यक वह API टोकन जिसका उपयोग GitHub एक्शन 42Crunch Platform में प्रमाणित होने के लिए करता है। अपना API टोकन सीधे वर्कफ़्लो फ़ाइल में न डालें! इसके बजाय, अपनी रिपॉज़िटरी सेटिंग्स में एक GitHub secret बनाएं और नीचे दिए गए उदाहरण के अनुसार उसका संदर्भ दें।

min-score

न्यूनतम ऑडिट स्कोर जो OpenAPI फ़ाइलों को प्राप्त करना आवश्यक है, अन्यथा एक्शन विफल हो जाता है। डिफ़ॉल्ट 75 है।

upload-to-code-scanning

ऑडिट परिणामों को Github Code Scanning पर अपलोड करें। डिफ़ॉल्ट false है। ध्यान दें कि इस चरण के सफल होने के लिए वर्कफ़्लो के पास विशिष्ट अनुमतियाँ होनी चाहिए।

root@kitploit:~
...
jobs:
  run_42c_audit:
    permissions:
      contents: read # for actions/checkout to fetch code
      security-events: write # for results upload to Github Code Scanning
...

ignore-failures

यदि true पर सेट किया जाता है, तो आपके द्वारा निर्धारित विफलता स्थितियाँ (जैसे min-score या SQG मानदंड) पूरी होने पर भी निष्पादन को सफलतापूर्वक पूरा करने के लिए बाध्य करता है। डिफ़ॉल्ट false है।

यह पैरामीटर उपयोगी हो सकता है यदि आप SQG विफलता परिदृश्यों का पता लगाना चाहते हैं बिना उन्हें लागू किए (अर्थात् डेवलपमेंट टीमों को बिल्ड तोड़ना शुरू करने से पहले एक अनुग्रह अवधि देना)।

ignore-network-errors

यदि true पर सेट किया जाता है, तो नेटवर्क त्रुटि होने पर भी (जैसे 42Crunch Platform से कनेक्ट करने में विफलता, आदि) निष्पादन को सफलतापूर्वक पूरा करने के लिए बाध्य करता है। डिफ़ॉल्ट false है।

skip-local-checks

यदि true पर सेट किया जाता है, तो 42c-conf.yaml फ़ाइल में निर्धारित सभी विफलता स्थितियों (जैसे न्यूनतम स्कोर) को अक्षम कर देता है और केवल तभी निष्पादन विफल करता है जब SQGs में परिभाषित मानदंड पूरे नहीं होते हैं। डिफ़ॉल्ट false है।

platform-url

वह URL जहाँ आप 42Crunch Platform तक पहुँचते हैं। डिफ़ॉल्ट https://us.42crunch.cloud है।

यदि आप एक एंटरप्राइज़ ग्राहक हैं, तो वह URL दर्ज करें जिसका उपयोग आप अपने प्रोडक्शन प्लेटफ़ॉर्म तक पहुँचने के लिए करते हैं।

root-directory

वह रूट डायरेक्टरी जिसमें 42c-conf.yaml कॉन्फ़िगरेशन फ़ाइल होती है। यदि निर्दिष्ट नहीं है, तो इसके बजाय प्लगइन के लिए वर्तमान कार्यशील डायरेक्टरी का उपयोग किया जाता है, जो सामान्यतः चेकआउट की गई रिपॉज़िटरी के रूट से मेल खाती है।

default-collection-name

खोजे गए APIs के लिए कलेक्शन बनाते समय उपयोग किया जाने वाला डिफ़ॉल्ट कलेक्शन नाम। यदि कोई नाम नहीं दिया गया है, तो रिपॉज़िटरी और ब्रांच/PR जानकारी से एक डिफ़ॉल्ट नाम बनाया जाता है।

log-level

लॉग में विवरण का स्तर, इनमें से एक: FATAL, ERROR, WARN, INFO, DEBUG। डिफ़ॉल्ट INFO है।

share-everyone

CI/CD कार्य द्वारा बनाए गए API कलेक्शन को 42Crunch Platform पर आपके संगठन के सभी लोगों के साथ स्वचालित रूप से साझा करता है। स्वीकृत मान हैं: OFF, READ_ONLY, READ_WRITE। डिफ़ॉल्ट OFF है। ध्यान दें कि जिस पहचान के अंतर्गत एक्शन चलता है (API टोकन का स्वामी) के पास Share with Everyone अनुमति होनी चाहिए, अन्यथा कार्य 403 त्रुटि के साथ विफल हो जाएगा।

json-report

ऑडिट निष्पादन रिपोर्ट को JSON प्रारूप में निर्दिष्ट फ़ाइल में लिखता है। एक निष्पादन रिपोर्ट में उन APIs की सूची का विवरण होता है जो बनाए, अद्यतन और हटाए गए थे। यह उपयोगी है यदि आप किसी बाद के पाइपलाइन चरण में ऑडिट निष्पादन के परिणामों का स्वचालित रूप से उपभोग करना चाहते हैं। डिफ़ॉल्ट रूप से, कोई रिपोर्ट नहीं लिखी जाती है।

api-tags

CI/CD कार्य नव निर्मित APIs को स्वचालित रूप से टैग निर्दिष्ट कर सकता है। टैग निम्नलिखित प्रारूप में निर्दिष्ट किए जाते हैं: category1:name1 category2:name2। यह फ़्लैग वैकल्पिक है।

sarif-report

ऑडिट के कच्चे JSON प्रारूप को SARIF में परिवर्तित करता है और परिणामों को निर्दिष्ट फ़ाइल में सहेजता है। डिफ़ॉल्ट रूप से, कोई रिपोर्ट नहीं लिखी जाती है।

audit-timeout

ऑडिट रिपोर्ट के लिए अधिकतम टाइमआउट (सेकंड में) सेट करता है। यदि परिणाम उस अंतराल के भीतर तैयार नहीं होता है तो कार्य विफल हो जाएगा। डिफ़ॉल्ट: 600

पूर्वापेक्षाएँ

42Crunch Platform पर एक API टोकन बनाएं और उसका मान API_TOKEN नामक एक रिपॉज़िटरी सीक्रेट में कॉपी करें।

उदाहरण

एकल चरण उदाहरण

मौजूदा वर्कफ़्लो में एक विशिष्ट नया चरण इस प्रकार दिखेगा:

root@kitploit:~
- name: 42crunch-static-api-testing
        uses: 42Crunch/api-security-audit-action@v4
        with:
          api-token: ${{ secrets.API_TOKEN }}
          default-collection-name: GitHub-MyRepo-${{ github.ref_name }}
          log-level: info
          json-report: audit-action-report-${{ github.run_id }}
          sarif-report: 42Crunch_AuditReport_${{ github.run_id }}.SARIF

संपूर्ण वर्कफ़्लो उदाहरण

एक विशिष्ट वर्कफ़्लो जो रिपॉज़िटरी की सामग्री की जाँच करता है, प्रोजेक्ट में पाई गई प्रत्येक OpenAPI फ़ाइल पर Security Audit चलाता है और निष्पादन फ़ाइल को आर्टिफैक्ट के रूप में सहेजता है, इस प्रकार दिखेगा:

root@kitploit:~
name: "42crunch-audit-workflow"

# follow standard Code Scanning triggers
on:
  push:
    branches: [ "main" ]
  pull_request:
    # The branches below must be a subset of the branches above
    branches: [ "main" ]
  schedule:
    - cron: '19 9 * * 6'

env:
  PLATFORM_URL: https://us.42crunch.cloud

jobs:
  run_42c_audit:
    environment: QA
    permissions:
      contents: read # for actions/checkout to fetch code
      security-events: write # for results upload to Github Code Scanning
    runs-on: ubuntu-latest
    steps:
      - name: checkout repo
        uses: actions/checkout@v3
      - name: 42crunch-static-api-testing
        uses: 42Crunch/api-security-audit-action@v4
        with:
          api-token: ${{ secrets.API_TOKEN }}
          platform-url: ${{ env.PLATFORM_URL}}
          default-collection-name: GitHub-MyRepo-${{ github.ref_name }}
          # Upload results to Github code scanning
          upload-to-code-scanning: false
          log-level: info
          json-report: audit-action-report-${{ github.run_id }}
          sarif-report: 42Crunch_AuditReport_${{ github.run_id }}.SARIF
      - name: save-audit-report
        if: always()        
        uses: actions/upload-artifact@v3
        with:
          name: auditaction-report-${{ github.run_id }}
          path: audit-action-report-${{ github.run_id }}.json
          if-no-files-found: error

सहायता

इस एक्शन का रखरखाव 42Crunch Ecosystems टीम द्वारा किया जाता है। यदि आपको कोई समस्या आती है, या यहाँ कोई प्रश्न अनुत्तरित है, तो आप support.42crunch.com पर एक सहायता टिकट बना सकते हैं।

समस्या की रिपोर्ट करते समय, इन्हें शामिल करें:

  • GitHub एक्शन का संस्करण
  • प्रासंगिक लॉग और त्रुटि संदेश
  • समस्या को पुन: उत्पन्न करने के चरण
टूल डाउनलोड करें