FZ-009 · БЕЗОПАСНОСТЬ
promptdecode
Находит невидимый текст в код-ревью, который человек-рецензент пропустил бы.
- Статус
- Альфа
- Этап конвейера
- ВАЛИДАЦИЯ
- Отрасль
- БЕЗОПАСНОСТЬ
- Цель по автономности
- УРОВЕНЬ 4 · САМООПТИМИЗАЦИЯ
- Создано на
- 3 в работе · 1 в планах
Проблема
Скрытый текст в Pull Request или issue может велеть кодовому агенту выполнить слияние, а рецензент его никогда не увидит.
Что он делает
promptdecode расшифровывает скрытый текст Unicode в вашем браузере, ничего не отправляет и показывает, что в нём сказано.
Как это работает
- Вставьте любой текст, и он покажет скрытые символы и расшифрует их сообщение
- Работает целиком в вашем браузере; ничего никуда не отправляется
- Сканер конфигурации проверяет ваши рабочие процессы GitHub на шаги с агентами, до которых может добраться недоверенный ввод
Сегодня бесплатно на promptdeco.de.
Поймайте скрытую инструкцию до того, как ваш агент по ней сработает.
СейчасДекодер сегодня работает в браузере. promptdecode-core 0.1.0 есть на crates.io; сканер и GitHub Action ещё не выпущены.
Цели
- Автономная работа
- Ревью — цель автоматизации. Кодинг-агент с токеном на запись читает pull request, который рецензент-человек уже одобрил, и они читают не один и тот же документ: символы блока тегов, переопределения bidi и селекторы вариантов отображаются как пустота, но токенизируются как обычно. Сканеры должны запускаться в CI на каждом изменении, расшифровывать найденное, а не просто помечать его, и публиковать обычный текст обратно в pull request — без модели в цикле и без утечки данных за пределы раннера.
- Интеллект
- Намеренно никаких там, где они не нужны. Оба запланированных движка детерминированные: один прослеживает недоверенный ввод рабочего процесса до шага агента с токеном на запись, другой сопоставляет именованные классы Unicode по содержимому репозитория. Детектор, которому нужна модель, чтобы решить, что подозрительно, не может сформулировать собственный охват, а охват, который можно сформулировать, и есть продукт.
- Рост
- Опора на доказательства, и потому медленнее. Процент заблокированных атак не публикуется, потому что доля обходов на уровне символов слишком сильно зависит от техники, чтобы одно число что-то значило. Публикуется детерминированное покрытие названного списка классов Unicode и полнота при заявленном уровне ложных срабатываний на названном корпусе, причём корпус и обвязка открыты. Рост — это репозитории, сканируемые в неделю, после появления Action.
Технические подробности
Находит текст, невидимый для рецензента-человека и полностью читаемый для языковой модели, и декодирует его. Скрытые инструкции в заголовке pull request, теле задачи или файле репозитория могут велеть кодинг-агенту одобрить, влить или прокомментировать, пока diff не показывает ничего необычного. Сегодня работают две части. Декодер на сайте, который читает три названных класса кодовых точек (блок тегов Unicode, управляющие символы и переопределения bidi, селекторы вариантов), восстанавливает закодированную в них нагрузку и работает целиком в браузере читателя, ничего никуда не отправляя. И сканер конфигурации, который прослеживает недоверенный ввод рабочего процесса до шага агента с токеном на запись и запускается из исходников, релиза пока нет. Остальное спроектировано, но не написано: движок содержимого, декодирующий нагрузки по всему репозиторию, сканер для командной строки, GitHub Action и открытый бенчмарк. Если класса нет в опубликованном списке, он не обнаруживается; список и есть заявление.
Связанное
Из той же основы.
- Owlpost. API для почты для приложений и AI-агентов с собственными ящиками.
- Colonizer. Превращает GitHub issues в Pull Requests для разработчиков на их собственной машине.
- Cratefield. Бэкенд для разработчиков, которые предпочитают компилировать, а не настраивать.
- Keep Shipping. Workflow деплоя для инженеров, один типизированный файл на репозиторий.