GitHub ನ ಹೊಸದಾಗಿ ಬಿಡುಗಡೆಯಾದ Agentic Workflows ಗಳನ್ನು ಖಾಸಗಿ ರೆಪೊಸಿಟರಿ (repository) ಫೈಲ್‌ಗಳನ್ನು ಪ್ರಕಟಿಸುವಂತೆ ಮಾಡುವ ಮೂಲಕ ವಂಚಿಸಬಹುದು ಎಂದು Noma Labs ನ ಸಂಶೋಧಕರು ತೋರಿಸಿದ್ದಾರೆ. ಒಂದು ಸಾರ್ವಜನಿಕ ಇಶ್ಯೂ ಕಾಮೆಂಟ್ (issue comment) ಆಂತರಿಕ AI ಅಸಿಸ್ಟೆಂಟ್ ಅನ್ನು ಡೇಟಾ ಸೋರಿಕೆಯ ಮಾಧ್ಯಮವನ್ನಾಗಿ ಪರಿವರ್ತಿಸಬಹುದು ಎಂದು ಅವರು ತೋರಿಸಿಕೊಟ್ಟಿದ್ದಾರೆ.

ಈ ದೋಷವು ಮುಖ್ಯವಾದುದು ಏಕೆಂದರೆ ಇದು ಯಾವುದೇ ವಿಶೇಷ ಎಕ್ಸ್‌ಪ್ಲಾಯ್ಟ್ ಕೋಡ್ (exploit code) ಇಲ್ಲದೆಯೇ GitHub ನ ಅಂತರ್ನಿರ್ಮಿತ ಸುರಕ್ಷತಾ ತಪಾಸಣೆಗಳನ್ನು ಬೈಪಾಸ್ ಮಾಡುತ್ತದೆ; ದಾಳಿಕೋರರು ಕೇವಲ ಒಂದು ಸಾಮಾನ್ಯ ಕಾಣುವ ಇಶ್ಯೂ ಅನ್ನು ಸಿದ್ಧಪಡಿಸಿದರೆ ಸಾಕು, ಅದನ್ನು AI ಏಜೆಂಟ್ ಓದಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

ಈ ದುರ್ಬಲತೆಯು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

Agentic Workflows ಒಂದು AI ಏಜೆಂಟ್‌ಗೆ GitHub ಘಟನೆಗಳಿಗೆ (events)—ಹೊಸ ಇಶ್ಯೂಗಳಂತಹ—ಒಂದು ವರ್ಕ್‌ಫ್ಲೋ ಫೈಲ್‌ನಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಕಮಾಂಡ್‌ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮೂಲಕ ಪ್ರತಿಕ್ರಿಯಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಬಳಕೆದಾರರು ಸಲ್ಲಿಸಿದ ಕಾಮೆಂಟ್‌ನಲ್ಲಿ ಅಡಗಿರುವ ಪಠ್ಯ ಮತ್ತು ಕಾನೂನುಬದ್ಧ ವರ್ಕ್‌ಫ್ಲೋ ಸೂಚನೆಗಳ ನಡುವೆ ಏಜೆಂಟ್ ವ್ಯತ್ಯಾಸವನ್ನು ಗುರುತಿಸುವುದಿಲ್ಲ ಎಂದು Noma Labs ಕಂಡುಕೊಂಡಿದೆ. ಮ್ಯಾನೇಜರ್‌ನ ವಿನಂತಿಯನ್ನು ಹೋಲುವ ಸಾರ್ವಜನಿಕ ಇಶ್ಯೂ ಅನ್ನು ಪೋಸ್ಟ್ ಮಾಡುವ ಮೂಲಕ ಮತ್ತು ಅದಕ್ಕೆ ಒಂದು ಗುಪ್ತ ನಿರ್ದೇಶನವನ್ನು ಸೇರಿಸುವ ಮೂಲಕ, ದಾಳಿಕೋರರು ಏಜೆಂಟ್ ಅನ್ನು ಈ ಕೆಳಗಿನವುಗಳಿಗೆ ಪ್ರೇರೇಪಿಸಬಹುದು:

  1. ಇಶ್ಯೂ ಅನ್ನು ತೆರೆಯುವುದು (ಸಾರ್ವಜನಿಕವಾಗಿ ಕಾಣುವಂತೆ).
  2. ಸಾಮಾನ್ಯವಾಗಿ ಕಾಣುವ ಆದರೆ ಗುಪ್ತ ಕಮಾಂಡ್ ಹೊಂದಿರುವ ಒಂದು ಸಾಲನ್ನು ಸೇರಿಸುವುದು.
  3. ವರ್ಕ್‌ಫ್ಲೋಗೆ ಓದಲು ಅನುಮತಿ ಇರುವ ಖಾಸಗಿ ರೆಪೊಸಿಟರಿಯಿಂದ ಫೈಲ್‌ಗಳನ್ನು ಪಡೆಯಲು AI ಅನ್ನು ಪ್ರಚೋದಿಸುವುದು.
  4. ಏಜೆಂಟ್ ಪಡೆದ ವಿಷಯವನ್ನು ಅದೇ ಇಶ್ಯೂಗೆ ಪ್ರತಿಕ್ರಿಯೆಯಾಗಿ ಪೋಸ್ಟ್ ಮಾಡುವಂತೆ ಮಾಡುವುದು.

