Сервер MCP без автентифікації
Схвалення сервера — це не те саме, що вимога автентифікації.
Що таке Сервер MCP без автентифікації?
Сервер MCP — це мережева служба. Будь-хто, хто може до нього дістатися, може викликати його інструменти, якщо сервер не змушує того, хто викликає, довести, хто він, а схвалення за внутрішньою процедурою таким доказом не є. Ви знайдете сервер, який відповідає на публічному порту: tools/list без автентифікації показує там перелік усього, до чого сервер має доступ, зокрема інструменти фінансового сховища, які віддають імена клієнтів і суми договорів. Його зареєстрували й схвалили, а потім для пілота прив'язали до 0.0.0.0. Ви запровадите OAuth 2.1 на шлюзі й увімкнете перевірку аудиторії токена.
Що ви дізнаєтесь у Сервер MCP без автентифікації
- Розпізнавайте, що сервер MCP — це мережева служба, інструменти якої без автентифікації стають відкритим інтерфейсом RPC до всього, з чим вони з'єднані
- Усвідомлюйте, чому схвалення сервера й автентифікація сервера — окремі заходи захисту, тож сервер, який внесено до реєстру й схвалено, усе одно може обслуговувати тих, хто викликає анонімно, і проходити перевірку на відповідність правилам
- Пояснюйте, що розкриває відповідь на tools/list без автентифікації і чому виявлення в протоколі перестає бути безпечним, коли запитати може будь-хто
- Застосовуйте OAuth 2.1 як вимогу до захищеного ресурсу й перевіряйте аудиторію токена, щоб токен, виданий для іншого сервісу, відхилявся
- Розпізнавайте транспорт, прив'язаний до 0.0.0.0, як ваду розгортання, яка переживає пілот, заради якого її створено, і яку не видно в реєстрі
- Перевіряйте виправлення повторним запитом, який раніше спрацьовував, і не покладайтеся на прапорець у конфігурації, який нібито щось змінив
Сервер MCP без автентифікації — Кроки навчання
-
Хост, який не мав би відповідати
Боба цікавлять дані про виручку Sarnholt Systems: який клієнт скільки приносить і коли кожен продовжує договір. Пасивний огляд DNS-записів домену sarnholt.com виявив хост, на який не вказує жоден із опублікованих сервісів компанії.
-
Сервер сам себе представляє
Сервер MCP має повідомляти клієнтові, що він уміє. Боб ставить йому те саме запитання, яке поставив би будь-який підключений агент, і не надсилає жодних облікових даних.
-
Виклик того інструмента, що має значення
Отримати перелік інструментів — це розвідка. Викликати один із них — уже атака, і виглядає вона так само: запит JSON-RPC до того самого відкритого ендпоінта без жодних облікових даних.
-
Виручка — кожному, хто запитає
Сховище відповіло.
-
Перевірка: що саме не спрацювало
-
Його знайшов ще хтось
Аліса відповідає за роботу серверів MCP у Sarnholt: як їх розгортають, до чого вони прив'язані і що стоїть перед ними. Скринька для повідомлень про вразливості — не те місце, з якого зазвичай починається її ранок.
-
Підтвердження з власного робочого місця
Повідомлення про вразливість — лише твердження, доки його хтось не відтворить. Аліса надсилає той самий виклик виявлення, який описано в повідомленні, без жодних облікових даних.
-
Де міститься відповідь
Виправлення вносять не вручну на самому сервері. Sarnholt керує всіма серверами MCP через шлюз, де зберігаються їхні реєстрації, схвалення й політика автентифікації, і передає цю політику на кожен сервер.
-
Вхід у шлюз
У консолі шлюзу налаштовують автентифікацію серверів для всього парку.
-
Схвалений і відкритий навстіж
Консоль відповідає на запитання, яке поставило повідомлення про вразливість, і ця відповідь гірша, ніж була б у разі тіньового розгортання.
Охоплення стандартів безпеки
OWASP MCP Top 10
- MCP07:2025 Insufficient AuthN/AuthZ
CWE
- CWE-306 Missing Authentication for Critical Function
- CWE-284 Improper Access Control
CIS Controls
- CIS 16 Application Software Security
NIST CSF
- PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
- PR.PS Platform Security