Ivan's work&life thoughts – Telegram
Ivan's work&life thoughts
524 subscribers
367 photos
8 videos
3 files
102 links
Попытка забложить
@jnovikov
Download Telegram
Конторе, в которой я работаю, исполнилось 25 лет.

Если интересно, посмотрите эту прекрасную страничку! Мне очень нравятся такие видео, ну и на эволюцию логотипов тоже можно позалипать.
https://blog.google/inside-google/company-announcements/google-25th-birthday/

А вообще, конечно страшно представить, как поменялся наш мир за эти 25 лет. Если интересно узнать больше про годовщину Гугла, посмотрите остальные 9 статеек.

А я постараюсь ещё рассказать как мы праздновали внутри 🙂
🔥10👍2🤯1
Как я (мы) не съездили на главный CTF.

Название поста - кликбейт, сейчас объясню. Привычно, что в командном спорте есть какое-то главное международное соревнование. В спортивном программировании это ACM ICPC, в футболе это чемпионат мира или лига чемпионов.
В CTF’е технически такого нет. CTF соревнования достаточно децентрализованы и только в последнее время начало появляться что-то похожее на централизованные международные соревнования (ICC). Однако самым желанным и популярным соревнованием можно назвать DEFCON CTF. Почему DEF CON? Потому что он самый старый, а если точнее - первый. CTF появился как соревнование в рамках конференции DEF CON в 1996 году. Еще даже не было гугла, но уже был DEFCON CTF. И вот с тех пор каждый год в рамках конференции в Лас-Вегасе проводили соревнование. На DEFCON’е считай нет призов (специальный badge и ‘eternal glory’), организаторы не оплачивают перелет. Но большинство CTF’еров назовет это главным CTF’ом в году (вот так надо делать маркетинг!). В последнее годы, чтобы отобраться на дефкон недостаточно быть сильной командной, надо быть объединением сильных команд (см. картинку).

Мы несколько раз пытались сделать стак из нескольких RU-команд для отбора. В этом году мы попробовали объединиться с китайский брат китайской командой r3kapig в P1G BuT S4D. Мы потренировались на Plaid CTF (заняв там третье место) и смогли отобраться на дефкон.
11👍2
Так почему не поехали-то?
Напоминаю, что соревнования проходят в США. Среди русской части команды визу получить смог только я (скорее всего потому, что живу не в РФ). Получить визу я смог за месяц до соревнований, и где-то за 2 недели до соревнований я узнал, что я единственный из команды, кто получил визу.
Билеты в США дорогие (за 2 недели-то), желания ехать одному было крайне мало.

Вот так вот можно скучно “забить” на почти мечту.

Меня немного успокаивает тот факт, что соревнования прошли плохо: были проблемы с сетью и задачи далеко не лучшего качества. Мы помогали китайской части (они получили визу) смотреть сервисы удаленно, и в итоге в финале наша сборная заняла 7-е место.
Но всё равно, мы скорее получили негативный опыт от соревнований. Если бы я потратил много денег и сил (перелет, отгул с работы) ради такого соревнования, я бы пригорел.

Я надеюсь, что это не последняя возможность для нас попасть на DEF CON. Да и есть много других крутых CTF’ов. Например, сейчас часть нашей команды (без меня) поехала в Японию покорять финал Google CTF. Пожелаем парням удачи!
28👍6
Почему я задал этот вопрос? Потому что, сам я пользуюсь LLM раз в неделю или реже.

При этом я уже не могу представить себе разработку без Copilot (и внутреннего аналога в Google). Хоть и иногда они предлагают мне полную дичь, модели помогают быстро написать кучу boilerplate кода или тестов.

Но вот конкретно ChatGPT/Bard я использую редко. Сейчас моя работа (в основном) это писать код и документы (архитектура). Для написания кода мне помогают autocomplete модели (а-ля Github Copilot). К сожалению, LLM еще ни разу не помогло мне при составлении рабочих документов, LLM прекрасно помогают писать воду, но по работе мне обычно нужно выдать чистую базу — донести свою мысль, потратив при этом минимум времени другого человека.
Иногда я использую LLM для создания очень красивых polite имейлов на английском или других нетехнических текстов.

Для pet-проектов или CTF-задач я могу воспользоваться генерацией кода от ChatGPT/Bard, но опять же не более раза в неделю.

