AI ಕೋಡಿಂಗ್ ಭದ್ರತೆ: ಪ್ರಾಂಪ್ಟ್ ಇಂಜೆಕ್ಷನ್ ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಫೈಲ್ಗಳಲ್ಲಿ ಅಡಗಿದೆ
ನಿಮ್ಮ AI ಕೋಡಿಂಗ್ ಅಸಿಸ್ಟೆಂಟ್ ನಿಮ್ಮ ರೆಪೊಸಿಟರಿಯಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದು ಫೈಲ್ ಅನ್ನು ಓದುತ್ತದೆ. ಇದು ನಿಮ್ಮ README, ನಿಮ್ಮ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗಳು ಮತ್ತು ನಿಮ್ಮ ನಿಯಮಗಳನ್ನು ಓದುತ್ತದೆ. ಕೋಡ್ ಅನ್ನು ಹೇಗೆ ಬರೆಯಬೇಕೆಂದು ನಿರ್ಧರಿಸಲು ಇದು ಈ ಫೈಲ್ಗಳನ್ನು ಬಳಸುತ್ತದೆ.
ಒಂದು ಹೊಸ ಭದ್ರತಾ ಬೆದರಿಕೆ ಇದೇ ವರ್ತನೆಯನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತದೆ. ಸಂಶೋಧಕರು 28 ವಿಭಿನ್ನ AI ಕೋಡಿಂಗ್ ಪರಿಕರಗಳಲ್ಲಿ ಒಂದು ದೌರ್ಬಲ್ಯವನ್ನು ಪತ್ತೆಹಚ್ಚಿದ್ದಾರೆ. ಈ ದಾಳಿಯು ಸಂಕೀರ್ಣವಾದ ಹ್ಯಾಕ್ ಅಲ್ಲ. ಇದು ನಿಮ್ಮ ರೆಪೊಸಿಟರಿಯಲ್ಲಿರುವ ಒಂದು ಸಾಮಾನ್ಯ ಪಠ್ಯ ಫೈಲ್ (text file).
ದಾಳಿ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ:
ನೀವು ಒಂದು ಓಪನ್-ಸೋರ್ಸ್ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ಕ್ಲೋನ್ ಮಾಡುತ್ತೀರಿ. ಅದು ಸಾಮಾನ್ಯ ಎಂದೇ ಕಾಣಿಸುತ್ತದೆ. ನೀವು ಅದನ್ನು ನಿಮ್ಮ AI ಎಡಿಟರ್ನಲ್ಲಿ ತೆರೆದು ಹೊಸ ಫೀಚರ್ ಅನ್ನು ಕೇಳುತ್ತೀರಿ. ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗಳಲ್ಲಿ ಅಡಗಿರುವ ಯುನಿಕೋಡ್ (Unicode) ಅಕ್ಷರಗಳು ನಿಮಗೆ ಕಾಣಿಸುವುದಿಲ್ಲ. ಈ ಅಕ್ಷರಗಳು ಸೂಚನೆಗಳನ್ನು ನಿಮ್ಮಿಂದ ಮರೆಮಾಚುತ್ತವೆ ಆದರೆ AI ಗೆ ಬೇರೆ ಏನನ್ನಾದರೂ ಮಾಡಲು ಸೂಚಿಸುತ್ತವೆ.
ಆ ಅಡಗಿರುವ ಸೂಚನೆಯು ನಿಮ್ಮ AWS ಕ್ರೆಡೆನ್ಶಿಯಲ್ಗಳನ್ನು (credentials) ಬಾಹ್ಯ ಸರ್ವರ್ಗೆ ಕಳುಹಿಸಲು AI ಗೆ ತಿಳಿಸುತ್ತದೆ. ಇದು ಪ್ರಾಜೆಕ್ಟ್ನ ಕಾನೂನುಬದ್ಧ ಸೂಚನೆ ಎಂದು AI ಭಾವಿಸುತ್ತದೆ. ಅದು ಆ ಕಮಾಂಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. ನಿಮ್ಮ ರಹಸ್ಯ ಮಾಹಿತಿ (secrets) ಕಳೆದುಹೋಗುತ್ತದೆ.
ಇದನ್ನು ತಡೆಯುವುದು ಏಕೆ ಕಷ್ಟ:
- ಅಡಗಿರುವ ಅಕ್ಷರಗಳು: ನೀವು ಸಾಮಾನ್ಯ ಪಠ್ಯವನ್ನು ನೋಡುತ್ತೀರಿ, ಆದರೆ AI ಅದೃಶ್ಯ ಯುನಿಕೋಡ್ ಅಕ್ಷರಗಳ ಮೂಲಕ ದುರುದ್ದೇಶಪೂರಿತ ಕಮಾಂಡ್ಗಳನ್ನು ನೋಡುತ್ತದೆ.
- ಪ್ರತಿಯೊಂದು ಫೈಲ್ ಕೂಡ ಒಂದು ಪ್ರವೇಶ ದ್ವಾರವಾಗಿದೆ: README ಅಥವಾ ಲೈಬ್ರರಿಯಲ್ಲಿರುವ ಕಾಮೆಂಟ್ ಕೂಡ ಪೇಲೋಡ್ (payload) ಅನ್ನು ಹೊಂದಿರಬಹುದು.
- ಹೆಚ್ಚಿನ ಅನುಮತಿಗಳು: AI ಏಜೆಂಟ್ಗಳು ಹೆಚ್ಚಾಗಿ ನಿಮ್ಮ ಬಳಕೆದಾರರ ಅನುಮತಿಗಳೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಅವು ನಿಮ್ಮ SSH ಕೀಗಳು ಮತ್ತು API ಟೋಕನ್ಗಳನ್ನು ಓದಬಲ್ಲವು.
- ಟೂಲ್ ಕಾಲ್ಸ್ (Tool calls): ಕಮಾಂಡ್ಗಳನ್ನು ಚಲಾಯಿಸಲು AI ಟೂಲ್ ಕಾಲ್ಗಳನ್ನು ಬಳಸುತ್ತದೆ. ಸುರಕ್ಷತಾ ತರಬೇತಿಯನ್ನು ಬೈಪಾಸ್ ಮಾಡಲು ಈ ದಾಳಿಯು ಈ ಕಾಲ್ಗಳನ್ನು ಗುರಿಯಾಗಿಸಿಕೊಳ್ಳುತ್ತದೆ.
ನಿಮ್ಮ ವರ್ಕ್ಫ್ಲೋ ಅನ್ನು ರಕ್ಷಿಸುವುದು ಹೇಗೆ:
- ಫೈಲ್ ವಿಷಯಗಳನ್ನು ಶುದ್ಧೀಕರಿಸಿ (Sanitize): AI ಅವುಗಳನ್ನು ಓದುವ ಮೊದಲು ಅಡಗಿರುವ ಅಕ್ಷರಗಳು ಮತ್ತು ಸಾಮಾನ್ಯ ಇಂಜೆಕ್ಷನ್ ಮಾದರಿಗಳನ್ನು ತೆಗೆದುಹಾಕಿ.
- ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ (Sandboxes) ಬಳಸಿ: ನೆಟ್ವರ್ಕ್ ಪ್ರವೇಶವಿಲ್ಲದ ಮತ್ತು ಕೇವಲ ಓದಲು ಮಾತ್ರ ಅನುಮತಿಸುವ (read-only) ಫೈಲ್ಸಿಸ್ಟಮ್ಗಳಿರುವ ಕಂಟೇನರ್ಗಳಲ್ಲಿ AI ಏಜೆಂಟ್ಗಳನ್ನು ಚಲಾಯಿಸಿ.
- ಕಟ್ಟುನಿಟ್ಟಿನ ನೀತಿಗಳನ್ನು ರೂಪಿಸಿ: ಅನುಮತಿಸಲಾದ ಕಮಾಂಡ್ಗಳ ವೈಟ್ಲಿಸ್ಟ್ (whitelist) ರಚಿಸಿ. ಡೇಟಾವನ್ನು ವರ್ಗಾಯಿಸುವ ಅಥವಾ ಫೈಲ್ಗಳನ್ನು ಅಳಿಸುವ ಯಾವುದೇ ಕಮಾಂಡ್ಗೆ ಮಾನವ ಅನುಮೋದನೆಯನ್ನು ಕಡ್ಡಾಯಗೊಳಿಸಿ.
ನಿಮ್ಮ ಕೋಡಿಂಗ್ ಸೆಷನ್ಗಳ ಮೊದಲು ನೀವು ಶೀಘ್ರ ಸ್ಕ್ಯಾನ್ ಮಾಡಬಹುದು. ನಿಮ್ಮ ಫೈಲ್ಗಳಲ್ಲಿ "ignore all previous" ಅಥವಾ "curl" ಮತ್ತು "exfil" ನಂತಹ ಅನುಮಾನಾಸ್ಪದ ಪದಗಳಿವೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ.
AI ಕೋಡಿಂಗ್ ಪರಿಕರಗಳು ಉತ್ಪಾದಕವಾಗಿವೆ, ಆದರೆ ಅವು ನಿಮ್ಮ ಡಿಸ್ಕ್ನಲ್ಲಿರುವ ಫೈಲ್ಗಳು ಸುರಕ್ಷಿತವಾಗಿವೆ ಎಂದು ಭಾವಿಸುತ್ತವೆ. ಅವು ಸುರಕ್ಷಿತವಾಗಿಲ್ಲ. ಪ್ರತಿಯೊಂದು ಫೈಲ್ ಅನ್ನು ನಂಬಲಾಗದ ಇನ್ಪುಟ್ (untrusted input) ಎಂದು ಪರಿಗಣಿಸಿ.
ನಿಮ್ಮ AI ವರ್ಕ್ಫ್ಲೋದಲ್ಲಿ ಪ್ರಾಂಪ್ಟ್ ಇಂಜೆಕ್ಷನ್ ಅಪಾಯಗಳನ್ನು ನೀವು ಹೇಗೆ ನಿಭಾಯಿಸುತ್ತಿದ್ದೀರಿ?
ಮೂಲ: https://dev.to/tyson_cung/ai-coding-security-prompt-injection-is-hiding-in-your-project-files-4be9
