Возврат к списку

Вот так сюрприз: в самом копируемом фрагменте Java-кода нашли ошибку

16.12.2019     

Сайт StackOverflow – популярная система вопросов и ответов о программировании. На этом ресурсе можно найти (или хотя бы попробовать!) решение практически любой проблемы. Но не все советы коллег одинаково полезны: в самом цитируемом куске кода на Java, представленном на StackOverflow, обнаружили серьезный баг.

Кто создал самый цитируемый фрагмент Java-кода

В сентябре 2010 года Андреас Лундблад опубликовал Java-сниппет в ответ на вопрос другого пользователя на StackOverflow. Сниппет преобразовывал большие количества байт в формат, удобный для чтения людьми: к примеру, 123 456 789 байт в 123,5 МБ.

 

 

Сегодня Лундблад – один из самых известных Java-разработчиков в мире и авторитетный представитель сообщества StackOverflow. Лундблад работает в компании Palantir, основанной выходцами из PayPal. Компания разрабатывает софт для хедж-фондов, инвестиционных банков и спецслужб по всему миру.

В чем проблема

Сниппет Лундблада назвали самым цитируемым в научной статье, опубликованной в 2018 году. Эксперты подсчитали, что его используют в 6 тыс. Java-проектов, размещенных на GitHub. Это далеко не все проекты – есть и другие хостинги, к тому же не все разработчики выкладывают свой код в открытый доступ.

Баг в коде нашел сам Лундблад. Он рассказал, что заметил проблему, когда вчитался в текст упомянутой научной статьи. Разработчик обнаружил, что с самого начала неправильно преобразовывал число байт. Из-за этого проекты, которые используют его сниппет, могли работать неправильно.

Лундблад подчеркнул: баг был тривиальным, и действительно странно, что девять лет на него никто не обращал внимания. Но последствия ошибки невелики – пользователи могли заметить небольшие неточности при определении размеров файлов, но, скорее всего списывали их на погрешности округления.

Гораздо хуже было, если бы в коде нашли проблему с безопасностью, добавил Лундблад. Вполне возможно, что в такой ситуации разработчикам понадобились бы годы, чтобы исправить свои проекты и закрыть уязвимости.

Что делать

Лундблад уже подготовил исправленную версию сниппета и отредактировал свой ответ. В новом коде количество байт определяется корректно. Если вы тоже использовали этот сниппет – замените код в проекте на новую версию. Это избавит от возможных неточностей.

Лундблад напомнил: часто код со StackOverflow и других сайтов копируют без указания авторства. Когда в таких фрагментах находят баги, то разработчики, внедрившие код таким образом, могут и не узнать об этом. А значит, их проекты продолжат существовать с ошибками.

А как у других

Осенью 2019 года специалисты по информационной безопасности проанализировали, как часто разработчики используют опасно уязвимые фрагменты кода на С++ со StackOverflow. Они выполнили поиск по 69 таким кускам кода и нашли 2859 проектов, которые их использовали в течение последних 10 лет. Естественно, на самом деле и уязвимых фрагментов, и проектов, в которых они используются, гораздо больше.

Автор:
Ксения Шестакова Обозреватель


Комментарии
Избранное Подписка Сортировка: Древо
1. protexprotex 123 16.12.19 17:18 Сейчас в теме
Они еще в 1С не лазили :-)
sogesti; FesenkoA; DrAku1a; Aggressorak; frkbvfnjh; Boyborodin; hydro2588_2015; rusmil; for_sale; ProgrammistC; +10 Ответить
2. Поручик 4362 17.12.19 11:07 Сейчас в теме
Если у кого-то возникла проблема с безопасностью или взломали, то поделом. Нехера бездумно копипастить всякое дерьмо с сети.
3. DrAku1a 1310 19.12.19 17:55 Сейчас в теме
(2) Конкретно в данном коде нет опасных участков, ошибка чисто техническая.
Оставьте свое сообщение

См. также

Чипы Intel Cascade Lake Refresh станут ответом на 7-нм AMD EPYC

Новость Intel Микропроцессоры

Intel намерен обновить свои серверные процессоры Xeon Scalable второго поколения, стремясь оказать давление на конкурента в сфере многоядерных процессоров AMD EPYC. Этот шаг может уменьшить текущую нехватку чипов на рынке.

