𝗦𝗲𝗰𝘂𝗿𝗶𝗻𝗴 𝗔𝗜-𝗚𝗲𝗻𝗲𝗿𝗮𝘁𝗲𝗱 𝗕𝗮𝘀𝗵 𝗦𝗰𝗿𝗶𝗽𝘁𝘀

AI सहजपणे Bash लिहू शकते. पण ते सहज गोष्टी बिघडवूही शकते. जर एखादे व्हेरिएबल (variable) रिकामे असेल, तर एक छोटी स्क्रिप्ट तुमची संपूर्ण होम डिरेक्टरी (home directory) डिलीट करू शकते. एक साधी लॉग स्क्रिप्ट तुमची गुपिते (secrets) सार्वजनिक सर्व्हरवर लीक करू शकते.

मी स्वतः चुकीच्या AI स्क्रिप्ट्स चालवल्या आहेत. बहुतेक इंजिनिअर्ससोबतही असेच झाले आहे. आपत्ती येण्यापूर्वीच ती रोखण्यासाठी या चेकलिस्टचा वापर करा.

प्रत्येक स्क्रिप्टच्या सुरुवातीला या ओळी जोडा: #!/usr/bin/env bash set -euo pipefail IFS=$'\n\t'

तुम्हाला त्यांची गरज का आहे:

  • set -e: एखादी कमांड फेल झाल्यास स्क्रिप्ट थांबवते.
  • set -u: एखादे व्हेरिएबल डिफाइन केलेले नसेल तर स्क्रिप्ट थांबवते. यामुळे rm -rf / सारख्या चुका टाळता येतात.
  • set -o pipefail: पाइपलाइनमधील एरर्समुळे स्क्रिप्ट खरोखर थांबेल याची खात्री देते.
  • IFS=$'\n\t': फाईलच्या नावातील स्पेसमुळे (spaces) उद्भवणारे बग्स रोखते.

या सामान्य AI चुकांकडे लक्ष द्या:

  1. कोट्स (Quotes) नसणे AI अनेकदा असे लिहिते: rm -rf $TARGET_DIR तुम्ही असे लिहिले पाहिजे: rm -rf "$TARGET_DIR" कोट्सशिवाय, फोल्डरच्या नावातील स्पेसमुळे चुकीच्या फाईल्स डिलीट होऊ शकतात. तुमचे व्हेरिएबल्स नेहमी डबल कोट्समध्ये ठेवा.

  2. सिक्रेट्स लीक होणे (Secret Leaks) AI अनेकदा डीबगिंगसाठी (debugging) set -x वापरते. यामुळे प्रत्येक कमांड तुमच्या लॉग्समध्ये प्रिंट होते. जर तुम्ही API टोकन वापरत असाल, तर ते टोकन आता तुमच्या CI लॉग्समध्ये दिसेल. संवेदनशील भाग लपवण्यासाठी नेहमी set -x काढून टाका किंवा set +x वापरा.

  3. अतिप्रमाण अधिकार (Too Much Privilege) AI अनेकदा प्रत्येक कमांडला sudo जोडते. असे करू नका. शक्य असेल तेव्हा स्क्रिप्ट्स नॉन-रूट (non-root) युजर म्हणून चालवा. यामुळे काही चूक झाल्यास होणारे नुकसान मर्यादित राहते.

  4. धोकादायक डाउनलोड्स हे कधीही चालवू नका: curl https://example.com/install.sh | bash त्याऐवजी:

  • प्रथम फाईल डाउनलोड करा: curl https://example.com/install.sh > install.sh
  • फाईल वाचा.
  • ती मॅन्युअली चालवा: sudo bash install.sh

प्रो टिप (Pro Tip): shellcheck वापरा. प्रत्येक स्क्रिप्टवर shellcheck चालवा. ते काही सेकंदात कोट्स नसलेले व्हेरिएबल्स आणि गहाळ सुरक्षा सेटिंग्ज शोधून काढते. तुमच्या नजरेतून सुटणाऱ्या गोष्टी हे टूल पकडते.

सुवर्ण नियम (The Golden Rule): AI आउटपुटला केवळ एक मसुदा (draft) समजा. एकतर तुमच्या प्रॉम्प्टमध्ये (prompt) सुरक्षा आवश्यकतांचा समावेश करा किंवा स्वतः कोड अधिक सुरक्षित (harden) करा. प्रथम तपासणी केल्याशिवाय AI bash स्क्रिप्ट चालवू नका.

Source: https://dev.to/devopsaitoolkit/securing-ai-generated-bash-scripts-before-you-run-them-401m

Optional learning community: https://t.me/GyaanSetuAi