Я знаю, что людям нравятся истории, в которых автор попадает впросак, или о событиях, произошедших на этом пути.
Поэтому я надеюсь, что вам это будет интересно.
С первым видом обмана я столкнулся ещё в 2000-х годах, когда получил заказ на исправление ошибки принтера.
Узнав, что у заказчика Windows 95, я взял стандартный набор дискет для ремонта/восстановления системы и отправился в чертову даль, благо это был завод за городом.
Приехав, я быстро выполнил квест с КПП, сторожем и пропуском и наконец оказался в кабинете директора.
Который включил мне допотопный вид компьютер, на котором гордо стояла.
Windows 3.11! Я был совершенно ошарашен, так как речь шла о Windows 95. А у меня был комплект дискет (которые, кстати, даже по форм-фактору не соответствовали) от Windows 95. Я сообщил об этом директору.
На что он сказал, что ничего не понял в версиях, возможно, он что-то не так понял.
И он подарил мне коробку с восемью дистрибутивными дискетами.
Найдя там драйвера принтера и переставив их, что естественно ничего не дало, я предложил попробовать установить Windows 95, где эта проблема могла бы быть решена.
На что директор сказал, что это невозможно - их 286, а для Windows 95 требуется 386. Хм, а не странно ли, что человек, путающий версии, так хорошо знает системные требования? В общем, я уехал вечером, на фирменном автобусе, голодный, так как никакое шаманство не помогло, мне ничего не заплатили, а столовая была открыта только для работников завода, и денег я с собой не взяла, думаю, зачем брать, если я и так заплачу? (Да, я был тогда молод и глуп).
Вариантов такого мошенничества было очень много, самым эпичным из которых был поиск сисадмина, который бы установил на сервер ISP Manager. Самым ярким моментом было то, что сервер представлял собой виртуальную машину на IBM System S390. Причём всё это тщательно скрывалось — вывод /proc/cpuinfo подделывался под смонтированный файл, некоторые утилиты подменялись или просто удалялись.
Разумеется, исполняемый файл для архитектуры i386 не будет работать в системе s390. Чувак, если ты сейчас это читаешь, напиши, зачем ты все это затеял? Мораль проста — прежде чем приступить к работе, нужно потратить некоторое время на аудит среды, чтобы убедиться, что она соответствует заявленному заказчиком.
Второй вид мошенничества в последнее время был очень популярен на бирже фрилансеров Upwork. Как сейчас, не знаю, эти идиоты меня заблокировали, требуя диплом DevOps инженера государственного образца (лол?).
Обычно это был небольшой проект с небольшой разовой оплатой, который решался максимум за пару часов.
При этом заказчик очень настойчиво расспрашивает о вашем опыте и реализованных вами проектах, совершенно не имеющих отношения к данному заказу и мотивирует тем, что исполнителей много и он хочет выбрать для себя лучших.
Ладно, исполнитель выбран, сама задача обновить PHP, т. к.
yum не работает и выдает ошибку (битая база rpm, ничего страшного).
И вот вы заходите по ssh и вдруг чувствуете, что что-то не так.
Все как-то медленно и тормозно.
Смотришь на загрузку системы - а она 80% ва.
А в логах сообщения о проблемах с диском.
И ты такой:
- ой чувак, у тебя серьезные проблемы здесь, на сервере! Ваш диск почти готов начать кататься на коньках.Вы обновляете версию PHP, просто скачивая rpm и распаковывая их содержимое в систему, отображая файл phpinfo в браузере на его сайте и делая снимок экрана.Ошибки на диске привели к поломке базы данных rpm, что не позволяет yum установить php. - ОУ! Как жаль.
Нет ли способа исправить yum, чтобы обновить php? Мне очень нужна новая версия.
- Серьезно? Вам нужно подумать о сохранении файлов, так как все может умереть в любой момент. - Все так плохо? Ну да ладно, чисто случайно (ну да, вы мне не поверили?) у меня рядом лежит пустой жёсткий диск.
Скиньте туда копию всей системы и потом заодно обновите там php. - Эмм.
Собственно, для заказа просто нужно было обновить php, без переноса системы.
- Ну если ты настолько некомпетентен, что не можешь обновить php без переноса системы, то переноси.
И через час:
— Готово, проверьте версию php по ссылке! - Отлично, это то, что тебе нужно! Вы так быстро сдвинули систему! — Я терпеть не мог систему.Однако на следующий день он вернулся и извинился за вчерашнее, сказав, что был настолько шокирован новостью, что его диск умирает. И предложил доплатить за клонирование системы.- ЧТО??? - Я не.
Я вытерпел это.
Система.
Я просто обновил ваш php, не перенося систему, так как я не «некомпетентный».
Пожалуйста, приступайте к расчету.
- ? эт! Немедленно перенесите мою систему на новый диск! - Ммм.
нет. - Тогда я отказываюсь платить, потому что вы мошенник! - Тогда я свяжусь со службой поддержки и покажу вам заказ, в котором указана задача обновления php и скриншот вашего сайта, показывающий эту самую версию.
- Ааа! Ты мошенник!!! Я никогда не буду иметь с вами дело!!!
Я настоял на том, что сначала мы должны оплатить уже проделанную работу, поскольку его проект фактически завершен.
После полдня упреков и оправданий он наконец закрыл проект как завершенный и скинул деньги.
- Всё, теперь, когда мы обосновались, можешь наконец сдвинуть систему? - Да, я могу.Ставишь систему восстановления в бывший раздел подкачки, перезагружаешься и, смонтировав диски, делаешь rsync, пропуская все битые файлы (их было довольно много, но они оказались в основном не критичными).Только это уже должен быть новый проект о клонировании системы.
- Я не понимаю, зачем это нужно? У меня есть деньги! Я могу отправить его вам прямо сейчас на PayPal (а потом вернуть все обратно, обратившись в службу поддержки PayPal).
— В моей стране PayPal не позволяет принимать платежи (это правда).
- Блин! Ну тогда приступайте прямо сейчас, а я организую для вас перевод через Western Union. — Я бы все же предпочел оплату через биржу, для меня это надежнее.
- Хорошо, вот проект, начнем.
— Мне нужен доступ IP-KVM для клонирования.
- Блин! И ты тоже! — ??? — Каждый раз, когда дело доходит до этого, все хотят вот эту вещь, которую хостер дает за 200 долларов в день.
Для меня это чертовски дорого! - Хм.
То есть вы уже не первый раз устраиваете всю эту программу с целью найти подрядчика, который сможет клонировать для вас систему без IP-KVM? - ?Эм-м-м.
Да.
- Почему бы сразу не написать так? - Было ли это возможно? - Да.
Я готов передать вам это без IP-KVM, не вопрос.
- О, я так рада! — Это будет стоить на $200 дороже, чем указано в заявке.
- Чертов мошенник!!! - ?, нет. Именно эту сумму хостер возьмет с вас за подключение IP-KVM, поэтому эти деньги вы в любом случае потеряете, если сделаете заказ для кого-то другого.
И в моем случае это будет дополнительным стимулом сделать все качественно и быстро.
- Звучит логично.
Хорошо, сделай это.
— Все готово, система работает с нового диска, можете проверить - Ты просто бриллиант!После чего он ставит вам отзыв на одну звезду и пишет гадости.
Администрации биржи плевать на вас и ваши доводы.
Мораль - если вам попадется заказчик, который под видом одной задачи пытается переложить другую (другие), мотивируя это тем, что напрямую ему это будет дороже - потеряйте его.
Потому что потом это будет стоить вам больше денег (я потерял кучу потенциальных заказов на тот обзор, который удалили, но было уже поздно).
Следующий вариант аферы был чем-то похож на предыдущий, но со своими, так сказать, нюансами.
Он преуспел на одной помойке, которая выдает себя за биржу фрилансеров с безопасной транзакцией.
Все начиналось довольно тривиально — нам нужно было обновить версию php, так как один из сайтов требовал серьезного обновления, без которого какой-то плагин не работал бы.
Я попросил в чате подтвердить, что глобальное обновление php повлияет на все сайты, и если он не будет поддерживать последнюю версию, они перестанут работать.
Я получил подтверждение, а также оплату безопасным способом (по факту я ничего не получил, деньги застряли на обмене).
- Вот, готово.Плюешь на этого наглого неадеквата, потом пишешь в поддержку, понимаешь, что неадекватность - это норма для отечественного рынка фриланса и закрываешь этот ужас навсегда.— Ой-ой, мои старые сайты перестали работать! - Ну, мы об этом говорили.
- Пожалуйста, верните всё как было! Я заплачу столько же! - Ладно, вот оно, - вернул его.
- Упс, вы что-то сломали, мои старые сайты до сих пор не работают! - Как так? - Вот ссылка, здесь и здесь и здесь.
Посмотрите, пожалуйста! — Вы смотрите содержимое сайтов и понимаете, что они заражены каким-то вредоносным ПО и сообщаете об этом.
- Ааа! Они заражены из-за новой версии php, которую вы установили! — ??? — Вы обновили php, но не закрыли его дыры! Через них были заражены мои сайты! — ???!!! - Давай исправим, я отправил тебе деньги, а ты их должен.
А если вы этого не сделаете, то я вам ничего не заплачу.
— Ничего, что дата изменения файла указана задолго до моего входа на сервер? - Ничего не знаю, до тебя все работало! Почини это!!!
Мораль: не ходите по помойкам, там все равно ничего интересного.
Если на зарубежных биржах мошенники - люди с актерскими талантами, то здесь мы - унылые, неадекватные хамы.
Очередной лохотрон – это уже нечто достойное уважения.
У клиентов есть очень сложный облачный проект в AWS, по которому у них фактически нет никакой документации, кроме README.md в корне репозитория.
Сам файл невероятно длинный, в котором многословно написаны фрагменты экшен-сцен в стиле Тарантино, причем так, что этот огромный файл нужно держать в голове целиком: Для размещения инфраструктуры сначала необходимо запустить специальный скрипт, который генерирует шаблон CloudFormation, который разбивается на части и загружается в S3, после чего создает необходимую инфраструктуру.
Причем в самом скрипте ровно одна ошибка в очень неочевидном месте (люди так не ошибаются, блин!), в шаблоне, который он генерирует, тоже ошибка - и это еще не все.
Потому что для хостинга приложения нужно взять другой репозиторий, создать миллион CI-переменных, значений из CloudFormation для исполнения и запустить CI на втором репозитории.
Он создаст скрипт из CodeDeploy, который не будет работать — потому что есть ошибка и нужно сносить инфраструктуру и редактировать шаблон CloudFormation заново.
А потом в другом репозитории смотришь CI-скрипт, который вызывает скрипт Pitnov, который по сути содержит только команды оболочки, формирующий образ докера, в котором должны быть конфиги для развертывания puppet, которые ты забыл поставить, потому что нет нигде в инструкции об этом не упоминается и заканчивается все тем, что awsfabric, который называется где-то между этим хаосом, берет учетные данные не из среды CI, не из докер-образа, а из отдельного конфига, который был сделанный по первому сценарию, но о котором вообще нигде нет упоминаний.
Знаете, что самое шикарное? У заказчика было 2 проекта на этой замечательной платформе Yudo, и все ошибки повторялись в цифрах — но в разных местах.
Грубо говоря, в одном шаблоне была не та версия RDS, что испортило весь поток, а в другом CloudFront был привязан не к той корзине S3. Разумеется, заказчик утверждал, что делать там нечего и те, кто все это делал, выполнили развертывание буквально за два часа.
И я охотно этому верю: Сам стиль ошибок и документации, а также анально-оральное развертывание позволяют предположить, что разработчики создали целую сложную систему, позволяющую генерировать обфусцированную версию проекта таким образом, чтобы максимально затруднить любое возможное развертывание.
возможно для постороннего человека: разделы документации перемешаны, но при этом составляют логически правильный документ с миллионом пометок типа «см.
раздел 2 выше».
Развертывание также разделено на несколько частей, в двух из которых допущены ошибки, не фатальные для самого развертывания, но приводящие к неработоспособному результату в финале, а финальный кусок запутывается глубокой вложенностью и очередным делением.
После этого, если у вас нет информации о местах возникновения ошибок и мастер-скрипта, который автоматически соединяет все три части, передавая им тонны параметров, те самые два часа его работы прекрасно перетекают в две недели, в течение которых вы можно прекрасно себя чувствовать настоящим IT-ювелиром, после чего заказчик полностью разочаруется в вашей работе.
Мораль: если кто-то действительно хочет привязать к себе клиента, то при достаточном уровне мастерства он сделает это очень легко.
Просто сумейте вовремя распознать это и сказать твердое «нет».
Трех дней мне хватило.
И последний, самый вопиющий и интересный вид мошенничества – это ИТ-газлайтинг.
Допустим, вы расшифровали описанный выше запутанный метод и смогли настроить деплой.
Однако после конвейера ничего не происходит. Все прошло без ошибок, результат успешный - но ничего не изменилось.
Как так? А вот как: сам раннер, на котором завязан CI/CD, принадлежит разработчику всего этого проекта, о чем заказчик никогда не знал.
И на этом раннере в самом начале есть сообщение, что контейнер для конвейера создать невозможно, так как контейнер с таким именем уже есть и он будет использоваться.
После чего все запускается без ошибок.
Конечно, проблема в раннере, но при этом разработчик соглашается со всем, что ему дает заказчик - прибить контейнер, пересоздать раннер.
а по сути ничего не делает. Если заказчик более-менее адекватный, то можно показать ему это, изменив файл развертывания, чтобы там выполнялась какая-нибудь команда, например echo с текущей датой.
И продемонстрировать, что модифицированный скрипт там не выполняется, так как сам скрипт фактически лежит в контейнере и туда передаются только переменные.
Однако даже в этом случае ничего особенного сделать не получится - если создать свой раннер, то.
правильно - он уже не будет запускать развертывание всех старых проектов заказчика, а разработчика естественно не даст доступ к раннеру, а просто загрузит документацию, совершенно отличную от той, что на самом деле установлена на раннере: например, в документации базовым образом может быть AWS AMI, при этом используется какой-нибудь кастомный Alpine Linux и скрипт использует apk вместо yum и так далее подробно.
И даже если заказчик согласится, что во всем виноват застройщик, он не сможет от этого отказаться.
Доступа к раннеру нет и что там на самом деле используется неизвестно, так как там нельзя даже выполнять команды.
Если создавать свое методом проб и ошибок, это займет много времени, а заказчику это традиционно нужно было еще вчера.
Ну а если заказчик обычный, то виноваты будете вы и он не поверит никаким доводам.
Мораль истории: если вы думаете, что у вас все должно работать, но это не так, возможно, это не ваша вина, а так было изначально задумано создателем системы.
Возможно, вы тоже сталкивались с подобными мошенниками, а может быть, вы стали жертвой принципиально нового подхода со стороны клиента-мошенника, который отличается от банального «обещал, но не заплатил»? Пишите в комментариях! Я их читаю с удовольствием и часто на них отвечаю.
Теги: #информационная безопасность #мошенничество #фриланс #аутсорсинг
-
Яндекс.музыка В Новой Обработке
19 Oct, 24 -
Контекстная Реклама. Наши Клики Крадут?
19 Oct, 24 -
Каково На Самом Деле Работать В Коворкинге
19 Oct, 24