
कोड हस्ताक्षर सत्यापन और टाइमलाइन ट्रैकिंग के साथ macOS पर्सिस्टेंस मैकेनिज़्म स्कैनर।
देखें सब कुछ जो आपके Mac पर चलता है। समझें क्यों चलता है। तय करें क्या रखना है।


MacPersistenceChecker आपको वह सब कुछ दिखाता है जो आपके Mac पर स्वचालित रूप से चलता है, समझाता है यह क्यों मायने रखता है, और यह तय करने में मदद करता है क्या रखना है या हटाना है।
→ मैलवेयर खोजें → छिपे हुए persistence का पता लगाएं → अपने सिस्टम को मिनटों में समझें
डाउनलोड करें MacPersistenceChecker v2.0.0 (DMG)
→ अपने Mac को 30 सेकंड से भी कम समय में स्कैन करें → कोई इंस्टॉल विज़ार्ड नहीं, बस खोलें और चलाएं → नेटिव macOS, यूनिवर्सल (Apple Silicon और Intel), macOS 13+
अगर macOS कहता है कि ऐप क्षतिग्रस्त है:
xattr -cr /Applications/MacPersistenceChecker.app
ऐप आपके सिस्टम को सीखता है और स्वचालित रूप से हजारों आइटम वर्गीकृत करता है।
त्वरित प्रारंभ:
वास्तविक लागत: <$1/माह सक्रिय उपयोग के लिए, स्थिर अवस्था के लिए $0।
ऐप आपके Mac पर प्रत्येक persistence आइटम का नॉलेज ग्राफ़ बनाता है और उस पर तर्क करने के लिए Claude (Anthropic) का उपयोग करता है। हजारों आइटमों को जल्दी वर्गीकृत करें, केवल वही बढ़ाएँ जो वास्तव में मायने रखता है, और अपने सिस्टम को सीखें ताकि यह बिना आगे AI कॉल के अधिकांश प्रश्नों का उत्तर दे सके।
┌──────────────────────────┐
│ Persistence scan │
│ (e.g. 6800 items) │
└─────────────┬────────────┘
▼
┌────────────────────────────────────────┐
│ Concept Extraction (deterministic) │
│ 6 extractors → vendor / software / │
│ pathCategory / pattern / mechanism / │
│ filename. No AI calls here. │
└─────────────┬──────────────────────────┘
▼
┌────────────────────────────────────────┐
│ Knowledge Graph (SQLite) │
│ • concepts (~280 typically) │
│ • concept_links (subsumes / instance) │
│ • item_concepts (m:n) │
│ • concept_verdicts │
└─────────────┬──────────────────────────┘
▼
┌────────────────────────────────────────┐
│ Concept Resolver │
│ for every item, picks the strongest │
│ verdict via a deterministic ladder: │
│ severity → confidence → specificity │
│ → source → recency. │
└─────────────┬──────────────────────────┘
│
┌───────────┴────────────┐
▼ ▼
┌──────────────────┐ ┌──────────────────────┐ │ Item is already │ │ Item is unresolved │ │ classified. │ │ → goes to a cluster. │ │ Filter hides it │ └──────────┬───────────┘ │ from "Suspicious"│ ▼ └──────────────────┘ ┌──────────────────────┐ │ Cluster Builder │ │ groups items by │ │ identical concept │ │ signature (sorted │ │ ids). 6800 items → │ │ ~280 clusters. │ └──────────┬───────────┘ ▼ ┌──────────────────────────────────────────┐ │ User decides per cluster (one click = │ │ N items decided), OR sends batch to AI: │ │ │ │ • Trust / Watch / Block (manual) │ │ • Send unresolved clusters to AI │ │ → Haiku batch (15 cluster per call) │ │ → AI returns verdicts attached to │ │ concepts (not items) — propagate │ │ to ALL items linked to those │ │ concepts, including future ones. │ └──────────────────────────────────────────┘
### AI उपकरण
| उपकरण | स्थान | मॉडल | लागत / कॉल |
|---|---|---|---|
| AI के साथ विश्लेषण करें (एक आइटम) | आइटम विवरण → नॉलेज ग्राफ़ | Haiku | ~$0.003 |
| स्मार्ट ट्रायेज बैच | टूलबार → ट्रायेज | Haiku batch | ~$0.005 (15 क्लस्टर) |
| सिस्टम रिपोर्ट | टूलबार → रिपोर्ट | Sonnet | ~$0.05-0.10 |
| थ्रेट हंट | टूलबार → हंट | Haiku | ~$0.003 |
| स्नैपशॉट डिफ़ | इतिहास → तुलना → AI के साथ विश्लेषण | Haiku | ~$0.003 |
दैनिक कॉल सीमा (डिफ़ॉल्ट 30) सेटिंग्स → AI में कॉन्फ़िगर करने योग्य। यह एक कठिन सीमा है, पहुँचने पर AI स्वतः बंद हो जाता है।
### ट्रस्ट नियंत्रण
उपयोगकर्ता-परिभाषित नियम AI-निकाले गए नियमों पर **हमेशा जीतते हैं**:
- **इस आइटम पर भरोसा करें** — singleItem नियम, आपका निर्णय AI वॉचलिस्ट को ओवरराइड करता है
- **इस पैटर्न पर भरोसा करें** — TeamID/हस्ताक्षर एंकर के साथ पैटर्न नियम (केवल हस्ताक्षरित बाइनरी)
- **विश्वास हटाएँ** — गलती से जोड़ा गया उपयोगकर्ता-परिभाषित नियम हटाएँ
- **वॉच / ब्लॉक** — Smart Triage में पूरे क्लस्टर पर वॉचलिस्ट/दुर्भावनापूर्ण निर्णय लागू करें
</details>
---
## पर्सिस्टेंस स्कैनिंग
### मुख्य स्कैनर
- **Launch Daemons** - सिस्टम-व्यापी सेवाएँ (`/Library/LaunchDaemons`, `/System/Library/LaunchDaemons`)
- **Launch Agents** - उपयोगकर्ता-स्तर एजेंट (`~/Library/LaunchAgents`, `/Library/LaunchAgents`)
- **Login Items** - लॉगिन पर प्रारंभ होने वाले ऐप्स
- **Kernel Extensions** - लीगेसी kexts
- **System Extensions** - आधुनिक सिस्टम एक्सटेंशन (DriverKit, NetworkExtension, EndpointSecurity)
- **Privileged Helper Tools** - उन्नत विशेषाधिकारों वाली XPC सेवाएँ
- **Cron Jobs** - अनुसूचित कार्य
- **Configuration Profiles** - MDM और कॉन्फ़िगरेशन प्रोफ़ाइल
- **Application Support** - बैकग्राउंड ऐप्स और सहायक
### एक्सटेंडेड स्कैनर (वैकल्पिक)
- **Periodic Scripts** - `/etc/periodic/` में दैनिक, साप्ताहिक, मासिक स्क्रिप्ट
- **Shell Startup Files** - `.zshrc`, `.bashrc`, `/etc/profile` संदिग्ध पैटर्न पहचान के साथ
- **Login/Logout Hooks** - `com.apple.loginwindow` के माध्यम से लीगेसी लॉगिन हुक
- **Authorization Plugins** - `/Library/Security/SecurityAgentPlugins` में सुरक्षा एजेंट प्लगिन
- **Spotlight Importers** - कस्टम मेटाडेटा इम्पोर्टर
- **Quick Look Plugins** - प्रीव्यू जनरेटर जिनका दुरुपयोग हो सकता है
- **Directory Services Plugins** - प्रमाणीकरण प्लगिन
- **Finder Sync Extensions** - प्लगिनकिट के माध्यम से Finder एक्सटेंशन
- **BTM Database** - बैकग्राउंड टास्क प्रबंधन प्रविष्टियाँ (macOS 13+)
- **Dylib Hijacking** - `DYLD_INSERT_LIBRARIES` और संदिग्ध dylib इंजेक्शन का पता लगाना
- **TCC/Accessibility** - TCC डेटाबेस में एक्सेसिबिलिटी अनुमतियों वाले ऐप्स
---
## जोखिम मूल्यांकन
प्रत्येक पर्सिस्टेंस आइटम को कई कारकों के आधार पर **जोखिम स्कोर (0-100)** मिलता है:
- अमान्य या अनुपलब्ध कोड हस्ताक्षर
- हार्डनड रनटाइम सुरक्षा का अभाव
- एड-हॉक हस्ताक्षरित बाइनरी
- संदिग्ध फ़ाइल स्थान
- लगातार ऑटो-स्टार्ट कॉन्फ़िगरेशन (RunAtLoad, KeepAlive)
- ज्ञात मैलवेयर पैटर्न
**गंभीरता स्तर:** Low, Medium, High, Critical - त्वरित ख़तरे की पहचान के लिए आइटम जोखिम के अनुसार क्रमबद्ध।
### लॉन्च आवृत्ति विसंगति पहचान
- **Micro-Restart** - StartInterval < 60 सेकंड (संभावित watchdog दुरुपयोग)
- **Aggressive Watchdog** - KeepAlive + कम StartInterval संयोजन
- **No Throttle Limit** - ThrottleInterval के बिना KeepAlive (क्रैश-रीस्टार्ट लूप जोखिम)
### हस्ताक्षरित-लेकिन-खतरनाक पहचान
- **Dangerous Entitlements** - जोखिम भरे entitlements का पता लगाना (`com.apple.security.cs.disable-library-validation`, आदि)
- **Apple Impersonation** - गैर-Apple सॉफ़्टवेयर जो Apple के रूप में प्रकट होने का प्रयास कर रहा है
- **Hidden Locations** - संदिग्ध निर्देशिकाओं में हस्ताक्षरित ऐप्स
- **Notarization Gaps** - हाल के ऐप्स जिनमें नोटराइज़ेशन का अभाव है
- **Developer Certificate Analysis** - ज्ञात विक्रेताओं के विरुद्ध Team ID सत्यापन
### LOLBins पहचान (Living-off-the-Land Binaries)
पर्सिस्टेंस संदर्भों में वैध macOS बाइनरी के संदिग्ध उपयोग का पता लगाता है। **संयोजन महत्वपूर्ण है:**
- **osascript + persistence** = ऑटो-स्टार्ट के साथ AppleScript (GUI ऑटोमेशन दुरुपयोग)
- **curl/wget + RunAtLoad** = डाउनलोड और निष्पादन पैटर्न
- **python + privileged helper** = उन्नत स्क्रिप्ट निष्पादन
- **security + KeepAlive** = क्रेडेंशियल चोरी का जोखिम
- **launchctl + auto-start** = मेटा-पर्सिस्टेंस इंस्टॉलर
- **netcat + persistence** = रिवर्स शेल / C2 चैनल
MITRE ATT&CK मैपिंग और संदर्भ-जागरूक गंभीरता स्कोरिंग के साथ 40+ LOLBins ट्रैक किए जाते हैं।
### बाइनरी प्रतिष्ठा और व्यवहार विश्लेषण
संदिग्ध व्यवहार पैटर्न का पता लगाने के लिए उन्नत ह्यूरिस्टिक्स:
- **Hidden Persistence Guard** - स्पष्ट watchdog उद्देश्य के बिना KeepAlive एजेंट
- **Aggressive Persistence** - गैर-सेवा आइटम पर RunAtLoad + KeepAlive
- **Stealthy Auto-Start** - अज्ञात विक्रेता से बैकग्राउंड प्रक्रिया
- **Orphaned Persistence** - Plist गैर-मौजूद निष्पादन योग्य की ओर इशारा करता है
- **Suspicious Location** - `/tmp/`, `/Users/Shared/`, या छिपी निर्देशिकाओं में निष्पादन योग्य
- **Privilege Escalation Risk** - विशेषाधिकृत कार्यों का प्रयास करने वाला उपयोगकर्ता एजेंट
- **Network-Enabled Persistence** - नेटवर्क क्षमताओं के साथ पर्सिस्टेंस
- **Script-Based Persistence** - इंटरप्रेटर के माध्यम से इनलाइन स्क्रिप्ट
- **System Process Impersonation** - Apple-जैसे नामकरण का उपयोग करने वाला गैर-Apple आइटम
- **Frequent Restart Pattern** - StartInterval < 60 सेकंड
### Plist बनाम बाइनरी इरादा बेमेल
तब पता लगाता है जब plist जो घोषित करता है वह बाइनरी वास्तव में जो करती है उससे मेल नहीं खाता - **बिल्कुल वही जो आधुनिक ड्रॉपर करते हैं:**
- **Innocent Plist, Heavy Binary** - सरल कॉन्फ़िगरेशन लेकिन बाइनरी में खतरनाक entitlements हैं
- **Passive Helper with Network** - नेटवर्क क्लाइंट/सर्वर एक्सेस वाला बैकग्राउंड हेल्पर
- **Passive Helper with Dylib Loading** - हेल्पर जो अहस्ताक्षरित कोड लोड कर सकता है
- **Minimal Config, Maximum Capabilities** - न्यूनतम plist लेकिन व्यापक entitlements
- **Simple Task with Keychain Access** - क्रेडेंशियल एक्सेस वाला सरल दिखने वाला कार्य
### बाइनरी आयु बनाम पर्सिस्टेंस आयु
संदिग्ध टाइमस्टैम्प पैटर्न का पता लगाता है जो इंस्टॉल-पश्चात दुर्भावनापूर्ण अपडेट का संकेत देते हैं:
- **Old Plist, New Binary** - क्लासिक "इंस्टॉल-पश्चात दुर्भावनापूर्ण अपडेट" पैटर्न
- **Silent Binary Swap** - plist परिवर्तन के बिना बाइनरी संशोधित
- **Timestamp Manipulation** - निर्माण तिथि से पहले संशोधन तिथि (असंभव)
- **Suspicious Modification Time** - 2-5 AM पर संशोधित बाइनरी
- **Binary Modified After Install** - प्रारंभिक इंस्टॉल के बाद गैर-अपडेटर बाइनरी बदली गई
### ट्रस्ट स्तर
- 🟢 **Apple** - Apple द्वारा हस्ताक्षरित
- 🔵 **Known Vendor** - सत्यापित थर्ड-पार्टी सॉफ़्टवेयर
- 🟡 **Signed** - मान्य हस्ताक्षर लेकिन नोटराइज़्ड नहीं
- ⚪ **Unknown** - सत्यापित करने के लिए कोई निष्पादन योग्य नहीं
- 🟠 **Suspicious** - समाप्त प्रमाणपत्र या संदिग्ध पथ
- 🔴 **Unsigned** - कोई मान्य हस्ताक्षर नहीं
---
## टाइमलाइन और फोरेंसिक्स
प्रत्येक पर्सिस्टेंस आइटम के लिए व्यापक फोरेंसिक टाइमलाइन:
**Discovery**
- First Seen - जब आइटम पहली बार खोजा गया था
**Configuration File (Plist)**
- Created - फ़ाइल निर्माण टाइमस्टैम्प
- Modified - अंतिम संशोधन टाइमस्टैम्प
**Executable (Binary)**
- Created - बाइनरी निर्माण टाइमस्टैम्प
- Modified - अंतिम संशोधन टाइमस्टैम्प
- Last Executed - अंतिम एक्सेस/निष्पादन समय
### टाइमस्टैम्प विसंगति पहचान
- **Timestomping** - संशोधन तिथि के बाद निर्माण तिथि (एंटी-फोरेंसिक्स तकनीक)
- **File Replacement** - प्रारंभिक खोज के बाद बनाई गई फ़ाइल
- **Binary Swap** - पुराने plist के साथ हाल ही में संशोधित बाइनरी (संभावित ट्रोजन)
- **Recent Execution** - हाल ही में एक्सेस की गई बाइनरी लेकिन वर्तमान में लोड नहीं
---
## MITRE ATT&CK एकीकरण
प्रत्येक पर्सिस्टेंस तंत्र MITRE ATT&CK फ्रेमवर्क से मैप किया गया है:
- **Tactics**: Persistence, Privilege Escalation, Defense Evasion, Execution
- **Techniques**: T1543.001, T1543.004, T1547.001, T1547.015, और अधिक
- MITRE ATT&CK दस्तावेज़ीकरण के सीधे लिंक
---
## ऐप अतिक्रमण रिपोर्ट
इंस्टॉल किए गए ऐप्स का व्यापक विश्लेषण उनके "अतिक्रमण" स्तर का मूल्यांकन करने के लिए:
### दोहरी स्कोरिंग प्रणाली
**पर्सिस्टेंस स्कोर (0-100)** - पर्सिस्टेंस तंत्रों का मूल्यांकन करता है:
- ट्रिगर प्रकार (RunAtLoad, KeepAlive)
- विशेषाधिकार स्तर (LaunchDaemons, Kernel Extensions, Privileged Helpers)
- लचीलापन (ऑटो-रीस्टार्ट, अपडेटर)
- अतिरेक (एक ही विक्रेता से कई आइटम)
- ट्रस्ट स्तर (अहस्ताक्षरित/संदिग्ध दंड)
**इंस्टॉलेशन स्कोर (0-100)** - "जंक" फुटप्रिंट का मूल्यांकन करता है:
- लाइब्रेरी फ़ोल्डरों में फ़ाइल फैलाव
- कुल डिस्क उपयोग
- अनाथ फ़ाइलें (मेल खाते ऐप के बिना पर्सिस्टेंस)
- कैश ब्लोट
- सिस्टम-व्यापी इंस्टॉलेशन
### ग्रेड प्रणाली
सभी स्कोरिंग कारकों के विस्तृत विवरण के साथ संयुक्त स्कोर के आधार पर ऐप्स को **A से F** तक रेट किया जाता है।
---
## विज़ुअलाइज़ेशन
### सांख्यिकी डैशबोर्ड
- **जोखिम वितरण हिस्टोग्राम** - जोखिम बैंड द्वारा आइटम (Low, Medium, High, Critical)
- **ट्रस्ट स्तर डोनट चार्ट** - ट्रस्ट स्तरों में वितरण
- **श्रेणी विभाजन चार्ट** - प्रति पर्सिस्टेंस श्रेणी आइटम
- **टाइमलाइन विज़ुअलाइज़ेशन** - आइटम जीवनचक्र घटनाएँ (Created, Modified, Executed, Discovered)
### इंटरैक्टिव ग्राफ़
- **पूर्ण सिस्टम ग्राफ़** - सभी पर्सिस्टेंस आइटम और संबंधों का अवलोकन
- **केंद्रित आइटम ग्राफ़** - व्यक्तिगत आइटम विश्लेषण के लिए रेडियल ग्राफ़
- **विश्लेषण मोड**: बेसिक (ट्रस्ट/श्रेणियाँ) या फुल (इसमें dylib निर्भरताएँ, नेटवर्क कनेक्शन शामिल हैं)
- **इंटरैक्टिव कैनवास** - ज़ूम, पैन, संबंधों का अन्वेषण करें
- **ट्रस्ट स्तर द्वारा रंग-कोडित** - त्वरित दृश्य ख़तरा मूल्यांकन
### सुरक्षा प्रोफ़ाइल रडार
व्यापक रडार चार्ट जो एक नज़र में Trust, Signature, Safety, Stability, Transparency और Age आयामों को दिखाता है।
---
## रीयल-टाइम मॉनिटरिंग
दो विश्लेषण मोड के साथ पर्सिस्टेंस परिवर्तनों की निरंतर निगरानी।
### मॉनिटरिंग मोड
**स्टैंडर्ड मोड**
- FSEvents-आधारित रीयल-टाइम फ़ाइल सिस्टम मॉनिटरिंग
- कॉन्फ़िगर करने योग्य डिबाउंस के साथ बुद्धिमान शोर दमन
- महत्वहीन परिवर्तनों को फ़िल्टर करने के लिए प्रासंगिकता स्कोरिंग
- उच्च-प्रासंगिकता परिवर्तनों के लिए तत्काल सूचनाएँ
**AI मोड** (Claude API कुंजी आवश्यक)
- Claude AI प्रत्येक पहचाने गए परिवर्तन का विश्लेषण करता है
- AI को पूरा संदर्भ भेजा जाता है: हस्ताक्षर जानकारी, LOLBins, व्यवहार संबंधी विसंगतियाँ, जोखिम स्कोर
- AI वास्तविक ख़तरे के स्तर के आधार पर निर्णय लेता है कि परिवर्तन सूचना के योग्य है या नहीं
- कॉन्फ़िगर करने योग्य जाँच अंतराल (30 सेकंड से 1 घंटा)
- गंभीरता सीमा फ़िल्टरिंग (Info, Low, Medium, High, Critical)
### मेनू बार एकीकरण
- रीयल-टाइम मॉनिटरिंग स्थिति संकेतक
- "AI" या "Std" दिखाने वाला मोड बैज
- त्वरित नियंत्रण (Start/Stop मॉनिटरिंग, स्कैन ट्रिगर करें)
- सेटिंग्स एक्सेस
- बिना स्वीकृत परिवर्तनों के लिए बैज गणना
- अंतिम पहचाने गए परिवर्तन का पूर्वावलोकन
### सूचना डिडुप्लीकेशन
- एक ही आइटम कूलडाउन अवधि के भीतर बार-बार सूचनाएँ ट्रिगर नहीं करेगा
- कॉन्फ़िगर करने योग्य कूलडाउन (1-24 घंटे, डिफ़ॉल्ट 2 घंटे)
- बार-बार बदलने वाले आइटमों से सूचना थकान को रोकता है
### स्टार्टअप सूचना
जब मॉनिटरिंग शुरू होती है, तो आपको पुष्टि करने वाली सूचना मिलती है:
- सक्रिय मोड (AI मोड या स्टैंडर्ड मोड)
- जाँच अंतराल (AI) या "रीयल-टाइम" (स्टैंडर्ड)
- सूचना सीमा सेटिंग्स
### परिवर्तन पहचान
- **जोड़े गए** - नए पर्सिस्टेंस आइटम
- **हटाए गए** - हटाए गए आइटम
- **संशोधित** - कॉन्फ़िगरेशन परिवर्तन (सक्षम/अक्षम, पथ परिवर्तन, आदि)
- **सक्षम/अक्षम** - स्थिति परिवर्तन
### AI विश्लेषण विवरण
जब AI मोड सक्रिय होता है, प्रत्येक परिवर्तन Claude को पूर्ण आइटम डेटा भेजता है:
- बुनियादी जानकारी (नाम, श्रेणी, पथ, plist सामग्री)
- हस्ताक्षर विवरण (हस्ताक्षरित, Apple, नोटराइज़्ड, team ID, प्रमाणपत्र स्थिति)
- जोखिम मूल्यांकन (स्कोर, विस्तृत विवरण)
- MITRE मैपिंग के साथ LOLBins पहचान
- व्यवहार संबंधी विसंगतियाँ
- इरादा बेमेल (plist बनाम बाइनरी)
- आयु विसंगतियाँ (टाइमस्टैम्प विश्लेषण)
- हस्ताक्षरित-लेकिन-खतरनाक फ़्लैग
Claude निम्न के साथ उत्तर देता है:
- `shouldNotify` - उपयोगकर्ता को सचेत करना है या नहीं
- `severity` - ख़तरे के स्तर का आकलन
- `title` - सूचना शीर्षक
- `explanation` - यह संदिग्ध क्यों है या नहीं
- `recommendation` - सुझाई गई कार्रवाई
- `mitreTechniques` - प्रासंगिक ATT&CK तकनीकें
### AI अनुकूलन
AI परिवर्तनों का विश्लेषण कैसे करता है इसे **सेटिंग्स → AI** के माध्यम से नियंत्रित करें:
**संरचित विकल्प**
| विकल्प | डिफ़ॉल्ट | प्रभाव |
|--------|---------|--------|
| Ignore Apple-signed | ON | Apple द्वारा हस्ताक्षरित आइटम को कम प्राथमिकता दें (com.apple.*) |
| Ignore system paths | ON | /System और /Library पथ को कम प्राथमिकता दें |
| Prioritize unsigned | ON | अहस्ताक्षरित निष्पादन योग्य पर अतिरिक्त ध्यान दें |
| Focus on LOLBins | ON | Living-off-the-Land Binaries पहचान को प्राथमिकता दें |
| Minimum risk score | 0 | केवल risk >= सीमा वाले आइटम का विश्लेषण करें |
| Ignored paths | - | छोड़ने के लिए कस्टम पथ (अल्पविराम से अलग) |
**सूचना सीमा**
- `Info` - सब कुछ सूचित करें
- `Low` - निम्न गंभीरता और उससे ऊपर सूचित करें
- `Medium` - मध्यम और उससे ऊपर सूचित करें (डिफ़ॉल्ट)
- `High` - केवल उच्च और क्रिटिकल
- `Critical` - केवल गंभीर ख़तरे
**कस्टम प्रॉम्प्ट**
अपने स्वयं के निर्देश जोड़ें जो AI प्रॉम्प्ट के अंत में जोड़े जाते हैं। उदाहरण:```
Always notify me if an item uses python or osascript.
Ignore anything from Microsoft.
Be more aggressive with unsigned items from ~/Downloads.
एआई इन प्राथमिकताओं का उपयोग करके अधिक स्मार्ट निर्णय लेता है। उदाहरण के लिए:
/tmp/ से अहस्ताक्षरित LaunchAgent → गंभीर सूचनाRunAtLoad के साथ osascript → उच्च सूचनाMacPersistenceChecker में एक MCP (Model Context Protocol) सर्वर शामिल है जो Claude Code, Claude Desktop, और अन्य MCP-संगत क्लाइंट्स को persistence डेटा क्वेरी करने की अनुमति देता है।
swift build --target MPCServer
बाइनरी `.build/debug/mpc-server` पर बनाई जाती है।
### उपलब्ध MCP टूल्स
| टूल | विवरण |
|------|-------------|
| `get_current_state` | वैकल्पिक फ़िल्टर के साथ सभी वर्तमान पर्सिस्टेंस आइटम प्राप्त करें |
| `get_diff` | बेसलाइन या विशिष्ट स्नैपशॉट से परिवर्तन प्राप्त करें |
| `get_summary` | गणना और शीर्ष खतरों के साथ संक्षिप्त अवलोकन |
| `get_item_details` | पहचानकर्ता द्वारा किसी विशिष्ट आइटम का पूर्ण विवरण |
| `get_risk_analysis` | अनुशंसाओं के साथ समग्र जोखिम विश्लेषण |
| `get_snapshots` | मेटाडेटा के साथ उपलब्ध स्नैपशॉट सूचीबद्ध करें |
| `compare_snapshots` | परिवर्तनों के लिए दो स्नैपशॉट की तुलना करें |
### Claude Code कॉन्फ़िगरेशन
अपने Claude Code MCP सेटिंग्स (`~/.claude/claude_desktop_config.json` या समान) में जोड़ें:```json
{
"mcpServers": {
"macpersistence": {
"command": "/path/to/mpc-server",
"args": []
}
}
}
एक बार कॉन्फ़िगर हो जाने पर, आप Claude Code से पूछ सकते हैं:
सुरक्षा पाइपलाइनों के लिए मशीन-पठनीय निर्यात:
बटन केवल स्कैन पूर्ण होने के बाद ही सक्षम होता है।
स्थायी विलोपन के बिना संदिग्ध पर्सिस्टेंस आइटम को सुरक्षित रूप से बेअसर करें:








