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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
DiffCatcher — एक Rust CLI उपकरण जो पुनरावर्ती रूप से Git रिपॉजिटरी की खोज करता है, स्थिति परिवर्तनों को कैप्चर करता है, अंतर उत्पन्न करता है, पूर्ण स्निपेट के साथ कोड तत्वों को निकालता है, और कोड समीक्षा और ऑडिट वर्कफ़्लो के लिए सुरक्षा-केंद्रित रिपोर्ट तैयार करता है। | Kitploit
उपकरण/GitHubGitHub/teycir/diffcatcher
स्थैतिक विश्लेषणभेद्यता विश्लेषणकोड विश्लेषणस्क्रिप्टिंग और स्वचालनजानकारी एकत्र करनाDevSecOpsउपयोगिताएँ और फ्रेमवर्कसीक्रेट डिटेक्शनगलत कॉन्फ़िगरेशनलॉग विश्लेषण
GitHubteycir/diffcatcher

DiffCatcher

445 महीने पहलेअभी तक समीक्षित नहीं

एक Rust CLI उपकरण जो पुनरावर्ती रूप से Git रिपॉजिटरी की खोज करता है, स्थिति परिवर्तनों को कैप्चर करता है, अंतर उत्पन्न करता है, पूर्ण स्निपेट के साथ कोड तत्वों को निकालता है, और कोड समीक्षा और ऑडिट वर्कफ़्लो के लिए सुरक्षा-केंद्रित रिपोर्ट तैयार करता है।

रिपॉजिटरी देखें

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

विकास को समर्थन दें

यदि यह परियोजना आपके काम में मदद करती है, तो चल रहे रखरखाव और नई सुविधाओं का समर्थन करें।

ETH दान वॉलेट
0x11282eE5726B3370c8B480e321b3B2aA13686582

Ethereum दान QR कोड

ऊपर दिए गए QR कोड को स्कैन करें या वॉलेट पता कॉपी करें।

DiffCatcher लोगो

Rust License Security

एक Rust CLI टूल जो Git रिपॉजिटरीज़ को पुनरावर्ती रूप से खोजता है, स्थिति परिवर्तनों को कैप्चर करता है, diffs उत्पन्न करता है, पूर्ण स्निपेट्स के साथ कोड तत्वों को निकालता है, और कोड समीक्षा एवं ऑडिट वर्कफ़्लो के लिए सुरक्षा-केंद्रित रिपोर्ट तैयार करता है।


