Comments 76
Разработчики исправили некоторые ошибки, обнаруженные ИИ-агентом Google, но назвали найденные таким способом уязвимости «CVE-slop», в частности первых 10–20 кадров Rebel Assault 2, игры 1995 года.
Я, быть может, слишком глуп, но что значит эта фраза?
галлюцинация...
Разработчики исправили некоторые ошибки, обнаруженные ИИ-агентом Google
Погодите, если найденные ошибки - галлюцинации, то и исправлять то было бы нечего. А они исправили. Т.е. ошибки то были реальны, термин "слоп" неверен.
А ты прикинь что тебе от ии агентов в день приходит по 100 репортов и их все надо тщательно проверить... И за бесплатно
Я исключительно про размывания смысла термина. Если баг реальный, он воспроизводится - это не "слоп", это реальный баг. А уж как он найден, ИИ-шкой, реальными людьми или какой-нибудь тупой утилиткой типа манкитестера - не важно)
По второму же вопросу - ну так если люди что-то делают бесплатно, то они могут позволить себе любой уровень качества, любые процессы и т.п. В том числе игнорировать источники, из которых приходят фиговые багрепорты) Я просто против размывания смысла слов, в долгосрочной перспективе это всем потом мешает.
Может ошибка есть, но её критичность около нулевая - например она в случае декодирования проприетарного формата, который в могиле уже 20 лет, и при этом максимум что может произойти - несоответствие содержимого входного и выходного файла.
CVE-слоп - у вас есть баг в пакете который расшифровывает пакеты 30летней игры, дайте деняк, а фиксить не будем.
ЗЫ: И часто сгенеренные ИИшкой, так что там даже людей в фоне нет, делающих денег.
галлюцинация- пришивание к фразе про разработчиков оконцовки после слов "в частности". разрабы назвали найденные уязвимости ...., в частности,... и вот ту должен быть какой-пример этой "слопной" ошибки, а тут- "десять кадров из игры". Если Вы мне объясните, каким образом кадры из игры 1995 года могут быть уязвимостью- я соглашусь с Вами, что галлюцинации к сабжевой фразе не имеют отношения.
У нас тут AI-slop жалуется на AI-slop
Это когда хабраредакторы в слепую перепечатывают друг у друга без понимания того набора букв, который они перепечатывают.
В указанной игре есть файлы (наверное с анимациями) и там был какой-то хак чтобы эмулировать размытие как у открытой диафрагмы камеры. И этот хак юзался только в первых кадрах этой самой анимации. Вот в кодеке и пофиксили баг, связанный с этим эффектом.
это значит что ошибки были настолько специфические, редкие или не критические, что в реальном мире их триггернуть очень сложно, поэтому это не обычное cve, а cve slop.
упомянутый баг хорошо демонстрирует что они имеют в виду:
This is another post-processing codec: it sums the r/g/b componentes of the 4 surrounding pixels, and uses the 15bit-rgb value as an index into a second table to find a matching pixel.It is only used in the first 10-20 frames of the Rebel Assault 2 LxXRETRY.SAN files to slightly blur the outline of the "opening aperture" effect.
Видимо, что речь об уязвимости по типу анекдота про вид из окна на баню. Теоретически - уязвимость. Практически - труднодоступная, нетривиальная и требующая очень старого ПО, а значит, де-факто таковой не являющаяся.
Если уязвимый кодек предназначен для старого формата, который практически не используется, то это тоже может быть проблемой, если сейчас найдётся приложение, которое его станет воспроизводить. И не имеет значения, что формат древний, неэффективный, нигде больше не используется — если с его помощью можно сделать вредоносный файл, который пользователь, не ожидая подвоха, откроет, то это может быть такая же проблема, как и уязвимость в кодеке для работы с современными форматами.
Раньше хорошо оформленные патчи были признаком чего-то важного, чему стоит уделить время. Сейчас оформление ни о чем не говорит, уровень опасности может быть выставлен в "средний", а при этом содержимое может исправлять уязвимость в никому ненужном кодеке из игры 1995 года.
То есть благодаря ИИ теперь куча хорошо оформленных патчей, которые надо анализировать и тратить время, которые могут исправлять фигню никому не нужную.
При этом ещё с сама уязвимость может быть галлюцинацией ИИ, когда на самом деле проблема не существует в принципе
Так и есть. Мы в компании натравили ИИ на один из проектов, в котором он нашел 12 уязвимостей, из них 2 оказались реальными, 10 мы закрыли как несуществующие
2 оказались реальными, 10 мы закрыли как несуществующие
Лучше б @pvs-studio натравили...
Ну лучше сделать, как этот клоун, автор курла, который забанил вообще возможность репорта, когда его проект оказался дырявым. При этом с невинным видом вопрошая "а где же вы видите непофикшенные баги", удалив в том же коммите ссылки на known bugs и блокируя всех, кто спорит. И ведь хватает наглости смеяться над вайбкодингом при этом. Отвратительное лицемерие.
Луддитская манера считать багрепорты от ИИ хуже, чем "настоящие". Хотя уже был красноречивый пример с линуксоидом, который тоже долго ломался, а потом 50 штук серьёзных багов нашлось и внезапно передумал. Все они лицемеры робофобские.
В сколько таких китайцев точно так же нагло скопировали, но вообще никуда не выложили исходники?
Слово китайцев тут лишнее. Я сомневаюсь что есть любой более-менее крупный продукт где что-нибудь не скопировали.
Но обычно никто не парится вырезанием копирайтов и лицензий, да и копипастой тоже. Используют как есть. Это ведь ещё при апдейтах исходной либы придётся по новой всё перебивать...
Зависимость по исходникам имеет смысл. Можно вкомпилить к себе в проект код.
Как это технически сделано по сути не важно.
Зависимость по исходникам (а не в виде линковки) в случае LGPL чревата 'заражением' этой самой лицензией.
И всем пофиг. Такой код есть во всех или в почти всех крупных проектах. Это ровно то с чего я начал.
И всем пофиг.
Ну не совсем всем. У нас, помнится через Black Duck код пропускали и оно вполне верещало, когда находило что-то похожее на 'заразный' код. После чего заставляли исправлять, чтобы 'очевидно, что оттуда взято' не было.
У нас инструмент производит анализ пакетов, их лицензий и оценку рисков, но как правило это сводится к "если этот инструмент внутренний, то всем похеру"
И это на самом деле пофиг, потому что для собственного использования *GPL ничего не запрещают. Вся их вирусность включается в момент, когда программой может пользоваться кто-то посторонний.
А потом внешний проект заиспользовал классную фичу из внутреннего. Фича вообще не имеет отношения к делу, но зависит от GPL кода.
В бизнесе код перетекает между проектами. И часто никто не обращает внимания что именно заиспользовали. Лежит в приватном репозитории, вопросов ни у кого нет. Значит можно использовать.
А потом "внезапно" прилетает иск... А если не прилетает - так потому, что конкретно этот бизнес еще не дорос до состояния, когда цена иска превысит себестоимость процесса.
Иск от кого и за что? Код закрыт, нет ни одного законного метода подать этот иск и предоставить доказательства. Недопустимые доказательства и все такое. А за адвокатов платить кто будет? Адвокаты нужны очень дорогие для такой штуки.
Разный код это одна из важных причин почему нельзя выкладывать в опенсорс любой устаревший проект. Даже если на нем и производных проектах денег зарабатывать никто не планирует. Выложишь и получишь кучу проблем за просто так.
Код закрыт, нет ни одного законного метода подать этот иск и предоставить доказательства.
Есть ) Но дорого.
Недопустимые доказательства и все такое.
Это немного о другом и в другом типе процесса. А применительно к гражданскому процессу - законом определенные средства доказывания для данных обстоятельств дела не установлены (это как раз про допустимость доказательств - если бы они были, то только эти средства и можно было бы применять). Ну а у судебной экспертизы (а она в любом случае понадобится, т.к. на досудебную можно смело класть болт при возражении ответчика) - законный приоритет над лицензионным соглашением. Правда, бесплатно её никто делать не будет, разумеется, и оплатит заинтересованная сторона.
Плюс еще отсутствие в гражданском процессе презумпции невиновности. А иногда - и вообще вина не требуется для наступления ответственности, ну или по крайней мере для применения последствий нарушения прав. Следствие - все стороны должны доказывать обстоятельства, на которые они ссылаются, в том числе и ответчик. И если он не сможет предъявить сорсы, из которых это соберётся - ну считай не доказал, что он это не спёр.
И интеллектуальная собственность - как минимум тот случай, когда последствия наступают даже при отсутствии вины.
Мне сама идея иска "я тут украл исходники и вот они кажется что-то там нарушают" кажется дикой. Ты уже украл, кажется не бизнес судить надо.
Бизнес сделает честные лаза мол ничего не знаю. И появится тикеты на переписать код и засудить того кто украл так чтобы он под мост жить пошел.
Исходники нельзя украсть. Можно получить к ним неавторизованный доступ...
Впрочем, иск к бизнесу разумеется строится так, чтобы тот сам доказывал, что он ничего нелегально не заимствовал. Это не уголовный, а гражданский процесс - в нём, напоминаю, презумпции невиновности нет.
Ну а если уж получили доступ к исходникам - будет проще пробиться через слои обфускации, чтобы найти за что зацепиться. А после этого - уже ответчик будет доказывать, что он не верблюд.
Да, это всё жутко дорого - и не только на юристов, но и на экспертизы, затраты.
Но не невозможно.
Путин: мы у них цап-царап новые технологии!
Самое смешное, что достаточно было просто корректно указать лицензию и авторство. Но, видимо, решили, что прокатит
Нет, не достаточно: у FFmpeg и rockchip-mpp несовместимые лицензии (LGPL и Apache).
FFmpeg тут максимально терпеливые. Обычно такие истории заканчиваются DMCA сильно быстрее, без двух лет переписки и уговоров
Ну, то есть, мне теперь для сервера нового ядра не собрать, потому что исходники для ядра от Rockchip заблокированы по жалобе FFmpeg на не такую лицензию.
Свободное программное обеспечение, говорили они.
Свободное — программное обеспечение, а не его пользователь.
Mpp, который прикрыли - не часть ядра, а просто библиотека, которая нужна только если вам на сервере нужен транскодинг видео.
Я вот не 100% уверен - но вроде как в Rockchip оно встроено "в железе", и у ядра к нему драйвер, примерно как dev/crypt к sha256
Но это неточно
А так-то собрать тот же ffmpeg из исходников ffmpeg религия не запрещает...
Вендорское ядро рокчипа с драйверами лежит в другой репе, с которой всё ок. Mpp - это userspace библиотека которая обеспечивает высокоуровневую работу с драйверами ядра.
Прикол в том, что версия ffmpeg, которая использует аппаратные кодеки rockchip, тоже завязана на библиотеку mpp
Нужно понимать что свободное != бесплатное и бесхозное. Нельзя просто так брать и использовать чужой код, даже под свободными лицензиями.
А ffmpeg подключен не напрямую, а скопирован текстом... Потому что FFmpeg не справился с написанием CMakeLists.txt
FFmpeg не справился с написанием CMakeLists.txt
Тем не менее, pkg-config файлы для libav-семейства можно в любом дистрибутиве Linux, какие могут быть проблемы? Есть готовый cmake_pkg_config, если же у вас древний CMake - ну что поделать, запускайте pkg-config вручную и выковыривайте оттуда.
Да и вообще, странно требовать от внешней зависимости, как она должна собираться...
Там нет всего ffmpeg. Там только код необходимый для паркинга битстрима некоторых форматов
Ну допустим, а копирайты тоже по этой же причине вычищены?
А знаете, забавно DMCA наезды от команды FFMPEG видеть, ибо они сами не уверены что что либо не нарушают:
Вопрос: Использует ли FFmpeg запатентованные алгоритмы?
Ответ: Мы не знаем, мы не юристы, поэтому мы не квалифицированы, чтобы ответить на это. Кроме того, мы никогда не читали патенты на реализацию какой-либо части FFmpeg, поэтому даже если бы мы были квалифицированы, мы не могли бы ответить на них, так как не знаем, что запатентовано. Кроме того, простое количество патентов на программное обеспечение делает невозможным их все, поэтому никто (юрисист или нет) не может ответить на такой вопрос определенным "нет", те, кто лжет. Что мы знаем, так это то, что различные стандарты, поддерживаемые FFmpeg, содержат расплывчатые намеки на то, что любая соответствующая реализация может подлежать некоторым патентным правам в некоторых юрисдикциях, примеры таких заявлений:
Вопрос: Вполне нормально ли включить все ядро FFmpeg в мой собственный коммерческий продукт?
Ответ: У вас здесь может быть проблема. Были случаи, когда компании использовали FFmpeg в своих продуктах. Эти компании выяснили, что как только вы начнете пытаться заработать деньги на запатентованных технологиях, владельцы патентов придут за своими лицензионными сборами. Примечательно, что MPEG LA бдительно и старательно собирает технологии, связанные с MPEG.
Имхо с учетом этой «жижи» сам FFMPEG должен распространяться под «паблик домеин» со словами «юзайте на свой страх и риск, мы хз».
все-таки патенты на программы более эфемерная вещь, чем авторская право.
Ну да, ну да, навесил GNU GPL на что угодно, и «освободил», это другое))
Не совсем так, но тут оговорка про "в зависимости от юрисдикции".
Т.е. не во всех юрисдикциях программные патенты работают так, как в США, и в таких юрисдикциях на алгоритмические патенты можно забить. В то время как авторское право работает и там, и там, причём примерно одинаково (с конца прошлого века).
удалил оригинальные уведомления об авторских правах, ложно заявил о своем авторстве и распространил код под разрешительной лицензией Apache, а не под оригинальной LGPL
Это просто какой-то праздник. Не могу вообразить, какая им при этом выгода, с одной стороны, с другой стороны, зачем вообще тогда было выкладывать???
Тоже не понимаю, зачем удалять инфу об авторстве и лицензии.
А выложили потому что это такая подачка openSource сообществу и любителям одноплатников.
Если ты производитель конечных устройств, то они дают доступ к своему закрытому репозиторию на китайских серверах
Кто-то внутри компании так нагонял количество строк для KPI. Где ревью слабое, вполне прокатывает для нагона KPI.
Из каждой щели слышны стоны, что весь софт анально огорожен, закрыт, обфусцирован, и власти крутят гайки против открытости. Типа "как хорошо, чтобы всё было открытым". Дальше эти же крикуны требуют запретить и не пущать, сами же кусают тех, кто публикует говнокод из корпоративных глубин. Говнокод писал дядюшка Ляо, который в сортах лицензий не разбирается, ему надо было количество строк для KPI - он нагнал их копипастой из опенсорса, "все равно же в опенсорс и публиковать". Компания не будет переписывать это несвежее, потому что дорого, и официальная реакция будет только одна... После таких прецедентов вам будут давать бинари, зашифрованные и многократно обфусцированные, и жрите чё дали, раз занимаетесь юридическим троллингом фактически благотворительности.
Так что в следующий раз, когда задаетесь вопросом, почему многие продукты не хотят открывать кодовую базу - вспоминайте этот и сходные прецеденты. В корпоративном коде всегда авгиевы конюшни, всегда, без исключений. Лицензионный аудит крупного продукта, и последующее причесывание стоит десятки, если не сотни миллионов вечнозеленых, и несколько лет работы. Без него найдется жук, который непременно побежит в суд, чтобы заработать пару шекелей на вас, или хайпануть. Никто тратить такие ресурсы впустую не будет - проще все спрятать, огородить, и сидеть молчать.

Разработчики FFmpeg добились блокировки репозитория Rockchip на GitHub по DMCA