Интересно, как вы используете LLM? Особенно те, кто пользуются каждый день.
5🔥2👍1
Forwarded from Заметки Слонсера (Slonser)
Прямо сейчас в стране восходящего солнца проходит Google CTF 2023. По результатам 1 дня C4T BuT S4D - топ 1 в групповом этапе.
23👍6
https://www.youtube.com/watch?v=HFeD4kYcW7A

Болеем за котов в гранд-финале Google CTF.

PS: первый раз, когда в финале играет команда из РФ.
🔥2510🥰4👍1
ЕЕЕ РОК
47🔥20🥰4
В жизни и карьере происходит очень много всего, но писать пока не успеваю. Так уж вышло что этот канал во многом про CTF, так что вот вам контент.

На прошлой неделе мы проводили отборочный этап на Кубок CTF. В итоге пришлось писать постмортем.

Вообще постмортем культура — это очень правильная вещь, потому что учиться на чужих ошибках дешевле, чем на своих.

В общем спасибо Роме за написание постмортема:

https://pomo-mondreganto.notion.site/CTFCup-2023-Quals-Postmortem-c0ad960527694d3eadd7e492487de890?pvs=4
15🔥7👍2
Все-таки этот канал не только про CTF.

Ровно месяц назад с кайфом сходили на концерт Noiзе MC.

Я не ожидал, что Ваня приедет к нам с группой, но приехал! И отлично выступил!

Мне прям всё понравилось: звук, репертуар, как ребята играют.

Конечно немного сюрр думать о том, что в РФ наверное у них таких маленьких концертов не было несколько лет, так что можно сказать, что у нас был даже эксклюзив.

Теперь надеюсь и жду, что к нам приедут мои любимые Anacondaz 🤘
🔥27
Нужен git web ui ? А как насчет стандартного ? Try `git instaweb`.

Слышали о таком ?
Anonymous Poll
14%
Да, баян
86%
Нет, в первый раз слышу
🤯7
Вчера было ровно 2 года, как мы с женой переехали в Ирландию.

Пост годичной давности можно найти здесь.

В первую очередь мы переехали в Ирландию из-за моей работы, поэтому начну с нее. Буквально месяц назад я получил долгожданное и заслуженное повышение. Буду честен, если бы его не было, я всерьез бы рассмотрел возможности уйти из Гугла или даже уехать в другую страну. Но я здесь. Мне нравится моя команда и то, что я делаю, а еще я очень люблю наш офис: там есть качалка, бассейн и вкусная еда – было бы сложно с этим расстаться.

Почему иногда хочется уехать?
1. Жилищный кризис — мы живем в хорошей, но маленькой квартире и не рассматриваем варианты переехать в другую. Почему? Потому что, цены на аренду даже таких же квартир (по площади и качеству) могут быть сильно выше. Причина в том, что гос-во пытается (у него это не очень получается) регулировать цены и не разрешает повышать ренту больше, чем на несколько процентов в год. Однако это плохо работает, если вы заключаете новый контракт, и получается что гораздо выгоднее сидеть в одном жилье годами. Единственный выход: ипотека, но об этом в другой раз.

2. Визы. Напоминаю, что Ирландия в ЕС, но не в Шенгенском союзе. Из-за этого нам нужно получать визы, а это всё сложнее и сложнее с каждым разом. И даже в UK нужна виза, да. На данный момент, у меня есть шенгенская виза еще на один год, и я очень надеюсь, что потом я смогу получить как минимум еще на один год, но уверенности в этом нет никакой.

3. Зарплаты и налоги. Налоги всё ещё большие, зарплаты хоть и тоже большие, но учитывая налоги и аренду жилья, SWE в Гугле в Ирландии может получать меньше, чем программист в условном Яндексе (на пересчет).

4. Права на вождение авто. Да, я в Ирландии два года, и у меня всё ещё нет прав. Виной тому: очереди на сдачу в год (лично я ждал больше полугода), очереди на пересдачу (жду 3-й месяц пересдачу), и тот факт, что система для сдачи на права тут совсем не готова к тому, что бывают мигранты. И я не был бы так расстроен, если бы не факт, что некоторые категории граждан и мигрантов могут ездить тут по своим правам, и им не нужно тратить 1000+ евро и год+ времени на этот прекрасный процесс. И я бы понял, если бы тут всем нужно было сдавать на права, или бы везде в ЕС не принимали права из РФ, но нет. В некоторых странах ЕС права прекрасно меняют без пересдач.

