Блог з безпеки FireAI

Автор FireAI Security & Research Team · Опубліковано

Моніторинг мережевих з’єднань Cursor на Mac: безпека агентів ШІ

Моніторинг мережевих з’єднань Cursor на Mac: безпека агентів ШІ

Cursor — редактор коду зі ШІ, розроблений Anysphere, Inc. Окрім доповнення коду, його агент може виконувати команди shell у терміналі, а редактор підтримує відкриті з’єднання з бекендом Cursor для запитів, оновлень і маркетплейсу розширень. Ця стаття підсумовує, що Cursor документує про свої режими виконання, пісочницю macOS і хости, які використовує, а потім показує, як стежити за з’єднаннями редактора за допомогою FireAI.

Що таке Cursor

Сторінка безпеки Cursor описує продукт як редактор коду зі ШІ й зазначає, що застосунок надсилає запити до бекенд-доменів Cursor для роботи API, оновлень і маркетплейсу. Вона також документує Privacy Mode, що забороняє навчати моделі на ваших даних і доступний у безкоштовних і платних планах. Privacy Mode — це політика щодо того, як Cursor поводиться з отриманими даними. Він не змінює того, до яких хостів підключається редактор.

Що може робити агент і як це контролюється

Документація Cursor зазначає, що агент виконує команди shell у терміналі, а поведінку визначають налаштування Run Mode. Є три режими:

  • Auto-review виконує відомі безпечні виклики, за можливості ізолює команди shell у пісочниці, а все інше віддає на перевірку класифікатору.
  • Allowlist виконує лише довірені, заздалегідь схвалені дії.
  • Run Everything виконує всі команди без запитів, і документація вважає цей варіант найризикованішим.

На macOS, за документацією, Cursor ізолює команди за допомогою Seatbelt і sandbox-exec, обмежуючи доступ до файлів, мережеві з’єднання та поведінку процесів у всьому дереві підпроцесів. Для цього потрібен Cursor v2.0 або новіший, і в настільних встановленнях додаткове налаштування не потрібне. Мережа всередині пісочниці обмежується доменами зі списку дозволених у sandbox.json, коли використовується лише цей файл, а за замовчуванням цей список поєднується із вбудованими доменами Cursor для менеджерів пакетів та інструментів розробки.

Пісочниця такого типу обмежує команди, які запускає агент. Сам редактор, що спілкується із серверами Cursor, працює поза цією межею, тож його власні з’єднання видно лише на рівні мережі.

Хости, які документує Cursor

Сторінка мережевої конфігурації Cursor перелічує домени, які використовує редактор. Задокументовані постачальником:

Джерело: документація Cursor, мережева конфігурація. Cursor зазначає, що за замовчуванням використовує двонаправлений потоковий обмін HTTP/2 із резервним варіантом HTTP/1.1 Server-Sent Events, а також TLS 1.2 або новішу версію для всіх з’єднань.
ХостЗадокументоване призначення
api2.cursor.shБільшість запитів API
api5.cursor.sh і піддомени агента, як-от agent.api5.cursor.shЗапити агента Cursor
Шлюзи api3.cursor.sh, api4.cursor.sh і *.gcpp.cursor.shЗапити Cursor Tab (лише HTTP/2)
repo42.cursor.shПошук у кодовій базі (лише HTTP/2)
authenticate.cursor.sh, authenticator.cursor.shКінцева точка авторизації та вебпредставлення входу
marketplace.cursorapi.com, cursor-cdn.com, downloads.cursor.comМаркетплейс і оновлення

Оскільки Cursor документує стабільний набір власних доменів, з’єднання редактора з хостом поза цим набором, а також поза менеджерами пакетів і сайтами, з якими ви працюєте, — саме та подія, що заслуговує на другий погляд. Сама по собі вона не є доказом проблеми: розширення, сервери MCP і схвалені вами команди мають власні адреси.

Чому мережевий огляд усе одно корисний

Режими виконання визначають, що може робити агент. Вони не дають журналу того, куди потім підключався комп’ютер. Наприклад, у режимі Run Everything запитів немає взагалі, і тоді дивитися слід саме на мережу. Див. також супровідні статті про Claude Code і Windsurf, що стосуються схожих інструментів.

Спостереження за Cursor за допомогою FireAI

FireAI — фаєрвол для macOS від HisnLabs, і починаючи з версії 1.0.2 він має функцію «Профіль агента». Вона розпізнає 19 агентів ШІ, вивчає, куди кожен зазвичай підключається, і позначає незвичну поведінку для вашого перегляду. Cursor розпізнається за підписом коду.

Cursor — один із трьох агентів, яких FireAI звіряє з підписом коду розробника, тож збіг означає більше, ніж просто назву.

FireAI також розпізнає дочірні процеси агента, наприклад shell, git чи curl, які запускає агент, піднімаючись ланцюжком батьківських процесів, доки не дійде до агента. Тому ці з’єднання зараховуються самому агенту.