20.02.2020    705    SKravchenko    4       

Google запретит небезопасные скачивания в Chrome

Новость Google Веб Интернет

Google будет бороться с потенциально небезопасной загрузкой файлов в браузере Chrome. Разработчики опубликовали планы по постепенному блокированию небезопасных загрузок по HTTP, начатых на защищенных HTTPS-страницах.

20.02.2020    601    user1015646    11       

Ubuntu побил Windows 10 в тесте на производительность

Новость Windows Linux

Основатель Phoronix Media и главный разработчик Phoronix Test Suite Майкл Ларабел протестировал производительность двух операционных систем – Windows 10 и предстоящего дистрибутива Ubuntu 20.04 LTS Linux на ноутбуке за 199 долларов.

19.02.2020    1353    SKravchenko    28       

Минкомсвязь разрешит Apple и Samsung разблокировать технологию Wi-Fi 6

Новость Apple Гаджеты Минкомсвязь

В России скоро может появиться возможность сертифицировать устройства с поддержкой Wi-Fi 6. Новая технология будет разблокирована на смартфонах Apple, Samsung и Huawei.

18.02.2020    965    VKuser24342747    1       

На заводе телеграфных аппаратов в Калуге запустят производство смартфонов

Новость Гаджеты Импортозамещение

В марте 2020 года на Калужском заводе телеграфных аппаратов начнется серийный выпуск защищенных российских смартфонов и планшетов MIG S6 и MIG T8X.

17.02.2020    1028    AnastasiaKl    11       

Кто выиграет и проиграет когда Google откажется от сторонних cookies

Новость Google Веб Интернет

Google заявил, что к 2022 году Chrome перестанет принимать сторонние cookie-файлы. Попробуем выяснить, кому и чем это грозит.

17.02.2020    912    SKravchenko    0       

Больше возможностей: представлен релиз ядра Linux 5.5

Новость Linux

Cоздатель операционной системы – Линус Торвальдс традиционно представил важное обновление ядра Linux 5.5. Работа над изменениями заняла у команды около двух месяцев.

05.02.2020    2315    user1015646    7       

Робот-бухгалтер сэкономил российской компании 50 млн рублей за год

Новость Бухучет Робототехника

В среде программистов ходит шутка о том, что в будущем целые ведомства заменит один небольшой скрипт. В «Билайне» сделали важный шаг в этом направлении: робот-бухгалтер RobBee сократил годовые расходы компании на 50 млн рублей и уже окупился.

31.01.2020    3590    user1015646    42       

Текст, написанный ИИ, впервые защитили авторским правом

Новость Развлечения, искусство, спорт Искусственный интеллект

Суд в китайском Шэньчжэне защитил авторским правом статью, созданную с помощью искусственного интеллекта. Это первый судебный прецедент, который позволяет расценивать ИИ как творческую силу. 

30.01.2020    1370    SKravchenko    6       

На рынок вышел смартфон без операционной системы

Новость Linux Гаджеты

Компания Pine Microsystems представила новый смартфон PinePhone Braveheart Edition. Устройство продается без операционной системы – установить один из дистрибутовов Linux придется самостоятельно.

28.01.2020    3077    user1015646    27       

PlayStation 5: новый логотип – новые функции

Новость Видеоигры

На пресс-конференции Sony, в рамках выставки CES 2020, компания представила логотип новой игровой консоли PlayStation 5, выпуск которой запланирован на 2020 год.

24.01.2020    1964    SKravchenko    3       

Рейтинг языков программирования TIOBE назвал самый популярный язык 2019 года

Новость Рейтинг Языки программирования

Первым, по версии составителей рейтинга TIOBE, ожидаемо стала Java, а второе место неожиданно досталось C. Серебряный призер рейтинга обогнал Python – лидера 2007, 2010 и 2018 годов. 

21.01.2020    2930    user1015646    26       

Доступно для всех: вышло приложение GitHub для Android

Новость GitHub Мобильные приложения

Крупнейший на планете хостинг репозиториев GitHub представил официальное приложение для Android. Ссылки на загрузку бета-версии получили пользователи, которые заранее оставили заявки на GitHub. 

