Ivan's work&life thoughts
581 subscribers
369 photos
8 videos
3 files
108 links
Попытка забложить
@jnovikov
Download Telegram
Тут на днях опубликовали интересную уязвимость.

Уязвимость качается стандартной утилиты для создания скриншотов на Google Pixel.

А именно: если вы кропнули скриншот (обрезали его) и отправили другу, то друг с большой вероятностью сможет восстановить полный скриншот.
В некоторых источниках пишут что также можно восстановить изображение, если вы замазали части изображение в этой же утилите.

https://andreapavone.com/2023/03/cve-2023-21036-acropalypse/

И как это обычно бывает, бага это очень детская.
А именно отсутствие O_TRUNC при открытии файла на запись.

Утилита напрямую переписывала исходный файл и не очищала его. Тем самым обрезанное изображение писалось в начало файла, и так как обрезанное изображение занимает меньше байт, то в файле все ещё оставились данные исходного изображения, которые лежали в файле ровно после конца нового изображения.

Причем т.к. в PNG есть маркер конца изображения, то при просмотре такого скриншота он будет выглядеть как ожидается и на глаз такую проблему не заметить.

В общем-то, грустная история о том, почему баги на клиентских приложениях это очень страшно, особенно если это может повлиять на privacy.

Ну, и мораль: лучше тестируйте код. Сейчас кажется очевидно, что надо было бы добавить тест вида "Размер файла поменялся после кропа."
Но скорее всего вместо него написали более функциональный "Прочитай обрезанную картинку и проверь width, height", а правильно было бы иметь оба.

PS: пишут что такое же поведение нашли у стандартной утилиты 'Ножницы' под Windows.

Microsoft 🤝 Google
👍4😱3🔥2
Тут OpenAI аннонсировали для chatGPT систему плагинов.

Штука конечно не Google-киллер, но прикольная. Но меня гораздо больше поразил способ интеграции этих плагинов.

Вы - разработчик стороннего API, в который будет ходить chatGPT. Вам нужно добавить текстовое описание своего плагина, спецификацию OpenAPI и спецификацию аутентификации. И все. ChatGPT сможет сам понять на какой промпт дергать какую ручку по описанию ручек из OpenAPI и описанию плагина, который вы ему предоставили.

https://platform.openai.com/docs/plugins/getting-started/writing-descriptions

Выглядит сильно.
12
Бесцеремонно ввожу сюда новую рубрику #двериДублина

Регулярность не обещаю.
👍177🔥3
Приехал в Ереван, а на меня какой-то мужик смотрит...
🔥2816
Everyday we stray further from god..
😱15🤯5🔥3
А мне вопросительные знаки дороже основного сюжета.
🔥316
This media is not supported in your browser
VIEW IN TELEGRAM
12👍3
За крайне короткую поездку на родину успел порубать с ребятками, чтобы вернуть топ-1 среди RU команд на ctftime.
Forwarded from Заметки Слонсера (Slonser)
Играли сегодня enowars CTF, заслуженный топ 1
Жаль, что за 7 лет проведения ивента, организаторы так и не научились делать AD...
18👍7🔥4
После имплементации дженериков (плохой кста) команде го понадобилось несколько лет чтобы вмержить Min и Max.

PS: я люблю и восхищаюсь Го, но дженерики...
👍6
#prog #go

Вышла версия Go 1.21.

В число невероятных изменений входят:

* новые встроенные функции min и max
* новая встроенная функция clear для удаления всех элементов из мапы и зануления элементов слайса (???)
* File.Chdir теперь действительно меняет текущую рабочую директорию на Windows вместо того, чтобы всегда возвращать ошибку

А ещё добавили — экспериментально! — способ сделать поведение переменных цикла более вменяемым: каждая итерация цикла создаёт новую переменную вместо переиспользования одной и той же.
2🔥2
А вот ещё интересная новость: долгое время считалось что с табличными данными ваши нейросети и трансформеры работают хуже простого советского градиентного бустинга.

Уже нет. Другой вопрос насколько это целесообразно по ресурсам, но сам факт очень занимательный.
Классический мл больше не будет прежним, или как Яндекс сами запускают вместо градиентного бустинга в каждый дом млщика –трансформер 😮

Наверняка многие экспериментировали при анализе табличных данных с помощью трансформера, а потом ходили в непонятках, почему же все таки CatBoost срабатывает лучше, так вот, теперь это в прошлом. Появился TabR (retrieval для табличных данных), который на бенчмарках бьет град бустинг (логично, иначе статьи бы не было) 🤨

Итак, поверхностно весь секрет в том, что ребята не просто натравливают retrieval, а [энкодят –> на каждую фичу подбирают ближайшего соседа по симилярити –> конкатят с исходным энкодингом –> делают предикт] (см вложения) все, расходимся, чуваки по-умному заюзали идею

Конечно, там очень много деталий в ресерче, про которые хотелось бы упомянуть. (Во вложениях таблица с каждым пунктом, и что он дал на eval)

А) В value модуль аттеншена добавили таргет labels
B) Эмперически доказали, что тут расстояние симилярити надо измерять L2 расстоянием, и отказались от query матрицы соответственно
C) вместо KNN для ближайших соседей взяли DNNR, который содержит поправочный член, которые по сути является производной
D) применили cross attention и убрали скейлинг на размерность матрицы K в формуле внимания

Метрики на бенче GBDT во вложениях

🖥 код
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM