Да, это плохо. Я видел дискуссии, в которых злоумышленники быстро спрашивали о журналах консоли устройств. Используя строки из этих журналов, они могут быстро выполнять поиск исполняемого двоичного кода для похожих строк, например строку формата, используемую для части записи журнала. Пример:
NSLog(@"user entered password '%@'", passwordString)
Поиск строки формата, они могут быстро найти ту часть кода, которая фактически использует эту строку, и, таким образом, они нашли часть кода, который обрабатывает пароли. Затем они могут проанализировать соответствующий код, чтобы вообще обойти пароль или делать то, что они хотят.
Даже если устройство долго не содержит много данных консоли, все, что может понадобиться злоумышленнику, это подключить украденное устройство к компьютеру, запустить приложение и ввести случайный пароль. Если приложение регистрирует пароль (правильный или неправильный), то необходимые строки все еще захватываются и начинается атака.
Конечно, если строка журнала все еще находится в данных консоли устройства, злоумышленник также получает фактический пароль для фактического пользователя. И если этот пользователь повторно использует имена пользователей и пароли (как это делают многие люди), злоумышленник может теперь иметь учетные данные на других учетных записях пользователя в Интернете, что может быть более чувствительным.
Многие обсуждения по программированию советуют не использовать NSLog напрямую и рекомендовать использовать макрос, как DEBUGLOG, который будет компилировать сборки релиза. Если это используется для отладки, приложение не оставляет таких подсказок для использования злоумышленником.
Можно просмотреть выход NSLog из Xcode. Даже в сборке. Window> устройства. Это плохо, поскольку телефоны можно украсть! – Eyeball
(Да, это была довольно серьезная ошибка с вашей стороны, в зависимости от того, насколько критичен этот пароль.) –
Это очень плохая практика. Не используйте NSLogs для отладки. Используйте точки останова, которые выводятся на консоль или, что еще лучше, отслеживание активности. –