Безпека

Безпечно за замовчуванням. Чесно про межі.

Polyth запускає агентів, які змінюють файли й виконують команди на справжніх машинах, часто поруч із чужою роботою. Кожне рішення виходить із цього: за сумніву — відмовити, у всьому ризикованому — питати людину, і ніколи не давати секрет моделі.

Три рівні. І людина для кожного ризикованого рішення.

Задайте типовий рівень для простору й проєкту і змінюйте його для окремого чату. Агенти-помічники успадковують рівень батьківського чату.

Питати

Кожен запит чекає на відповідь: один раз, для цього чату або завжди для проєкту.

Автосхвалення

Рутинна робота схвалюється автоматично. Ризиковані запити все одно чекають на людину.

Повний доступ

Виконується все, що не заблоковано явним правилом заборони. Лише за вашим вибором, після підтвердження, і позначено червоним.

На це автосхвалення не відповідає ніколи.

Такі запити приходять звичайною карткою з переліком причин і лише двома кнопками: Відхилити або Дозволити.

  • Руйнівні видалення
  • Скасування незбережених змін
  • Force-push і переписування історії
  • Підвищення прав на кшталт sudo
  • Зміни системи й пристроїв
  • Завантажене одразу в shell
  • Секрети й облікові дані
  • Вивантаження даних
  • Публікація й деплой
  • Запис поза робочим простором
  • Знищення баз даних
  • Команди, надто великі чи динамічні, щоб їх прочитати
  • Заборона завжди перемагає

    Явне правило заборони сильніше за будь-який рівень, навіть за повний доступ.

  • Без самопідвищення

    Агент може відхилити запит або вимкнути автосхвалення. Схвалення чи збільшення автономії сервер відхиляє.

  • Токени не схвалюють

    Токени командного рядка й автоматизації запускають агентів, але ніколи не відповідають на запити дозволів.

  • Захищені акаунти

    Простір із захищеним учасником ніколи не відповідає сам: щоразу вирішує людина.

Credential Vault

Агенти користуються секретами, не бачачи їх.

  1. Ви вводите його один раз

    Значення приймає захищена форма. Воно ніколи не проходить через чат чи модель.

  2. Агент отримує хендл

    Агент звертається до секрету за назвою, а не за значенням.

  3. Сервер підставляє значення

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

  • Ваші секрети — вашіСпершу беруться особисті записи людини, потім записи простору. Записи іншого учасника не використовуються ніколи.
  • Пакети відгородженіКожен пакет бачить лише власні збережені ключі, навіть якщо вгадає назву чужого.
  • Де це не дієІнтерактивні термінали, віддалені хости, вхід у браузері та власні середовища агентів не отримують значень зі сховища. Вхід на сайти завжди виконує людина.

Зачинено, доки ви не відчините.

  • Спершу лише локально

    Новий сервер слухає тільки цю машину. Щоб опублікувати його, потрібен HTTPS-проксі, який ви явно вказуєте; заголовки переадресації від будь-кого іншого ігноруються.

  • Власник із першої хвилини

    Налаштування вимагає одноразового токена, який друкує сервер, створює акаунт власника й видає коди відновлення.

  • Телефони без відкритих портів

    Polyth Link з'єднує телефон через автентифікований зашифрований QUIC-тунель. Під'єднання — через QR-код, пошук поблизу або шестизначний код.

  • Пристрої без доступу

    Під'єднаний пристрій нічого не може, доки власник не надасть йому доступ, і цей доступ можна відкликати будь-коли.

  • Сесії під вашим контролем

    Кількість спроб входу обмежено, а із запам'ятаних пристроїв можна вийти віддалено.

  • Секрети не на виду

    Секрети й приватні ключі ніколи не потрапляють у відповіді налаштувань, журнали чи промпти.

Межі, які тримає сервер.

  • Простори

    Кожен запит зіставляється з простором і перевіряється на членство ще до того, як торкнутися даних. Дані зберігаються окремо для кожного простору.

  • Файли

    Доступ до файлів обмежено проєктом. Виходи за його межі через шляхи чи символьні посилання відхиляються.

  • Встановлені пакети

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

  • Процеси

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

Межі

Чого Polyth не обіцяє.

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

Повний доступ означає повний доступ. Вмикайте його в одноразових середовищах, а не на машині з єдиною копією чогось важливого.

Цей сайт

Статичний, і більше нічого.

polyth.app — це звичайні HTML, CSS і кілька рядків JavaScript з нашого власного домену. Жодних cookies, аналітики, сторонніх скриптів чи шрифтів, і політика безпеки контенту, яка не дозволяє виконуватися нічому іншому.

Повідомлення

Знайшли вразливість?

Будь ласка, не створюйте публічний issue. Повідомте приватно через вкладку Security репозиторію: що може зробити зловмисник, уражена версія й ваше розгортання, кроки для відтворення. Ми триматимемо вас у курсі й згадаємо вас у виправленні, якщо ви не проти.