5. Работа. К сожалению, в Ирландии не так много мест, куда можно пойти работать после Гугла и получить больше денег/плюшек. Да, такие места есть (привет, трэйдинг), но их мало. Так что да, хорошо что мне не хочется уходить из Гугла.


Но почему остаемся ?
Гражданство. Ирландия дает гражданство через 5 лет легального проживания в стране. Осталось прожить всего 3 года, что звучит не так уж и долго, а ирландский паспорт был бы не лишним.
Люди. Мы нашли тут классных друзей и будет грустно покидать их. Мы уже проходили через такой опыт 2 года назад, и этот тот случай, когда не можем повторить.
Ощущения. В Ирландии ощущается спокойно и комфортно. И я верю, что страна может стать еще лучше, спокойнее и богаче, на это есть все возможности.
Природа, климат. Тут очень красиво, жду не дождусь, когда у меня всё-таки будут права и мы исследуем этот и соседний остров вдоль и поперек.
Язык и культура. Быть уверенным, что тебя поймут - огромный плюс в эмиграции. Мне нравится ирландская культура и как люди тут относятся к друг другу.

Ну и вообще, Ирландия — это очень “ламповая” страна. Да, тут бывает холодно и мокро. Да, тут бывают суровые ветра. Да, тут дорого. Да, тут нет метро. Но я смотрю на море, пока еду на работу в электричке. Я могу зайти после хайка выпить свежее местное пиво в паб, который старше всех сталинских высоток, где камин грел ещё ирландских революционеров. А дальше объяснять сложно, нужно сюда приехать, чтобы понять как оно. Кстати, приезжайте, я напишу приглашение на визу.
31🔥7🥰4
Ivan's work&life thoughts
Придумываю задачи сейчас на следующий CTF, думаю "А дай ка проверю вот эту штуку". Результат - за час нашел 2 бага в двух крайне популярных библиотеках на питоне. Баги не критичные, но кажется после CTF'а я отправлю pull-request 🙂
Кстати, забыл похвастаться.

Я заработал себе две новых CVE в библиотеке aiohttp: CVE-2023-49082 и CVE-2023-49081.

В общем-то история достаточно забавная. Решил я значит сделать веб-таск и подумал что прикольно будет дать уязвимость, которая будет основана на CVE в библиотеке Celery, о которой я писал вот тут. Придумал, что дам гаджет — класс с RCE в обработке исключения. Ну и что дам какую-нибудь SSRF с CRLF инъекцией, чтобы можно было написать в Redis свой объект с этим исключением. Думал получится хороший медиум таск. Пока готовил задачку понял, что мне еще и нужна инъекция до заголовка Host, потому что Redis умеет детектить его и предотвращать атаку.

Ну и решил вечером покурить aiohttp, т.к. в стандартном клиенте и requests найти баг сильно сложнее, да и я хотел написать на современном асинхронном питоне.

И буквально через час-два я нашел 2 бага. Оба можно посмотреть на гитхабе, но я напишу тут TLDR.
Первый баг — буквально классика CRLF, передать \r\n в метод (GET, POST, DELETE). Такое находили во многих библиотеках, которые позволяют указывать метод как строковый параметр.

Второй баг уже прикольнее. Разработчики aiohttp решили что удобно будет сделать версию HTTP как NamedTuple с двумя полями (major, minor). Например, в коде библиотеки можно найти вот такую константу:


HttpVersion11 = HttpVersion(1, 1)

При создании запроса первая строчка задается как




