На GitHub появился репозиторий arpanjot-coding/AVault — рекордер звонков для Android 12–16+ под лицензией MIT. Версия 2.0.0, отдельный APK, девять коммитов в истории. В шапке README — предупреждение капсом: только для академических, security и образовательных целей, вся ответственность на том, кто собрал и запустил.
Механика простая и от этого интересная. Root не нужен: приложение цепляется к системному telecom через Shizuku, то есть через привилегированный ADB shell и Binder IPC. Запись не падает в общую папку музыки, как это делают обычные диктофоны. Она сразу идёт в зашифрованное хранилище, ключи генерирует Keymaster внутри TEE или StrongBox, открытыми в оперативной памяти они не лежат. Плеер сделан как «zero-plaintext ephemeral»: расшифровал, проиграл, выкинул. Дальше — автоудаление по таймеру, а записи, помеченные закладкой, этот таймер переживают.
Запись звонков на Android прижали давно: с Android 10 сторонние приложения не получают аудиопоток звонка штатными API. Это общий контекст, не деталь этой новости. Отсюда и три обходных пути: accessibility, root и Shizuku. Shizuku выглядит самым аккуратным — он даёт приложению ровно те shell-права, которые пользователь выдал вручную, и не ломает систему целиком. Наша оценка: именно этот путь дальше будет расти.
Вторая часть — про то, где лежит файл. Обычный рекордер кладёт mp3 в /storage, откуда его спокойно читает любое приложение с доступом к медиа. AVault эту дыру закрывает шифрованием и TEE. Для журналиста, юриста или человека, который записывает разговор с не самым добрым контрагентом, разница принципиальная. Для остальных это скорее красивая витрина: людям нужна кнопка «записать», а не Keymaster.
Мы считаем, что главный риск здесь не в шифровании, а в Shizuku. ADB-доступ — это фактически пульт от телефона, и приложение, которое им пользуется, получает кредит доверия авансом. Девять коммитов и один автор этот кредит пока не оправдывают — его надо выдавать после чужого разбора кода. Выигрывают от такой новости Shizuku и похожие прослойки, проигрывают облачные рекордеры, которые просят загружать разговоры на сервер.
Независимого аудита нет, тестов нет, замеров нет: качество записи, расход батареи, поведение на конкретных прошивках — всё это только слова автора. Фраза «hardware-backed» верна лишь при наличии TEE или StrongBox на устройстве, а на бюджетных чипах StrongBox часто отсутствует — приложение должно как-то откатываться, и вот этот откат в README стоит поискать самому. Юридическую часть автор честно перекладывает на пользователя: где-то хватает согласия одного участника (18 U.S.C. § 2511), где-то нужны все (California Penal Code § 632, StGB § 201, GDPR Article 6). Проверять это придётся вам.
Прогноз: если в течение квартала в репозитории не появятся внешние issues с разбором шифрования и описанием фолбэка без StrongBox — считайте проект мёртвым; это проверяется по истории коммитов.
Дисклеймер: официально не подтверждено независимыми исследователями — один источник, репозиторий самого автора.
Источник: GitHub — arpanjot-coding/AVault
Источник: github.com · пост в Telegram