Представьте, что в 2000-е Билл Гейтс заявляет: Microsoft будет удалять приложения из вашей любимой Windows XP, потому что ими пользуетесь только вы и ваш друг Петя. Пользуйтесь популярными приложениями. Также Microsoft рассылала бы требования каталогам программ, чтобы те навсегда удаляли из своих списков игры и софт, которые компания не одобряет. Звучит как дичь? Но задумайтесь: смартфоны по популярности стали сегодняшними компьютерами. Google с осени планирует ужесточить положение сторонних магазинов и тоже может начать вычищать некачественные и непопулярные программы.
$ kimi web
unknown command 'web'. See 'kimi --help'.
я фанат командной строки, но для агентских задач бывает не очень удобно.
Агентские UI-ки в виде десктопных приложений и VS Code расширений для меня тоже менее удобны, чем веб версии. Веб-версии обеспечивают универсальность, а TUI или расширения для IDE всегда упираются в какие то ограничения, неудобство и непродуманность интерфейсов.
Я никогда не утверждал, что “все программы хорошие, а bash плохой”. Речь идет не о моральной оценке инструментов, а о векторе атаки. Если разработчик выпустил вредоносный бинарник, он одинаков для всех. Его найдут, зафиксируют хеш, внесут в базы антивирусов, и сообщество поднимет шум. Если же сервер отдает разный код через pipe в зависимости от IP или User-Agent, то атаку подвергается только конкретная жертва. Для всего остального мира софт остается “чистым”. Это идеальный инструмент для скрытого внедрения бэкдоров в системы конкретных компаний или людей.
Я подозреваю, что исчезающе малая часть пользователей вообще знает про контрольные суммы и программы для их проверки.
Безопасность системы не должна базироваться на надежде, что пользователь окажется достаточно бдительным. Она должна быть заложена в архитектуру процесса. Существуют пакетные менеджеры (APT, DNF, pacman, Nix, Homebrew и т.п.), которые объединяют и удобство обновлений, и проверку подписей, и контроль зависимостей. wget | bash - это не “путь к удобству”, это попытка сократить путь в обход всех стандартов безопасности, которые создавались десятилетиями именно для того, чтобы пользователь мог нажать “обновить” и не стать частью ботнета или вымогателя, который зашифрует или удалит все данные с диска.
Не подпали под ограничения? Похоже, гендиректор “Билайна” не в курсе, как работает его собственный интернет. Вы серьезно хотите нас убедить, что тысячи случайных иностранных сайтов, форумов и инструментов, которые никогда не были в списках РКН, внезапно “решили” заблокировать доступ именно для россиян? Все прекрасно видят механику с обрывом соединения на 16-м килобайте. Это тотальная фильтрация по белым спискам, которая душит весь зарубежный интернет по всей России, а не только “избранные” сервисы вроде Netflix.
Офлайн-режим - это база, но давайте честно: часто нас раздражает даже не закрытие серверов, а то, во что разработчики превращают игру перед этим. Когда из проекта вырезают любимые карты или перекручивают баланс до неузнаваемости, игра умирает еще до того, как отключают серверы.
Кто еще чувствует эту несправедливость? Мы хотим владеть игрой как законченным произведением искусства, а получаем пластилин, который авторы лепят как хотят, даже если это портит весь опыт. Нужно бороться не только за доступ, но и за сохранность оригинального контента
У меня сейчас практически такая же ситуация, только это не вторичный рынок. Я заказал RTX 5090 на Wildberries, где продавец позиционировал её как совершенно новую карту, а не б/у.
Самое страшное не в самом факте мошенничества, а в том, как ведет себя маркетплейс. Карта не заработала сразу. Я оформил возврат в день покупки. Продавец отклонил заявку, сославшись на необходимость проверки в сервисном центре, и перестал отвечать в чате. По пунктам:
Карта не заработала с первого дня. Создал заявку на возврат.
Продавец отклонил её через пару дней шаблонным ответом: “Идите в СЦ, подтверждайте брак”. При этом в чате продавец полностью игнорирует сообщения.
Я оспорил решение через поддержку WB. Ответ маркетплейса: “Мы всё проверили и согласны с продавцом, возврат отклонен”
Далее, я самостоятельно обратился в независимый сервисный центр (позже юрист мне объяснил, что это не нужно было делать, тогда я просто хотел вернуть деньги и думал, что это поможет). Диагноз подтвердил всё, что описано в статье: при вскрытии обнаружилось полное отсутствие графического процессора (GPU) и микросхем видеопамяти на плате. Буквально “пустышка”.
Отдельно хочу предостеречь всех от покупки дорогого железа на WB из-за их катастрофических бизнес-процессов:
В заявках и чатах нельзя прикрепить более 5 фото. Отчёт СЦ больше, а PDF-файлы ограничены 5 МБ. Zip-архивы запрещены. То есть предоставить полноценные доказательства мошенничества технически почти невозможно.
Данные продавца (включая ИНН) являются китайскими и вызывают серьезные сомнения, в китайском интернете не находится ничего по этим данным.
В чатах отвечают люди со случайными именами, которые меняются после каждого сообщения. Официальная почта sales@wildberries.ru отвечает отписками, что ваш запрос “не является официальным, мы отвечаем только на официальные запросы…”, а человек который отвечает даже не удосуживается подписаться по имени.
Функция “Задать вопрос” на WB в отличие от других маркеплейсов работает как черная дыра - продавец сам решает, публиковать ли ваш вопрос. Это позволяет мошенникам зачищать любые предупреждения от других покупателей. Большинство продавцов просто не будут публиковать ваш вопрос никогда.
Wildberries в данном случае, фактически встал на сторону мошенника, создав все условия для того, чтобы покупатель остался с дорогим “кирпичом” . До этого у меня был опыт возвратов в том числе дорогой техники со всех популярных маркетплейсов и онлайн магазинов и никто никогда не вёл себя так по хамски как Wildberries. Возвращал без проблем дорогую технику с браком. Когда продавец подставляет покупателя, нормальная платформа сама защищает покупателей. Так должно быть. Собственно ради этого маркетплейсы люди и используют, а WB просто предоставляет площадку для обмана, забирая свою комиссию и умывая руки.
Тот факт, что риск можно купировать с помощью песочницы, не делает сам метод доставки кода безопасным по определению.
Главный риск здесь даже не в отсутствии песочницы, а в отсутствии неизменяемого артефакта. При скачивании бинарника у меня есть файл > хеш > возможность аудита. При pipe в bash я исполняю то, что сервер решил прислать мне именно в эту миллисекунду. Даже если я запущу это в контейнере, я все равно исполняю “черный ящик”, который может вести себя по-разному при каждом перезапуске. подробнее уже писал ниже, чтобы я не повторялся, можете прочитать
Они сначала не спрашивают, но обычно предупреждают: имейте в виду, что если вы продолжите пополнять счёт, банк может запросить подтверждение источника дохода. У меня так было. Я ответил: “Без проблем, запрашивайте”. Но до этого не дошло.
Вы смешиваете психологию пользователя и техническую безопасность метода. По логике “всё равно никто не проверяет”, можно вообще перестать подписывать пакеты цифровой подписью или перестать использовать HTTPS, ведь обычный пользователь не проверяет цепочки сертификатов в браузере.
При make install или запуске локального файла пользователь запускает статичный объект. Если завтра этот софт признают вредоносным, у пользователя остался артефакт (файл), который можно отправить в вирусный анализ или сравнить с версией из репозитория.
pipe в bash - это запуск динамического потока. Сервер может отдавать разный код в зависимости от вашего IP, User-Agent или времени суток. Это позволяет реализовать таргетную атаку: 99% пользователей получат чистый установщик, а один конкретный администратор с определенным IP - бэкдор. В этом случае никакой “цифровой гигиены” не поможет, потому что код, который был исполнен, никогда не существовал в публичном репозитории и не сохранился на диске.
Аргумент “пользователи всё равно не проверяют” в безопасности не работает. Это как сказать, что подушки безопасности в авто бесполезны, потому что большинство водителей не читают инструкцию к ним. Инструмент должен быть безопасен по определению, а не полагаться на внезапную бдительность юзера.
Что касается контейнеризации - это не “мода”, а банальный принцип изоляции. Если однокнопочный скрипт окажется вредоносным и попытается снести систему через rm -rf / или переписать /etc/shadow, контейнер ограничит его влияние только своей средой, а запуск напрямую в ОС - нет. Удобство установки не должно идти в ущерб базовой безопасности системы.
Проблема “pipe в bash” не в том, что это “сложнее”, а в том, что это исключает возможность аудита кода перед запуском. Это, фактически, передача управления удаленному серверу в реальном времени. Сервер может отдать разный код в зависимости от вашего IP, User-Agent или времени суток. Это “черный ящик”, где между скачиванием и исполнением нет ни одной точки контроля.
С make install всё иначе: код локален. Можно проверить хеши скачанных файлов, открыть Makefile в текстовом редакторе перед запуском.
Что касается контейнеров, это не про “моду”, а про изоляцию. Чтобы какая-нибудь зависимость из сомнительного скрипта не затерла системные конфиги или не притащила в систему мусор, который потом придется вычищать вручную. Это вопрос гигиены системы, а не “девопсовства”.
Это может быть нормальным для Quick Start в тестовой среде, чтобы быстро проверить “взлетит или нет”. Но важно разделять PoC и полноценную установку. Для основной системы или продакшена пайп в bash - это недопустимый риск. Инструмент, который должен работать долго и надежно, ставится через репозиторий или пакеты, а не через слепой запуск скрипта из сети. Если пакетов нет, любую программу можно опакетить самому или контейнеризировать.
Это вопрос доверия к софту, которым вы пользуетесь. Если вы ему не доверяете, используйте песочницу. Сегодня хорошей практикой является запуск сервисов в контейнерах. А для пущей изоляции - чтобы процессы в контейнере не могли использовать zero-day эксплойты ядра - можно использовать gVisor.
Да, причём даже несмотря на то, что в компаниях часто используют свои локальные зеркала для этих пакетов. Компании нужно постоянно держать эти зеркала обновлёнными, либо обеспечивать им постоянный доступ к GitHub и другим официальным репозиториям пакетов для зеркалирования в реальном времени.
С точки зрения налогового права США (правила IRS), России (ФНС) и большинства других стран, сам по себе факт восстановления доступа к утерянному кошельку, подбор сид-фразы или ключа не является налогооблагаемым событием.
Покупка криптовалюты за фиатные деньги не создает налогооблагаемого дохода.
В глазах налоговых органов эти 5 BTC все это время принадлежали вам. Восстановление доступа — это просто техническое действие, а не получение нового дохода.
Налог на прирост капитала (Capital Gains Tax) возникнет только тогда, когда вы решите продать, обменять на другую крипту или потратить эти монеты. Вашей стоимостью приобретения (cost basis) будет цена BTC на момент покупки в 2014 году. Вся остальная сумма прибыли при продаже будет облагаться по долгосрочной ставке.
GrapheneOS не даёт свободу. Они запрещают админские (root) права, Это как вендор-лок, только на GrapheneOS.
Представьте, что в 2000-е Билл Гейтс заявляет: Microsoft будет удалять приложения из вашей любимой Windows XP, потому что ими пользуетесь только вы и ваш друг Петя. Пользуйтесь популярными приложениями.
Также Microsoft рассылала бы требования каталогам программ, чтобы те навсегда удаляли из своих списков игры и софт, которые компания не одобряет.
Звучит как дичь? Но задумайтесь: смартфоны по популярности стали сегодняшними компьютерами. Google с осени планирует ужесточить положение сторонних магазинов и тоже может начать вычищать некачественные и непопулярные программы.
Жаль web версии нет.
я фанат командной строки, но для агентских задач бывает не очень удобно.
Агентские UI-ки в виде десктопных приложений и VS Code расширений для меня тоже менее удобны, чем веб версии. Веб-версии обеспечивают универсальность, а TUI или расширения для IDE всегда упираются в какие то ограничения, неудобство и непродуманность интерфейсов.
Я никогда не утверждал, что “все программы хорошие, а bash плохой”. Речь идет не о моральной оценке инструментов, а о векторе атаки. Если разработчик выпустил вредоносный бинарник, он одинаков для всех. Его найдут, зафиксируют хеш, внесут в базы антивирусов, и сообщество поднимет шум. Если же сервер отдает разный код через pipe в зависимости от IP или User-Agent, то атаку подвергается только конкретная жертва. Для всего остального мира софт остается “чистым”. Это идеальный инструмент для скрытого внедрения бэкдоров в системы конкретных компаний или людей.
Безопасность системы не должна базироваться на надежде, что пользователь окажется достаточно бдительным. Она должна быть заложена в архитектуру процесса. Существуют пакетные менеджеры (APT, DNF, pacman, Nix, Homebrew и т.п.), которые объединяют и удобство обновлений, и проверку подписей, и контроль зависимостей. wget | bash - это не “путь к удобству”, это попытка сократить путь в обход всех стандартов безопасности, которые создавались десятилетиями именно для того, чтобы пользователь мог нажать “обновить” и не стать частью ботнета или вымогателя, который зашифрует или удалит все данные с диска.
Не подпали под ограничения? Похоже, гендиректор “Билайна” не в курсе, как работает его собственный интернет. Вы серьезно хотите нас убедить, что тысячи случайных иностранных сайтов, форумов и инструментов, которые никогда не были в списках РКН, внезапно “решили” заблокировать доступ именно для россиян? Все прекрасно видят механику с обрывом соединения на 16-м килобайте. Это тотальная фильтрация по белым спискам, которая душит весь зарубежный интернет по всей России, а не только “избранные” сервисы вроде Netflix.
Скажите это игрокам самых популярных игр на планете.
Офлайн-режим - это база, но давайте честно: часто нас раздражает даже не закрытие серверов, а то, во что разработчики превращают игру перед этим. Когда из проекта вырезают любимые карты или перекручивают баланс до неузнаваемости, игра умирает еще до того, как отключают серверы.
Кто еще чувствует эту несправедливость? Мы хотим владеть игрой как законченным произведением искусства, а получаем пластилин, который авторы лепят как хотят, даже если это портит весь опыт. Нужно бороться не только за доступ, но и за сохранность оригинального контента
В корпоративной разработке зеркалируют артефакты с дополнительным сканированием их на безопасность.
Но да, чтобы зеркалирование работало, нужен тоже доступ к оригинальному источнику.
Опасность не только во “вторичке”. Вторичка иногда даже больше доверия вызывает… Я тут написал отдельный коммент.
Бред, я даже сегодня заказываю редкие вещи на eBay у продавцов с хорошей репутацией, посредник просто фотографирует и проверяет и мне отправляет.
У меня сейчас практически такая же ситуация, только это не вторичный рынок. Я заказал RTX 5090 на Wildberries, где продавец позиционировал её как совершенно новую карту, а не б/у.
Самое страшное не в самом факте мошенничества, а в том, как ведет себя маркетплейс. Карта не заработала сразу. Я оформил возврат в день покупки. Продавец отклонил заявку, сославшись на необходимость проверки в сервисном центре, и перестал отвечать в чате. По пунктам:
Карта не заработала с первого дня. Создал заявку на возврат.
Продавец отклонил её через пару дней шаблонным ответом: “Идите в СЦ, подтверждайте брак”. При этом в чате продавец полностью игнорирует сообщения.
Я оспорил решение через поддержку WB. Ответ маркетплейса: “Мы всё проверили и согласны с продавцом, возврат отклонен”
Далее, я самостоятельно обратился в независимый сервисный центр (позже юрист мне объяснил, что это не нужно было делать, тогда я просто хотел вернуть деньги и думал, что это поможет). Диагноз подтвердил всё, что описано в статье: при вскрытии обнаружилось полное отсутствие графического процессора (GPU) и микросхем видеопамяти на плате. Буквально “пустышка”.
Отдельно хочу предостеречь всех от покупки дорогого железа на WB из-за их катастрофических бизнес-процессов:
В заявках и чатах нельзя прикрепить более 5 фото. Отчёт СЦ больше, а PDF-файлы ограничены 5 МБ. Zip-архивы запрещены. То есть предоставить полноценные доказательства мошенничества технически почти невозможно.
Данные продавца (включая ИНН) являются китайскими и вызывают серьезные сомнения, в китайском интернете не находится ничего по этим данным.
В чатах отвечают люди со случайными именами, которые меняются после каждого сообщения. Официальная почта sales@wildberries.ru отвечает отписками, что ваш запрос “не является официальным, мы отвечаем только на официальные запросы…”, а человек который отвечает даже не удосуживается подписаться по имени.
Функция “Задать вопрос” на WB в отличие от других маркеплейсов работает как черная дыра - продавец сам решает, публиковать ли ваш вопрос. Это позволяет мошенникам зачищать любые предупреждения от других покупателей. Большинство продавцов просто не будут публиковать ваш вопрос никогда.
Wildberries в данном случае, фактически встал на сторону мошенника, создав все условия для того, чтобы покупатель остался с дорогим “кирпичом” . До этого у меня был опыт возвратов в том числе дорогой техники со всех популярных маркетплейсов и онлайн магазинов и никто никогда не вёл себя так по хамски как Wildberries. Возвращал без проблем дорогую технику с браком. Когда продавец подставляет покупателя, нормальная платформа сама защищает покупателей. Так должно быть. Собственно ради этого маркетплейсы люди и используют, а WB просто предоставляет площадку для обмана, забирая свою комиссию и умывая руки.
Тот факт, что риск можно купировать с помощью песочницы, не делает сам метод доставки кода безопасным по определению.
Главный риск здесь даже не в отсутствии песочницы, а в отсутствии неизменяемого артефакта. При скачивании бинарника у меня есть файл > хеш > возможность аудита. При
pipe в bashя исполняю то, что сервер решил прислать мне именно в эту миллисекунду. Даже если я запущу это в контейнере, я все равно исполняю “черный ящик”, который может вести себя по-разному при каждом перезапуске. подробнее уже писал ниже, чтобы я не повторялся, можете прочитатьОни сначала не спрашивают, но обычно предупреждают: имейте в виду, что если вы продолжите пополнять счёт, банк может запросить подтверждение источника дохода. У меня так было. Я ответил: “Без проблем, запрашивайте”. Но до этого не дошло.
Вы смешиваете психологию пользователя и техническую безопасность метода. По логике “всё равно никто не проверяет”, можно вообще перестать подписывать пакеты цифровой подписью или перестать использовать HTTPS, ведь обычный пользователь не проверяет цепочки сертификатов в браузере.
При make install или запуске локального файла пользователь запускает статичный объект. Если завтра этот софт признают вредоносным, у пользователя остался артефакт (файл), который можно отправить в вирусный анализ или сравнить с версией из репозитория.
pipe в bash - это запуск динамического потока. Сервер может отдавать разный код в зависимости от вашего IP, User-Agent или времени суток. Это позволяет реализовать таргетную атаку: 99% пользователей получат чистый установщик, а один конкретный администратор с определенным IP - бэкдор. В этом случае никакой “цифровой гигиены” не поможет, потому что код, который был исполнен, никогда не существовал в публичном репозитории и не сохранился на диске.
Аргумент “пользователи всё равно не проверяют” в безопасности не работает. Это как сказать, что подушки безопасности в авто бесполезны, потому что большинство водителей не читают инструкцию к ним. Инструмент должен быть безопасен по определению, а не полагаться на внезапную бдительность юзера.
Что касается контейнеризации - это не “мода”, а банальный принцип изоляции. Если однокнопочный скрипт окажется вредоносным и попытается снести систему через
rm -rf /или переписать/etc/shadow, контейнер ограничит его влияние только своей средой, а запуск напрямую в ОС - нет. Удобство установки не должно идти в ущерб базовой безопасности системы.Проблема “pipe в bash” не в том, что это “сложнее”, а в том, что это исключает возможность аудита кода перед запуском. Это, фактически, передача управления удаленному серверу в реальном времени. Сервер может отдать разный код в зависимости от вашего IP, User-Agent или времени суток. Это “черный ящик”, где между скачиванием и исполнением нет ни одной точки контроля.
С make install всё иначе: код локален. Можно проверить хеши скачанных файлов, открыть Makefile в текстовом редакторе перед запуском.
Что касается контейнеров, это не про “моду”, а про изоляцию. Чтобы какая-нибудь зависимость из сомнительного скрипта не затерла системные конфиги или не притащила в систему мусор, который потом придется вычищать вручную. Это вопрос гигиены системы, а не “девопсовства”.
Это может быть нормальным для Quick Start в тестовой среде, чтобы быстро проверить “взлетит или нет”. Но важно разделять PoC и полноценную установку. Для основной системы или продакшена пайп в bash - это недопустимый риск. Инструмент, который должен работать долго и надежно, ставится через репозиторий или пакеты, а не через слепой запуск скрипта из сети. Если пакетов нет, любую программу можно опакетить самому или контейнеризировать.
Это вопрос доверия к софту, которым вы пользуетесь. Если вы ему не доверяете, используйте песочницу. Сегодня хорошей практикой является запуск сервисов в контейнерах. А для пущей изоляции - чтобы процессы в контейнере не могли использовать zero-day эксплойты ядра - можно использовать gVisor.
и FSearch, если Linux
Да, причём даже несмотря на то, что в компаниях часто используют свои локальные зеркала для этих пакетов. Компании нужно постоянно держать эти зеркала обновлёнными, либо обеспечивать им постоянный доступ к GitHub и другим официальным репозиториям пакетов для зеркалирования в реальном времени.
Вот что Google на эту тему пишет:
В США это обычная ежегодная процедура. Просто укажет, как есть.