status_line = "{0} {1} HTTP/{2[0]}.{2[1]}".format(
self.method, path, self.version


Без валидации. В общем-то хороший пример что питоновской системе типизации доверять не стоит, потому что в качестве NamedTuple можно передать любой массив (например JSON-decode от пользовательского ввода).

Патч можно посмотреть вот тут.

В итоге второй баг пошел прямо 0-дэйем на соревнования, и таск резко превратился в сложный. Его решила одна команда и я был очень рад этому. Посмотреть таск и райтап можно тут.

Мне этот опыт показал, что искать баги на самом деле не так сложно. Казалось бы, библиотека c огромной пользовательской базой, но через час-два просмотра было найдено 2 уязвимости.

В прошлом году ради задачи я нашел одну CVE, в этом году нашел две. Буду надеяться, что в следующем году найду еще больше 🙂
👍27🔥11
У меня накопилось несколько идей для постов (итоги года, например), но на новогодних каникулах было не до этого, а 2го числа я уже клацал по клавишам на работе, так что посты будут, но позже.

С запозданием отреагирую на вот эту новость:
https://www.bbc.com/russian/articles/c13y5pvp035o

На работе в чатиках есть несколько людей, кто лично были знакомы с Никлаусом. И это очередное напоминание насколько молода наша индустрия. В одной компании могут работать люди, которые научились программировать благодаря майнкрафту и люди, которые были там 3000 лет назад работали/знакомы с первопроходцами индустрии (хотя в Гугле вообще некоторые первопроходцы работают).

Про себя скажу только то, что моим первым языком программирования был Turbo Pascal. Сложно забыть это чувство: компьютерный класс мытищинской школы, тяжелые бежевые пластиковые клавиатуры, синий экран, белые и желтые буквы.

Забавно, но сейчас синтаксис паскаля многим кажется современным. Интересно, что все мои коллеги старше меня, но про паскаль некоторые даже не слышали.

Press F, короче.
13😢8👍1
Слон как обычно слонит
👍13
Forwarded from Заметки Слонсера (Slonser)
История одной уязвимости в Chrome

Очень простая уязвимость, которую я нашел в Google Chrome. И за которую получил 16000$.
Попытался дать побольше контекста, чтобы увеличить пользу от прочтения материала.
Habr
Twitter
P.S. Лучшей благодарностью, если вам понравился материал - является его распространение.
👍12
Один десятичасовой прямой перелет перенес меня из пасмурного Дублина в солнечный Сан-Франциско.

А ведь 100+ лет назад для этого требовалось около 72 часов...
https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B0%D0%BD%D1%81%D0%B0%D1%82%D0%BB%D0%B0%D0%BD%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%BF%D0%B5%D1%80%D0%B5%D0%BB%D1%91%D1%82_%D0%90%D0%BB%D0%BA%D0%BE%D0%BA%D0%B0_%D0%B8_%D0%91%D1%80%D0%B0%D1%83%D0%BD%D0%B0
🔥175🤔4👍3
Нашел причину для переезда в Долину
25😁6🔥5👎2😱2👍1🤯1
Про Калифорнию. Часть 1 — работа.

Наконец-то дошли руки написать про мою командировку в Калифорнию. Меня и трёх моих коллег отправили в США, чтобы мы пообщались со смежными командами и порешали некоторые вопросики: правильно ли мы копаем сейчас и куда будем копать дальше. С точки зрения работы поездка вышла достаточно продуктивной, но я не очень привык тратить почти весь свой день на встречки, хотя некоторые из них были очень полезными.

В итоге поездка оставила смешанные чувства.
Я и до этого понимал, что в США более интересные проекты, но тут я по сути это подтвердил. Конечно, весь менеджмент говорит как важны офисы в Европе (и конечно они важны, если бы они были бесполезны, то их бы просто закрыли), но всё равно главные решалы по большинству проектов находятся в Штатах, как и самые крутые проекты.

Это ощущается и в том, что ты можешь просто в офисе натолкнуться на тех.дира вашего отдела и быстро за кофе с ними поговорить о чём-то или пойти докопаться до создателя ANTLR’а, который сидит на соседнем этаже. Ну, и конечно, офис в Калифорнии это центр принятия всех важных решений (тут находятся более-менее все старшые менеджеры, хотя есть и исключения).

Я думаю, что корректно сравнить это с Московским офисом Яндекса. Когда я был в офисе до пандемии (еще стажером), то было ощущение, что вот прямо тут всё и происходит. Интересно, как чувствуют (чувствовали) себя ребята из офисов в Питере или Минске.

Получается, что в Калифорнии больше зарплаты, интереснее проекты и кажется, что легче на что-то повлиять (потому-что можно объяснить свою идею за 5-10 минут и быстро донести её до нужных людей).
Если рассмотреть работу в Гугле в вакууме, то однозначно надо ехать работать туда.

Но центральный офис Гугла не находится в вакууме - он находится в США, Калифорнии. Так, почему сразу не поехать в США или не переехать сюда сейчас?
🔥122👍1🤔1