git clone https://github.com/Pinperepette/MacPersistenceChecker.git cd MacPersistenceChecker ./build.sh
Copy `MacPersistenceChecker.app` को `/Applications/` में कॉपी करें।
### आवश्यकताएँ
- macOS 13.0+
- Xcode 15+ या Swift 5.9+
### निर्भरताएँ
- [GRDB.swift](https://github.com/groue/GRDB.swift) - SQLite डेटाबेस
---
## अनुमतियाँ
स्कैन करने के लिए **Full Disk Access** आवश्यक है:
- `/Library/LaunchDaemons`
- सिस्टम कॉन्फ़िगरेशन फ़ाइलें
- TCC डेटाबेस
- शेल स्टार्टअप फ़ाइलें
Full Disk Access के बिना, कुछ आइटम दिखाई नहीं दे सकते।
---
## लाइसेंस
MIT लाइसेंस - विवरण के लिए [LICENSE](https://github.com/pinperepette/macpersistencechecker/blob/main/LICENSE) देखें।
## लेखक
**pinperepette** - 2025
## स्टार इतिहास
<a href="https://www.star-history.com/?repos=Pinperepette%2FMacPersistenceChecker&type=date&legend=top-left">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=Pinperepette/MacPersistenceChecker&type=date&theme=dark&legend=top-left" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=Pinperepette/MacPersistenceChecker&type=date&legend=top-left" />
Star History Chart
</picture>
</a>
---
*Mark Russinovich द्वारा Windows के लिए [Autoruns](https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns) से प्रेरित*