Я вот переехал в орен в прошлом году, пытался найти тут хоть что-то околоайтишное -- полнейший вакуум. Даже нет каких-то местных чатиков в телеграме, а про оффлайн ивенты я вообще молчу. Но город прекрасный! Мне нравится! :)
Первый раз слышу о том, что имена ящиков описаны в RFC, спасибо, буду знать на будущее! Я действительно пытался найти "безопасный" контакт, и обычно, такое расположено где-то на странице с контактами. Но конкретно у ВТБ -- нет такого контакта там. В форме для связи с банком на сайте тоже не очень то имеется подходящий раздел. Всё же, моя задача как добросовестного и этичного человека, сообщить о проблеме нужным людям, а не штудировать RFC на предмет того, какие же имена ящиков там описаны в стандарте. :)
Я пытался найти подобный ящик, но нигде подобной информации не было. А тот самый емейл -- это был 911@vtb.ru. Туда я собственно и написал сразу с подробным описанием, и именно с ними был весь диалог, про который и сказано в статье.
А у меня наоборот, складывается такое впечатление, что вы чуть ли не непосредственное отношение к этому имеете. Может быть вы даже сможете мне ответить, почему в моём портфеле отображались чужие (ну, т.к. у меня таких не было) активы в аналитике? А вы точно уверены что там из API ничего другого нельзя выдернуть? Почему вы так уверенны в том, что там всё настолько прекрасно? Люди нигде и никогда не ошибаются? Даже в банках?
А с чего вы взяли то, что там нет авторизации? Есть там и авторизация, и двухфакторка, и прочие радости.
И я же сказал про взять слой для работы с API. Да, это по сути REST-клиент, который дергает разные эндпоинты, передаёт туда разные модельки и получает из оттуда. И как удобно изучать всё это? Ковыряясь в devtools или просто взять сорсы, где уже описаны и различные методы в API, и типы данных которые ходят туда-сюда, причем даже с кусочками документации?
Я нигде не говорил что утечка сорсов может (напрямую) повлиять на доступ к каким-то данным, к которым доступа быть не должно. Я говорю лишь о том, что утечку сорсов допускать нельзя, т.к. это открывает кучу различных возможностей, в том числе и не совсем хороших.
Если же взять к примеру брокера от тинкова, то у него есть в открытом виде и документация, и опенсорсные клиенты для работы с их API. А у других брокеров есть? Нету! И для этого наверное есть некоторые причины (ну, например, не хотят показывать говнокод миру, это как одна из причин). И если же у таких вот нежелателей показывать свой код (открывать API для всех) утекают сорсы -- это разве не инцидент? Я что в статье, что в комментариях пытаюсь донести то, что нельзя допускать никаких утечек, пусть даже они (могут быть) безобиды и не несут никакой угрозы.
Вообще, было бы не плохо конечно так сделать, но ведь брокеров много -- кому-то оно может оказаться и не нужным. А для каких-то случаев можно заюзать например открытое API тинькова. Но календарик уже написан, и решает задачи которые нужно было решать мне. Немного про него я говорил тут.
Ну тут в целом можно сразу ужать список. Во первых -- системообразующие банки, их всего 13 штук на текущий момент. Во вторых веб-версия брокерского приложения -- у сбера и альфы я не помню чтобы такое было. Ну а в третьих, единая версия для мобилок и веба -- тут уж совсем список ужимается. Но, как говорится, кто знает -- тот понял, а кто не знает -- тому найти не составит труда)
В самом начале имеется дисклеймер, в котором сказано что я считаю это утечкой, ваше мнение может отличаться от моего.
Например у Телеграм веб весь фронтенд код доступен на GitHub
Разница между данным случаем и любого другого проекта на гитхабе (пусть даже телеграм) в том, что второе -- изначально было опенсорсом. Так и задумывалось авторами.
Даже миницифированный фронтенд без сорс-мапов можно отформатировать
Одно дело разобрать какой-то небольшой кусочек кода, метода, или даже файлика. Другое же дело получить исходники проекта весом в несколько десятков мегабайт (в данном случае ~70MB) вместе с комментариями, ссылками на различные внутренние ресурсы вроде таск трекеров, фигмы, ещё чего-либо.
Как уже выше говорилось, утечка сорсов сама по себе не компрометирует всю систему. Да, узнавший об этом школьник завтра не выпустит свою копию приложения идентичную натуральному. И даже с некоторой вероятностью можно сказать что и из апи там ничего секретного/важного не вытащить (но это уже отдельная история). Но это не значит что нужно так халатно относиться к защите информации. В противном случае можно и дальше допускать утечки различных баз данных мотивируя тем, что всё и так уже утекло до нас, у нас тут (почти) ничего нового нет (это отсылка к комментарию про то, что ПО пишется с использованием библиотек которые и так доступны на гитхабе).
Ну вот в данном примере это приложение брокера. Написано оно на react native и работает на нескольких платформах, включая веб. Из этого можно сделать вывод о том, что ни о какой привязке к сим и быть не может. Функциональность в них идентичная (за исключением некоторых моментов). Что (или кто) мне помешает конкретно в данном случае взять слой для работы с API, написать для него обвязку для прохождения всего потока авторизации и выполнения нужных мне запросов? CORS? А что мне помешает указать правильный Origin?
Утекающие сорсы -- это далеко не только лишь одна безопасность и вероятная компрометация всей системы. Утекающие сорсы это ещё интеллектуальная собственность. Конкретно в данном случае, который описан в статье, в целом ничего опасного нет -- это ведь по сути просто обычный клиент, который ходит в апи и рисует красивые формочки. Но если бы все так считали -- то наверное все банки, которые под санкциям, могли бы спокойно выпустить свои банк-клиенты в опенсорс, чтобы любой Вася/Петя/Катя могли собрать их и установить на свой айфон не посещая офиса сбера. Но так почему-то не делают.
Описаный в статье возможный вариант использования (собрать функционально идентичное приложение но со своими закладками) тоже можно реализовать и без наличия исходников. Только временные затраты будут несоизмеримо выше, чем при наличие этих сорсов. И если ковыряться (а главное, понимать!) в минифицированном и обёрнутом в вебпак js может X специалистов, то вот при наличие исходников количество специалистов увеличивается на порядки.
В целом, используя сорсы (а именно либу, отвечающую за коммуникацию с API) можно делать и безобидные, полезные вещи. Я бы, например, прикрутил бы в свой календарик выплат по облигациям прямую интеграцию с брокером, чтобы прям из апи выдёргивать и весь свой портфель, и все выплаты, вместо того, чтобы содержимое портфеля копировать из quik, а выплаты собирать из апи мосбиржи (что в некоторых местах то ещё удовольствие).
Ну а можно просто сидеть и ковыряться, находить некоторые забавности :)
Если переживания из-за возможного наказания - то во-первых, ещё пока никаких противозаконных действий вы не сделали
Вы же знаете в какое непростое время мы сейчас живём. Сегодня сообщить о преступлении это гражданская обязанность, а завтра ты уже можешь стать соучастником, ибо нехрен ходить там, где совершаются преступления. :)
Поэтому, я хоть чуточку, да прикрываю свою задницу. В случае взятия за жопу, можно будет сказать то, что я имел ввиду ГПБ, там вон тоже есть неминифицированные сорсы, и даже с комментариями, а то, что внезапно выяснилось в этой ветке то, что у ВТБ тоже сорсы доступны -- так это просто совпадение :)
Я не исключаю и такого варианта. Но до кого-то ведь дошла информация. Ну, не могла же служба поддержки отправить её в /dev/null... Ну, точнее, могла переслать какому-нибудь абстрактному "руководителю отдела", а тот уже забил болт на всё это.
Ну, если бы все писали идеальный код - в мире были бы все счастливы и базы данных с ПД не утекали бы. Но увы, реальность иная. Мало кто что будет делать с исходниками, вспомнить тот же Яндекс. Ну утекло, ну поржали, и всё. А может быть и не все - кто то мог взять наработки и заюзать у себя. Или найти там дырку... Вариантов исхода очень и очень много.
Вам никогда не говорили, что security through obscurity это плохая идея?
А я разве говорил о том, что минификация чудесным образом решает все проблемы? Согласитесь, ведь взять готовую либу это гораздо проще, чем самому с нуля делать. А ещё, я прям в статье написал о том, что в теории можно самому собрать приложение под тот же андроид, и там внезапно и про CORS думать не надо.
В этом коде будут ссылки на внутренние ресурсы, комментарии разработчиков и в целом будет доступна логика в исходном виде. То есть, можно будет к примеру взять исходники и выделить из них библиотеку для работы с API. Не сидеть ночами в отладчике, не изучать что, куда и как нужно передавать, а взять уже готовую библиотеку для работы с API, и писать свои клиенты. Ну а хорошо это или плохо -- смотря с какой стороны посмотреть. Я не думаю что какой-либо банк будет доволен тем, что к нему в API будут ходить нелегитимные клиенты.
Сам я называть банк не буду. Но никто не мешает пройтись по веб-версиям брокерских приложений всех банков из списка системообразующих и найти самому, т.к. как указано в статье -- проблема не устранена до сих пор. Там не сильно то большой список, в теории можно управиться за минут 10 :)
А почему никто ещё не принёс?
https://stackoverflow.com/a/1732454/5888698
Оххх, аж олдскулы свело... :)
Я не настоящий программист, но что там не так с vue3? Вроде бы всё собирается и работает без каких либо проблем.
Я вот переехал в орен в прошлом году, пытался найти тут хоть что-то околоайтишное -- полнейший вакуум.
Даже нет каких-то местных чатиков в телеграме, а про оффлайн ивенты я вообще молчу.
Но город прекрасный! Мне нравится! :)
Первый раз слышу о том, что имена ящиков описаны в RFC, спасибо, буду знать на будущее!
Я действительно пытался найти "безопасный" контакт, и обычно, такое расположено где-то на странице с контактами. Но конкретно у ВТБ -- нет такого контакта там.
В форме для связи с банком на сайте тоже не очень то имеется подходящий раздел.
Всё же, моя задача как добросовестного и этичного человека, сообщить о проблеме нужным людям, а не штудировать RFC на предмет того, какие же имена ящиков там описаны в стандарте. :)
Я пытался найти подобный ящик, но нигде подобной информации не было. А тот самый емейл -- это был 911@vtb.ru.
Туда я собственно и написал сразу с подробным описанием, и именно с ними был весь диалог, про который и сказано в статье.
А у меня наоборот, складывается такое впечатление, что вы чуть ли не непосредственное отношение к этому имеете.
Может быть вы даже сможете мне ответить, почему в моём портфеле отображались чужие (ну, т.к. у меня таких не было) активы в аналитике? А вы точно уверены что там из API ничего другого нельзя выдернуть?
Почему вы так уверенны в том, что там всё настолько прекрасно? Люди нигде и никогда не ошибаются? Даже в банках?
А с чего вы взяли то, что там нет авторизации?
Есть там и авторизация, и двухфакторка, и прочие радости.
И я же сказал про взять слой для работы с API. Да, это по сути REST-клиент, который дергает разные эндпоинты, передаёт туда разные модельки и получает из оттуда. И как удобно изучать всё это? Ковыряясь в devtools или просто взять сорсы, где уже описаны и различные методы в API, и типы данных которые ходят туда-сюда, причем даже с кусочками документации?
Я нигде не говорил что утечка сорсов может (напрямую) повлиять на доступ к каким-то данным, к которым доступа быть не должно. Я говорю лишь о том, что утечку сорсов допускать нельзя, т.к. это открывает кучу различных возможностей, в том числе и не совсем хороших.
Если же взять к примеру брокера от тинкова, то у него есть в открытом виде и документация, и опенсорсные клиенты для работы с их API. А у других брокеров есть? Нету! И для этого наверное есть некоторые причины (ну, например, не хотят показывать говнокод миру, это как одна из причин). И если же у таких вот нежелателей показывать свой код (открывать API для всех) утекают сорсы -- это разве не инцидент?
Я что в статье, что в комментариях пытаюсь донести то, что нельзя допускать никаких утечек, пусть даже они (могут быть) безобиды и не несут никакой угрозы.
Вообще, было бы не плохо конечно так сделать, но ведь брокеров много -- кому-то оно может оказаться и не нужным. А для каких-то случаев можно заюзать например открытое API тинькова. Но календарик уже написан, и решает задачи которые нужно было решать мне.
Немного про него я говорил тут.
Ну тут в целом можно сразу ужать список. Во первых -- системообразующие банки, их всего 13 штук на текущий момент. Во вторых веб-версия брокерского приложения -- у сбера и альфы я не помню чтобы такое было. Ну а в третьих, единая версия для мобилок и веба -- тут уж совсем список ужимается. Но, как говорится, кто знает -- тот понял, а кто не знает -- тому найти не составит труда)
В самом начале имеется дисклеймер, в котором сказано что я считаю это утечкой, ваше мнение может отличаться от моего.
Разница между данным случаем и любого другого проекта на гитхабе (пусть даже телеграм) в том, что второе -- изначально было опенсорсом. Так и задумывалось авторами.
Одно дело разобрать какой-то небольшой кусочек кода, метода, или даже файлика. Другое же дело получить исходники проекта весом в несколько десятков мегабайт (в данном случае ~70MB) вместе с комментариями, ссылками на различные внутренние ресурсы вроде таск трекеров, фигмы, ещё чего-либо.
Как уже выше говорилось, утечка сорсов сама по себе не компрометирует всю систему. Да, узнавший об этом школьник завтра не выпустит свою копию приложения идентичную натуральному. И даже с некоторой вероятностью можно сказать что и из апи там ничего секретного/важного не вытащить (но это уже отдельная история). Но это не значит что нужно так халатно относиться к защите информации.
В противном случае можно и дальше допускать утечки различных баз данных мотивируя тем, что всё и так уже утекло до нас, у нас тут (почти) ничего нового нет (это отсылка к комментарию про то, что ПО пишется с использованием библиотек которые и так доступны на гитхабе).
Ну вот в данном примере это приложение брокера. Написано оно на react native и работает на нескольких платформах, включая веб. Из этого можно сделать вывод о том, что ни о какой привязке к сим и быть не может.
Функциональность в них идентичная (за исключением некоторых моментов).
Что (или кто) мне помешает конкретно в данном случае взять слой для работы с API, написать для него обвязку для прохождения всего потока авторизации и выполнения нужных мне запросов? CORS? А что мне помешает указать правильный Origin?
Утекающие сорсы -- это далеко не только лишь одна безопасность и вероятная компрометация всей системы.
Утекающие сорсы это ещё интеллектуальная собственность.
Конкретно в данном случае, который описан в статье, в целом ничего опасного нет -- это ведь по сути просто обычный клиент, который ходит в апи и рисует красивые формочки. Но если бы все так считали -- то наверное все банки, которые под санкциям, могли бы спокойно выпустить свои банк-клиенты в опенсорс, чтобы любой Вася/Петя/Катя могли собрать их и установить на свой айфон не посещая офиса сбера. Но так почему-то не делают.
Описаный в статье возможный вариант использования (собрать функционально идентичное приложение но со своими закладками) тоже можно реализовать и без наличия исходников. Только временные затраты будут несоизмеримо выше, чем при наличие этих сорсов. И если ковыряться (а главное, понимать!) в минифицированном и обёрнутом в вебпак js может X специалистов, то вот при наличие исходников количество специалистов увеличивается на порядки.
В целом, используя сорсы (а именно либу, отвечающую за коммуникацию с API) можно делать и безобидные, полезные вещи. Я бы, например, прикрутил бы в свой календарик выплат по облигациям прямую интеграцию с брокером, чтобы прям из апи выдёргивать и весь свой портфель, и все выплаты, вместо того, чтобы содержимое портфеля копировать из quik, а выплаты собирать из апи мосбиржи (что в некоторых местах то ещё удовольствие).
Ну а можно просто сидеть и ковыряться, находить некоторые забавности :)
Вы же знаете в какое непростое время мы сейчас живём. Сегодня сообщить о преступлении это гражданская обязанность, а завтра ты уже можешь стать соучастником, ибо нехрен ходить там, где совершаются преступления. :)
Поэтому, я хоть чуточку, да прикрываю свою задницу. В случае взятия за жопу, можно будет сказать то, что я имел ввиду ГПБ, там вон тоже есть неминифицированные сорсы, и даже с комментариями, а то, что внезапно выяснилось в этой ветке то, что у ВТБ тоже сорсы доступны -- так это просто совпадение :)
Я не исключаю и такого варианта. Но до кого-то ведь дошла информация. Ну, не могла же служба поддержки отправить её в /dev/null... Ну, точнее, могла переслать какому-нибудь абстрактному "руководителю отдела", а тот уже забил болт на всё это.
Ну, если бы все писали идеальный код - в мире были бы все счастливы и базы данных с ПД не утекали бы. Но увы, реальность иная.
Мало кто что будет делать с исходниками, вспомнить тот же Яндекс. Ну утекло, ну поржали, и всё. А может быть и не все - кто то мог взять наработки и заюзать у себя. Или найти там дырку... Вариантов исхода очень и очень много.
А я разве говорил о том, что минификация чудесным образом решает все проблемы? Согласитесь, ведь взять готовую либу это гораздо проще, чем самому с нуля делать.
А ещё, я прям в статье написал о том, что в теории можно самому собрать приложение под тот же андроид, и там внезапно и про CORS думать не надо.
В этом коде будут ссылки на внутренние ресурсы, комментарии разработчиков и в целом будет доступна логика в исходном виде.
То есть, можно будет к примеру взять исходники и выделить из них библиотеку для работы с API. Не сидеть ночами в отладчике, не изучать что, куда и как нужно передавать, а взять уже готовую библиотеку для работы с API, и писать свои клиенты.
Ну а хорошо это или плохо -- смотря с какой стороны посмотреть. Я не думаю что какой-либо банк будет доволен тем, что к нему в API будут ходить нелегитимные клиенты.
Сам я называть банк не буду. Но никто не мешает пройтись по веб-версиям брокерских приложений всех банков из списка системообразующих и найти самому, т.к. как указано в статье -- проблема не устранена до сих пор. Там не сильно то большой список, в теории можно управиться за минут 10 :)
Ну так код действительно минифицирован. Только вот с сохранением сорсмапов...)