Beberapa server di HostedMCP memiliki tanda Verified. Halaman ini menjelaskan secara tepat apa yang diukur oleh tanda tersebut, sehingga Anda dapat memutuskan seberapa besar tingkat kepercayaan yang ingin Anda berikan.
Verified berarti sebuah server telah lolos pengecekan otomatis kami, versi 2, pada repository publik, packages, dependencies, deskripsi tool, dan endpoint miliknya. Ini tidak berarti ada orang yang telah meninjau kodenya, dan kami tidak pernah menjalankan server tersebut atas nama Anda. Anggaplah tanda ini sebagai "tidak ditemukan masalah yang nyata pada data publik", bukan sebagai jaminan keamanan.
Proses pengecekan
Kami menjalankan sebelas pengecekan, seminggu sekali dan setiap kali ada perubahan pada README atau package dari sebuah listing. Setiap hasil menyertakan bukti dan link ke sumber publik asalnya, sehingga Anda bisa mengeceknya sendiri.
| Group | Check | Weight | Source | Penyebab gagal |
|---|---|---|---|---|
| Origin | Source repository | 10 | GitHub | package tanpa repository yang terhubung, atau repository yang tidak bisa kami akses |
| Origin | Package names the same repository | 5 | npm, PyPI | metadata package mengarah ke repository yang berbeda |
| Origin | Build provenance | 10 | Sigstore attestations on npm and PyPI | hanya dihitung jika ada attestation; jika tidak ada, tidak dianggap sebagai temuan |
| Origin | License | 5 | GitHub, SPDX | tidak ada license, atau license yang tidak disetujui oleh OSI |
| Practices | Maintenance | 5 | GitHub | tidak ada commit dan tidak ada release dalam 365 hari terakhir |
| Practices | OpenSSF Scorecard | 15 | OpenSSF | skor di bawah 7 dari 10 akan mendapatkan bobot secara proporsional sesuai skornya |
| Supply chain | Package name | 10 | daftar package populer kami | nama yang hanya berbeda satu atau dua huruf dari package populer milik pemilik lain |
| Supply chain | Advisories | 15 | deps.dev, OSV | adanya advisory kritis pada package atau pada dependency apa pun yang terselesaikan di versi tersebut |
| Tool safety | Hidden instructions | 15 | tool descriptions, README | teks yang ditujukan untuk model ("ignore previous instructions", blok <IMPORTANT>), Unicode yang tidak terlihat, atau deskripsi tool yang mengarah ke file seperti ~/.ssh |
| Tool safety | Destructive tools | 5 | tool annotations | tool dengan nama seperti delete_*, drop_* atau exec* tanpa anotasi destructiveHint |
| Endpoint | MCP handshake | 5 | request langsung dari kami | remote endpoint menggunakan plain HTTP, atau yang tidak merespons initialize |
Cara perhitungan skor
Sebuah pengecekan hanya akan dihitung jika kami memiliki datanya. Hosted server tidak memiliki package, sehingga pengecekan package, provenance, dan advisory tidak berlaku untuknya; repository yang belum dianalisis oleh Scorecard juga tidak memiliki hasil Scorecard. Pengecekan yang dilewati (skipped) tidak akan mengurangi total skor, jadi sebuah server tidak akan mendapatkan nilai rendah karena sesuatu yang tidak dapat kami periksa.
Skor dihitung berdasarkan bobot dari pengecekan yang berhasil (passed), dibandingkan dengan total bobot dari seluruh pengecekan yang kami jalankan. Untuk mendapatkan status Verified, sebuah server harus memenuhi syarat:
- skor 80 atau lebih,
- tidak ada temuan serius (nama package, plain HTTP, instruksi tersembunyi, atau advisory kritis),
- setidaknya 60 dari 100 poin yang diperiksa terpenuhi, sehingga listing dengan data yang hampir tidak ada tidak bisa lolos secara otomatis,
- memiliki public source repository yang telah lolos pengecekan.
Setiap halaman server mencantumkan setiap pengecekan beserta hasilnya, buktinya (evidence), tanggal pengecekan dilakukan, dan jika dilaporkan oleh Scorecard, commit yang dijelaskannya. Kami menyimpan sepuluh hasil terakhir untuk setiap server.
Apa yang tidak dijelaskan di sini
Proses pengecekan ini hanya membaca data publik dan melakukan satu kali handshake request ke endpoint remote. Proses ini tidak mengeksekusi kode dari sebuah server atau mengaudit logikanya. Sebuah server bisa saja lolos semua pengecekan namun tetap melakukan sesuatu yang tidak Anda inginkan, dan server yang dibangun dengan baik pun bisa saja tidak memenuhi standar karena data yang kami butuhkan tidak dipublikasikan. Server resmi dari vendor produk tersebut biasanya merupakan indikator kepercayaan yang lebih baik daripada tanda ini.
Sebelum Anda menginstall server lokal, ingatlah bahwa server tersebut berjalan dengan izin (permissions) user Anda. Bacalah source code-nya, prioritaskan server yang dipublikasikan oleh perusahaan pemilik produk tersebut, dan berikan setiap server token dengan akses paling terbatas yang mereka butuhkan. Panduan keamanan MCP kami membahas hal ini secara lebih mendalam.
Ada masalah?
Jika pengecekan kami menandai server Anda karena kesalahan, silakan klaim listing Anda dan beri tahu kami, atau kirim email ke legal@hostedmcp.org. Jika Anda merasa sebuah server Verified berbahaya, hubungi alamat email yang sama dan kami akan meninjaunya dalam waktu 72 jam.