🎯 मुख्य विशेषताएँ

  • रिपॉजिटरी खोज: कॉन्फ़िगरेबल फ़िल्टर के साथ Git रिपॉजिटरी के लिए निर्देशिकाओं को पुनरावर्ती रूप से स्कैन करें
  • स्थिति ट्रैकिंग: कमिट हैश, संदेश और गंदगी जाँच के साथ पूर्व/पश्च-पुल स्थिति कैप्चर करें
  • Diff पीढ़ी: फ़ाइल मैनिफ़ेस्ट के साथ स्वचालित N बनाम N-1 और ऐतिहासिक diff निर्माण
  • तत्व निष्कर्षण: 10+ भाषाओं में फ़ंक्शन, struct, वर्ग, import आदि की पहचान करने के लिए diffs को पार्स करें
  • कोड स्निपेट्स: सीमा पहचान और संदर्भ विंडो के साथ पूर्ण पहले/बाद का कोड निकालें
  • सुरक्षा टैगिंग: 18 अंतर्निहित सुरक्षा पैटर्न (क्रिप्टो, प्रमाणीकरण, रहस्य, SQL इंजेक्शन, XSS, आदि)
  • बहु-प्रारूप रिपोर्ट: JSON, Markdown, text, और SARIF आउटपुट क्रॉस-रेपो सुरक्षा अवलोकन के साथ
  • शाखा-अंतर मोड: एकल रिपॉजिटरी में किन्हीं दो refs (शाखाएँ, टैग, कमिट) के बीच अंतर — PR समीक्षाओं के लिए आदर्श
  • प्रदर्शन: प्रगति पट्टियाँ, LRU कैशिंग और वृद्धिशील मोड के साथ समानांतर प्रसंस्करण
  • केवल bash का उपयोग क्यों न करें?

    ls | while read line; do git -C "$line" diff HEAD~1 HEAD || true; done जैसी एक-पंक्ति केवल कच्चे diffs दिखाती है। DiffCatcher पुनरावर्ती खोज, कोड तत्व निष्कर्षण, सुरक्षा पैटर्न पहचान, CI/CD के लिए SARIF आउटपुट, समानांतर प्रसंस्करण और क्रॉस-रेपो सुरक्षा एकत्रीकरण जोड़ता है। पूर्ण तुलना के लिए नीचे पूर्ण तुलना देखें।

    📋 विषय सूची

    • स्थापना
    • त्वरित प्रारंभ
    • उपयोग
      • मूल स्कैनिंग
      • पुल मोड
      • निष्कर्षण विकल्प
      • सुरक्षा टैगिंग
      • कॉन्फ़िगरेशन फ़ाइल
      • प्लगइन सिस्टम
      • शाखा-अंतर मोड (PR समीक्षा)
      • SARIF आउटपुट
      • उन्नत सुविधाएँ
    • रिपोर्ट संरचना
    • कॉन्फ़िगरेशन
    • आर्किटेक्चर
    • परीक्षण
    • दस्तावेज़ीकरण
    • योगदान

    🚀 स्थापना

    स्रोत से

    root@kitploit:~
    git clone https://github.com/Teycir/DiffCatcher.git
    cd DiffCatcher
    cargo build --release
    ./target/release/diffcatcher --help
    

    आवश्यकताएँ

    • Rust 1.70+
    • Git 2.0+

    ⚡ त्वरित प्रारंभ

    root@kitploit:~
    # किसी निर्देशिका में सभी रिपॉजिटरी स्कैन करें (केवल fetch, कोई संशोधन नहीं)
    diffcatcher ~/projects
    
    # अपडेट पुल करें और सुरक्षा रिपोर्ट तैयार करें
    diffcatcher ~/projects --pull -o ./report
    
    # एकल रिपॉजिटरी में दो शाखाओं के बीच अंतर (PR समीक्षा मोड)
    diffcatcher ./my-repo --diff main..feature/auth -o ./pr-report
    
    # GitHub कोड स्कैनिंग के लिए SARIF आउटपुट तैयार करें
    diffcatcher ~/projects --summary-format sarif,json -o ./report
    
    # क्या स्कैन किया जाएगा यह देखने के लिए ड्राई रन
    diffcatcher ~/projects --dry-run
    
    # 8 समानांतर कार्यकर्ताओं के साथ तेज़ स्कैन
    diffcatcher ~/projects -j 8 --quiet
    

    📖 उपयोग

    मूल स्कैनिंग

    root@kitploit:~
    # डिफ़ॉल्ट सेटिंग्स के साथ स्कैन करें (केवल fetch)
    diffcatcher <ROOT_DIR>
    
    # कस्टम आउटपुट निर्देशिका
    diffcatcher ~/projects -o ./my-report
    
    # नेस्टेड रिपॉजिटरी शामिल करें और सिमलिंक का अनुसरण करें
    diffcatcher ~/projects --nested --follow-symlinks
    
    # छिपी हुई निर्देशिकाओं को छोड़ें
    diffcatcher ~/projects --skip-hidden
    

    पुल मोड

    root@kitploit:~
    # केवल fetch (डिफ़ॉल्ट - कार्यरत ट्री में कोई बदलाव नहीं)
    diffcatcher ~/projects
    
    # वास्तव में परिवर्तन पुल करें
    diffcatcher ~/projects --pull
    
    # गंदी रिपॉजिटरी के लिए stash/pop के साथ फोर्स पुल
    diffcatcher ~/projects --pull --force-pull
    
    # rebase रणनीति का उपयोग करें
    diffcatcher ~/projects --pull --pull-strategy rebase
    
    # fetch/pull को पूरी तरह से छोड़ें (केवल ऐतिहासिक diffs)
    diffcatcher ~/projects --no-pull
    

    निष्कर्षण विकल्प

    root@kitploit:~
    # तत्व निष्कर्षण छोड़ें (केवल कच्चे diffs)
    diffcatcher ~/projects --no-summary-extraction
    
    # तत्व निकालें लेकिन कोड स्निपेट छोड़ें
    diffcatcher ~/projects --no-snippets
    
    # स्निपेट संदर्भ और सीमाएँ समायोजित करें
    diffcatcher ~/projects --snippet-context 10 --max-snippet-lines 300
    
    # प्रति diff तत्वों को सीमित करें
    diffcatcher ~/projects --max-elements 1000
    

    सुरक्षा टैगिंग

    root@kitploit:~
    # सुरक्षा टैगिंग छोड़ें
    diffcatcher ~/projects --no-security-tags
    
    # सुरक्षा विश्लेषण में परीक्षण फ़ाइलें शामिल करें
    diffcatcher ~/projects --include-test-security
    
    # कस्टम सुरक्षा पैटर्न का उपयोग करें
    diffcatcher ~/projects --security-tags-file ./custom-patterns.json
    

    कॉन्फ़िगरेशन फ़ाइल

    DiffCatcher प्रोजेक्ट-स्थानीय कॉन्फ़िगरेशन को स्वचालित रूप से लोड कर सकता है:

    • <ROOT_DIR>/.diffcatcher.toml (डिफ़ॉल्ट)
    • --config <FILE> के माध्यम से एक कस्टम फ़ाइल
    • --no-config के साथ अक्षम

    उदाहरण:

    root@kitploit:~
    output = "reports-local"
    no_pull = true
    history_depth = 2
    summary_formats = ["json", "txt"]
    no_security_tags = false
    
    [plugins]
    security_pattern_files = ["plugins/security-extra.json"]
    extractor_files = ["plugins/extractors.json"]
    

    CLI फ़्लैग अभी भी स्पष्ट रूप से सेट होने पर कॉन्फ़िग मानों को ओवरराइड करते हैं।

    प्लगइन सिस्टम

    DiffCatcher दो प्रकार के प्लगइन का समर्थन करता है:

    • सुरक्षा पैटर्न प्लगइन: --security-plugin-file <FILE> (दोहराने योग्य) के माध्यम से
    • एक्सट्रैक्टर प्लगइन: --extractor-plugin-file <FILE> (दोहराने योग्य) के माध्यम से

    सुरक्षा प्लगइन प्रारूप --security-tags-file JSON (version, mode, tags) से मेल खाता है।

    एक्सट्रैक्टर प्लगइन प्रारूप:

    root@kitploit:~
    {
      "version": 1,
      "extractors": [
        {
          "name": "policy-rule",
          "kind": "Config",
          "regex": "^policy\\s+([A-Za-z_][A-Za-z0-9_]*)"
        }
      ]
    }
    

    शाखा-अंतर मोड (PR समीक्षा)

    root@kitploit:~
    # एकल रिपॉजिटरी में दो शाखाओं के बीच अंतर
    diffcatcher ./my-repo --diff main..feature/auth
    
    # विशिष्ट कमिट के बीच अंतर
    diffcatcher ./my-repo --diff abc123..def456
    
    # CI एकीकरण के लिए SARIF आउटपुट के साथ अंतर
    diffcatcher ./my-repo --diff origin/main..HEAD --summary-format sarif -o ./pr-report
    

    --diff BASE..HEAD फ़्लैग रिपॉजिटरी खोज और fetch/pull को छोड़ देता है — यह सीधे दो refs (शाखाएँ, टैग, या कमिट SHA) के बीच अंतर करता है और परिणाम पर पूर्ण निष्कर्षण + सुरक्षा टैगिंग पाइपलाइन चलाता है।

    SARIF आउटपुट

    root@kitploit:~
    # अन्य प्रारूपों के साथ SARIF तैयार करें
    diffcatcher ~/projects --summary-format sarif,json,md
    
    # CI/CD अपलोड के लिए केवल SARIF
    diffcatcher ~/projects --summary-format sarif -o ./report
    

    जब --summary-format में sarif शामिल होता है, तो रिपोर्ट रूट में एक results.sarif फ़ाइल लिखी जाती है। यह फ़ाइल SARIF 2.1.0 मानक का पालन करती है और GitHub कोड स्कैनिंग, VS Code SARIF व्यूअर, Azure DevOps और अन्य SARIF-संगत टूल के साथ एकीकृत होती है।

    उन्नत सुविधाएँ

    root@kitploit:~
    # वृद्धिशील मोड (अपरिवर्तित रिपॉजिटरी को छोड़ें)
    diffcatcher ~/projects --incremental -o ./report
    
    # शाखा पैटर्न द्वारा फ़िल्टर करें
    diffcatcher ~/projects --branch-filter "main"
    
    # इतिहास गहराई समायोजित करें
    diffcatcher ~/projects --history-depth 5
    
    # CI/CD के लिए JSON आउटपुट
    diffcatcher ~/projects --quiet --json > result.json
    
    # खोजे गए पथों के साथ विस्तृत आउटपुट
    diffcatcher ~/projects --verbose
    

    📁 रिपोर्ट संरचना

    root@kitploit:~
    <report_dir>/
    ├── summary.json                    # वैश्विक सारांश
    ├── summary.md                      # Markdown सारांश
    ├── results.sarif                   # SARIF 2.1.0 आउटपुट (जब --summary-format sarif)
    ├── security_overview.json          # क्रॉस-रेपो सुरक्षा एकत्रीकरण
    ├── security_overview.md
    ├── <repo-name>/
    │   ├── status.json                 # रिपॉजिटरी स्थिति
    │   ├── pull_log.txt
    │   └── diffs/
    │       ├── diff_N_vs_N-1.patch     # कच्चा एकीकृत diff
    │       ├── changes_N_vs_N-1.txt    # फ़ाइल मैनिफ़ेस्ट
    │       ├── summary_N_vs_N-1.json   # तत्व निष्कर्षण
    │       ├── summary_N_vs_N-1.md
    │       └── snippets/
    │           ├── 001_validate_token_ADDED.rs
    │           ├── 002_check_permissions_BEFORE.rs
    │           ├── 002_check_permissions_AFTER.rs
    │           └── 002_check_permissions.diff
    └── ...
    

    ⚙️ कॉन्फ़िगरेशन

    CLI फ़्लैग

    फ़्लैगडिफ़ॉल्टविवरण
    -o, --output./reports/<timestamp>रिपोर्ट आउटपुट निर्देशिका
    -j, --parallel4समवर्ती रिपॉजिटरी प्रसंस्करण
    -t, --timeout120Git संचालन टाइमआउट (सेकंड)
    -d, --history-depth2diffs के लिए ऐतिहासिक कमिट
    --snippet-context5परिवर्तनों के आसपास संदर्भ पंक्तियाँ
    --max-snippet-lines200प्रति स्निपेट अधिकतम पंक्तियाँ
    --max-elements500प्रति diff अधिकतम तत्व
    --diff—एकल रिपॉजिटरी में दो refs के बीच अंतर (BASE..HEAD)
    --summary-formatjson,mdआउटपुट प्रारूप: json, md, txt, sarif

    सभी विकल्पों के लिए diffcatcher --help देखें।

    कस्टम सुरक्षा पैटर्न

    कस्टम पैटर्न के साथ एक JSON फ़ाइल बनाएं:

    root@kitploit:~
    {
      "version": 1,
      "mode": "extend",
      "tags": [
        {
          "tag": "pii-handling",
          "description": "PII डेटा प्रसंस्करण",
          "severity": "High",
          "patterns": ["ssn", "social_security", "passport"]
        }
      ]
    }
    

    --security-tags-file ./patterns.json के साथ उपयोग करें

    🏗️ आर्किटेक्चर

    root@kitploit:~
    src/
    ├── cli.rs              # तर्क पार्सिंग
    ├── scanner.rs          # रिपॉजिटरी खोज
    ├── git/                # Git संचालन
    │   ├── commands.rs     # Git रैपर
    │   ├── state.rs        # स्थिति कैप्चर
    │   ├── diff.rs         # Diff पीढ़ी
    │   └── file_retrieval.rs
    ├── extraction/         # तत्व निष्कर्षण
    │   ├── parser.rs       # एकीकृत diff पार्सर
    │   ├── elements.rs     # तत्व पहचान
    │   ├── snippets.rs     # कोड स्निपेट निष्कर्षण
    │   ├── boundary.rs     # ब्रैकेट/इंडेंटेशन ट्रैकिंग
    │   └── languages/      # भाषा-विशिष्ट पैटर्न
    ├── security/           # सुरक्षा टैगिंग
    │   ├── tagger.rs       # पैटर्न मिलान
    │   ├── patterns.rs     # अंतर्निहित पैटर्न
    │   └── overview.rs     # क्रॉस-रेपो एकत्रीकरण
    └── report/             # रिपोर्ट पीढ़ी
        ├── writer.rs       # निर्देशिका संरचना
        ├── json.rs         # JSON क्रमांकन
        ├── sarif.rs        # SARIF 2.1.0 आउटपुट
        ├── markdown.rs     # Markdown स्वरूपण
        └── snippet_writer.rs
    

    Bash तुलना

    एक सरल bash एक-पंक्ति diffs को सूचीबद्ध कर सकती है:

    root@kitploit:~
    ls | while read line; do git -C "$line" diff HEAD~1 HEAD || true; done
    

    यह त्वरित जाँच के लिए काम करता है, लेकिन DiffCatcher महत्वपूर्ण क्षमताएँ जोड़ता है:

    क्षमताBash एक-पंक्तिDiffCatcher
    पुनरावर्ती खोजकेवल शीर्ष-स्तरीय आइटमनेस्टेड रिपॉजिटरी, सिमलिंक, फ़िल्टर
    स्थिति ट्रैकिंगकोई नहींकमिट हैश, गंदगी जाँच, पुल लॉग
    कोड समझकेवल कच्चा diff10+ भाषाओं में फ़ंक्शन/struct/वर्ग निकालता है
    कोड स्निपेटकोई नहींसंदर्भ विंडो के साथ पूर्ण पहले/बाद का कोड
    सुरक्षा विश्लेषणकोई नहीं18 अंतर्निहित पैटर्न (प्रमाणीकरण, क्रिप्टो, रहस्य, SQLi, XSS)
    आउटपुट प्रारूपकेवल टर्मिनलJSON, Markdown, SARIF (GitHub कोड स्कैनिंग)
    क्रॉस-रेपो दृश्यप्रति-रेपोसभी रिपॉजिटरी में एकत्रित सुरक्षा रिपोर्ट
    प्रदर्शनक्रमिकसमानांतर कार्यकर्ता, LRU कैशिंग, वृद्धिशील मोड
    CI/CD एकीकरणकोई नहींGitHub/Azure DevOps पर SARIF अपलोड
    त्रुटि प्रबंधन`
    पथ प्रबंधनस्पेस पर विफलसभी पथ नामों को सही ढंग से संभालता है
    ऐतिहासिक संदर्भनिश्चित HEAD~1कॉन्फ़िगरेबल गहराई, स्थिति ट्रैकिंग

    bash एक-पंक्ति लगभग 100 बाइट्स है। DiffCatcher पूर्ण कोड तत्व निष्कर्षण वाला एक सुरक्षा-केंद्रित ऑडिट टूल है।

    🧪 परीक्षण

    root@kitploit:~
    # सभी परीक्षण चलाएँ
    cargo test
    
    # विशिष्ट परीक्षण सूट चलाएँ
    cargo test security_tagger
    
    # आउटपुट के साथ चलाएँ
    cargo test -- --nocapture
    

    परीक्षण कवरेज में शामिल हैं:

    • निष्कर्षण, सुरक्षा टैगिंग, सीमा पहचान के लिए इकाई परीक्षण
    • स्थिति कैप्चर, diff पीढ़ी, रिपोर्ट के लिए एकीकरण परीक्षण
    • निष्कर्षण सटीकता के लिए गोल्डन-फ़ाइल परीक्षण
    • एज केस परीक्षण (detached HEAD, बेयर रिपॉजिटरी, एकल-कमिट)

    प्रदर्शन बेंचमार्क

    root@kitploit:~
    # बेंचमार्क बायनेरिज़ संकलित करें
    cargo bench --no-run
    
    # बेंचमार्क हार्नेस चलाएँ
    cargo bench --bench core_bench
    

    बेंचमार्क स्रोत benches/core_bench.rs में रहता है और पार्सर/निष्कर्षण थ्रूपुट को ट्रैक करता है।

    CI/CD

    GitHub Actions वर्कफ़्लो शामिल हैं:

    • .github/workflows/ci.yml: फ़ॉर्मेट जाँच, clippy, परीक्षण, बेंच बिल्ड
    • .github/workflows/release.yml: टैग-आधारित रिलीज़ पैकेजिंग और GitHub रिलीज़ प्रकाशन

    📚 दस्तावेज़ीकरण

    परियोजना दस्तावेज़ीकरण

    • Plan.md - पूर्ण विनिर्देश (v1.2)
    • Roadmap.md - कार्यान्वयन रोडमैप और प्रगति
    • सुरक्षा पैटर्न संदर्भ (src/security/patterns.rs देखें)

    कोड दस्तावेज़ीकरण

    सभी मॉड्यूल में व्यापक इनलाइन दस्तावेज़ीकरण शामिल है। मुख्य मॉड्यूल:

    • src/extraction/parser.rs - हंक निष्कर्षण के साथ एकीकृत diff पार्सर
    • src/extraction/elements.rs - भाषा-जागरूक कोड तत्व पहचान
    • src/extraction/snippets.rs - सीमा पहचान के साथ पूर्ण कोड स्निपेट निष्कर्षण
    • src/security/tagger.rs - सुरक्षा पैटर्न मिलान इंजन
    • src/git/commands.rs - Git संचालन रैपर

    पूर्ण API दस्तावेज़ तैयार करें:

    root@kitploit:~
    cargo doc --open
    

    🏷️ टैग

    #rust #git #security #code-review #diff-analysis #static-analysis #devops #cli-tool #audit #vulnerability-detection #code-quality #snippet-extraction #parallel-processing #security-scanning

    🤝 योगदान

    योगदान का स्वागत है! कृपया:

    1. रिपॉजिटरी को फोर्क करें
    2. एक फीचर शाखा बनाएँ
    3. नई कार्यक्षमता के लिए परीक्षण जोड़ें
    4. सुनिश्चित करें cargo test पास हो
    5. एक पुल अनुरोध सबमिट करें

    📄 लाइसेंस

    MIT लाइसेंस - विवरण के लिए LICENSE फ़ाइल देखें

    📧 संपर्क

    • लेखक: Teycir Ben Soltane
    • ईमेल: [email protected]
    • वेबसाइट: teycirbensoltane.tn

    🔗 लिंक

    • GitHub रिपॉजिटरी
    • इश्यू ट्रैकर
    • परिवर्तन लॉग
    टूल डाउनलोड करें