𝗦𝘁𝗼𝗽 𝗧𝗿𝘂𝘀𝘁𝗶𝗻𝗴 𝗧𝗵𝗲 𝗔𝗴𝗲𝗻𝘁: ಅನುಮೋದನೆಗಳನ್ನು ನಿಖರವಾದ ಟೂಲ್ ಕಾಲ್‌ಗಳಿಗೆ (Tool Calls) ಕಟ್ಟುನಿಟ್ಟಾಗಿ ಜೋಡಿಸಿ

ಹೆಚ್ಚಿನ ಏಜೆಂಟಿಕ್ ಸಿಸ್ಟಮ್‌ಗಳು (agentic systems) ಫೈಲ್ ಬರೆಯುವುದು ಅಥವಾ ಹಣ ವರ್ಗಾವಣೆ ಮಾಡುವಂತಹ ಅಪಾಯಕಾರಿ ಕ್ರಮಗಳನ್ನು ಕೇವಲ ಒಂದು ಸರಳ ಅನುಮೋದನೆಯ ಮೂಲಕ ರಕ್ಷಿಸುತ್ತವೆ.

ಸಾಮಾನ್ಯವಾಗಿ, ಈ ಅನುಮೋದನೆಯು ಸಿಸ್ಟಮ್ ಸ್ಟೇಟ್‌ನಲ್ಲಿರುವ ಒಂದು ಬೂಲಿಯನ್ ಫ್ಲಾಗ್ (boolean flag) ಆಗಿರುತ್ತದೆ. ಉದಾಹರಣೆಗೆ: approved: true.

ಇದು ಒಂದು ತಪ್ಪು. ಬೂಲಿಯನ್ ವಿಧಾನವು ದಾಳಿಕೋರರು ಬಳಸಿಕೊಳ್ಳಬಹುದಾದ ಮೂರು ರೀತಿಯಲ್ಲಿ ವಿಫಲವಾಗುತ್ತದೆ:

ಸಮಸ್ಯೆ ಏನೆಂದರೆ, ನೀವು ಅನುಮೋದನೆಯನ್ನು ಇಡೀ ಸೆಷನ್‌ನ (session) ಒಂದು ಗುಣಲಕ್ಷಣವಾಗಿ ಪರಿಗಣಿಸುತ್ತಿದ್ದೀರಿ. ಬದಲಾಗಿ, ಅದು ಒಂದು ನಿರ್ದಿಷ್ಟ ಕಾಲ್‌ಗೆ (call) ಸಾಕ್ಷಿಯಾಗಿರಬೇಕು.

ಇದನ್ನು ಸರಿಪಡಿಸುವುದು ಹೇಗೆ:

ಮನುಷ್ಯನು ಒಂದು ಕಾಲ್ ಅನ್ನು ಅನುಮೋದಿಸಿದಾಗ, ಒಂದು ಸುರಕ್ಷಿತ ಟ್ಯಾಗ್ (secure tag) ಅನ್ನು ರಚಿಸಿ. ಈ ಟ್ಯಾಗ್ ಈ ನಾಲ್ಕು ವಿಷಯಗಳನ್ನು ಲಾಕ್ ಮಾಡಬೇಕು:

ಕಾರ್ಯಗತಗೊಳಿಸುವ ನಿಖರ ಕ್ಷಣದಲ್ಲಿ ಈ ಟ್ಯಾಗ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ. ಸಿಸ್ಟಮ್‌ಗೆ ಮಾತ್ರ ತಿಳಿದಿರುವ ಸೀಕ್ರೆಟ್ ಕೀ (secret key) ಅನ್ನು ಬಳಸಿ.

ಅನುಷ್ಠಾನಕ್ಕಾಗಿ (implementation) ಈ ನಿಯಮಗಳನ್ನು ಪಾಲಿಸಿ:

ಅಧಿಕಾರೀಕರಣವು (Authorization) ಕೇವಲ ಒಂದು ಅಸ್ಥಿರ ಸ್ಟೇಟ್ ಆಗಿರಬಾರದು. ಅದು ಈ ಕೆಳಗಿನದ್ದನ್ನು ಸಾಬೀತುಪಡಿಸುವ ಒಂದು ಬೌಂಡ್ ಎನ್ವೆಲಪ್ (bound envelope) ಆಗಿರಬೇಕು: "ಈ ನಿರ್ದಿಷ್ಟ ವ್ಯಕ್ತಿಯು ಈ ನಿರ್ದಿಷ್ಟ ಟೂಲ್‌ಗಾಗಿ, ಈ ನಿರ್ದಿಷ್ಟ ಸಮಯದವರೆಗೆ, ಈ ನಿರ್ದಿಷ್ಟ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ಅನುಮೋದಿಸಿದ್ದಾರೆ."

ಬೂಲಿಯನ್‌ಗಳನ್ನು ಬಳಸುವುದು ನಿಲ್ಲಿಸಿ. ಅವು ಸರಳೀಕರಣವಲ್ಲ. ಅವು ಒಂದು ಬಗ್ (bug).

ಮೂಲ: https://dev.to/whatsonyourmind/stop-trusting-the-agent-bind-tool-call-approvals-to-the-exact-call-5080

ಐಚ್ಛಿಕ ಕಲಿಕಾ ಸಮುದಾಯ: https://t.me/GyaanSetuAi