21.01.2020    1783    user1015646    3       

Большие перемены: Google откажется от приложений для Chrome и сторонних cookies

Новость Google Интернет

Google рассказал о двух крупных изменениях в своей политике: компания перестанет поддерживать сторонние cookies в браузере Chrome и откажется от приложений для него. 

20.01.2020    2392    user1015646    1       

В России появится «медицинский» ИИ на отечественных нейропроцессорах 

Новость Искусственный интеллект Медицина Нейросети

Российские разработчики создадут программно-аппаратную базу для системы искусственного интеллекта, которую планируется использовать в медицине. Для ее создания задействуют отечественные нейропроцессоры.

17.01.2020    2221    user1015646    3       

Amazon представила библиотеку для создания приложений с применением ИИ

Новость Amazon Искусственный интеллект

Чтобы создать приложение с помощью ИИ, разработчику достаточно написать всего три строки кода. 

16.01.2020    2122    AnastasiaKl    7       

Microsoft предложила купить новый ПК вместо обновления старого до Windows 10

Новость Microsoft

Поддержка Windows 7 прекращается 14 января. Microsoft напоминает пользователям, что их устройство может не поддерживать «десятку», и рекомендует вместо обновления купить новый компьютер. 

14.01.2020    2478    VKuser24342747    20       

Российский программист создал сервис, который может продолжить любую историю за рассказчика

Новость Искусственный интеллект Маск Нейросети

Разработчик Михаил Гранкин создал сервис «Порфирьевич», который умеет дописывать тексты на русском языке. Гранкин взял за основу нейросеть GPT-2 компании OpenAI. Один из основателей компании – Илон Маск, создатель Tesla и SpaceX. 

09.01.2020    9772    user1015646    15       

Apple отключила чип для Bluetooth в российских iPhone 11 из-за запрета Роскомнадзора

Новость Apple Роскомнадзор

Apple попросила Роскомнадзор выдать лицензию на частоты, необходимые для использования новой технологии беспроводной передачи данных. Из-за отказа ведомства компания отключила в России чип, необходимый для этой функции. 

24.12.2019    3074    VKuser24342747    38       

Система госзакупок засбоила после перехода на свободное ПО

Новость Госзакупки Мобильные приложения Тендер

Модуль в системе госзакупок, который отвечает за взаимодействие с электронными площадками и внешними решениями, решили перевести на ПО с открытым исходным кодом. В результате перехода система больше суток работала со сбоями.

23.12.2019    2047    user1015646    6       

Путин подписал указ о переводе российских больниц на электронный документооборот

Новость Здравоохранение, медицина, стоматология Путин Цифровая экономика

Президент России Владимир Путин утвердил несколько поручений, направленных на цифровизацию здравоохранения. Среди них – внедрение электронного документооборота в больницах страны. 

19.12.2019    2853    user1015646    8       

Экспертный совет: «Яндекс» значительно обновил поисковую систему

Новость Интернет Яндекс

«Яндекс» представил обновление «Вега» для своей системы поиска. В сервисе появилось более 1500 нововведений и улучшений. Главная особенность – функция экспертного поиска. 

19.12.2019    2246    VKuser24342747    4       

ИИ от Amazon освободит врачей от бумажной работы и поможет пациенту прочесть рецепты

Новость Amazon Искусственный интеллект Нейросети

Разработчики представили нейросеть Transcribe Medical. Она слушает беседу врача и пациента и помогает вести медицинские записи.

19.12.2019    1969    user1015646    1       

Russian AI Cup 2019: стартовал чемпионат Mail.Ru Group по программированию искусственного интеллекта

Новость Искусственный интеллект Нейросети

Участвовать в Russian AI Cup 2019 могли все желающие – от студентов профильных вузов и фанатов передовых технологий до профессиональных разработчиков.

17.12.2019    2639    user1015646    14       

Команда из России превратила Python-хакатон в свой мастер-класс

Новость Языки программирования

В Бахрейне прошел ИТ-марафон GeoHack-2019. Команды должны были создать нейронные сети для обработки данных с месторождений нефти.

13.12.2019    2654    user1015646    3