Pages:
Author

Topic: АУДИТ КОНТРАКТА GORGONA.IO - page 2. (Read 411 times)

newbie
Activity: 116
Merit: 0
September 13, 2018, 11:32:40 AM
#3
О, наконец подробный аудит, спасибо! Roll Eyes Но ребята из GORGONA этого и не скрывают, и до появления вашего аудита уже дали развернутый ответ на подобные вопросы в своем официальном телеграм-чате, цитирую:

Так как в мире смарт-контрактов очень часто появляются новые методы влияния на другие контракты, и завтра могут появиться любые потенциальные методы нарушения работы нашего смарт-контракта, то мы специально заложили эту функцию для его защиты!

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

Спасибо что проявили бдительность!
Также, на днях мы планируем обновить сайт, на котором можно будет видеть информацию по своему депозиту, когда была выплата, когда следующая и прочее.

Так что все ок! Я лично зашел, чего и всем советую! Проект хороший, поддержка на уровне, в чате прям формируется целое сообщество! Smiley

А главное – GORGONA надежный проект, который реально платит!

А вообще ваш пост больше походит на черный пиар конкурентов  Angry  Так что ждем обещанный аудит остальных проектов! Жаль вот только 333eth вы не сможете проверить, так как у них закрыт код контракта, и вот там у них в 333eth вероятно действительно что-то очень плохое прячется в контракте!

Успехов! Wink

Оправдание "мы добавили вывод всей кассы, что бы было безопаснее" (gorgona) звучит так-же как и "мы скрыли код, что бы его не украли" (333eth)

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

Аудит другого контракта я готов провести хоть сегодня, мне, в отличие от вас, от этого ни жарко, ни холодно.
Напишите какие проекты вы хотите что бы я проверил.
jr. member
Activity: 224
Merit: 1
September 13, 2018, 11:22:34 AM
#2
О, наконец подробный аудит, спасибо! Roll Eyes Но ребята из GORGONA этого и не скрывают, и до появления вашего аудита уже дали развернутый ответ на подобные вопросы в своем официальном телеграм-чате, цитирую:

Так как в мире смарт-контрактов очень часто появляются новые методы влияния на другие контракты, и завтра могут появиться любые потенциальные методы нарушения работы нашего смарт-контракта, то мы специально заложили эту функцию для его защиты!

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

Спасибо что проявили бдительность!
Также, на днях мы планируем обновить сайт, на котором можно будет видеть информацию по своему депозиту, когда была выплата, когда следующая и прочее.


Так что все ок! Я лично зашел, чего и всем советую! Проект хороший, поддержка на уровне, в чате прям формируется целое сообщество! Smiley

А главное – GORGONA надежный проект, который реально платит!

А вообще ваш пост больше походит на черный пиар конкурентов  Angry  Так что ждем обещанный аудит остальных проектов! Жаль вот только 333eth вы не сможете проверить, так как у них закрыт код контракта, и вот там у них в 333eth вероятно действительно что-то очень плохое прячется в контракте!

Успехов! Wink
newbie
Activity: 116
Merit: 0
September 13, 2018, 10:54:44 AM
#1
Добрый день, я являюсь разработчиком контрактов на Solidity уже более года.
Ко мне обратился знакомый с просьбой аудита контракта по адресу
0x4a5fc826441a16b86aa850b3ddc4b1bc02f21b6c
На сколько я понял это gorgona.io

Я провел аудит данного контракта и тут постараюсь изложить то, что я нашел.

Объяснение, прочитайте ВНИМАТЕЛЬНО
(код ОБЯЗАТЕЛЬНО смотрите на etherscan.io, на github можно выкладывать измененную версию)

1. На сайте ребята заявляют, что контракт с функцией "отказа от владения".
На деле это не так.

У контракта есть владелец и это есть в коде:
Code:
// 38 строка
owner = msg.sender;  
Это строка обозначает что контракт хранит адрес владельца в переменной owner.

Сама по себе это строчка ничего губительного не делает, пока она только подтверждает что это контракт БЕЗ "отказа от владения" и ребята врут.

2. Как контракт расчитывает прибыль?
Code:
// 177 - 180 строки
function getInvestorUnPaidAmount(address addr) public view returns (uint)
{
     return (((investors[addr].deposit / 100) * INTEREST) / 100) * ((now - investors[addr].date) * 100) / 1 days;
}

Упрощенная суть строчки такая: взять значение депозита и посчитать начисленный процент учитывая разницу во времени, она считается вот этим отрывком кода
Code:
(now - investors[addr].date)
Дословно читать ее как "сейчас минус дата последнего вывода средств"

3. А теперь фокус: ВЛАДЕЛЕЦ КОНТРАКТА МОЖЕТ ПОМЕНЯТЬ ДАТУ ВЫВОДА СРЕДСТВ У ЛЮБОГО УЧАСТНИКА

Вот эта часть кода:
Code:
// 167 - 170 строки
function setDatePayout(address addr, uint date) onlyOwner public
{
    investors[addr].date = date;
}

Дословно читать как:
Назначить ПРОИЗВОЛЬНУЮ дату вывода средсв (uint date) для любого инвестора (addr) и сделать это может только ВЛАДЕЛЕЦ (onlyOwner)

Из этого схема вывода:
Владалец контракта может с любого адреса закинуть, например 10 ETH
Далее вызывать setDatePayout и назначить дату вывода открученную на 1 ГОД назад, контракт это примет за правду, т.к. в коде нет защиты от такого сценария.
Теперь выплаты на этот адрес составят 365 дней * 3 процента = 1095%, т.е. более чем 100 ETH


Результат: вывод всей кассы ВОЗМОЖЕН владельцем контракта


Я крайне не рекомендую вкладыватся в подобные проекты.
На этой неделе у меня есть свободное время, я постараюсь сделать аудиты других контрактов.

Как приятный бонус могу сказать что через указанный выше метод можно так же блокировать выплаты любым инвесторам.
Pages:
Jump to: