🚀💳 Trustee Plus - більше ніж криптогаманець з європейською платіжною карткою. Спробуй 👉
Марія БровінськаГоряченькое
18 марта 2024, 14:25
2024-03-18
«Просто вывалили какой-то код и считают, что это оупенсорс». Продолжаем собирать мнения разработчиков об открытом коде «Дії»
Минцифры открыло код «Дії». Теперь страны, интересующиеся украинским опытом цифровизации, смогут понять, как работает «Дія», импортировать код и запустить собственные государственные сервисы.
Также ИТ-специалисты смогут создать аналог «Дії» или подобное приложение, но для этого нужно будет присоединиться к публичной лицензии.
Впрочем, в сети айтовцы активно критикуют работу разработчиков государственного приложения. Но аргументы почти не приводят.
dev.ua спросил квалифицированных айтовцев, что они думают о качестве, безопасности и удобстве кода «Дії». Вот несколько мнений.
Минцифры открыло код «Дії». Теперь страны, интересующиеся украинским опытом цифровизации, смогут понять, как работает «Дія», импортировать код и запустить собственные государственные сервисы.
Также ИТ-специалисты смогут создать аналог «Дії» или подобное приложение, но для этого нужно будет присоединиться к публичной лицензии.
Впрочем, в сети айтовцы активно критикуют работу разработчиков государственного приложения. Но аргументы почти не приводят.
dev.ua спросил квалифицированных айтовцев, что они думают о качестве, безопасности и удобстве кода «Дії». Вот несколько мнений.
Если у вас есть собственное мнение о коде «Дії» и хотите поделиться своими впечатлениями, пишите нам на [email protected]. Мы добавим ваш комментарий в материал.
Владимир Селюх, Software Engineer, Team Lead of Retention in Prom.ua
К открытию кода «Дії» я отношусь отрицательно. Как специалист по анализу ПО на вероятные уязвимости, могу точно сказать — имея source code, найти уязвимости гораздо проще.
Также проще проверить эти уязвимости и попытаться нанести максимальное повреждение.
Открытие source code «Дії» позволяет проанализировать не только ее взаимодействие с открытыми псевдоанонимизированными данными, протоколом деанонимизации, а также с теми API, о которых мы раньше не знали.
Сразу после открытия iOS-проекта «Дія» бросается в глаза большой список разнообразных third-party фреймворков. Это недопустимо в плане сохранности для проектов такового характера и величины.
Через любой из этих фреймворков можно совершить «back door» и получить несанкционированный удаленный доступ, что влечет за собой похищение личных данных пользователей.
Для верстки UI-разработчики до сих пор используют Storyboard и UIKit, по меркам Apple уже устаревшие технологии. В последние годы девелоперы активно переходят на SwiftUI. SwiftUI облегчает создание сложных пользовательских интерфейсов. Предварительный просмотр в реальном времени позволяет видеть изменения сразу при внесении коррективов в код. Это делает разработку более быстрой и эффективной.
Именно в этом случае публикация кода — это требование EU для дальнейших интеграций. Но в коде очень мало комментариев, что потенциально увеличит время интеграции, ведь разработчикам придется самостоятельно разбираться в архитектуре и в целом в проекте подольше.
Разработчики «Дії» не дали доступ ко всем модулям приложения, например, к функционалу «Дія.Підпис». Это также может усложнить интеграцию для наших европейских партнеров, для которых этот код и был открыт.
Во-первых, код не полон. Многих частей системы там нет.
Во-вторых, нет вообще никакого описания системы, ее дизайна, описания связи, контрактов и прочего, что должно присутствовать с точки зрения построения архитектуры. Просто вывалили какой код и считают, что это опенсорс.
В-третьих, код тяжело читается, и это уже показатель его качества.
В-четвертых, многие вещи просто захардкожены в код.
В-пятых, нет никаких скриптов, отвечающих за деплой системы, ее поддержку. Проще говоря, девопс-часть отсутствует. Откройте любой реальный опенсорс проект и посмотрите, как выглядит он, и как выглядит это.
Дмитрий Бардай, Back-End Tech Lead Capgemini Engineering
Вряд ли можно предоставить любой содержательный комментарий о коде наскоро, но если в общем, то:
Выложившие молодцы. Это говорит об их уверенности в своем коде.
Это может помочь сделать продукт лучше, например, организовать багбаунти и сотрудничество с белыми хакерами.
Из недостатков, теряется Security by Obscurity.
В общем код — это лишь часть программного продукта. Есть еще важные аспекты — Governance и CI/CD, собирается этот код в приложения, как он распространяется, как организованы аквавы различных действий в этих процессах.
Несмотря на то, что истории комитов нет, понятно, что предварительная разработка как-то проводилась вне опубликованных репок. И как оно будет дальше — непонятно.
Если где-то у «Дії» есть частные репки, в которых идет разработка, а потом все, что сделали, просто экспортируется в гитхаб, то большой вопрос — действительно ли то, что мы видим, является тем, что мы устанавливаем на наши смартфоны?
Вячеслав Проценко, директор по управлению, разработке и внедрению программного продукта EPAM, главный консультант по вопросам технологий в государственном секторе
Важно понимать, что оценивать любой программный продукт нужно не только с позиции личных предпочтений, но и с учетом технологической составляющей. Приложение «Дія» является примером качественного мобильного приложения и соответствует международным стандартам, поэтому разработчики и предоставляют доступ к части кода, чтобы общественность могла оценить его.
Открытый код способствует привлечению внешних экспертов и конструктивной критики, что является ключевым для дальнейшего усовершенствования продукта.
Функциональность любого государственного мобильного приложения регулируется соответствующим законодательством, которое может быть сложным и непростым для навигации. Министерство цифровой трансформации уделяет большое внимание пользовательскому опыту, поэтому можно быть уверенным в хорошей функциональности «Дії».
Относительно возможных недостатков, они присущи любому программному решению, также следует учесть, что оценка кода на основе открытых источников может не отображать полную картину. Однако в контексте безопасности, особенно для главного государственного мобильного приложения в стране, переживающей кибервоенные действия, важным индикатором является количество удачных атак хакеров. Пока нет сведений о таких инцидентах, что свидетельствует о надежности защиты «Дії».
Тимур Шемсединов, CTO на Metatech, Chief Architect на Metarhia & Metactos, Учебник на KPI
Собрал группу на 70 человек (в настоящее время уже более 300), делаем ревью кода «Дії». Есть ощущение, что я читаю код лаборатории двоечника 1 курса кулинарного техникума.
static isHttpCode (code: number | undefined): boolean { if (typeof code≠= 'number') { return false }
if (code >= 100 && code < 600) { return true }
return false }
и все в таком духе…
Леонид Шевцов, Full Stack Engineer, Railsware
Отличный выбор TypeScript как языка для бэкенда. Радует наличие хороших типов, то есть язык использован правильно. Вижу линтеры как для TS, так и для Swift и в целом качественный структурированный код. Модулов много, но сориентироваться было легко.
Впрочем, несколько удивлен выбором MongoDB в качестве хранилища. Однако я не знаком с требованиями к базе, и особенно с теми, которые ставит сохранение государственных документов. По крайней мере, Mongo — это проверенная годами документо-ориентированная база.
Микросервисная архитектура для государственного сервиса — это хорошо, потому что позволяет ограничить и разделить доступ, в том числе физически, и в обстоятельствах, где к разным категориям данных совершенно разные разрешения на всех уровнях. Так же хорошо использование gRPC для коммуникации между сервисами: этот протокол со схемой и хорошим подходом к внедрению изменений.
Если у вас есть собственное мнение о коде «Дії», и хотите поделиться своими впечатлениями, пишите нам на [email protected]. Мы добавим ваш комментарий в материал
"великий список різноманітних third-party фреймворків"
Тут iOS Team Lead трохи маніпулює. Бо як без бібліотеки з grpc написати взаємодію з backend на grpc? Або Firebase у переліку. Це ж необхідна бібліотека у більшості Android додатків.
Особисто я намагаюсь не зловживати сторонніми бібліотеками, але вважаю, що коментатор мав би вказати, які саме бібліотеки він вважає вразливими і чим їх можна замінити.
"По-п’яте, немає ніяких скриптів, що відповідають за деплой системи, її підтримку. Простіше кажучи, девопс-частина відсутня."
Це ще ні про що не говорить. CI/CD може займатись окрема команда. Це зручно, коли розробник відповідає за код, а девопси за доставку.
Ну запустите тогда на локалке этот опен сорс)
Не знаю, чи безпечно викладати міграції. Це видає структуру бази даних. Ну і взагалі backend-код це золота жила для хакерів.
Вы немного не понимаете смысл опен-сорса
"великий список різноманітних third-party фреймворків"
Тут iOS Team Lead трохи маніпулює. Бо як без бібліотеки з grpc написати взаємодію з backend на grpc? Або Firebase у переліку. Це ж необхідна бібліотека у більшості Android додатків.
Особисто я намагаюсь не зловживати сторонніми бібліотеками, але вважаю, що коментатор мав би вказати, які саме бібліотеки він вважає вразливими і чим їх можна замінити.
З якого чуда grpc став сторонньою бібліотекою?
я думаю по определению того что такое сторонняя библиотека.
Но в любом случае наличие библиотек не проблема, а вот отсутсвие хешей для пакетов вполне себе
Тимур такий спеціаліст, що аж страшно https://t.me/secdigestua/1220?comment=2756
Ще рекомендую послухати як через Дію миють бабки та співпрацюють з руснею
https://www.youtube.com/watch?v=M5ecphpbK4Q&ab_channel=%D0%84%D0%B2%D0%B3%D0%B5%D0%BD%D0%9F%D0%BB%D1%96%D0%BD%D1%81%D1%8C%D0%BA%D0%B8%D0%B9