Проект Verlintas/NOIR добрался до релиза 0.1.1. В репозитории 20 коммитов и три portable-архива: noir-v0.1.1-macOS-portable.zip, noir-v0.1.1-Windows-portable.zip, noir-v0.1.1-Linux-portable.zip плюс SHA256SUMS.txt. Внутри свой JRE, так что Java ставить не надо: распаковал, ткнул в Start NOIR.command, Start NOIR.bat или Start-NOIR.sh — и поехало.
Механика такая. По adb тулза читает список пакетов и их права. URL из dex выдёргивает прямо на телефоне через unzip + strings — обратно на компьютер уходят килобайты, а не целый APK. Дальше разбирает бинарный AndroidManifest.xml: ищет экспортированные компоненты без permission, cleartext-трафик, backup, debuggable, targetSdk. Отдельно ловит общие UID вроде android.uid.system и показывает, какие пакеты сидят на одном наборе прав. Риск-скор считает по вендору и категории — телеметрия, реклама, локация, клавиатуры. Права переводит в человеческое: «может достать локацию/контакты/микрофон», и пары «данные → домен» сводит в одну таблицу.
Первый запуск — мастер на два-три y/n. Он проверит adb (noir doctor выдаёт примерно такое: platform Mac OS X aarch64 java 17.0.19 adb Version 37.0.1-15733141 device 178b0d2f), предложит скачать недостающее в ~/.noir/tools, подождёт устройство до 180 секунд. Потом спросит про «эти 19 безопасных действий» — и на y выполнит их, записав файл откатa. Команда deep тянет один APK локально и через jadx ищет Runtime.exec, setApplicationEnabledSetting, DexClassLoader, MediaProjection.
Системные дашборды приватности давно показывают, кто просил камеру. Они не показывают, куда уходят данные. Вот эта связка «право → конкретный домен» и есть ниша NOIR. Наша оценка: это не замена настройкам Android, а инструмент для тех, кто ставит APK со стороны и хочет понимать, что подписал.
Для пользователя выигрыш простой: один прогон перед установкой сомнительной сборки, без root, без отправки отчёта наружу — README прямо обещает «не, не загружает ничего». Деньги: ноль. Но риск-скор — эвристика по имени пакета и домену. Она ошибается в обе стороны, и я бы не удалял приложение только потому, что цифра красная.
Кто проигрывает? Пожалуй, никто всерьёз. Инструмент локальный, в массы не пойдёт, а телеметрии от его существования не убудет. Мы считаем, что главная ценность тут не в скоринге, а в манифест-слое и откате: именно этого не хватает ручному разбору через aapt.
Точность неизвестна. В README нет ни одного замера ложных срабатываний, нет и опубликованной формулы риск-скора — только список факторов. Непонятно, ловит ли strings адреса, которые собираются в рантайме (Remote Config, OkHttp-интерцепторы). 20 коммитов — проект очень молодой, стороннего аудита кода не было. И да, «19 безопасных действий» стоит прочитать глазами до нажатия y.
y на 19 автоматических действий в инструменте, у которого 20 коммитов и нет внешней проверки кода?Прогноз: в течение квартала у проекта появится либо публичное описание методики скоринга, либо issue-тред с разбором ложных срабатываний. Это первый вопрос, который задают любому аудитору приватности.
Источник: GitHub / Verlintas/NOIR
Источник: github.com · пост в Telegram