ಗುಪ್ತ ಕಮಾಂಡ್‌ಗಿಂತ ಮೊದಲು ಕೇವಲ “Additionally,” ಎಂಬ ಪದವನ್ನು ಸೇರಿಸುವುದು GitHub ನ ಗಾರ್ಡ್‌ರೈಲ್‌ಗಳನ್ನು (guardrails) ದಾಟಲು ಸಾಕಾಗುತ್ತದೆ ಎಂದು ಸಂಶೋಧಕರು ಕಂಡುಕೊಂಡಿದ್ದಾರೆ. ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ಅನುಮತಿಗಳು, ಟೋಕನ್‌ಗಳು ಅಥವಾ ಕಸ್ಟಮ್ ಕೋಡ್ ಅಗತ್ಯವಿಲ್ಲ—ಕೇವಲ ಸರಿಯಾದ ಪದಬಳಕೆ ಸಾಕು.

ಇದು ಕೇವಲ ಬಗ್ (bug) ಮಾತ್ರವಲ್ಲ ಯಾಕೆಂದರೆ

ಈ ಸಮಸ್ಯೆ ರಚನಾತ್ಮಕವಾಗಿದೆ. AI ಏಜೆಂಟ್ ರೆಪೊಸಿಟರಿ ಇವೆಂಟ್‌ನಿಂದ ತನಗೆ ಸಿಗುವ ಯಾವುದೇ ಪಠ್ಯವನ್ನು ವಿಶ್ವಾಸಾರ್ಹವೆಂದು ಪರಿಗಣಿಸುತ್ತದೆ, ಇದು ಬಳಕೆದಾರರು ಸೃಷ್ಟಿಸಿದ ವಿಷಯವನ್ನು ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿನ SQL injection ನಂತೆಯೇ ಒಂದು ಇನ್‌ಪುಟ್ ವೆಕ್ಟರ್ ಆಗಿ ಪರಿಣಮಿಸುತ್ತದೆ. ಒಂದು ವೇಳೆ ವರ್ಕ್‌ಫ್ಲೋ ಏಜೆಂಟ್‌ಗೆ ಖಾಸಗಿ ರೆಪೊಸಿಟರಿಗಳನ್ನು ಓದುವ ಮತ್ತು ಸಾರ್ವಜನಿಕವಾಗಿ ಕಾಮೆಂಟ್ ಮಾಡುವ ಅಧಿಕಾರವನ್ನು ನೀಡಿದ್ದರೆ, ಈ ಎರಡರ ಸಂಯೋಜನೆಯು ಡೇಟಾ ಸೋರಿಕೆಗೆ (data exfiltration) ನೇರ ಹಾದಿಯನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ.

GitHub ಏನು ಹೇಳುತ್ತದೆ

ಈ ದೋಷದ ಬಗ್ಗೆ GitHub ಗೆ ತಿಳಿಸಲಾಗಿದೆ.

