GitHub Copilot के साथ सुरक्षा

GitHub Copilot के साथ Software Development

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

जब बग कमजोरियाँ बन जाते हैं

 

nanobanana: half: एक डेवलपर लैपटॉप स्क्रीन पर एक छोटा, हानिरहित बग पहचान रहा है, और दूसरी ओर एक छायादार आकृति सर्वर से डेटा चुरा रही है — दोनों स्थितियों का विरोधाभासी फ्लैट वेक्टर चित्र

 

  • कमजोर कोड अक्सर दूसरे कोड जैसा ही दिखता है
  • टेस्ट, रिव्यू पास कर लेता है और कभी-कभी प्रोडक्शन तक पहुँच जाता है
  • 🤖 Copilot एक सुरक्षा रिव्यूअर की तरह काम कर सकता है
GitHub Copilot के साथ Software Development

एक असुरक्षित फंक्शन

 

def get_user(username):
    query = f"SELECT * FROM users \
WHERE username = '{username}'"
    return db.execute(query)

 

हमलावर SQL इन्जेक्ट कर सकता है:

  • पूरी तरह ऑथेंटिकेशन बायपास कर सकता है
  • पूरी users टेबल डंप कर सकता है
  • आपका डेटाबेस डिलीट कर सकता है
GitHub Copilot के साथ Software Development

[screencast]

GitHub Copilot के साथ Software Development

[screencast]

GitHub Copilot के साथ Software Development

काम करने वाले सुरक्षा प्रॉम्प्ट्स

 

टार्गेटेड रिव्यू

#selection की SQL injection और XSS कमजोरियों के लिए समीक्षा करें

 

पूरे कोडबेस की स्कैन

@workspace हार्डकोडेड क्रेडेंशियल या API keys के लिए स्कैन करें

GitHub Copilot के साथ Software Development

[screencast]

GitHub Copilot के साथ Software Development

रिव्यू से प्रिवेंशन तक

nanobanana: half: चेतावनी आइकनों से घिरा एक दमकता सुरक्षा शील्ड, साफ पृष्ठभूमि पर विभिन्न साइबर खतरों का फ्लैट वेक्टर चित्र

 

रक्षात्मक कोड जनरेशन

इस endpoint में input validation जोड़ें. अनपेक्षित टाइप्स अस्वीकार करें और length limits लागू करें.

 

सिर्फ कमजोरियाँ ढूँढें नहीं — उन्हें रोकें भी

GitHub Copilot के साथ Software Development

हर सुझाव में सुरक्षा पिरोएँ

 

.github/copilot-instructions.md

## Security standards
- Use parameterized queries
- Never hardcode credentials or API keys
- Validate and sanitize all user input
- Use bcrypt or argon2 for password hashing
GitHub Copilot के साथ Software Development

भाषा-विशिष्ट सुरक्षा नियम

 

.github/instructions/security.instructions.md

applyTo: "**/*.py"

- Use secrets module instead of random for tokens
- Escape all user input in Jinja2 templates

 

✅ सुरक्षा अब कोड लिखने के तरीक़े का हिस्सा बन जाती है

GitHub Copilot के साथ Software Development

अभ्यास करते हैं!

GitHub Copilot के साथ Software Development

Preparing Video For Download...