Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
OpenAttack — पाठ्य प्रतिकूल हमले के लिए एक ओपन-सोर्स पैकेज। | Kitploit
उपकरण/GitHubGitHub/thunlp/openattack
मशीन लर्निंगपेपर और शोधलर्निंग और शिक्षाAI सुरक्षाप्रतिकूल हमला
GitHubthunlp/openattack

OpenAttack

पाठ्य प्रतिकूल हमले के लिए एक ओपन-सोर्स पैकेज।

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
वेबसाइट

OpenAttack Logo

Github Runner Covergae Status ReadTheDoc Status PyPI version GitHub release (latest by date) GitHub PRs are Welcome

दस्तावेज़ीकरण • विशेषताएँ और उपयोग • उपयोग उदाहरण • हमला मॉडल • टूलकिट डिज़ाइन

OpenAttack एक ओपन-सोर्स Python-आधारित पाठ्य प्रतिकूल हमला टूलकिट है, जो पाठ्य प्रतिकूल हमले की पूरी प्रक्रिया को संभालता है, जिसमें पाठ का प्रीप्रोसेसिंग, पीड़ित मॉडल तक पहुँचना, प्रतिकूल उदाहरण उत्पन्न करना और मूल्यांकन शामिल है।

विशेषताएँ और उपयोग

OpenAttack में निम्नलिखित विशेषताएँ हैं:

⭐️ सभी हमला प्रकारों के लिए समर्थन। OpenAttack सभी प्रकार के हमलों का समर्थन करता है, जिसमें वाक्य-/शब्द-/वर्ण-स्तरीय गड़बड़ी और ग्रेडिएंट-/स्कोर-/निर्णय-आधारित/अंधा हमला मॉडल शामिल हैं;

⭐️ बहुभाषीयता। OpenAttack अब अंग्रेजी और चीनी का समर्थन करता है। इसका विस्तार योग्य डिज़ाइन अधिक भाषाओं के त्वरित समर्थन को सक्षम बनाता है;

⭐️ समानांतर प्रसंस्करण। OpenAttack हमले की दक्षता में सुधार के लिए हमला मॉडलों के मल्टी-प्रोसेस रनिंग के लिए समर्थन प्रदान करता है;

⭐️ 🤗 Hugging Face के साथ संगतता। OpenAttack 🤗 Transformers और Datasets लाइब्रेरीज़ के साथ पूरी तरह से एकीकृत है;

⭐️ महान विस्तार योग्यता। आप आसानी से किसी भी अनुकूलित पीड़ित मॉडल पर किसी भी अनुकूलित डेटासेट पर हमला कर सकते हैं या एक अनुकूलित हमला मॉडल विकसित और मूल्यांकन कर सकते हैं।

OpenAttack के उपयोगों की एक विस्तृत श्रृंखला है, जिनमें शामिल हैं:

✅ हमला मॉडलों के लिए विभिन्न सुविधाजनक बेसलाइन प्रदान करना;

✅ अपने गहन मूल्यांकन मैट्रिक्स का उपयोग करके हमला मॉडलों का व्यापक रूप से मूल्यांकन करना;

✅ सामान्य हमला घटकों की सहायता से नए हमला मॉडलों के त्वरित विकास में सहायता करना;

✅ विभिन्न प्रतिकूल हमलों के विरुद्ध मशीन लर्निंग मॉडल की मजबूती का मूल्यांकन करना;

✅ उत्पन्न प्रतिकूल उदाहरणों के साथ प्रशिक्षण डेटा को समृद्ध करके मशीन लर्निंग मॉडल की मजबूती में सुधार के लिए प्रतिकूल प्रशिक्षण आयोजित करना।

स्थापना

1. pip का उपयोग करके (अनुशंसित)```bash

pip install OpenAttack

#### 2. इस रिपॉजिटरी को क्लोन करना```bash
git clone https://github.com/thunlp/OpenAttack.git
cd OpenAttack
python setup.py install

