Чому Copy-paste у DeFis страшніші за клоунів? PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Чому Copy-paste в DeFis страшніше клоунів?

Ми роками робимо копі-паст-жарти. Пам’ятаєте всі меми CTRL + C і CTRL + V? Ну, вони прийшли, щоб переслідувати нас, тому що ми використовували їх не з тією метою. 

Специфічно для ІТ-індустрії копіювання та вставлення є старою та поширеною формою повторного використання програмного забезпечення. Більшість людей роблять це, щоб заощадити час і зусилля, інші використовують це, тому що не хочуть витрачати час на це самі, обидва зрештою стикаються з наслідками. 

З безлічі недоліків найпомітнішим є дублювання помилок і вразливих місць у системі під час копіювання існуючого коду. Чи слід дозволяти практику копіювання та вставлення коду чи ні, є дискусійним через її плюси та мінуси, але той факт, з яким ми всі можемо погодитися, полягає в тому, що помилки, внесені незміненим скопійованим кодом, можуть призвести до серйозних ситуацій. Ставки ще вищі, коли справа доходить до екосистеми криптографії та DeFi. 

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

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

Але навіть поза фактором унікальності, DeFi не зрозумів, що код, який вони копіюють, сам по собі неповний. Кожен протокол DeFi швидко розвивається та досліджує себе. Тому кожен протокол може виявити нові помилки. Навіть якщо код добре перевірено, можуть виявитися нові помилки, і протокол можна захистити від таких помилок, лише якщо він має оригінальну концепцію, реалізовану основною командою. 

Небезпеки копіювання та вставки в DeFi

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

Деякий час тому індустрія DeFi була вражена новиною про протокол Binance Smart Chain DeFi Млинцевий кролик був використаний внаслідок атаки на флеш-позику, як наслідок, вважалося, що спільнота зіткнулася з втратою 1 мільярда доларів. 

Перш ніж вибрати продукт DeFi, дуже важливо перевірити якість і унікальність коду. Один погляд професіонала в цьому просторі може легко визначити, скопійовано код чи ні. 

Дуже важливо розуміти, що, копіюючи код, розробники копіюють не лише дані, а й копіюють помилки та вразливості. Крім того, коли програмісти намагаються скопіювати код, може виникнути тонша семантика. Не дивно, що індустрія DeFI зіткнулася з такою кількістю хакерських атак, більшість із яких були успішними. З 2019 року хакерські атаки завдали збитків на суму близько 285 мільйонів доларів. 

Чому Copy-paste у DeFis страшніші за клоунів? PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

джерело: Atlas VPN

Отже, перший засвоєний урок – «завжди перевіряти код». Навіть якщо ви є власником продукту, ви повинні перевірити код, який розробляє ваша команда. 

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

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

Це не обов’язково означає, що повторне використання коду погано. Код можна використовувати повторно, і його слід використовувати повторно, коли це зручно, оскільки це економить час і зусилля. Однак цей код потребує професійної перевірки після внесення змін. 

Причини уникати копіювання та вставки в DeFi

Нижче наведено ще кілька причин, чому слід уникати вставки копіювання в просторі DeFi:

Погане повторне використання

Кожен код має власні залежності. Навіть якщо вони загальні, версії залежностей, бібліотек, мов і самого коду постійно оновлюються. Це означає, що навіть якщо ви скопіюєте останній код, повторне використання буде поганим, незалежно від того, наскільки добре ви вмієте копіювати. 

Успадкування вразливостей

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

послуги аудиту смарт-контрактів | Аудит смарт-контрактів DeFi

Введення нових помилок

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

Іншими словами, редагування вносяться без розуміння оригінального коду, що робить його більш схильним до помилок.

Питання ліцензування

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

Реальні приклади загрози copy-paste

DeFi не залишився байдужим до жахливих практик копіювання. Існують проекти DeFi, які копіюють і вставляють коди смарт-контрактів Uniswap, Compound та інших успішних протоколів. Найжахливіше в такій практиці те, що вони часто копіюють її з помилками – роблячи роботу зловмисників куском пирога!

Одним із зовсім недавніх прикладів такої атаки був «Uranium Finance» на базі BSC, це був форк Uniswap V2, який був використаний 28 квітня 2021 року для $ 57 мільйонів. Розробник Fulcrum – Кайл Кістнер зазначив, що розробники Uranium скопіювали код SushiSwap (вже клон Uniswap), вони всюди замінили число 1,000 на 10,000 XNUMX – крім одного випадку:

Чому Copy-paste у DeFis страшніші за клоунів? PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

джерело: чірікать

Іншим прикладом небезпеки копіювання та вставки є BurgerSwap, зламаний 28 травня 2021 року з орієнтовними збитками – 7.2 мільйона доларів.    

«За словами засновника Uniswap Хайдена Адамса, цього можна було легко уникнути».

Він також розгалужив код Uniswap, але пропустив фрагмент: перевірка x*y = k, це відіграло важливу роль у розрахунку вартості кожного токена. Без цього зловмисник обмінював кожну невелику суму, створюючи фіктивний токен для тисячі BNB & BURGER.    

Висновок

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

Однак DeFi — невідповідний простір для цього. Навіть якщо є лише кілька рядків коду, які потрібно змінити, копіювати та вставляти не рекомендується. Як фахівці з аудиту смарт-контрактів, ми бачили, як кілька компаній, які мали добрі наміри та бачення, зазнали краху через такі практики. Основна причина полягає не лише у вразливості, а й у неможливості завоювати довіру користувачів. І весь простір DeFi народжується з потреби в довірі.

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

Зверніться до QuillHash

Маючи багаторічну присутність у галузі, QuillHash постачає корпоративні рішення по всьому світу. QuillHash з командою експертів - провідна компанія, що розробляє блокчейн, що пропонує різні галузеві рішення, включаючи DeFi Enterprise. Якщо вам потрібна допомога в аудиті смарт-контрактів, не соромтеся звертатися до наших експертів тут!

Підпишіться на QuillHash, щоб отримати додаткові оновлення

Twitter | LinkedIn Facebook

Джерело: https://blog.quillhash.com/2021/08/04/why-copy-paste-in-defis-are-scarier-than-clowns/

Часова мітка:

Більше від Квілхаш