ನಿಮ್ಮ AI ಕೋಡಿಂಗ್ ಅಸಿಸ್ಟೆಂಟ್ ನೀವು ಗಮನಿಸದೆಯೇ ನಿಮ್ಮ SSH ಕೀಗಳನ್ನು ಮರುಬರೆಯಬಹುದು.
Wiz Research ಒಂದು “GhostApproval” ದೋಷವನ್ನು ಪತ್ತೆಹಚ್ಚಿದೆ, ಇದು ದುರುದ್ದೇಶಪೂರಿತ project_settings.json symlink ಪ್ರೈವೇಟ್ ಕೀಗಳನ್ನು ಗುರಿಯಾಗಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಅಷ್ಟೇ ಅಲ್ಲದೆ, ಪ್ರತಿಯೊಂದು ಕ್ರಮಕ್ಕೂ ಕಾಣಿಸಿಕೊಳ್ಳುವ ಅಪ್ರೂವಲ್ ಡೈಲಾಗ್ ಕೇವಲ symlink ಹೆಸರನ್ನು ಮಾತ್ರ ತೋರಿಸುತ್ತದೆ. ನೀವು ಆ ಡೈಲಾಗ್ ಅನ್ನು ಅನುಮೋದಿಸಿದರೆ, ಅಸಿಸ್ಟೆಂಟ್ಗೆ ನಿಮ್ಮ ಕ್ರೆಡೆನ್ಶಿಯಲ್ಗಳಿಗೆ (credentials) ಅನಿಯಮಿತ ಪ್ರವೇಶವನ್ನು ನೀಡಿದಂತಾಗುತ್ತದೆ.
ಈ ಎಕ್ಸ್ಪ್ಲಾಯ್ಟ್ (exploit) ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ
- ದಾಳಿಕೋರರು ರೆಪೊಸಿಟರಿಗೆ project_settings.json ಎಂಬ ಫೈಲ್ ಅನ್ನು ಸೇರಿಸುತ್ತಾರೆ.
- ಆ ಫೈಲ್ ಸಾಮಾನ್ಯ JSON ಫೈಲ್ ಅಲ್ಲ; ಅದು ಬಳಕೆದಾರರ ~/.ssh/id_rsa (ಅಥವಾ ಸಮಾನವಾದ) ಪ್ರೈವೇಟ್ ಕೀಗೆ ಮರುನಿರ್ದೇಶಿಸುವ ಸಿಂಬಾಲಿಕ್ ಲಿಂಕ್ (symlink) ಆಗಿದೆ.
- ಡೆವಲಪರ್ AI ಅಸಿಸ್ಟೆಂಟ್ನನ್ನು “set up the workspace” ಎಂದು ಕೇಳಿದಾಗ, ಅಸಿಸ್ಟೆಂಟ್ ಆ symlink ಅನ್ನು ಅನುಸರಿಸುತ್ತದೆ ಮತ್ತು ನೈಜ SSH ಕೀ ಫೈಲ್ಗೆ ಬರೆಯಲು ಸಿದ್ಧವಾಗುತ್ತದೆ.
- ಕಾಣಿಸಿಕೊಳ್ಳುವ ಅಪ್ರೂವಲ್ ಡೈಲಾಗ್ನಲ್ಲಿ ಕೇವಲ project_settings.json ಮಾತ್ರ ಇರುತ್ತದೆ. ಇದು ಡಿಸ್ಕ್ನಲ್ಲಿರುವ ನೈಜ ಹಾದಿಯನ್ನು (path) ತೋರಿಸಲು symlink ಅನ್ನು ಪರಿಹರಿಸುವುದಿಲ್ಲ (resolve ಮಾಡುವುದಿಲ್ಲ).
- “Approve” ಕ್ಲಿಕ್ ಮಾಡುವುದರಿಂದ ಅಸಿಸ್ಟೆಂಟ್ಗೆ ಪ್ರೈವೇಟ್ ಕೀಯನ್ನು ಮಾರ್ಪಡಿಸಲು ಅನುಮತಿ ಸಿಗುತ್ತದೆ, ಇದು ಆ ಕೀಯನ್ನು ನಂಬುವ ಪ್ರತಿಯೊಂದು ಸೇವೆಯಲ್ಲಿ ಬಳಕೆದಾರರ ಗುರುತನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಅಪಾಯಕ್ಕೆ ತಳ್ಳುತ್ತದೆ.
ಈ ದೋಷವು ಆರು ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲಾಗುವ ಪರಿಕರಗಳಲ್ಲಿ ಕಂಡುಬರುತ್ತದೆ: Amazon Q Developer, Claude Code, Augment, Cursor, Google Antigravity ಮತ್ತು Windsurf. ಇವೆಲ್ಲವೂ ಒಂದೇ ರೀತಿಯ ದಾರಿತಪ್ಪಿಸುವ ಡೈಲಾಗ್ ಅನ್ನು ತೋರಿಸುತ್ತವೆ ಏಕೆಂದರೆ UI ಅದಕ್ಕೆ ಸಿಗುವ ಹೆಸರನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ, ಪರಿಹರಿಸಿದ ಗುರಿಯನ್ನಲ್ಲ.
ಪ್ರತಿ ಕ್ರಮಕ್ಕೂ (per-action) ಡೈಲಾಗ್ಗಳು ಏಕೆ ಸಾಕಾಗುವುದಿಲ್ಲ
ಪ್ರತಿ ಕ್ರಮಕ್ಕೂ ಅಪ್ರೂವಲ್ ಪಡೆಯುವುದು, AI ಮಾಡುವ ಪ್ರತಿಯೊಂದು ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಮನುಷ್ಯ ಪರಿಶೀಲಿಸಬಹುದು ಎಂದು ಭಾವಿಸುತ್ತದೆ. ಪ್ರಾಯೋಗಿಕವಾಗಿ, ಇದು ಪ್ರತಿ ಕೆಲವು ಸೆಕೆಂಡುಗಳಿಗೊಮ್ಮೆ ನೀವು ಪರಿಪೂರ್ಣ ತೀರ್ಮಾನಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುವಂತೆ ಒತ್ತಾಯಿಸುತ್ತದೆ—ಏಜೆಂಟ್ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ವೇಗಕ್ಕಿಂತ ವೇಗವಾಗಿ ಇದನ್ನು ಯಾರೂ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ.
ಮಾರಾಟಗಾರರು (Vendors) ಏನು ಮಾಡುತ್ತಿದ್ದಾರೆ – ಮತ್ತು ಇದು ಏಕೆ ಮುಖ್ಯವಾಗಿದೆ
- Amazon, Google ಮತ್ತು Cursor ಈಗಾಗಲೇ ಇದನ್ನು ಸರಿಪಡಿಸಿವೆ.
- Anthropic (Claude Code ತಯಾರಕ) ಬಳಕೆದಾರರು ತಮಗೆ ಅರ್ಥವಾಗುವಿದ್ದನ್ನು ಮಾತ್ರ ಅನುಮೋದಿಸಬೇಕು ಎಂದು ಹೇಳುತ್ತದೆ. ಇದು symlink ಗಳನ್ನು ಗುರುತಿಸುವ ಮಾನಸಿಕ ಹೊರೆ (cognitive load) ಅನ್ನು ನಿರ್ಲಕ್ಷಿಸುತ್ತದೆ ಮತ್ತು ಬಳಕೆದಾರರು ಪ್ರತಿಯೊಂದು ಫೈಲ್ ಹಾದಿಯನ್ನು ತಕ್ಷಣವೇ ಪರಿಶೀಲಿಸಬಹುದು ಎಂದು ಭಾವಿಸುತ್ತದೆ—ಇದು ಅವಾಸ್ತವಿಕ ನಿರೀಕ್ಷೆಯಾಗಿದೆ.
- Cursor ಮತ್ತೊಂದು ಪ್ರತ್ಯೇಕ ಸಮಸ್ಯೆಯನ್ನು ಬಹಿರಂಗಪಡಿಸಿದೆ, ಇದನ್ನು DuneSlide ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ, ಇದು ಯಾವುದೇ ಅಪ್ರೂವಲ್ ಪ್ರಾಂಪ್ಟ್ ಇಲ್ಲದೆ ದಾಳಿಕೋರರು ಯಂತ್ರದಲ್ಲಿ ಕೋಡ್ ಚಲಾಯಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಕಂಪನಿಯು ಆ ದೋಷವನ್ನು ಸರಿಪಡಿಸಿದೆ, ಅನುಮತಿ ಪರಿசோதனೆಗಳು ದುರ್ಬಲವಾಗಿದ್ದಾಗ ಈ ಅಸಿಸ್ಟೆಂಟ್ಗಳು ಎಷ್ಟು ವೇಗವಾಗಿ ದಾಳಿಗಳ ಸಾಧನಗಳಾಗಬಹುದು (attack vectors) ಎಂಬುದನ್ನು ಇದು ತೋರಿಸುತ್ತದೆ.
ಪ್ರತಿಕ್ರಿಯೆಗಳ ಈ ವ್ಯತ್ಯಾಸವು ಒಂದು ಆಳವಾದ ಪ್ರಶ್ನೆಯನ್ನು ಎತ್ತುತ್ತದೆ: ಭದ್ರತೆಯು ಘಟನೆಯ ನಂತರದ ಡೈಲಾಗ್ ಆಗಿರಬೇಕೇ ಅಥವಾ ಅಸಿಸ್ಟೆಂಟ್ ಎಂದಿಗೂ ದಾಟದ ಮೊದಲೇ ನಿರ್ಧರಿಸಿದ ಗಡಿಯಾಗಬೇಕೇ?
ಸ್ಕೋಪ್ ಮಾಡಿದ ಅನುಮತಿಗಳು (Scoped permissions): ಒಂದು ಪ್ರಾಯೋಗಿಕ ಪರ್ಯಾಯ
ಪ್ರತಿ ಫೈಲ್ ಕಾರ್ಯಾಚರಣೆಗೆ ಪ್ರಾಂಪ್ಟ್ ಕೇಳುವ ಬದಲಿಗೆ, ಡೆವಲಪರ್ಗಳು ಅಸಿಸ್ಟೆಂಟ್ ಚಾಲನೆಯಾಗುವ ಮೊದಲು ಅದಕ್ಕೆ ಒಂದು scope ಅನ್ನು ನಿಗದಿಪಡಿಸಬಹುದು:
- AI ಓದಬಹುದಾದ ಅಥವಾ ಬರೆಯಬಹುದಾದ ಡೈರೆಕ್ಟರಿ ಟ್ರೀ ಅನ್ನು (ಉದಾಹರಣೆಗೆ,
/src) ವ್ಯಾಖ್ಯಾನಿಸಿ. - ಆ ಟ್ರೀ ಹೊರಗಿನ ಫೈಲ್ಗಳನ್ನು—ಉದಾಹರಣೆಗೆ
~/.ssh/id_rsa—ಸ್ಪರ್ಶಿಸಲು ಮಾಡುವ ಯಾವುದೇ ಪ್ರಯತ್ನವನ್ನು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಅಥವಾ ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ಲೇಯರ್ ತಡೆಯುತ್ತದೆ. - ಸ್ಕೋಪ್ ಅನ್ನು ಒಮ್ಮೆ ಸ್ಥಾಪಿಸಿದರೆ ಸಾಕು, ಇದು ಮನುಷ್ಯ ತೆಗೆದುಕೊಳ್ಳಬೇಕಾದ ನಿರ್ಧಾರಗಳ ಸಂಖ್ಯೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅಸಿಸ್ಟೆಂಟ್ನ ಪ್ರಭಾವವನ್ನು ನಿಯಂತ್ರಣದಲ್ಲಿಡುತ್ತದೆ.
ಸ್ಕೋಪಿಂಗ್ ಭದ್ರತಾ ಮಾದರಿಯನ್ನು "ಪ್ರತಿ ಬಾರಿಯೂ ಕೇಳಿ" ಎಂಬುದರಿಂದ "ಅಗತ್ಯವಿರುವುದನ್ನು ಮಾತ್ರ ಅನುಮತಿಸಿ" ಎಂಬುದಕ್ಕೆ ಬದಲಾಯಿಸುತ್ತದೆ. ಇದು ಕಂಟೇನರ್ ರನ್ಟೈಮ್ಗಳು ಮತ್ತು ಮೊಬೈಲ್ OS ಗಳು ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಹೇಗೆ ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ಮಾಡುತ್ತವೆಯೋ ಹಾಗೆಯೇ ಮಾಡುತ್ತದೆ, ಇದರಿಂದ ಏನಾದರೂ ತಪ್ಪಾದಾಗ ಹಾನಿಯನ್ನು ಸೀಮಿತಗೊಳಿಸಬಹುದು.
ಮುಂದೆ ಏನನ್ನು ಗಮನಿಸಬೇಕು
- Vendor roll-outs: ಬಾಧಿತ ಆರು ಪರಿಕರಗಳ ಅಪ್ಡೇಟ್ ನೋಟ್ಗಳ ಮೇಲೆ ಕಣ್ಣಿಡಿ.
ಅಂತಿಮವಾಗಿ (Bottom line)
GhostApproval ಎಕ್ಸ್ಪ್ಲಾಯ್ಟ್ ಒಂದು ಪಾಪ್-ಅಪ್ ಡೈಲಾಗ್ ಅನ್ನು ನಂಬುವುದು ಭದ್ರತೆಯ ಬಗ್ಗೆ ತಪ್ಪು ಭಾವನೆಯನ್ನು ನೀಡುತ್ತದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ. ಪ್ರತಿಯೊಂದು AI ಕೋಡಿಂಗ್ ಅಸಿಸ್ಟೆಂಟ್ symlink ಗಳನ್ನು ಪರಿಹರಿಸಿ ಮತ್ತು ಪೂರ್ಣ ಹಾದಿಗಳನ್ನು ತೋರಿಸುವವರೆಗೆ, ಡೆವಲಪರ್ಗಳು ಸ್ಕೋಪ್ ಮಾಡಿದ ಬರವಣಿಗೆಯ ಅನುಮತಿಗಳನ್ನು (scoped write permissions) ಜಾರಿಗೆ ತರಬೇಕು—ಅಸಿಸ್ಟೆಂಟ್ ಕೆಲಸ ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಅದು ಎಲ್ಲಿ ಕೆಲಸ ಮಾಡಬಹುದು ಎಂಬುದನ್ನು ನಿಖರವಾಗಿ ತಿಳಿಸಬೇಕು. ಆ ಸರಳ ಬದಲಾವಣೆಯು ಕ್ಲಿಕ್ ಮಾಡುವ ಆಯಾಸವನ್ನು (click-fatigue) ಹೆಚ್ಚಿಸದೆ ಅತ್ಯಂತ ಅಪಾಯಕಾರಿ ವರ್ಗದ ದಾಳಿಗಳನ್ನು ತಡೆಯುತ್ತದೆ.
ಮೂಲ: dev.to/girish_r/your-coding-agents-approval-dialog-is-lying-to-you-ih1