स्थापना के बाद, आप यह जांचने के लिए demo.py चला सकते हैं कि OpenAttack ठीक से काम कर रहा है या नहीं:``` python demo.py

![demo](https://assets.kitploit.com/production/public/readmes/4421/8322af527eba3c3dcd09c66e50aa3a1229ca0f529018fa6d08b6d8349eb0a51f.gif)
## उपयोग उदाहरण

#### अंतर्निहित पीड़ित मॉडलों पर हमला

OpenAttack में कुछ सामान्यतः उपयोग किए जाने वाले NLP मॉडल जैसे BERT ([Devlin et al. 2018](https://arxiv.org/abs/1810.04805)) और RoBERTa ([Liu et al. 2019](https://arxiv.org/abs/1907.11692)) शामिल हैं, जिन्हें सामान्यतः उपयोग किए जाने वाले डेटासेटों (जैसे [SST-2](https://nlp.stanford.edu/sentiment/treebank.html)) पर फाइन-ट्यून किया गया है। आप इन अंतर्निहित पीड़ित मॉडलों के विरुद्ध सरलता से प्रतिकूल हमले कर सकते हैं।

निम्नलिखित कोड स्निपेट दिखाता है कि कैसे PWWS, एक लालची एल्गोरिथम-आधारित हमला मॉडल ([Ren et al., 2019](https://www.aclweb.org/anthology/P19-1103.pdf)), का उपयोग करके SST-2 डेटासेट पर BERT पर हमला किया जाए (पूर्ण निष्पादन योग्य कोड [यहाँ](https://github.com/thunlp/openattack/blob/master/examples/workflow.py) है)।```python
import OpenAttack as oa
import datasets # use the Hugging Face's datasets library
# change the SST dataset into 2-class
def dataset_mapping(x):
    return {
        "x": x["sentence"],
        "y": 1 if x["label"] > 0.5 else 0,
    }
# choose a trained victim classification model
victim = oa.DataManager.loadVictim("BERT.SST")
# choose 20 examples from SST-2 as the evaluation data 
dataset = datasets.load_dataset("sst", split="train[:20]").map(function=dataset_mapping)
# choose PWWS as the attacker and initialize it with default parameters
attacker = oa.attackers.PWWSAttacker()
# prepare for attacking
attack_eval = OpenAttack.AttackEval(attacker, victim)
# launch attacks and print attack results 
attack_eval.eval(dataset, visualize=True)
अनुकूलित पीड़ित मॉडल

निम्नलिखित कोड स्निपेट बताता है कि SST-2 पर अनुकूलित भावना विश्लेषण मॉडल (NLTK में निर्मित एक सांख्यिकीय मॉडल) पर हमला करने के लिए PWWS का उपयोग कैसे करें (पूर्ण निष्पादन योग्य कोड यहाँ है)।

```python import OpenAttack as oa import numpy as np import datasets import nltk from nltk.sentiment.vader import SentimentIntensityAnalyzer

configure access interface of the customized victim model by extending OpenAttack.Classifier.

class MyClassifier(oa.Classifier): def init(self): # nltk.sentiment.vader.SentimentIntensityAnalyzer is a traditional sentiment classification model. nltk.download('vader_lexicon') self.model = SentimentIntensityAnalyzer()

def get_pred(self, input_):
    return self.get_prob(input_).argmax(axis=1)

# access to the classification probability scores with respect input sentences
def get_prob(self, input_):
    ret = []
    for sent in input_:
        # SentimentIntensityAnalyzer calculates scores of “neg” and “pos” for each instance
        res = self.model.polarity_scores(sent)

        # we use 𝑠𝑜𝑐𝑟𝑒_𝑝𝑜𝑠 / (𝑠𝑐𝑜𝑟𝑒_𝑛𝑒𝑔 + 𝑠𝑐𝑜𝑟𝑒_𝑝𝑜𝑠) to represent the probability of positive sentiment
        # Adding 10^−6 is a trick to avoid dividing by zero.
        prob = (res["pos"] + 1e-6) / (res["neg"] + res["pos"] + 2e-6)

        ret.append(np.array([1 - prob, prob]))
    
    # The get_prob method finally returns a np.ndarray of shape (len(input_), 2). See Classifier for detail.
    return np.array(ret)

def dataset_mapping(x): return { "x": x["sentence"], "y": 1 if x["label"] > 0.5 else 0, }

load some examples of SST-2 for evaluation

dataset = datasets.load_dataset("sst", split="train[:20]").map(function=dataset_mapping)

choose the costomized classifier as the victim model

victim = MyClassifier()

choose PWWS as the attacker and initialize it with default parameters

attacker = oa.attackers.PWWSAttacker()

prepare for attacking

attack_eval = oa.AttackEval(attacker, victim)

launch attacks and print attack results

attack_eval.eval(dataset, visualize=True)

</details>


<details>
<summary><strong>अनुकूलित डेटासेट</strong></summary>

निम्नलिखित कोड स्निपेट दिखाता है कि कैसे PWWS का उपयोग करके एक **अनुकूलित** डेटासेट पर मौजूदा फाइन-ट्यून किए गए भावना विश्लेषण मॉडल पर हमला किया जा सकता है (पूर्ण निष्पादन योग्य कोड [यहाँ](https://github.com/thunlp/openattack/blob/master/examples/custom_dataset.py) है)।```python
import OpenAttack as oa
import transformers
import datasets
टूल डाउनलोड करें