🥃 Збираєшся в бар з друзями, а все в крипті? Не проблема, є рішення 👉

«Просто вивалили якийсь код і вважають, що це опенсорс». Продовжуємо збирати думки розробників про відкритий код «Дії»

Мінцифри відкрило код «Дії». Тепер країни, що цікавляться українським досвідом цифровізації, зможуть зрозуміти, як працює «Дія», імпортувати код і запустити власні державні сервіси. 

Також ІТ-фахівці зможуть створити аналог «Дії» або схожий застосунок, але для цього треба буде приєднатися до публічної ліцензії. 

Утім, у мережі айтівці активно критикують роботу розробників державного застосунку. Але аргументів майже не наводять. 

dev.ua запитав кваліфікованих айтівців, що вони думають про якість, безпечність та зручність коду «Дії». Ось кілька думок. 

9 коментарів
«Просто вивалили якийсь код і вважають, що це опенсорс». Продовжуємо збирати думки розробників про відкритий код «Дії»

Мінцифри відкрило код «Дії». Тепер країни, що цікавляться українським досвідом цифровізації, зможуть зрозуміти, як працює «Дія», імпортувати код і запустити власні державні сервіси. 

Також ІТ-фахівці зможуть створити аналог «Дії» або схожий застосунок, але для цього треба буде приєднатися до публічної ліцензії. 

Утім, у мережі айтівці активно критикують роботу розробників державного застосунку. Але аргументів майже не наводять. 

dev.ua запитав кваліфікованих айтівців, що вони думають про якість, безпечність та зручність коду «Дії». Ось кілька думок. 

Якщо маєте власну думку про код «Дії» і хочете поділитися своїми враженнями, пишіть нам на [email protected]. Ми додамо ваш коментар у матеріал.

Володимир Селюх, Software Engineer, Team Lead of Retention in Prom.ua

До відкриття коду «Дії» я ставлюсь негативно. Як спеціаліст з аналізу ПО на ймовірні вразливості, можу точно сказати — маючи source code, знайти вразливості значно простіше.

Також простіше перевірити ці вразливості й спробувати завдати максимальне пошкодження.

Відкриття source code «Дії» дає можливість проаналізувати не тільки її взаємодію з відкритими псевдоанонімізованими даними, протоколом деанонімізації, а також із тими API, про які ми раніше не знали.

Сергій Журавель, iOS Team Lead, Futurra Group

Одразу після відкриття iOS-проєкту «Дії» впадає в око великий список різноманітних third-party фреймворків. Це неприпустимо в плані безпеки для проєктів такого характеру і величини.

Через будь-який із цих фреймворків можна зробити «back door» і отримати несанкціонований віддалений доступ, а це тягне за собою викрадення особистих даних користувачів.  

Для верстки UI-розробники досі використовують Storyboard та UIKit, що за мірками Apple вже застарілі технології. В останні роки девелопери активно переходять на SwiftUI. SwiftUI полегшує створення складних інтерфейсів користувача. Попередній перегляд у реальному часі дозволяє бачити зміни відразу ж під час внесення корективів у код. Це робить розробку швидшою та ефективнішою.

Конкретно в цьому випадку публікація коду — це вимога EU для подальших інтеграцій. Але в коді дуже мало коментарів, що потенційно збільшить час інтеграції, адже розробникам доведеться самотужки розбиратися в архітектурі та в цілому в проєкті довше.

Розробники «Дія» не дали доступ до всіх модулів застосунку, наприклад, до функціонала «Дія.Підпис». Це також може ускладнити інтеграцію для наших європейських партнерів, для яких цей код і було відкрито.

Андрій Нікішаєв, Solution Architect, засновник фонду допомоги безпритульним тваринам  

По-перше, код не повний. Багатьох частин системи там немає.

По-друге, немає взагалі жодного опису системи, її дизайну, опису зв’язку, контрактів та іншого, що повинно бути присутнім з погляду побудови архітектури. Просто вивалили якийсь код і вважають, що це опенсорс.

По-третє, код важко читається, і це вже показник його якості.

По-четверте, багато речей просто захардкоджено в код.

По-п’яте, немає ніяких скриптів, що відповідають за деплой системи, її підтримку. Простіше кажучи, девопс-частина відсутня. Відкрийте будь-який опенсорс-проєкт реальний і подивіться, як виглядає він, і як виглядає це.

Дмитро Бардай, Back-End Tech Lead Capgemini Engineering

Навряд чи можна надати будь-який змістовний коментар про код нашвидкоруч, але якщо загалом, то:

  • Молодці, що виклали. Це говорить про їхню впевненість у своєму коді.
  • Це може допомогти зробити продукт краще та, наприклад, організувати багбаунті та співпрацю з білими хакерами. 

З недоліків, губиться Security by Obscurity. 

Загалом, код — це лише частина програмного продукту. Є ще важливі аспекти — Governance та CI/CD, збирається цей код у застосунки, як він розповсюджується, яким чином організовані апруви різних дій у цих процесах.  

Дивлячись на те, що історії комітів немає, зрозуміло, що попередня розробка якось проводилася за межами опублікованих репок. І як воно буде далі — не зрозуміло. Якщо десь у «Дії» є приватні репки, в яких іде розробка, а потім все, що зробили, просто експортується до гітхабу, то тут велике питання — чи дійсно те, що ми бачимо, є тим, що ми встановлюємо на наші смартфони? 

В’ячеслав Проценко, директор з управління, розробки та впровадження програмного продукту EPAM, головний консультант з питань технологій у державному секторі
Важливо розуміти, що оцінювати будь-який програмний продукт потрібно не лише з позиції особистих уподобань, але й з урахуванням технологічної складової. Додаток «Дія» є прикладом якісного мобільного застосунку та відповідає міжнародним стандартам, власне тому розробники і надають доступ до частини коду, щоб громадськість могла оцінити його. 

