You too can run malware from NPM (I mean without consequences)
running-qix-malware
Репозиторий демонстрирует работу вируса QIX (1989) в эмуляторе DOS.
- Собранный DOS-бинарь запускается в браузере через эмулятор.
- Исходники на ассемблере и C, скрипты сборки.
- Инфицирует .COM-файлы, показывает бегущую линию.
- Безопасен: эмуляция изолирует вредоносный код.
Комментарии (101)
- Участники вспомнили про инцидент Jia Tan и пожаловались, что npm до сих пор не автоматически блокирует публикации с обфусцированным кодом и шестнадцатеричными именами.
- Предложены меры: предпубликационный сканер с «задержкой на проверку», 2FA-апрув каждого релиза, опциональный «verified»-бейдж и поддержка Yubikey.
- Сомнения в пользе LavaMoat: не спасает от DLL в lifecycle-скриптах, не работает с Webpack HMR, а изоляция может быть дорогой.
- Обсуждали lock-файлы: хэши в package-lock защищают от перезаписи версии, но теги git всё ещё можно подменить; иммутабельность npm-тарболлов считается основной защитой.
- Namespaces (@scope) в npm есть с 2016 г., но «красивые» безскоповые имена всё ещё популярны, поэтому переход идёт медленно.
Acronis True Image costs performance when not used
Acronis True Image замедляет ПК даже без запуска
Поставил Acronis True Image для миграции на новый SSD, оставил «на всякий случай». Через два года заметил: при подключении/отключении внешнего монитора Explorer.exe жрёт 44 с CPU за 16 с реального времени, ПК тормозит.
ETW-трейс показал, что 20 из 42 тыс. сэмплов уходят на windows.storage.dll!CFSFolder::_GetOverlayInfo, а дальше — в tishell64_26_0_39450.dll. Библиотека вызывает CreateToolhelp32Snapshot и Process32NextW, перебирая процессы. В Visual Studio поставил условную точку останова на CreateToolhelp32Snapshot с ограничением в 1 млрд срабатываний: за 15 с она сработала 1 200 000 раз — ≈80 000 вызовов в секунду.
DLL принадлежит Acronis и внедряет оверлей-иконки в Проводник. При любом изменении конфигурации экрана (подключение монитора, смена DPI) она перечитывает список процессов, чтобы понять, какие иконки рисовать. Это и есть причина подвисаний.
Что делать
- Удалить Acronis True Image или отключить его расширение оболочки.
- Acronis уже выпустил временный патч и обещает исправить в следующей версии.
Итог: даже «ничего не делающая» утилита может легко превратиться в тормоз.
Комментарии (30)
- Пользователи удивлены, что проприетарная компания добровольно отдала отладочные символы DLL по запросу техподдержки.
- Предполагают, что отключение монитора сбрасывает кэш иконок Windows и вызывает проблему через сторонний обработчик.
- Файлы Acronis выглядят подозрительно: отсутствуют базовые метаданные, что напоминает вредоносное ПО.
- Множество участников жалуются на глючность Acronis: слетают лицензии, портят резервные копии, конфликтуют с аудио-драйверами.
- Альтернативы: Veeam (бесплатный и лёгкий), Macrium Reflect, Clonezilla.
- На Windows «тысяча мелких порезов» от стороннего софта; на Linux проще отлаживать, но проблемы тоже есть.
Inside OS/2 (1987)
OS/2: ядро и сервисы
OS/2 — многозадачная ОС для 286/386, API-ориентированная, расширяемая. Архитектура: ядро, Windows Presentation Manager, LAN Manager. Достаточно ядра для многозадачности; WPM и LAN не обязательны.
SDK
Поставляется с оптимизирующим С-компилятором, макро-ассемблером, линковщиком, отладчиком CodeView, редактором. Документация по вызовам и драйверам.
Планировщик
Превентивный, вытесняющий: по таймеру ядро перехватывает CPU и переключает задачи. Приоритеты + кванты времени; при переключении сохраняются регистры и режимы.
Динамические библиотеки
API реализован в DLL; адреса 32-битные, параметры через стек. Экономия диска и RAM: код загружается и разделяется между процессами. Ошибки в DLL исправляются без пересборки приложений. Повторный запуск той же программы переиспользует код, выделяя только данные/стек/кучу.
Режимы процессора
- Protected: многозадачность, изоляция процессов.
- Real: совместимость с MS-DOS, прямой доступ ко всей памяти.
Комментарии (48)
- OS/2 2.1 умело загружаться и многозадачно работать даже с одной 1,44 МБ дискеты без GUI, чем восхищались участники.
- Обсуждали преимущества вытесняющей многозадачности OS/2 над кооперативной Windows 3.x и особенности Pascal-calling convention, экономившей 3 байта и такты на вызов.
- Вспомнили, что ранний OS/2 создавался совместно IBM и Microsoft, но к 1990 г. Microsoft переключилась на Windows NT, а IBM осталась с OS/2.
- Отметили долгие годы работы OS/2 в терминалах MetroCard нью-йоркского метро и вспомнили SOM как более продвинутую альтернативу COM.