Оказывается, система штрафов работала через открытый API без авторизации. Райли Уолц просто первым догадался это использовать.

23-летний инженер Райли Уолц во вторник утром запустил сервис Find My Parking Cops — карту Сан-Франциско с геолокацией всех парковочных инспекторов города в реальном времени. К обеду того же дня муниципальная транспортная служба (SFMTA) закрыла доступ к данным, правда, ненадолго — через несколько часов Уолц нашёл обход препятствия.

Прикол в том, что Уолц ничего не взламывал. Он просто заметил, что на сайте оплаты штрафов SFMTA можно получить полную копию любого штрафа по его номеру — включая номер машины, место нарушения и даже личные заметки инспектора типа «Водитель назвал меня мудаком».

Так выглядит парковочный штраф при проверке через сайт SFMTA
Так выглядит парковочный штраф при проверке через сайт SFMTA

Номера штрафов идут последовательно (хоть и не подряд), так что парень написал скрипт, который предсказывает следующие номера и парсит данные в режиме реального времени.

Это потрясающе! Я вижу всё: марку машины, цвет, место, причину штрафа, номерной знак и даже инициалы офицера, выписавшего постановление. Мне бы очень хотелось иметь возможность просматривать КАЖДЫЙ штраф. Но я не знаю идентификаторов всех записей. СЕКУНДУ... Эти числа, похоже, идут почти по порядку. Текущие ID находятся где-то в районе 992 000 000, а у штрафов, выписанных пару месяцев назад, они были примерно в районе 988 000 000.

Я смотрел штраф с номером 984 946 605. Когда я набираю следующий, 984 946 606, система не находит ничего. Это логично — вряд ли было выписано почти миллиард штрафов. Но как же тогда формируются эти ID? Должна быть какая-то логика.

После долгих разбирательств я, кажется, понял. Похоже, каждый возможный номер следует определённой схеме: прибавляется 11, за исключением случаев, когда последняя цифра равна 6 — тогда прибавляется 4. Таким образом, ни один номер штрафа не может оканчиваться на 7, 8 или 9. То есть после 984 946 606 идёт 984 946 610, а затем 984 946 621. Почему так устроено, известно лишь Богу, но я предполагаю, что это пережиток какой-то старой системы.

На карте можно было видеть инициалы каждого инспектора и его последнее местоположение — интерфейс специально копировал Find My от Apple. А ещё там был рейтинг «самых продуктивных» копов: лидер недели офицер №0435 выписал штрафов на $16 722 за два дня. В нижней части таблицы копы с показателями около $3 000 — разница в производительности в пять раз, что намекает на интересные вопросы о мотивации сотрудников.

Кстати, о деньгах: средний штраф выходит около $105, но за парковку на месте для инвалидов можно отхватить до $866. Всего в городе работает около 300 инспекторов на смешных одноместных машинках, как кролик Джуди Хоппс из «Зверополиса», и они выписывают по одному штрафу каждые 24 секунды.

Кажется, неплохой бизнес для города, который гордится своей прогрессивностью? Но издание The San Francisco Standard подсчитало, что при таких темпах дефицит бюджета SFMTA в $320 миллионов они закроют через 132 года.

На появление сайта SFMTA отреагировала молниеносно — обычно муниципальные службы так быстро двигаются только когда речь идёт о потере денег. Официальная позиция: «Мы приветствуем креативное использование технологий для соблюдения парковочных правил, но должны защищать безопасность наших сотрудников». В переводе с бюрократического: водители начали уворачиваться от штрафов, используя карту, и это угрожало квартальным показателям.

У Уолца, кстати, есть история создания вирусных проектов. В прошлом году он запустил Bopspotter — микрофон на Mission Street, который распознавал песни, играющие на улице, и вёл их лог. До этого был Papers — архив первых полос газет, и Routeshuffle — генератор случайных маршрутов для пробежек. Парень явно понимает, как делать простые вещи, которые зацепят людей. При этом у самого Уолца машины нет — проект он сделал после того, как штраф получил его сосед.

Проблема не в том, что Уолц «раскрыл» систему — а в том, что система изначально была дырявой. Любой мог получить эти данные, просто никто не догадался сделать удобную визуализацию, и из валяющихся под ногами данных (ещё и про копов) сделать вирусный проект. Такая вот security through obscurity — пока никто не знает про уязвимость, её как бы и нет.

Скрытый текст

Такие посты чаще выходят у меня в Telegram-канале, где в основном пишу про AI и его применение. Что? Сам раскрыл этот спойлер.

Комментарии (0)


  1. user-book
    24.09.2025 09:35

    мда

    Не говорим даже про короткоживущие ссылки - просто публичный адрес хэшировать с достаточной энтропией и хоть обсканируйся

    И я более чем уверен что как любая государственная система она проходила чертову дюжину сертификаций перед внедрением


    1. Niketas Автор
      24.09.2025 09:35

      С одной стороны да. А с другой — ну вот насколько реально является значимым нарушением приватных/персональных данных раскрытие информации о том, какой штраф получила такая-то машина с таким-то госномером? С точки зрения здравого смысла.


      1. xSVPx
        24.09.2025 09:35

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

        Тут скорее другой вопрос: что вообще "полезного" дает подобный публичный сервис ? Как с его помощью ухудшить эффективность копов и поставить их под удар можно фантазировать по-разному(а еще можно местоположение конкретных граждан узнавать, которых только что оштрафовали), но хорошее то что можно сделать ?


      1. ssv32
        24.09.2025 09:35

        - слежка за полицией получается (вдруг у кого то зуб на копа)

        - номера машин и места парковок, информация о том кто где находится, куда ездит в какое время

        - мб, для угонщиков какие машины какого цвета где ставят


  1. shlmzl
    24.09.2025 09:35

    Такая вот security through obscurity — пока никто не знает про уязвимость, её как бы и нет.

    Это просто отсутствие security. "никто не знает" - стопятьсот человек знали, но были причины почему молчали. Или использовали втихаря, или просто были облико морале, или им было что терять и опасались что ловушка, отследят и накажут и т.д. и т.п.

    "security through obscurity" - это когда нестандартная самопальная защита, большой брат не рекомендует ею пользоваться потому что ненадежная.