Відкритий код сприяє залученню зовнішніх експертів та конструктивної критики, що є ключовим для подальшого вдосконалення продукту.

Функціональність будь-якого державного мобільного додатку регулюється відповідним законодавством, яке може бути складним та непростим для навігації. Міністерство цифрової трансформації приділяє значну увагу користувацькому досвіду, тому можна бути впевненим у хорошій функціональності «Дії».

Щодо можливих недоліків, вони притаманні будь-якому програмному рішенню, також варто взяти до уваги, що оцінка коду на основі відкритих джерел може не відображати повної картини. Проте у контексті безпеки, особливо для головного державного мобільного застосунку в країні, що переживає кібервійськові дії, важливим індикатором є кількість вдалих хакерських атак. Наразі немає відомостей про такі інциденти, що свідчить про надійність захисту «Дії».

Тимур Шемседінов,  CTO at Metatech, Chief Architect at Metarhia & Metactos, Lecturer at 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]. Ми додамо ваш коментар у матеріал
«Дія» відкриває код: кожен айтівець зможе проаналізувати код і запропонувати покращення
«Дія» відкриває код: кожен айтівець зможе проаналізувати код і запропонувати покращення
По темi
«Дія» відкриває код: кожен айтівець зможе проаналізувати код і запропонувати покращення
Читайте головні IT-новини країни в нашому Telegram
Читайте головні IT-новини країни в нашому Telegram
По темi
Читайте головні IT-новини країни в нашому Telegram
УЧАСТЬ В АЗАРТНИХ ІГРАХ МОЖЕ ВИКЛИКАТИ ІГРОВУ ЗАЛЕЖНІСТЬ. ДОТРИМУЙТЕСЯ ПРАВИЛ (ПРИНЦИПІВ) ВІДПОВІДАЛЬНОЇ ГРИ.
Ліцензія видана ТОВ "СЛОТС Ю.ЕЙ." на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 15.09.23 (рішення КРАІЛ №245 від 31.08.2023); ТОВ "СЛОТС Ю.ЕЙ." – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 26.04.2021 (рішення КРАІЛ №150 від 12.04.2021); ТОВ «СПЕЙСИКС» – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 08.02.2021 (рішення КРАІЛ №34 від 02.02.2021); ТОВ «ГЕЙМДЕВ» – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 16.02.2021 (рішення № 47 від 10.02.2021).
Читайте також
Навіть одружитися без документів можна. В органах ДРАЦС запрацювала нова зручна функція цифрових паспортів
Навіть одружитися без документів можна. В органах ДРАЦС запрацювала нова зручна функція цифрових паспортів
Навіть одружитися без документів можна. В органах ДРАЦС запрацювала нова зручна функція цифрових паспортів
«Дія» пішла в світ: Естонія створить свій застосунок, а ми їй допоможемо
«Дія» пішла в світ: Естонія створить свій застосунок, а ми їй допоможемо
«Дія» пішла в світ: Естонія створить свій застосунок, а ми їй допоможемо
1 коментар
Як отримати довідку про доходи через «Дія» за 30 хвилин. Інструкція
Як отримати довідку про доходи через «Дія» за 30 хвилин. Інструкція
Як отримати довідку про доходи через «Дія» за 30 хвилин. Інструкція
Через «Дiю» можна буде отримувати детальну інформацію про судові засідання
Через «Дiю» можна буде отримувати детальну інформацію про судові засідання
Через «Дiю» можна буде отримувати детальну інформацію про судові засідання

Хочете повідомити важливу новину? Пишіть у Telegram-бот

Головні події та корисні посилання в нашому Telegram-каналі

Обговорення
0

"По-п’яте, немає ніяких скриптів, що відповідають за деплой системи, її підтримку. Простіше кажучи, девопс-частина відсутня."

Це ще ні про що не говорить. CI/CD може займатись окрема команда. Це зручно, коли розробник відповідає за код, а девопси за доставку.

Andrey Nikishaev
Confirmed verification
Andrey Nikishaev Google, Senior Engineer
0

Ну запустите тогда на локалке этот опен сорс)

0

Не знаю, чи безпечно викладати міграції. Це видає структуру бази даних. Ну і взагалі backend-код це золота жила для хакерів.

Andrey Nikishaev
Confirmed verification
Andrey Nikishaev Google, Senior Engineer
0

Вы немного не понимаете смысл опен-сорса

0

"великий список різноманітних third-party фреймворків"

Тут iOS Team Lead трохи маніпулює. Бо як без бібліотеки з grpc написати взаємодію з backend на grpc? Або Firebase у переліку. Це ж необхідна бібліотека у більшості Android додатків.
Особисто я намагаюсь не зловживати сторонніми бібліотеками, але вважаю, що коментатор мав би вказати, які саме бібліотеки він вважає вразливими і чим їх можна замінити.

0

З якого чуда grpc став сторонньою бібліотекою?

Andrey Nikishaev
Confirmed verification
Andrey Nikishaev Google, Senior Engineer
0

я думаю по определению того что такое сторонняя библиотека.

Но в любом случае наличие библиотек не проблема, а вот отсутсвие хешей для пакетов вполне себе

0

Тимур такий спеціаліст, що аж страшно https://t.me/secdigestua/1220?comment=2756

Andrey Nikishaev
Confirmed verification
Andrey Nikishaev Google, Senior Engineer
0

Ще рекомендую послухати як через Дію миють бабки та співпрацюють з руснею
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