Що позначає FireAI

  1. Перші 3 дні FireAI вивчає адреси, з якими агент зазвичай зв’язується, групуючи їх за доменом. У цей період навчання нічого не позначається.
  2. Після цього перша за весь час адреса поза вивченою базовою лінією позначається для перегляду.
  3. Сплеск вивантаження теж позначається: година, за яку агент надіслав щонайменше вчетверо більше, ніж за свою найактивнішу годину досі, і ніколи не менше ніж 25 MB.

«Профіль агента» використовує лише метадані, тобто імена хостів і кількість байтів. FireAI ніколи не читає вмісту з’єднання і не може зазирнути всередину зашифрованого.

Налаштування для Cursor

  1. Установіть FireAI і завершіть налаштування, а потім продовжуйте користуватися Cursor як зазвичай. Триденний період навчання починається з того, що бачить FireAI.
  2. Відкрийте «Пропозиції» й подивіться на картку «Агенти ШІ». У ній перелічено агентів, яких FireAI розпізнав, і те, що він дізнався про кожного.
  3. Коли Cursor звертається до адреси, з якою ніколи не зв’язувався, позначка з’являється в картці «Агенти ШІ» та у «Швидкому перегляді». Проведіть ліворуч, щоб заблокувати, або праворуч, щоб вибрати «It’s fine».
  4. «Заблокувати» створює правило для процесу, який підключився. «It’s fine» додає адресу до базової лінії агента, щоб її більше не позначали.
  5. Якщо ви хочете обмежити агента місцями, якими він уже користується, виберіть «Профіль агента» в меню режимів безпеки поряд із «Дім», «Кав’ярня», «Параноя» та «Під атакою». Щойно агент завершить навчання, з’єднання з адресою поза його базовою лінією блокується замість позначення.
  6. Заблокована адреса відображається в картці «Агенти ШІ» з кнопками «Дозволити» та «Залишити заблокованим». «Дозволити» додає її до базової лінії, і агент одразу може до неї звернутися. «Залишити заблокованим» створює правило блокування, тож адреса залишається заблокованою в усіх режимах.

Обмеження

  • FireAI не запобігає prompt injection. Запит, прихований на вебсторінці чи у файлі, усе одно може скерувати агента. FireAI може позначити шлях, яким дані залишали б ваш Mac, і дати змогу його заблокувати.
  • FireAI не бачить запитів, вмісту інструментів MCP чи того, які файли читає Cursor, як-от ~/.ssh. TLS приховує вміст, а FireAI не працює всередині агента.
  • Дочірні процеси, що завершуються дуже швидко, можуть залишитися непоміченими, а дочірні процеси зіставляються за шляхом, а не за підписом.
  • Протягом триденного періоду навчання нічого не позначається.
  • У режимі «Профіль агента» з’єднання з «голою» IP-адресою без імені хоста зіставляється за адресою. Якщо сервіс, яким агент зазвичай користується, відповідає з нової адреси, її буде заблоковано, доки ви її не дозволите.
  • Пояснення позначки простими словами FireAI складає з виміряних ним фактів. Він ніколи не стверджує, що адреса безпечна чи небезпечна. Рішення за вами.

Пов’язані посібники

Той самий підхід застосовується до інших агентів, яких розпізнає FireAI: Claude Code, настільний застосунок Claude, застосунок ChatGPT для Mac, Codex CLI, OpenClaw, Hermes Agent, Gemini CLI, GitHub Copilot CLI, Amp, Qwen Code, opencode, Aider, Goose, Crush, Windsurf, Kiro, Trae, Muse від Meta, будь-який інший агент ШІ, запущений через Python чи Node. Повний опис функції наведено в документації «Профілю агента».

Яке місце тут посідають FireAI та HisnLabs

Агент Cursor може виконувати команди. FireAI показує, куди підключається ваш Mac, поки він працює.

FireAI — це власний продукт HisnLabs: ШІ-фаєрвол, який працює безпосередньо на вашому Mac. Він показує простою мовою кожне з’єднання, яке встановлюють ваші застосунки, і дає вам вирішувати, що покидає ваш Mac, — його ШІ працює локально, тож ваш трафік ніколи не надсилається ні нам, ні будь-кому іншому. Команда дослідників безпеки HisnLabs — саме вона підтримує точність цих рішень: каталогізує, які домени є звичайною телеметрією, а які — справжнім сервісом, відстежує країну та мережу за з’єднанням і навчає локальну модель (функцію FireAI Pilot) на реальних шаблонах трафіку — і нічого з цього не покидає ваш Mac.

Ви можете почитати про технічні рішення, що лежать в його основі, або спробувати FireAI протягом 17 днів на сторінці FireAI від HisnLabs.

Джерела