Кикшеринг OSINT: анализ данных сервисов аренды самокатов, велосипедов и средств индивидуальной мобильности
Кикшеринг OSINT: анализ данных сервисов аренды самокатов, велосипедов и средств индивидуальной мобильности
Кикшеринг — термин, который означает систему краткосрочной аренды электросамокатов
Средства индивидуальной мобильности (СИМ) — электросамокаты, велосипеды, моноколеса — стали неотъемлемой частью городской среды. Сервисы кикшеринга (Яндекс, Whoosh, Urent, Bolt, Lime, Tier) ежедневно генерируют огромные массивы данных о перемещениях пользователей. Для OSINT-специалиста эти данные представляют собой ценный, но часто недооцененный источник информации о передвижениях цели, ее привычках, местах проживания и работы. Данная статья, являющаяся дополнением к циклу «Транспортный OSINT», посвящена методам сбора и анализа данных из сервисов аренды самокатов и велосипедов.
Специфика кикшеринга как объекта OSINT
- Высокая геопространственная детализация: Поездки на самокатах фиксируются с высокой точностью (до нескольких метров), что позволяет восстанавливать маршруты внутри районов.
- Временная привязка: Каждая поездка имеет точное время начала и окончания, длительность, пройденное расстояние.
- Идентификация пользователя: Для использования сервиса требуется регистрация (часто с привязкой к номеру телефона, банковской карте, иногда — с верификацией документов).
- Публичные данные: Карты доступных самокатов, зоны завершения поездок, парковки — часто доступны через открытые API или веб-интерфейсы.
- Регулярность: Пользователи часто используют один и тот же сервис по регулярным маршрутам (дом — метро — работа).
- Сезонность: Активность кикшеринга зависит от сезона и погоды.
Типы данных в кикшеринговых сервисах
Закрыта (требуется доступ к аккаунту)
ФИО, номер телефона, email, платежные данные
Закрыта (требуется доступ к аккаунту)
Маршруты, время, даты, длительность, стоимость
Открыта (через API или приложение)
Плотность использования в районах, парковочные привычки
Инфраструктура, популярные точки
Частично открыты (видимы на устройстве)
Отслеживание конкретного самоката/велосипеда
Визуальная идентификация, повреждения
Основные кикшеринговые сервисы
Интеграция с экосистемой Яндекс (Карты, Такси). Самокаты и велосипеды. Единый аккаунт с другими сервисами Яндекс
Крупнейший специализированный кикшеринг в РФ. Есть открытая карта, API для партнеров
Аналог, популярен в регионах. Акцент на самокаты
Мультисервис (такси, кикшеринг, каршеринг)
Глобальный сервис, хорошее API
Методология сбора данных из кикшеринговых сервисов
Этап 1: Поиск данных о пользователе
Если цель известна (ФИО, номер телефона, email), можно проверить, зарегистрирована ли она в сервисах кикшеринга.
- По номеру телефона:
- Попытка регистрации в приложении (не завершая) покажет, существует ли аккаунт.
- Функция восстановления пароля (без отправки кода) — проверка наличия.
- Для Яндекс.Go: Проверка через восстановление пароля в Яндекс ID — если аккаунт существует, система предложит отправить код.
- По email:
- Аналогично — проверка через восстановление пароля.
- Для Яндекс.Go: Email привязан к Яндекс ID. Проверка через страницу восстановления пароля Яндекс.
- По ФИО:
Этап 2: Анализ истории поездок (при наличии доступа)
Если доступ к аккаунту цели получен (легально, с согласия или в рамках расследования), история поездок становится золотым источником данных.
Точки начала и окончания: Координаты (с точностью до адреса).
Время и дата: Поездка в 8:30 от дома, в 18:15 от работы.
Длительность и расстояние: Индикатор активности.
Маршрут: Трек поездки (в некоторых сервисах, включая Яндекс.Go).
Используемое устройство: Идентификатор самоката или велосипеда.
Регулярные маршруты: Ежедневные поездки от дома до метро, от метро до работы.
Места проживания: Точка, от которой начинается большинство утренних поездок.
Место работы: Точка, где заканчиваются утренние поездки.
Социальная активность: Вечерние поездки в рестораны, кафе, спортзалы.
Путешествия: Поездки в других городах (если сервис работает в нескольких регионах).
Этап 3: Сбор публичных данных через API
Многие кикшеринговые сервисы предоставляют открытые API (или их можно выявить из мобильного приложения) для отображения карты доступных СИМ.
- Установить на телефон приложение кикшеринга.
- Настроить прокси для перехвата трафика.
- Запустить приложение, открыть карту.
- Найти запросы, возвращающие координаты самокатов/велосипедов.
# Основной эндпоинт для получения транспорта на карте https://api.maps.yandex.ru/transport/2.0/vehicles?bbox=37.5,55.7,37.8,55.9&types=scooter,bicycle
Также данные могут передаваться через WebSocket или внутренние API приложения Яндекс Go.
https://api.whoosh.ru/map/v1/vehicles?lat=55.75&lon=37.61&radius=2000
https://api.urent.ru/v1/vehicles?lat=55.75&lon=37.61&radius=2000
https://api.bolt.com/scooters/v1/vehicles?lat=55.75&lon=37.61&radius=2000
- Координаты всех доступных устройств в зоне.
- Идентификаторы (ID).
- Уровень заряда батареи.
- Тип (самокат/велосипед).
- Цена за минуту/старт.
- Данные анонимны (не привязаны к пользователям).
- Показывают только свободные устройства в данный момент.
- Могут требовать авторизацию (токен пользователя).
Этап 4: Анализ зон парковок и завершения поездок
Сервисы кикшеринга определяют зоны, где можно завершить поездку (парковки). Эти данные часто публичны.
- Зоны парковок отображаются на карте в приложении Яндекс Go и на Яндекс.Картах.
- Можно получить через API Яндекс.Карт (слой транспортной инфраструктуры).
- Популярные места начала/окончания поездок в городе.
- Инфраструктурные точки (станции метро, МЦК, железнодорожные станции, бизнес-центры, жилые комплексы).
- Зоны с ограничениями (медленная езда, запрет парковки).
Как использовать в расследовании:
- Если известно, что цель регулярно пользуется самокатом, можно выявить наиболее вероятные точки начала/окончания в районе ее проживания.
- Сравнить с данными из других источников (геолокации в соцсетях, данные каршеринга, такси).
Этап 5: Отслеживание конкретного устройства (самоката/велосипеда)
Каждое устройство имеет уникальный идентификатор (номер на корпусе, QR-код, ID в системе). Если цель сфотографировалась на фоне самоката или номер виден на видео, можно попытаться отследить его перемещения.
- Мониторинг API: Периодически запрашивать данные о местоположении устройства по его ID (если API позволяет). Для Яндекс.Go это может быть сложнее, так как API требует авторизации.
- Анализ истории: Некоторые сервисы (или партнеры) предоставляют историю перемещений для обслуживания. В рамках расследования данные могут быть запрошены у оператора.
- Визуальный поиск: Поиск фото этого устройства в соцсетях (по геометкам, хэштегам, в сообществах кикшеринга).
- Поиск по QR-коду: Если QR-код различим на фото, его можно считать и попытаться найти информацию об устройстве.
Этап 6: Анализ данных через сторонние агрегаторы
Существуют сервисы, агрегирующие данные кикшеринга для аналитики городской мобильности.
- Яндекс.Карты: Отображают доступные самокаты и велосипеды Яндекс.Go в реальном времени.
- 2ГИС: В некоторых городах отображает зоны кикшеринга и парковок.
- Populus: Аналитика микромобильности для городов (данные от операторов).
- RideReport: Открытые данные по поездкам в некоторых городах (США, Европа).
- OpenStreetMap: Сообщество наносит зоны парковок кикшеринга.
Практические методики кикшерингового OSINT
Методика 1: Определение места жительства по паттерну поездок
- Исходные данные: Доступ к истории поездок цели в кикшеринге (легально).
- Сбор всех утренних поездок (06:00–10:00) за последние 30 дней.
- Выявление точки начала:
- Координаты, где начинается большинство утренних поездок.
- Кластеризация точек (например, через DBSCAN в Python).
- Верификация:
- Сравнить с точками окончания вечерних поездок (должны совпадать).
- Сравнить с геолокациями из соцсетей.
- Сравнить с данными из других транспортных сервисов (Яндекс.Такси, каршеринг).
- Результат: Точный адрес или район проживания (в радиусе 100–200 метров).
Методика 2: Выявление рабочего места
- Анализ утренних поездок: Где заканчивается поездка, начавшаяся от дома.
- Анализ вечерних поездок: Где начинается поездка, заканчивающаяся у дома.
- Точка окончания утренней поездки (обычно — станция метро, бизнес-центр или офисное здание).
- Кросс-референс:
- Сравнить с данными LinkedIn (место работы).
- Сравнить с геотегами в соцсетях (чекины в рабочее время).
- Использовать Яндекс.Карты для определения организаций по адресу.
- Результат: Место работы (адрес, организация, иногда — этаж и офис).
Методика 3: Мониторинг передвижений в реальном времени
Если цель известна и есть основания полагать, что она пользуется кикшерингом в данный момент, можно попытаться отследить ее через карту доступных устройств.
- Определить зону, где предположительно находится цель (район проживания, работы).
- Мониторить появление и исчезновение устройств в этой зоне (через API).
- Логика: Если цель берет устройство, оно исчезает с карты свободных. Если цель завершает поездку, устройство появляется в новой точке.
- Сложность: Данные анонимны, нельзя привязать устройство к конкретному пользователю без дополнительной информации.
- Для Яндекс.Go: Возможно отслеживание по ID устройства, если оно было идентифицировано ранее.
Методика 4: Поиск по фото устройства
- Исходные данные: Фото цели на фоне самоката или велосипеда, где виден идентификационный номер (QR-код, наклейка с номером).
- Расшифровка номера: По QR-коду можно получить ID устройства. Для Яндекс.Go номер самоката обычно нанесен на корпус (формат: Y-123456 или аналогичный).
- Поиск в соцсетях: Ввести номер в поиск (Instagram, VK, Telegram, Яндекс.Картинки) — возможно, другие пользователи публиковали фото этого устройства в других местах.
- Анализ геолокаций фото: Построить историю перемещений устройства.
- Сопоставление с данными цели: Если цель была в тех же местах, что и устройство, это подтверждает использование.
Методика 5: Анализ плотности парковок для выявления скрытых локаций
- Сбор данных о зонах парковок через API или веб-интерфейс (в том числе из Яндекс.Карт).
- Визуализация на карте (QGIS, Google My Maps, Kepler.gl).
- Выявление аномалий:
- Парковка в месте, где нет очевидной инфраструктуры (жилой дом, офис).
- Парковка, которая появляется регулярно в одно и то же время.
- Анализ: Если известно, что цель пользуется кикшерингом, точки парковок могут указывать на места, которые цель посещает.
Методика 6: Интеграция с данными экосистемы Яндекс
Особенность Яндекс.Go — интеграция с другими сервисами Яндекс. Если у цели есть аккаунт Яндекс ID, данные могут быть связаны:
- Яндекс.Такси: История поездок может дополнять картину перемещений.
- Яндекс.Карты: История поиска, сохраненные места.
- Яндекс.Go: Единое приложение для всех сервисов.
Важно: Доступ к этим данным возможен только при наличии авторизации в аккаунте цели (легально, с согласия или в рамках расследования).
Инструменты для кикшерингового OSINT
mitmproxy, Charles Proxy, Fiddler, Wireshark
Python (requests), Postman, cURL, Insomnia
QGIS, Kepler.gl, Google My Maps, ArcGIS
Python (scikit-learn, DBSCAN), R, Excel
Собственные скрипты, Hunchly, ArchiveBox
Sherlock (для username), поиск в соцсетях, Яндекс.Картинки
Яндекс.Карты, Google Maps, OpenStreetMap, 2ГИС
Код примера: мониторинг доступных самокатов через API Яндекс.Go
import requests
import json
import time
from datetime import datetime
# Пример для Яндекс.Go (URL может меняться, требует анализа трафика)
# Внимание: для доступа может потребоваться авторизационный токен
def get_yandex_scooters(bbox, token=None):
"""
bbox: список [min_lon, min_lat, max_lon, max_lat]
token: авторизационный токен (если требуется)
"""
url = "https://api.maps.yandex.ru/transport/2.0/vehicles"
params = {
'bbox': ','.join(map(str, bbox)),
'types': 'scooter,bicycle' # самокаты и велосипеды
}
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
}
if token:
headers['Authorization'] = f'OAuth {token}'
response = requests.get(url, params=params, headers=headers)
if response.status_code == 200:
return response.json()
else:
print(f"Ошибка: {response.status_code}")
return None
# Мониторинг в районе (координаты Москвы, центр)
def monitor_yandex_location():
bbox = [37.5, 55.7, 37.8, 55.9] # [min_lon, min_lat, max_lon, max_lat]
while True:
vehicles = get_yandex_scooters(bbox)
if vehicles:
count = len(vehicles.get('vehicles', []))
timestamp = datetime.now().isoformat()
print(f"{timestamp}: Найдено {count} устройств в зоне")
# Сохранение в CSV
with open('yandex_vehicles_log.csv', 'a') as f:
f.write(f"{timestamp},{count}\n")
time.sleep(60) # каждую минуту
# Запуск
monitor_yandex_location()Код примера: кластеризация точек для определения места жительства
import pandas as pd
import numpy as np
from sklearn.cluster import DBSCAN
import folium
# Загрузка данных о поездках (пример)
data = pd.read_csv('trips.csv')
coords = data[['start_lat', 'start_lon']].values
# Кластеризация
db = DBSCAN(eps=0.0005, min_samples=3).fit(coords) # eps ~ 50 метров
# Получение кластеров
labels = db.labels_
unique_labels = set(labels)
# Визуализация
m = folium.Map(location=[55.7558, 37.6176], zoom_start=13)
for label in unique_labels:
if label == -1:
continue # шум
cluster_coords = coords[labels == label]
center = cluster_coords.mean(axis=0)
folium.Marker(
location=[center[0], center[1]],
popup=f'Кластер {label} ({len(cluster_coords)} поездок)',
icon=folium.Icon(color='red')
).add_to(m)
m.save('clusters.html')
print("Карта сохранена как clusters.html")Код примера: поиск по номеру устройства в соцсетях
import requests
import re
def search_vehicle_id(vehicle_id, platforms=['instagram', 'vk', 'telegram']):
"""
Поиск упоминаний ID устройства в социальных сетях
"""
results = {}
# Поиск в Google (по сайту)
for platform in platforms:
if platform == 'instagram':
url = f"https://www.google.com/search?q=site:instagram.com+{vehicle_id}"
elif platform == 'vk':
url = f"https://www.google.com/search?q=site:vk.com+{vehicle_id}"
elif platform == 'telegram':
url = f"https://www.google.com/search?q=site:t.me+{vehicle_id}"
# Здесь нужна реализация парсинга или использования API
print(f"Поиск в {platform}: {url}")
# В реальном коде: requests.get, парсинг результатов
return results
# Пример использования
search_vehicle_id('Y-123456')Этические и правовые ограничения
- Доступ к аккаунту: Получение доступа к чужому аккаунту без согласия является незаконным. История поездок — персональные данные, защищенные законодательством.
- Публичные данные: Карты доступных устройств являются публичными. Их сбор легален, но следует соблюдать условия использования сервиса и не создавать чрезмерную нагрузку на API.
- Отслеживание в реальном времени: Мониторинг местоположения конкретного человека через кикшеринг без его ведома может нарушать законы о приватности.
- Использование в расследованиях: В правоохранительных целях данные могут быть получены по официальному запросу к оператору сервиса. В Российской Федерации это регулируется законом "Об информации, информационных технологиях и о защите информации".
- Яндекс ID: Данные аккаунта Яндекс ID связаны с множеством сервисов. Несанкционированный доступ к аккаунту является уголовным преступлением.
Кикшеринговый OSINT — новое и быстро развивающееся направление транспортной разведки. Сервисы аренды самокатов и велосипедов, включая Яндекс.Go, Whoosh, Urent и международных операторов, генерируют высокоточные геопространственные данные, которые при грамотном анализе позволяют восстановить детальную картину перемещений цели внутри города.
Особую ценность представляет интеграция данных кикшеринга с другими сервисами экосистем (Яндекс, Uber/Bolt), что позволяет создать мультимодальный профиль перемещений.
Несмотря на то, что история поездок является закрытой информацией, публичные API, анализ паттернов, мониторинг доступных устройств и межсервисная корреляция предоставляют исследователю ценные инструменты. В сочетании с данными из других источников (соцсети, каршеринг, такси) кикшеринг становится важным элементом мультимодального транспортного анализа.