−25%

yıllık Windows ödemesinde, 31 Ekim'e kadar. Paketlere git

EQVPS
Hemen başla

MCP güvenlik sınırları: yapay zekâ ajanları için güvenli yetkiler

Bir yapay zekâ ajanına sunucularınızın token'ını vermeden önce neye dokunabileceğini tam olarak bilin. EQVPS'in 45 MCP aracının tamamı risk seviyesine göre, sunucunun uyguladığı sınırlar ve bizim kendimiz için seçeceğimiz kurulum.

Son doğrulama: 2026-10-04 · MCP sunucusu 1.6.0 · 45 araç (müşteri token'ı)

MCP token'ı, hesap parolanıza bağlanmış bir API'dir. Bunu bir ajana verdiğinizde hiç yorulmayan, yönlendirdiğiniz her sayfayı okuyan ve bağlamındaki son talimat ne diyorsa tam olarak onu yapan bir kullanıcınız olur. Çoğu zaman istediğiniz de budur. Bu sayfa geri kalan zamanlarla ilgili.

Aşağıdaki her şey, sayfanın üstündeki tarihte canlı sunucuya karşı doğrulandı: araç listesi https://mcp.eqvps.com/mcp üzerindeki tools/list çıktısından, sınırlar doğrudan API'den geliyor. Yeniyseniz önce MCP istemcisini bağlama ve API belirteçleri sayfalarına bakın, sonra buraya dönün.

Tehdit modeli: gerçekte ne ters gidiyor

Gördüğümüz sırayla üç şey:

  1. Ajan yanlış anlar. "Test makinesini temizle" talimatı yanlış sunucunun yeniden kurulmasına dönüşür. Kötü niyet yok, sadece talimattaki boşluğu dolduran bir model.
  2. Prompt injection. Ajan sizin yazmadığınız bir metni okur (bir README, bir destek yanıtı, internetten çekilmiş bir sayfa) ve o metin ona bir şey yapmasını söyler. Ajanın elinde tam yetkili bir token varsa, araya sokulan talimat da o yetkilere sahip olur.
  3. Token sızar. Bir shell geçmişine, herkese açık bir depoya, paylaşılan bir MCP yapılandırmasına ya da bir log satırına düşer.

MCP sunucusu token'ın geçerli olduğunu ve sunucunun o hesaba ait olduğunu (ya da ona devredildiğini) kontrol eder. Ne demek istediğinizi bilmez. Aşağıdaki her güvenlik sınırı tek bir soruya cevap verir: talimat yanlışsa ne kadar zarar mümkün?

Risk seviyesine göre tüm MCP araçları

Bir müşteri token'ı 45 araç görür (MCP sunucusu 1.6.0). Bir bayi token'ı (rk_…) 30 bayi aracından oluşan ayrı bir set görür ve bunların hiçbirini görmez; yani uç noktada toplam 75 araç vardır. İstemciniz tools/list üzerinden yalnızca kendi setini alır.

Bu sayfa araçları riske göre sıralar. Her aracın parametreleri ve örnek çağrıları parametre başvurusunda; 30 bayi aracı dahil tüm araçlar tek satırda tam listede.

MCP araç açıklamalarını (readOnlyHint, destructiveHint) henüz göndermiyoruz, bu yüzden istemciniz araçları kendi başına sınıflandıramaz. Onayları aşağıdaki seviyelere göre elle ayarlayın.

Seviye 0 — herkese açık, token gerekmez (5)

AraçNe yapar
get_startedTüm akış tek yanıtta: hangi araçlar, hangi sırayla
list_plansPaketler, fiyatlar, işletim sistemi imajları
sandbox_pricingSandbox tarifeleri
register_accountYeni hesap açar ve token'ını döndürür
loginE-posta + parola → token

Seviye 1 — hesabı okur, yan etkisi yok (15)

AraçNe yaparDikkat
whoamiHesap kimliği, ad, e-posta
get_balanceÖn ödemeli bakiye
list_vpsAktif, kurulumda ve askıya alınmış sunucular
get_vps_statusDurum, özellikler, erişim bilgilerireveal: true ile root parolasını döndürür
get_vps_metricsZamana göre CPU, bellek, ağ, disk
get_upgrade_optionsSunucunun yeniden kurulum olmadan geçebileceği paketler
list_delegationsKime erişim verdiğiniz
list_delegated_to_meBaşkalarının size devrettiği sunucular
list_ticketsDestek talepleriniz
get_ticketTek bir talep ve tüm yazışmaTalep metni ajan için güvenilmeyen girdidir
list_sandboxesSandbox'larınız
get_sandboxTek bir sandbox ve tüketimi
get_taskArka plan görevinin çıktısı
download_fileBir sandbox'tan küçük bir dosya okur
get_download_urlTek bir sandbox dosyası için kısa ömürlü bağlantıBağlantıya sahip herkes süresi dolana kadar indirebilir

Seviye 2 — durumu değiştirir, harcama yapmaz (17)

AraçNe yaparDikkat
power_vpsstart / stop / rebootStop, stop demektir: servisler durur
set_hostnameSunucunun adını değiştirirconfirm alanının karşılaştırdığı değeri değiştirir
undo_cancelDönem sonu için planlanmış iptali kaldırır
refresh_tokenYeni token, eskisi anında iptal edilirSabit yapılandırmayı sonrasında güncelleyin
set_passwordHenüz yoksa hesap parolasını belirlerToken'ı elinde tutan sizden önce belirleyebilir
topup_balanceBakiye yükleme faturası + kripto ödeme bağlantısıÖdemek için cüzdan gerekir
pay_invoiceÖdenmemiş fatura için ödeme bağlantısıAynı şekilde
accept_delegationDaveti kabul eder
revoke_delegationYetki devrini sonlandırır
create_ticket / reply_ticket / close_ticketDestek talepleriAjan destek ekibine sizin adınıza yazar
run_code / exec_commandSandbox içinde kod çalıştırırYalnızca sandbox'ta, VPS'inizde değil
kill_taskSandbox'taki arka plan görevini durdurur
upload_file / get_upload_urlSandbox'a dosya koyar

Seviye 3 — para harcar, veri siler veya erişim verir (8)

AraçNe yaparSunucu tarafı kontrol
order_vpsSunucu sipariş eder, bakiyeden ödenirBakiye yetmezse → ödenmemiş fatura, hiçbir şey çekilmez
change_planYeniden kurulum olmadan paket değişimi, fark bakiyeden düşerconfirm: true; bakiye yetmezse → 402
create_sandboxÜcretli bir sandbox başlatırBoş bakiye → 402
reinstall_vpsDiski siler ve yeni bir işletim sistemi kurarconfirm = tam hostname veya DELETE; dakikada 4 çağrı
reset_passwordYeni root parolası, eskisi çalışmazconfirm = hostname veya DELETE; dakikada 6 çağrı
cancel_serviceend_of_period (varsayılan, geri alınabilir) veya immediate (sunucuyu hemen yok eder)immediate için confirm = hostname gerekir
kill_sandboxSandbox'ı dosyalarıyla birlikte sileryok
delegate_serviceBaşka bir kişiye sunucu üzerinde operatör erişimi verirYalnızca sahip; karşı tarafın kabul etmesi gerekir

Araç setinin değişiklik günlüğü

TarihSunucu sürümüDeğişiklikRiske etkisi
2026-10-031.6.0refresh_token eklendi; token'lar varsayılan olarak 1 yıl geçerliSeviye 2
2026-10-031.5.0undo_cancel, get_upgrade_options, change_planchange_plan bakiye harcar → seviye 3
2026-10-031.1.013 sandbox aracıcreate_sandbox harcar, kill_sandbox siler → seviye 3

Çalışan sürüm herkese açık: curl -s https://mcp.eqvps.com/healthz. Sürüm değişince bu tablo da değişir.

Bakiye, harcama tavanıdır

EQVPS ön ödemelidir. Kayıtlı kart, kredi limiti veya eksi bakiye yok: bir ajanın harcayabileceği en fazla tutar, bakiyede ne varsa odur. Üç araç para harcar: order_vps, change_plan ve create_sandbox. Mevcut sunucularınızın yenilemeleri de aynı bakiyeden düşer.

Ajan para talebi oluşturabilir ama ödeyemez. topup_balance ve pay_invoice bir kripto ödeme bağlantısı döndürür ve arkasında cüzdan olmayan bir bağlantı hiçbir şey yapmaz. Para çekme uç noktası da yok: bakiyedeki para hesabınızdaki hizmetleri satın alabilir, dışarı çıkamaz. Anında iptalde yapılan iadeler de bakiyeye geri döner.

Bir uyarı, hem de ciddi bir uyarı. Ajanı frenlemek için bakiyeyi çok düşük tutarsanız kendi yenilemeleriniz başarısız olmaya başlar ve sunucular ek süreye (grace) girer. Bizim pratik kuralımız: zaten çalıştırdığınız hizmetlerin bir yenileme döngüsü artı ajanın mevcut işinin bütçesi. Ajan bütçesi rehberi hesabı adım adım anlatıyor. Ajana içinde para olan kendi cüzdanını verirseniz, o cüzdan da takip etmeniz gereken ikinci bir tavan olur.

En az yetki: salt okunur token (henüz) yok

Açık cevap: her müşteri token'ı, kontrol panelindeki hesapla aynı yetkilere sahiptir. Token'ın adı ve ömrü ayarlanabilir, kapsamları (scope) ayarlanamaz.

Bugün mevcut olan en dar seçenek yetki devridir. Ajana sıfır bakiyeli kendi hesabını açar ve ona tek bir sunucu devredersiniz:

delegate_service  { "service_id": "EQ-XXXX", "email": "agent@yourdomain.com", "expires_days": 30 }

Aynısı REST ile:

curl -s -X POST "https://api.eqvps.com/api/v1/eqvps/services/EQ-XXXX/delegations" \
  -H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
  -d '{"email":"agent@yourdomain.com","expires_days":30}'

Davet, o e-posta ile oturum açılmışken kabul edilmelidir (accept_delegation) ve expires_days 1 ile 365 arasında olabilir. Ekran görüntüleriyle adım adım: erişim devretme ve belgelerde erişim.

Devredilmiş hesap şunları yapabilirDevredilmiş hesap şunları yapamaz
O tek sunucunun durumunu, metriklerini ve geçmişini görmekDiğer sunucularınızı, bakiyenizi veya faturalarınızı görmek
Başlatmak, durdurmak, yeniden başlatmakİptal etmek, yenilemek veya paket değiştirmek
Hostname ve ters DNS ayarlamakEklenti veya IP satın almak
Root parolasını sıfırlamakWeb konsolunu açmak
İşletim sistemini yeniden kurmakSunucuyu başka birine devretmek

Soldaki son iki satıra dikkat edin. Devralan kişi paranızı harcayamaz ama o sunucuyu silebilir. Bir ajanın yeniden kurabileceği her sunucuda yedeklemeyi açın.

Token hijyeni

Her ajana bir token, adıyla birlikte. Kontrol paneli → Ayarlar → Ajanlar için API belirteçleri bölümünden ya da şöyle oluşturun:

curl -s -X POST "https://api.eqvps.com/api/v1/eqvps/auth/tokens" \
  -H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
  -d '{"name":"backup-agent","expires_in_days":90}'

Token yalnızca bir kez gösterilir. Ömrü 1 ile 1825 gün arası, belirtmezseniz 365. Ajanlar için biz 90 seçerdik.

Token'ı yalnızca sizin okuyabildiğiniz bir dosyada tutun; depoda, prompt'ta ya da oradan oraya kopyaladığınız bir shell değişkeninde değil:

mkdir -p ~/.config/eqvps && chmod 700 ~/.config/eqvps
( umask 077; read -rsp 'EQVPS token: ' T; echo; printf 'EQVPS_TOKEN=%s\n' "$T" > ~/.config/eqvps/agent.env )
ls -l ~/.config/eqvps/agent.env   # beklenen: -rw-------

Ardından ajanın servisinde EnvironmentFile= (systemd) ya da set -a; . ~/.config/eqvps/agent.env; set +a ile yükleyin.

Süresi dolmadan yenileyin. refresh_token aracı veya POST /auth/tokens/{id}/refresh, aynı adla yeni bir token verir ve eskisini anında iptal eder. Token MCP istemcinizin yapılandırmasına sabit yazılmışsa hemen ardından güncelleyin, yoksa bir sonraki oturum 401 alır.

Kimin neyi kullandığını kontrol edin: GET /auth/tokens her token'ı adı, bitiş tarihi ve last_used_at ile listeler. Tanımadığınız bir token ya da ajanı kapattıktan sonra kullanılmış bir token sizin işaretinizdir.

Bir token sızarsa

Bu sırayla:

  1. İptal edin. Kontrol paneli → Ayarlar → Ajanlar için API belirteçleri → İptal et, ya da curl -s -X DELETE -H "Authorization: Bearer $EQVPS_TOKEN" https://api.eqvps.com/api/v1/eqvps/auth/tokens/<id>. Bir sonraki istekten itibaren çalışmaz.

  2. Sizin oluşturmadığınız yeni token'lar arayın ve onları da iptal edin.

  3. Etkilenmiş olabilecek alanı kontrol edin: her sunucunun hizmet geçmişi, faturalar ve bakiye, vermediğiniz bir erişim için list_delegations.

  4. Root parolalarını değiştirin; o token'ın görebildiği her sunucuda. reveal: true ile get_vps_status root parolasını verir, yani sızan token sızan root parolası demektir. Bu arada ~/.ssh/authorized_keys dosyasını da kontrol edin.

  5. Parola kapısını kapatın. Hesabınızın hiç parolası olmadıysa, token'ı elinde tutan kişi set_password ile bir parola belirlemiş olabilir. E-postayla gelen kodla giriş yapın ve parolayı değiştirin.

  6. adımı önlemek bedava: hesap parolasını şimdi kendiniz belirleyin, set_password sizden sonra gelen herkese 409 döndürür.

İnsan onayı

Sunucunun uyguladıkları:

  • reinstall_vps, reset_password ve type: immediate ile cancel_service, confirm alanının tam hostname olmasını ister (yeniden kurulum ve sıfırlamada DELETE de geçer).
  • change_plan, confirm: true ister.
  • İptal varsayılan olarak end_of_period'dur: sunucu ödenmiş dönemin sonuna kadar çalışır, undo_cancel geri alır.
  • Hesap başına hız sınırları: yeniden kurulum dakikada 4, parola sıfırlama dakikada 6, güç dakikada 20, sipariş dakikada 20. Bir döngünün bunu elli kez yapmasını engellemeye yeter, tek bir hatalı çağrıyı durdurmaya yetmez.

confirm alanının ne olduğunu net bilin. Bir ajanın "orayı temizle" talimatıyla harekete geçmesini engeller. Bir saldırganı durdurmaz, çünkü hostname tek bir get_vps_status çağrısı uzaklıktadır. Gerçek onay MCP istemcinizde yaşar. Çoğu istemci her araç çağrısından önce sorabilir: seviye 0 ve 1'i serbest bırakın, seviye 3 her zaman sorsun. Araç bazında izinleri olan istemcilerde, örneğin Claude Code'un settings.json dosyasında (sunucu eqvps adıyla kayıtlı):

{
  "permissions": {
    "ask": ["mcp__eqvps__order_vps", "mcp__eqvps__change_plan", "mcp__eqvps__create_sandbox", "mcp__eqvps__reset_password", "mcp__eqvps__delegate_service"],
    "deny": ["mcp__eqvps__reinstall_vps", "mcp__eqvps__cancel_service", "mcp__eqvps__kill_sandbox"]
  }
}

Ajanın talimatlarına da bir satır ekleyin. Tek başına bir güvenlik kontrolü değildir ama yanlış anlamaları azaltır (İngilizce bırakın, modeller onu aynı şekilde anlar):

Never call reinstall_vps, reset_password, cancel_service (type=immediate), change_plan,
order_vps, create_sandbox, kill_sandbox or delegate_service unless the human has typed
the target server's hostname in this conversation for that specific action.

Ajan uzun ömürlü bir token tutmak yerine e-posta koduyla giriş yapıyorsa, MCP üzerinden ajan girişi sayfasına bakın.

Denetim: sonradan neyi görebilirsiniz

  • Token listesi (GET /auth/tokens ya da Ayarlar → Ajanlar için API belirteçleri): ad, oluşturulma, bitiş, last_used_at. Token'lara ajan bazında ad vermenin önemi buradan gelir.
  • Hizmet geçmişi (kontrol paneli, sunucu sayfası): güç işlemleri, yeniden kurulumlar, parola sıfırlamaları, paket değişiklikleri, ödemeler; her biri zaman ve kaynakla: siz, destek veya otomatik. Hangi token'ın ya da hangi yetkilinin işlem yaptığını söylemez, yalnızca işlemin sizin tarafınızdan geldiğini gösterir.
  • Faturalar ve bakiye: her tahsilat ve iade.
  • list_delegations: kimin neye, ne zamana kadar erişimi olduğu.

Hizmet geçmişindeki bu boşluk, bugün sunucu tarafı denetimin dürüst sınırıdır. Hangi ajanın ne yaptığını bilmeniz gerekiyorsa, her araç çağrısını argümanlarıyla (gizli bilgiler hariç) ajan tarafında loglayın.

Bizim seçeceğimiz kurulum

Tek bir üretim sunucusunu yöneten bir ajan için:

  1. Ajan için ayrı bir hesap, sıfır bakiye, sunucu expires_days: 90 ile devredilmiş.
  2. Sahip token'ınız sizde kalır, hiçbir ajan yapılandırmasında durmaz.
  3. O sunucuda yedekleme, çünkü devralan kişi yeniden kurulum yapabilir.
  4. İstemcide seviye 3 araçları "ask" ya da "deny" olarak ayarlı.
  5. Ajanın token'ı 600 izinli bir dosyada, süresi dolmadan yenilenir.

Sunucu sipariş etmesi ya da sandbox çalıştırması gereken bir ajan için yetki devri yetmez, çünkü bakiyeye ihtiyacı vardır. O durumda tavanınız bakiyedir: iş başına yükleyin, token'a ad verin ve haftada bir last_used_at değerine bakın. Salt okunur bir token ajanları nasıl çalıştırdığınızı değiştirecekse, bunu destek üzerinden bize yazın: bir sonraki adımda ne geliştireceğimize tam da bu tür geri bildirimler karar veriyor.

Sık sorulan sorular

Bir yapay zekâ ajanına salt okunur erişim verebilir miyim?

Token ile şu an hayır: her müşteri token'ı, kontrol panelindeki hesabınızla aynı yetkilere sahiptir. En yakın seçenek yetki devridir: ajana bakiyesi olmayan ayrı bir hesap açın ve ona tek bir sunucu devredin. Ajan o sunucuyu görebilir ve yönetebilir, ama para harcayamaz, iptal edemez, konsolu açamaz ve erişimi başkasına devredemez. Yeniden başlatma, root parolasını sıfırlama ve yeniden kurulum yine elindedir, bu yüzden o sunucuda yedeklemeyi açın.

Bir ajanın ne kadar harcayacağını nasıl sınırlarım?

Ön ödemeli bakiyeyle. Para harcayan yalnızca üç araç var (order_vps, change_plan, create_sandbox) ve hepsi bakiyeden düşer; bakiye yetmezse 402 ya da ödenmemiş fatura döner. Ajan bakiye yükleme veya ödeme bağlantısı oluşturabilir, ama ödemek için kripto cüzdan gerekir, bunu bir insan yapar. Kayıtlı kart ve eksi bakiye yoktur.

Bir ajanın sunucumu silmesini ne engeller?

reinstall_vps, reset_password ve anında cancel_service, confirm alanının tam hostname olmasını ister (yeniden kurulum ve sıfırlama için DELETE de olur). Varsayılan iptal end_of_period'dur: sunucu çalışmaya devam eder ve undo_cancel iptali geri alır. Yetki devredilmiş hesaplar hiç iptal edemez. confirm alanı belirsiz bir talimatla hareket eden ajanı durdurur, token'ınızı ele geçirmiş bir saldırganı değil; bu yüzden MCP istemcinizde bu araçları ayrıca her zaman sorsun diye ayarlayın.

Bearer token'ım sızarsa ne yapmalıyım?

Hemen iptal edin (Kontrol paneli → Ayarlar → Ajanlar için API belirteçleri ya da DELETE /auth/tokens/{id}). Sonra token listesinde tanımadığınız token var mı bakın, her sunucunun hizmet geçmişini, faturalarınızı ve list_delegations çıktısını inceleyin, token'ın görebildiği sunucularda root parolalarını değiştirin: reveal ile çağrılan get_vps_status root parolasını döndürür.

EQVPS MCP sunucusunda kaç araç var?

MCP sunucusu 1.6.0 itibarıyla müşteri token'ı için 45 (2026-10-04'te doğrulandı): 5 herkese açık, 15 salt okunur, 17 harcama yapmadan durum değiştiren ve 8 para harcayan, veri silen ya da erişim veren araç. Bayi token'ları bunların yerine 30 bayi aracından oluşan ayrı bir set görür; aynı uç noktada toplam 75 araç vardır.

Yorumlar

Henüz yorum yok. İlk olun.

Bir yorum bırakın

Yorumlar görünmeden önce denetlenir.