ತಂಡಗಳಿಗಾಗಿ ತಡೆಗಟ್ಟುವ ಕ್ರಮಗಳು

  • ಏಜೆಂಟ್ ಅನುಮತಿಗಳನ್ನು ನಿರ್ಬಂಧಿಸಿ: ಅತ್ಯಗತ್ಯವಾಗಿದ್ದಾಗ ಮಾತ್ರ ಖಾಸಗಿ ರೆಪೊಸಿಟರಿಗಳಿಗೆ ಓದುವ/ಬರೆಯುವ (read/write) ಪ್ರವೇಶವನ್ನು ನೀಡಿ.
  • ಸಾರ್ವಜನಿಕ ಪೋಸ್ಟಿಂಗ್ ಅನ್ನು ತಡೆಯಿರಿ: ಏಜೆಂಟ್‌ಗಳು ಸಾರ್ವಜನಿಕ ಇಶ್ಯೂಗಳಿಗೆ ಕಾಮೆಂಟ್‌ಗಳನ್ನು ಅಥವಾ ಇತರ ಆರ್ಟಿಫ್ಯಾಕ್ಟ್‌ಗಳನ್ನು (artifacts) ಪ್ರಕಟಿಸಲು ಸಾಧ್ಯವಾಗದಂತೆ ವರ್ಕ್‌ಫ್ಲೋಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ.
  • ಎಲ್ಲಾ ಬಾಹ್ಯ ಇನ್‌ಪುಟ್‌ಗಳನ್ನು ನಂಬಲಾರದವುಗಳೆಂದು ಪರಿಗಣಿಸಿ: ಬಳಕೆದಾರರು ಸೃಷ್ಟಿಸಿದ ಪಠ್ಯವು AI ಗೆ ತಲುಪುವ ಮೊದಲು ಅದನ್ನು ಶುದ್ಧೀಕರಿಸುವ (sanitize) ಅಥವಾ ನಿರ್ಲಕ್ಷಿಸುವ ವ್ಯಾಲಿಡೇಶನ್ ಲೇಯರ್‌ಗಳನ್ನು ಸೇರಿಸಿ.
  • ವರ್ಕ್‌ಫ್ಲೋ ಟ್ರಿಗ್ಗರ್‌ಗಳನ್ನು ಆಡಿಟ್ ಮಾಡಿ: ಯಾವ ಘಟನೆಗಳು (ಇಶ್ಯೂಗಳು, ಪುಲ್ ರಿಕ್ವೆಸ್ಟ್‌ಗಳು ಇತ್ಯಾದಿ) ಏಜೆಂಟ್‌ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಸಂಬಂಧಿತ ಅನುಮತಿಗಳು ಉದ್ದೇಶಿತ ಬಳಕೆ ಪ್ರಕರಣಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುತ್ತವೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.

ಸಾರಾಂಶ: ಖಾಸಗಿ ಕೋಡ್ ಅನ್ನು ಓದಬಲ್ಲ ಮತ್ತು ಸಾರ್ವಜನಿಕವಾಗಿ ಪೋಸ್ಟ್ ಮಾಡಬಲ್ಲ AI ಅಸಿಸ್ಟೆಂಟ್, ನೀವು ಅದರ ಸುತ್ತ ನಿರ್ಧರಿಸುವ ಮಿತಿಗಳಷ್ಟೇ ಸುರಕ್ಷಿತವಾಗಿರುತ್ತದೆ. ಕಟ್ಟುನಿಟ್ಟಾದ ಅನುಮತಿ ಮಿತಿಗಳು ಮತ್ತು ಇನ್‌ಪುಟ್ ಶುದ್ಧೀಕರಣವಿಲ್ಲದೆ, ಒಂದು ಸಾರ್ವಜನಿಕ ಕಾಮೆಂಟ್ ಉತ್ಪಾದಕತೆಯ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಡೇಟಾ ಸೋರಿಕೆಯ ಮಾಧ್ಯಮವನ್ನಾಗಿ ಪರಿವರ್ತಿಸಬಹುದು.