{"id":15,"date":"2026-05-21T10:00:00","date_gmt":"2026-05-21T07:00:00","guid":{"rendered":"https:\/\/www.hasangultekin.com\/2026\/05\/21\/tool-using-agents-server-authorization\/"},"modified":"2026-05-21T10:00:00","modified_gmt":"2026-05-21T07:00:00","slug":"tool-using-agents-server-authorization","status":"publish","type":"post","link":"https:\/\/www.hasangultekin.com\/tr\/2026\/05\/21\/tool-using-agents-server-authorization\/","title":{"rendered":"Alet Kullanan Bir Akt\u00f6r\u00fcn Sunucu Taraf\u0131nda Yetkilendirilmesi Gerekir"},"content":{"rendered":"<p>Bir model, mevcut kullan\u0131c\u0131n\u0131n y\u00fcr\u00fctme yetkisi bulunmayan, bi\u00e7imi kusursuz bir komut \u00fcretebilir. Yap\u0131land\u0131r\u0131lm\u0131\u015f \u00e7\u0131kt\u0131, uygulaman\u0131n talebi anlamas\u0131na yard\u0131mc\u0131 olur; ancak bunu ger\u00e7ekle\u015ftirme yetkisi vermez.<\/p>\n<p>Bir ara\u00e7 kullanan ajan\u0131, uygulama taraf\u0131ndan kontrol edilen bir y\u00fcr\u00fctme s\u0131n\u0131r\u0131 i\u00e7inde \u00e7al\u0131\u015fan bir planlay\u0131c\u0131 olarak tasarl\u0131yorum. Model, bir sonraki eylemi \u00f6nerir. Sunucu kodu ise eylemin izin verilip verilmeyece\u011fine ve sonucunun nas\u0131l d\u00f6nd\u00fcr\u00fclece\u011fine karar verir.<\/p>\n<h2>Ara\u00e7 s\u00f6zle\u015fmesinde riskleri ve kapsam\u0131 belirtin<\/h2>\n<p>Bir ara\u00e7 tan\u0131m\u0131nda sadece bir ad ve JSON \u015femas\u0131 yeterli de\u011fildir. Bu arac\u0131n verileri okudu\u011funu mu yoksa de\u011fi\u015ftirdi\u011fini mi, hangi izinlere ihtiya\u00e7 duydu\u011funu, kirac\u0131 kapsam\u0131n\u0131n nas\u0131l belirlendi\u011fini ve i\u015flemin onay gerektirip gerektirmedi\u011fini bilmek istiyorum.<\/p>\n<p>Arg\u00fcman do\u011frulamas\u0131 hem yap\u0131y\u0131 hem de anlam\u0131 kapsamal\u0131d\u0131r. Ge\u00e7erli bir dize, yine de ba\u015fka bir kirac\u0131n\u0131n kayd\u0131n\u0131 tan\u0131mlayabilir. Bi\u00e7im a\u00e7\u0131s\u0131ndan do\u011fru bir URL, yine de dahili bir a\u011f kayna\u011f\u0131na i\u015faret edebilir. Say\u0131sal bir de\u011fer, izin verilen i\u015f aral\u0131\u011f\u0131n\u0131n d\u0131\u015f\u0131nda olabilir.<\/p>\n<p>Ba\u015flang\u0131\u00e7ta, kullan\u0131\u015fl\u0131 birka\u00e7 salt okunur ara\u00e7 sunard\u0131m. Bu, yazma i\u015flemlerini devreye sokmadan \u00f6nce kan\u0131tlanmas\u0131 gereken y\u00fcr\u00fctme davran\u0131\u015flar\u0131n\u0131n say\u0131s\u0131n\u0131 azalt\u0131r.<\/p>\n<h2>Eylem y\u00fcr\u00fct\u00fcld\u00fc\u011f\u00fcnde yeniden yetkilendirin<\/h2>\n<p>Uygulama, y\u00fcr\u00fctme an\u0131nda kullan\u0131c\u0131n\u0131n mevcut izinlerini ve hedef kayna\u011f\u0131n sahipli\u011fini belirlemelidir. Model taraf\u0131ndan sa\u011flanan bir kirac\u0131 kimli\u011fi veya rol, hi\u00e7bir \u015fekilde yetki olarak kabul edilmemelidir.<\/p>\n<p>Bu durum, \u00e7ok a\u015famal\u0131 i\u015flemlerde \u00f6nemlidir. \u00dcyelik de\u011fi\u015febilir, bir kaynak ta\u015f\u0131nabilir veya kuyrukta bekleyen bir eylem, orijinal ba\u011flam\u0131n\u0131n s\u00fcresi dolduktan sonra y\u00fcr\u00fct\u00fclebilir. Yetkilendirme, konu\u015fman\u0131n ilk mesaj\u0131n\u0131n tek seferlik bir \u00f6zelli\u011fi olmamal\u0131d\u0131r.<\/p>\n<p>Ayn\u0131 ilke onay i\u00e7in de ge\u00e7erlidir. Onay, belirli bir eyleme ve bununla ilgili gerek\u00e7elere ba\u011flanmal\u0131d\u0131r. E\u011fer fail daha sonra hedefi veya miktar\u0131 de\u011fi\u015ftirirse, \u00f6nceki onay art\u0131k ne olaca\u011f\u0131n\u0131 yans\u0131tmaz.<\/p>\n<h2>D\u0131\u015f i\u00e7eri\u011fi kendi g\u00fcven kategorisinde tutun<\/h2>\n<p>G\u00f6r\u00fcnt\u00fclenen bir sayfa, m\u00fc\u015fteri mesaj\u0131 veya ara\u00e7 sonucu, modele y\u00f6nelik talimatlar i\u00e7erebilir. Bu talimatlar, sadece ba\u011flam penceresinde yer ald\u0131klar\u0131 i\u00e7in ge\u00e7erlilik kazanmazlar.<\/p>\n<p><a href=\"https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/LLM_Prompt_Injection_Prevention_Cheat_Sheet.html\" target=\"_blank\" rel=\"noopener\">OWASP\u2019\u0131n h\u0131zl\u0131 enjeksiyon k\u0131lavuzu<\/a> g\u00fcvenilmeyen i\u00e7eri\u011fin model davran\u0131\u015f\u0131n\u0131 etkileme riskini ele almaktad\u0131r. Benim y\u00fcr\u00fctme s\u0131n\u0131r\u0131m, planlay\u0131c\u0131n\u0131n kafa kar\u0131\u015f\u0131kl\u0131\u011f\u0131na u\u011frayabilece\u011fini varsayar ve yine de sunucu kodunun uygulad\u0131\u011f\u0131 izin s\u0131n\u0131rlar\u0131n\u0131 a\u015fmas\u0131n\u0131 engeller.<\/p>\n<p>Ara\u00e7 \u00e7\u0131kt\u0131lar\u0131 da en aza indirilmelidir. G\u00f6rev i\u00e7in bir sipari\u015f durumu gerekiyorsa, her m\u00fc\u015fteri alan\u0131n\u0131 d\u00f6nd\u00fcrmek gereksiz bilgi if\u015fas\u0131na yol a\u00e7ar. Hassas alanlar, sonu\u00e7 modele ula\u015fmadan \u00f6nce \u00e7\u0131kar\u0131labilir veya gizlenebilir.<\/p>\n<h2>Sadece her bir \u00e7a\u011fr\u0131y\u0131 de\u011fil, d\u00f6ng\u00fcn\u00fcn tamam\u0131n\u0131 s\u0131n\u0131rlay\u0131n<\/h2>\n<p>Kullan\u0131\u015fl\u0131 bir ajan\u0131n, ara\u00e7 yinelemeleri, ge\u00e7en s\u00fcre, toplam maliyet ve tekrarlanan ba\u015far\u0131s\u0131zl\u0131klar konusunda s\u0131n\u0131rlara ihtiyac\u0131 vard\u0131r. Planlay\u0131c\u0131 s\u00fcresiz olarak ba\u015fka bir \u00e7a\u011fr\u0131 ba\u015flatabiliyorsa, \u00e7a\u011fr\u0131 ba\u015f\u0131na s\u0131n\u0131rlar yetersiz kal\u0131r.<\/p>\n<p>Verimli ilerlemeyi, ayn\u0131 arg\u00fcmanlarla yap\u0131lan tekrarlanan denemelerden ay\u0131r\u0131r\u0131m. Bir arama iki kez sonu\u00e7 vermezse, bir sonraki yararl\u0131 ad\u0131m, ayn\u0131 araman\u0131n \u00fc\u00e7\u00fcnc\u00fc bir varyasyonunu denemek yerine, durumu netle\u015ftirecek bir soru sormak olabilir.<\/p>\n<p>Bir i\u015flem, tan\u0131nabilir bir durumla sonu\u00e7lanmal\u0131d\u0131r: yan\u0131tlanm\u0131\u015f, a\u00e7\u0131kl\u0131\u011fa kavu\u015fturulmas\u0131 gereken, onay bekleyen, bir ki\u015fiye devredilmi\u015f veya d\u00fczeltilebilir bir nedenden dolay\u0131 ba\u015far\u0131s\u0131z olmu\u015f. Bu, hem aray\u00fcz\u00fc hem de operat\u00f6r\u00fcn g\u00f6revini daha net hale getirir.<\/p>\n<h2>Bir insan\u0131n inceleyebilece\u011fi bir eylem izi kaydet<\/h2>\n<p>Denetim kayd\u0131, \u00f6nerilen arac\u0131, do\u011frulanm\u0131\u015f gerek\u00e7eleri, yetkilendirme karar\u0131n\u0131, ilgili onay\u0131, sonu\u00e7 durumunu ve zamanlamay\u0131 g\u00f6stermelidir. Uygulaman\u0131n kararlar\u0131n\u0131 a\u00e7\u0131klamak i\u00e7in \u00f6zel model ak\u0131l y\u00fcr\u00fctmesinin a\u00e7\u0131klanmas\u0131na gerek yoktur.<\/p>\n<p>D\u0131\u015f yazma i\u015flemleri i\u00e7in, kararl\u0131 bir i\u015flem kimli\u011fi ve idempotans stratejisi ekliyorum. Planlama ad\u0131m\u0131n\u0131n yeniden denenmesi, tamamlanm\u0131\u015f bir i\u015f eyleminin tekrarlanmas\u0131na yol a\u00e7mamal\u0131d\u0131r.<\/p>\n<p>Yapt\u0131\u011f\u0131m ilk kar\u015f\u0131t senaryo testlerinde, s\u0131radan bir kullan\u0131c\u0131dan ba\u015fka bir kirac\u0131n\u0131n verilerini almas\u0131n\u0131, bir ara\u00e7 sonucunun i\u00e7ine talimatlar eklemesini, onayland\u0131ktan sonra arg\u00fcmanlar\u0131 de\u011fi\u015ftirmesini ve tamamlanm\u0131\u015f bir eylemi tekrarlamas\u0131n\u0131 istiyorum. Ajan, ancak bu s\u0131n\u0131rlar anla\u015f\u0131l\u0131r ve uygulanabilir kald\u0131\u011f\u0131nda daha fazla \u00f6zerklik kazan\u0131r.<\/p>\n<p class=\"hg-editorial-note\"><small>25 Eyl\u00fcl 2026 tarihinde g\u00fcncellenmi\u015ftir.<\/small><\/p>","protected":false},"excerpt":{"rendered":"<p>Model taraf\u0131ndan olu\u015fturulan ara\u00e7 \u00e7a\u011fr\u0131lar\u0131n\u0131 \u00f6nerilen eylemler olarak de\u011ferlendirin. Y\u00fcr\u00fctme s\u0131ras\u0131nda izinleri, kapsam\u0131, arg\u00fcmanlar\u0131, b\u00fct\u00e7eleri ve onaylar\u0131 do\u011frulay\u0131n.<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"footnotes":""},"categories":[152],"tags":[153,155,193],"class_list":["post-15","post","type-post","status-publish","format-standard","hentry","category-agentic-systems","tag-ai-agents","tag-authorization","tag-tool-calling"],"_links":{"self":[{"href":"https:\/\/www.hasangultekin.com\/tr\/wp-json\/wp\/v2\/posts\/15","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hasangultekin.com\/tr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hasangultekin.com\/tr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hasangultekin.com\/tr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hasangultekin.com\/tr\/wp-json\/wp\/v2\/comments?post=15"}],"version-history":[{"count":0,"href":"https:\/\/www.hasangultekin.com\/tr\/wp-json\/wp\/v2\/posts\/15\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.hasangultekin.com\/tr\/wp-json\/wp\/v2\/media?parent=15"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hasangultekin.com\/tr\/wp-json\/wp\/v2\/categories?post=15"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hasangultekin.com\/tr\/wp-json\/wp\/v2\/tags?post=15"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}