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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
AutoPiff — विंडोज कर्नेल ड्राइवर पैच में सुरक्षा कमजोरियों के समाधान का पता लगाने के लिए सिमैंटिक विश्लेषण इंजन — 58 YAML नियम, Ghidra डिकंपाइलेशन, पहुंच-योग्यता ट्रेसिंग और स्कोरिंग | Kitploit
उपकरण/GitHubGitHub/splintersfury/autopiff
स्थैतिक विश्लेषणभेद्यता विश्लेषणशोषणरिवर्स इंजीनियरिंगमालवेयर विश्लेषणबाइनरी विश्लेषणफर्मवेयर विश्लेषण
GitHubsplintersfury/autopiff

AutoPiff

विंडोज कर्नेल ड्राइवर पैच में सुरक्षा कमजोरियों के समाधान का पता लगाने के लिए सिमैंटिक विश्लेषण इंजन — 58 YAML नियम, Ghidra डिकंपाइलेशन, पहुंच-योग्यता ट्रेसिंग और स्कोरिंग

रिपॉजिटरी देखें
64426 महीने पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

AutoPiff

स्वचालित पैच बुद्धिमत्ता और खोज ढांचा

विंडोज कर्नेल ड्राइवर पैच में भेद्यता सुधार का पता लगाने के लिए एक सिमैंटिक विश्लेषण इंजन। AutoPiff उच्च सटीकता और व्याख्याक्षमता के साथ सुरक्षा-प्रासंगिक कोड परिवर्तनों की पहचान करने के लिए रूढ़िवादी YAML नियमों का उपयोग करता है।

अवलोकन

AutoPiff असुरक्षित और पैच किए गए ड्राइवर संस्करणों के बीच अंतर का विश्लेषण करके स्वचालित रूप से पता लगाता है:

  • Use-After-Free सुधार (ExFreePool के बाद शून्य असाइनमेंट)
  • बाउंड्स चेक जोड़ (memcpy से पहले लंबाई सत्यापन)
  • उपयोगकर्ता/कर्नेल सीमा सख्तीकरण (ProbeForRead/ProbeForWrite)
  • पूर्णांक ओवरफ्लो सुरक्षा (सुरक्षित गणित सहायक)
  • अवस्था सख्तीकरण (इंटरलॉक्ड रेफरेंस काउंटिंग)
  • IOCTL इनपुट सत्यापन, पूल भ्रष्टाचार गार्ड, विशेषाधिकार जाँच, और अधिक

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

  • उच्च सटीकता: रूढ़िवादी नियम झूठी सकारात्मकता को कम करते हैं
  • व्याख्याक्षमता: प्रत्येक निष्कर्ष में तर्क और साक्ष्य शामिल होते हैं
  • सिंक-जागरूक: नियम खतरनाक API की निकटता पर विचार करते हैं
  • स्कोरिंग मॉडल: शोषणक्षमता और पहुंच के आधार पर निष्कर्षों को रैंक करता है
  • Karton एकीकरण: मैलवेयर विश्लेषण पाइपलाइनों में वितरित सेवा के रूप में चलता है
  • AutoPiff क्यों?

    सुई की खोज (घास के ढेर में)

    root@kitploit:~
    Vendor releases 500 driver updates/year
    ├── 490 are feature/performance/cosmetic changes
    ├── 8 are minor bug fixes
    └── 2 are silent security fixes (no CVE assigned)
    
    Without automation: Manually review 500 to find 2
    With AutoPiff:      Review 10 high-scorers to find 2
    

    सुरक्षा पैच अक्सर बिना CVE असाइनमेंट के जारी किए जाते हैं। प्रत्येक ड्राइवर अपडेट को मैन्युअल रूप से रिवर्स इंजीनियर करके सुरक्षा-प्रासंगिक परिवर्तन खोजना संभव नहीं है। AutoPiff स्वचालित रूप से उन परिवर्तनों को सामने लाकर इस समस्या को हल करता है जो मायने रखते हैं।

    AutoPiff क्या स्वचालित करता है

    चरणमैन्युअल प्रयासAutoPiff के साथबचा हुआ समय
    संस्करण जोड़ी5-15 मिनट/ड्राइवरस्वचालित~100%
    डीकंपाइलेशन2-10 मिनट/बाइनरीबैच, समानांतर~95%
    फ़ंक्शन मिलान30-60 मिनट/जोड़ीतुरंत~100%
    सुरक्षा परिवर्तन पहचान2-8 घंटे/जोड़ीसेकंड~99%
    प्रारंभिक ट्रायेज और रैंकिंग1-2 घंटेतुरंत~100%
    रिपोर्ट निर्माण30-60 मिनटतुरंत~100%

    कुल: प्रति ड्राइवर जोड़ी 4-12 घंटे से घटकर 2-5 मिनट

    अभी भी मानव विशेषज्ञता की आवश्यकता

    root@kitploit:~
    ┌─────────────────────────────────────────────────────────────────┐
    │  AUTOMATED by AutoPiff                                          │
    │  ├── Find the needle: "This function changed near ExFreePool"   │
    │  ├── Classify: "Looks like a use-after-free fix"                │
    │  └── Rank: "Score 5.5 - worth investigating"                    │
    ├─────────────────────────────────────────────────────────────────┤
    │  STILL MANUAL (Your expertise)                                  │
    │  ├── Confirm exploitability: "Can I actually trigger this?"     │
    │  ├── Root cause analysis: "Why was this vulnerable?"            │
    │  ├── Exploit development: "How do I reach this sink?"           │
    │  └── Impact assessment: "What's the real-world risk?"           │
    └─────────────────────────────────────────────────────────────────┘
    

    AutoPiff शोषण अनुसंधान को प्रतिस्थापित नहीं करता। यह टोही चरण को स्वचालित करके इसे बड़े पैमाने पर संभव बनाता है।

    उपयोग के मामले

    1. मूक पैच पता लगाना

    • बिना CVE के जारी किए गए ड्राइवर सुरक्षा सुधारों पर नज़र रखें
    • जब उच्च-स्कोर वाले सिमैंटिक डेल्टा दिखाई दें तो सतर्क रहें
    • सार्वजनिक रूप से खुलासा होने से पहले भेद्यताओं को पकड़ें

    2. 1-दिवसीय भेद्यता अनुसंधान

    • जब कोई CVE घोषित हो, तो तुरंत सटीक पैच की पहचान करें
    • पैच पैटर्न को भेद्यता वर्गों से संबंधित करें
    • शोषण विकास समयसीमा में तेज़ी लाएं

    3. विक्रेता सुरक्षा ऑडिटिंग

    • समय के साथ ड्राइवर परिवार के सभी संस्करणों का विश्लेषण करें
    • टाइमलाइन बनाएं जो दर्शाती हैं कि सुधार कब दिखाई दिए
    • विक्रेता भेद्यताओं को कैसे संबोधित करते हैं, इसके पैटर्न पहचानें

    4. ऐतिहासिक CVE कोष निर्माण

    • प्रशिक्षण डेटा बनाने के लिए ज्ञात CVE ड्राइवर जोड़ियों को संसाधित करें
    • पता लगाने के नियमों को मान्य और बेहतर करें
    • पैच हस्ताक्षरों का एक ज्ञानकोष बनाएं

    आर्किटेक्चर

    AutoPiff एक Karton पाइपलाइन के रूप में चलता है जिसमें 8 क्रमिक चरण और एक समानांतर DriverAtlas ट्रायेज शाखा होती है। प्रत्येक चरण Redis/RabbitMQ के माध्यम से संचार करने वाला एक स्वतंत्र माइक्रोसर्विस है।

    root@kitploit:~
    graph LR
        sources["WinBIndex<br/>VirusTotal"]:::src --> s0["Stage 0<br/>Monitor"]
        s0 --> s14["Stages 1-4<br/>Patch Differ"]
        s0 --> triage["DriverAtlas<br/>Triage"]:::triage
        s14 --> s5["Stage 5<br/>Reachability"]
        s5 --> s6["Stage 6<br/>Ranking"]
        s6 --> s7["Stage 7<br/>Report"]
        s6 --> s8["Stage 8<br/>Alerter"]
        triage --> alerts["MWDB Tags<br/>+ Alerts"]:::triage
    
        classDef src fill:#1a1a2e,stroke:#e94560,color:#eee
        classDef triage fill:#1a1a2e,stroke:#e9a345,color:#eee
        classDef default fill:#16213e,stroke:#0f3460,color:#eee
    चरणसेवायह क्या करता है
    0driver-monitorनए ड्राइवर संस्करणों के लिए WinBIndex और VirusTotal को पोल करता है, MWDB पर अपलोड करता है
    1-4karton-patch-differसंस्करण जोड़ी, Ghidra डीकंपाइलेशन, फ़ंक्शन मिलान, सिमैंटिक नियम मूल्यांकन
    5karton-reachabilityGhidra कॉल-ग्राफ BFS IOCTL/IRP प्रवेश बिंदुओं से परिवर्तित फ़ंक्शन तक, पूर्ण डीकंपाइलेशन निर्यात
    6karton-rankingपहुंच, सिमैंटिक गंभीरता और हमले की सतह का उपयोग करके निष्कर्षों को स्कोर करता है
    7karton-reportसंरचित मार्कडाउन रिपोर्ट उत्पन्न करता है, MWDB पर अपलोड करता है
    8autopiff-alerter8.0 या उससे अधिक स्कोर वाले निष्कर्षों के लिए Telegram अलर्ट भेजता है
    —autopiff-driver-triageDriverAtlas हमले की सतह स्कोरिंग (1-4 के समानांतर), MWDB नमूनों को टैग करता है, Telegram अलर्ट

    सिमैंटिक नियम

    AutoPiff में 22 श्रेणियों में 58 नियम शामिल हैं। पूर्ण विशिष्टता के लिए Docs/semantic_rules.md और तकनीकी संदर्भ के लिए Docs/SEMANTIC_RULES_REFERENCE.md देखें।

    श्रेणीउदाहरण पता लगाना
    bounds_checkmemcpy से पहले लंबाई की जाँच जोड़ी गई
    lifetime_fixExFreePool के बाद शून्य असाइनमेंट
    user_boundary_checkProbeForRead/ProbeForWrite जोड़ा गया
    int_overflowसुरक्षित गणित सहायक का उपयोग
    state_hardeningइंटरलॉक्ड रेफ़रेंस काउंट संचालन
    ioctl_input_validationडिस्पैच हैंडलर में नए आकार/प्रकार की जाँच
    pool_type_hardeningNonPagedPoolNx में माइग्रेशन
    privilege_checkSeSinglePrivilegeCheck जोड़ा गया

    सिंक समूह

    नियम इंजन 8 सिंक समूहों में 50+ खतरनाक API प्रतीकों को ट्रैक करता है:

    • memory_copy: RtlCopyMemory, memcpy, memmove
    • pool_alloc: ExAllocatePool, ExAllocatePoolWithTag
    • pool_free: ExFreePool, ExFreePoolWithTag
    • user_probe: ProbeForRead, ProbeForWrite
    • io_sanitization: RtlULongAdd, RtlSizeTMult
    • exceptions: __try, __except
    • string_copy: strcpy, wcsncpy
    • refcounting: InterlockedIncrement/Decrement

    स्कोरिंग मॉडल

    निष्कर्षों को एक कॉन्फ़िगरेबल मॉडल (rules/scoring.yaml) का उपयोग करके स्कोर किया जाता है:

    root@kitploit:~
    final_score = semantic_score + reachability_bonus + sink_bonus - penalties
    

    स्कोर घटक:

    • सिमैंटिक स्कोर: नियम भार × आत्मविश्वास × श्रेणी गुणक
    • पहुंच बोनस: IOCTL (+4.0), IRP (+2.5), PnP (+2.0), आंतरिक (+0.5)
    • सिंक बोनस: memory_copy (+1.5), user_probe (+1.5), pool_alloc (+1.2)
    • दंड: कम मिलान गुणवत्ता, उच्च शोर जोखिम

    गेटिंग:

    • 0.45 से कम आत्मविश्वास वाले निष्कर्ष हटा दिए जाते हैं
    • मिलान आत्मविश्वास < 0.40 स्कोर को 3.0 पर सीमित करता है

    स्थापना

    Karton सेवा के रूप में (अनुशंसित)

    root@kitploit:~
    git clone https://github.com/splintersfury/AutoPiff.git
    cd AutoPiff
    docker compose up -d
    

    पूर्ण उत्पादन स्टैक (MWDB, डैशबोर्ड, मॉनिटरिंग) के लिए, driver_analyzer देखें।

    स्टैंडअलोन लाइब्रेरी

    root@kitploit:~
    pip install pyyaml
    
    from services.karton_patch_differ.rule_engine import SemanticRuleEngine
    
    engine = SemanticRuleEngine('rules/semantic_rules.yaml', 'rules/sinks.yaml')
    hits = engine.evaluate(func_name, old_code, new_code, diff_lines)
    

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

    पर्यावरण चर

    चरविवरणडिफ़ॉल्ट
    MWDB_API_URLMWDB कोर API एंडपॉइंटhttp://mwdb-core:8080/api/
    MWDB_API_KEYअपलोड के लिए MWDB API कुंजी(आवश्यक)
    KARTON_REDIS_HOSTKarton के लिए Redis होस्टkarton-redis
    AUTOPIFF_GHIDRA_TIMEOUTGhidra डीकंपाइलेशन टाइमआउट (सेकंड)900
    VT_API_KEYड्राइवर मॉनिटरिंग के लिए VirusTotal API कुंजी(वैकल्पिक)
    TELEGRAM_BOT_TOKENअलर्ट के लिए Telegram बॉट टोकन(वैकल्पिक)
    TELEGRAM_CHAT_IDअलर्ट के लिए Telegram चैट(वैकल्पिक)
    AUTOPIFF_SCORE_THRESHOLDTelegram अलर्ट के लिए न्यूनतम स्कोर8.0
    DRIVERATLAS_SCORE_THRESHOLDट्रायेज अलर्ट के लिए न्यूनतम हमले की सतह स्कोर8.0

    नियम अनुकूलन

    नियम जोड़ने या संशोधित करने के लिए rules/semantic_rules.yaml संपादित करें:

    root@kitploit:~
    rules:
      - rule_id: my_custom_rule
        category: bounds_check
        confidence: 0.85
        required_signals:
          - sink_group: memory_copy
          - change_type: guard_added
          - guard_kind: length_check
        plain_english_summary: Added length validation before memory copy.
    

    आउटपुट प्रारूप

    AutoPiff MWDB नमूनों से जुड़ी JSON रिपोर्ट उत्पन्न करता है:

    root@kitploit:~
    {
      "pairing": {
        "driver_new": {"sha256": "...", "version": "2.0.9.0"},
        "driver_old": {"sha256": "...", "version": "2.0.8.0"},
        "decision": "accept",
        "confidence": 0.95
      },
      "semantic_deltas": {
        "deltas": [
          {
            "function": "HandleIoctl",
            "rule_id": "null_after_free_added",
            "category": "lifetime_fix",
            "confidence": 0.88,
            "sinks": ["pool_free"],
            "final_score": 5.5,
            "why_matters": "Pointer is now set to NULL after freeing memory."
          }
        ],
        "summary": {
          "total_deltas": 1,
          "top_score": 5.5,
          "match_rate": 100.0
        }
      }
    }
    

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

    दस्तावेज़विवरण
    Docs/semantic_rules.mdसिमैंटिक नियम विशिष्टता: नियम कैसे संरचित हैं और प्रत्येक श्रेणी क्या पता लगाती है
    Docs/SEMANTIC_RULES_REFERENCE.mdनियम इंजन, मूल्यांकन तर्क और स्कोरिंग के लिए तकनीकी संदर्भ
    Docs/reachability.mdपहुंच टैगिंग स्पेक: डिस्पैच प्रवेश बिंदुओं से कॉल-ग्राफ BFS
    Docs/reporting.mdरिपोर्ट आउटपुट विशिष्टता और प्रारूप
    Docs/decisions.mdडिज़ाइन निर्णय और तर्क लॉग
    rules/semantic_rules.yamlसभी 58 पता लगाने के नियम (YAML)
    rules/sinks.yamlश्रेणी के अनुसार समूहित 50+ खतरनाक API प्रतीक
    rules/scoring.yamlस्कोरिंग मॉडल कॉन्फ़िगरेशन
    schemas/प्रत्येक पाइपलाइन चरण आउटपुट के लिए JSON स्कीमा

    परियोजना संरचना

    root@kitploit:~
    AutoPiff/
    ├── Docs/                          # डिज़ाइन दस्तावेज़ और विशिष्टताएँ
    ├── ghidra/scripts/                # Ghidra हेडलेस स्क्रिप्ट
    │   └── autopiff_reachability.py   # पहुंच BFS + डीकंपाइलेशन निर्यात
    ├── rules/
    │   ├── semantic_rules.yaml        # 58 पता लगाने के नियम
    │   ├── sinks.yaml                 # 50+ खतरनाक API प्रतीक
    │   └── scoring.yaml               # स्कोरिंग मॉडल कॉन्फ़िगरेशन
    ├── schemas/                       # प्रत्येक चरण के लिए JSON स्कीमा
    ├── services/
    │   ├── karton-patch-differ/       # चरण 1-4: डिफिंग + सिमैंटिक विश्लेषण
    │   ├── karton-reachability/       # चरण 5: कॉल-ग्राफ + डीकंपाइलेशन
    │   ├── karton-ranking/            # चरण 6: स्कोरिंग
    │   ├── karton-report/             # चरण 7: रिपोर्ट निर्माण
    │   ├── karton-driver-triage/      # DriverAtlas हमले की सतह ट्रायेज
    │   ├── autopiff-alerter/          # चरण 8: Telegram अलर्ट
    │   ├── driver-monitor/            # चरण 0: संस्करण पोलिंग
    │   └── dashboard/                 # वेब UI
    ├── tests/unit/                    # 137 यूनिट परीक्षण
    ├── docker-compose.yml
    └── README.md
    

    driver_analyzer के साथ एकीकरण

    AutoPiff को driver_analyzer के साथ काम करने के लिए डिज़ाइन किया गया है, जो पूर्ण उत्पादन बुनियादी ढांचा (MWDB, Karton, MinIO, डैशबोर्ड) प्रदान करता है। driver_analyzer compose फ़ाइल AutoPiff सेवाओं को सीधे बनाती है:

    root@kitploit:~
    # In driver_analyzer/docker-compose.yml
    karton-driver-patch-differ:
      build:
        context: ../AutoPiff
        dockerfile: services/karton-patch-differ/Dockerfile
      volumes:
        - ../AutoPiff/rules:/app/rules:ro
    

    सेटअप निर्देशों के लिए driver_analyzer README देखें।

    लाइसेंस

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

    आभार

    • Karton - वितरित मैलवेयर प्रसंस्करण ढांचा
    • MWDB Core - मैलवेयर भंडार
    • Ghidra - NSA का सॉफ्टवेयर रिवर्स इंजीनियरिंग ढांचा
    टूल डाउनलोड करें