К основному содержанию
скилл CX Codex

track-planes-and-ships — скилл для Claude Code: трекинг самолётов

Скилл для OSINT-задач: отслеживает борта и суда по публичным данным ADS-B и AIS, разбирается с идентификаторами и владельцами.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add UseOSINT/Skills --skill track-planes-and-ships -a claude-code
Открыть на GitHub

Что делает track-planes-and-ships

Скилл помогает вести расследование по открытым данным: найти борт по хвостовому номеру, ICAO-коду или позывному, а судно — по IMO или MMSI, посмотреть историю заходов в порты и разобраться, кому принадлежит частный самолёт или яхта. Полезен при проверке цепочек поставок, поиске активов и анализе обходов санкций.

Внутри — методичка по идентификаторам и справочники. Главная мысль: хвостовые номера, позывные и названия судов меняются, а ICAO 24-bit hex и IMO остаются. Поэтому сначала сводят всё к устойчивому идентификатору, иначе после перепродажи или перерегистрации трек рассыпается. Отдельно разобрано, как устроены ADS-B и AIS: ADS-B передаёт позицию раз в секунду, но покрытие зависит от того, где живут владельцы приёмников, а транспондер AIS выключает вахтенный — отсюда и пробелы в треках.

Есть нюансы, которые стоит знать заранее. Океанские и полярные маршруты без наземных приёмников дают разрывы, и это норма, а не находка. Военные и государственные борта могут не передавать данные вовсе. Программы приватности вроде FAA LADD скрывают часть самолётов, и разные агрегаторы фильтруют по-разному — один покажет борт, другой нет. Владельцем в реестре чаще оказывается траст или LLC, а не человек.

Скилл ставится через npx skills add и работает в Claude, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode.

Какие задачи решает

  • найти борт по хвостовому номеру или ICAO-коду
  • определить судно по IMO или MMSI
  • проверить историю заходов в порты
  • выяснить, кому принадлежит частный самолёт
  • проанализировать разрывы в AIS и поведение теневого флота

Примеры запросов агенту

  • Найди этот борт по хвостовому номеру и покажи историю полётов
  • Пробей судно по IMO и посмотри порты захода
  • Разберись, кому принадлежит этот частный самолёт

Как установить track-planes-and-ships

1Через Skills CLI (Vercel)

npx skills add UseOSINT/Skills --skill track-planes-and-ships -a claude-code

2Вручную: положить файлы

~/.claude/skills/track-planes-and-ships/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/track-planes-and-ships/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о track-planes-and-ships

Как установить track-planes-and-ships в Claude?

Выполните npx skills add UseOSINT/Skills --skill track-planes-and-ships -a claude-code. Скилл появится в ~/.claude/skills/track-planes-and-ships/SKILL.md.

Что делает track-planes-and-ships?

Отслеживает самолёты и суда по публичным данным ADS-B и AIS, помогает свести идентификаторы к устойчивым (ICAO hex, IMO) и выйти на владельца через реестры.

Какие данные нужны для работы скилла?

Публичные источники: ADS-B Exchange, Flightradar24, FlightAware для самолётов и MarineTraffic, VesselFinder, Equasis для судов.

Исходный текст

SKILL.md · MIT
---
name: track-planes-and-ships
description: >-
  Track aircraft and vessels from public ADS-B and AIS broadcasts using ADS-B Exchange,
  Flightradar24, FlightAware, MarineTraffic, VesselFinder and Equasis. Use when following a
  tail number or flight, looking up an ICAO 24-bit hex code, registration or callsign, tracing
  a ship by IMO number or MMSI, checking a flag of convenience or port-call history, finding
  who owns a private jet or vessel, or analysing AIS gaps and dark-fleet behaviour. Applies to
  sanctions-evasion detection, trade and supply-chain compliance, asset tracing and recovery,
  and investigative journalism. Reference at useosint.com/skills/track-planes-and-ships.

---

# Track Planes and Ships

Aircraft and ships announce themselves over the air, and volunteers with cheap
receivers write it all down. That gives you movement history for most civil
traffic and, through registries, a path to ownership. The cost: the data is
self-reported by the vehicle, so it is exactly as truthful as its operator
chooses. The beginner error is chasing the wrong identifier — tail numbers,
callsigns, vessel names and MMSIs all change, while ICAO hex codes and IMO
numbers largely don't. Resolve to the durable identifier first and everything
downstream survives a rename.

## Triage: which identifier do you have?

| You have | Resolve to | Why |
|---|---|---|
| Tail number / registration (`N…`, `G-…`, `D-…`) | ICAO 24-bit hex | Registration is reassigned when the aircraft is sold or re-registered; hex follows the current registration but is what the trackers key on |
| Flight number or callsign | The specific airframe for that leg | Callsigns are per-flight and get reused daily by different aircraft |
| ICAO hex | Nothing — you're already there | The durable aircraft selector, as broadcast |
| Vessel name | IMO number | Names change with sale and with evasion; the hull doesn't |
| MMSI | IMO number | MMSI is a radio identity issued by the flag state and is reissued on reflag |
| IMO number | Nothing — you're already there | Permanent for the life of the hull |
| A photo of the vehicle | The visible identifier, then the above | Spotter photo archives index by registration and by name |

Full breakdown of which identifiers are permanent and which aren't is in the
[identifier reference](reference/identifiers.md).

## Aircraft: how ADS-B actually works

Aircraft equipped with ADS-B Out broadcast their own GNSS-derived position
about once a second, unencrypted. Anyone with a receiver hears it. The
aggregators are networks of volunteer receivers, so **coverage is a map of
where hobbyists live**, not where aircraft fly.

Three fields matter and are commonly confused:

- **ICAO 24-bit address** — six hex characters, assigned by the state of
  registry from a country-allocated block. It's the address in the protocol,
  and it changes only on re-registration. This is your selector.
- **Registration (tail number)** — painted on the airframe, assigned by the
  national registry, changes with ownership or country. Trackers derive it from
  the hex via lookup tables, which is why a newly re-registered aircraft
  shows the *old* registration on some sites and the new one on others.
- **Callsign** — what's transmitted for this flight. An airline flight number
  for commercial traffic, usually the registration for general aviation, and
  sometimes an operator's own designator. Per-flight and meaningless as a
  long-term selector.

Aircraft that transmit Mode S but not ADS-B position can still be located by
**multilateration**, where several receivers compare signal arrival times. That
needs several receivers hearing the aircraft at once, so it degrades badly at
low altitude and vanishes outside dense coverage.

### The gaps that matter

- **Oceans, polar routes and sparsely populated regions** have no terrestrial
  receivers. Coverage there needs satellite-based ADS-B, which not every
  aggregator has and which is usually a paid product. A transatlantic flight
  disappearing mid-ocean is normal, not a finding.
- **Military and state aircraft** frequently don't broadcast, broadcast
  intermittently, or use identifiers that don't resolve to a registry entry.
  Absence proves nothing about their activity.
- **Privacy programmes.** The FAA's Limiting Aircraft Data Displayed programme
  lets an owner request their aircraft be withheld from the feed aggregators
  receive. Privacy-address schemes separately allow eligible aircraft to
  broadcast a temporary alternate ICAO address instead of the assigned one,
  breaking the hex-to-registration link for its duration. Mechanisms also exist
  for withholding owner details from public registry search.
- **Aggregators honour blocking differently.** Suppression works by filtering
  at the data-distribution layer, so a network built on independent volunteer
  feeds can show an aircraft another network hides — and policies change,
  including when a site changes ownership. Check more than one, and record
  which you used and when.

### Ownership, and the trust problem

National registries map a registration to a registered owner: the FAA registry
for `N` numbers, the UK CAA register for `G-`, equivalents elsewhere. The
[data-source catalogue](reference/data-sources.md) lists the ones worth
knowing.

Expect a legal entity, not a person. Registered owners are routinely trusts,
single-purpose LLCs, leasing companies, or bank trustees. In the US this is
structural: registration requires US citizenship or qualification, so foreign
owners commonly use an owner trust with a domestic trustee. Offshore registries
— the Isle of Man, Aruba, Bermuda, the Cayman Islands, San Marino — largely
serve this market, and their prefixes are a signal in themselves. A corporate
shell isn't a dead end; it's a handoff to `who-really-owns-it`.

Registrations are also recycled. A freed tail number can be reissued to a
different airframe, so an old track or photo tied to that registration may be a
different aircraft. Check the registry's history for the mark and date every
claim.

## Vessels: how AIS differs, and why that matters

AIS looks like the maritime ADS-B and differs in the one way that counts:
**the transponder is crew-operated**. Position is GNSS-derived, but switching
it off is a switch on the bridge, and much of the payload is typed by hand.

- **Class A** transponders are mandatory for larger commercial and passenger
  vessels under international convention, transmit at higher power and update
  frequently. **Class B** is voluntary and lower-power — small craft and
  fishing boats are patchily covered at best.
- **Static data** (name, IMO, callsign, dimensions, ship type) is configured at
  installation and is usually reliable.
- **Voyage data** (destination, ETA, draught, navigational status) is typed by
  the crew each voyage and is wrong constantly: stale destinations, joke
  entries, blank fields, wrong port codes. Treat it as a hint — except draught,
  where a reported change between two positions with no port call in between is
  evidence of a ship-to-ship transfer.

**Going dark is the finding.** A vessel that switches off its transponder, or
transmits a position contradicted by imagery, is doing something it doesn't
want attributed — behaviour central to sanctions-evasion and dark-fleet work.
Before you call it, exclude the benign causes: no receiver in range, satellite
revisit gaps, VHF collisions in congested water, and equipment failure all
produce identical-looking holes.

AIS is also **spoofable** — there's no authentication in the protocol, so
positions can be fabricated wholesale, and vessels have been observed
apparently sailing overland or appearing in two places. GNSS jamming near
certain coastlines corrupts the positions of ships behaving honestly. A track
is a claim about a position, not an observation of one.

Terrestrial reception is line-of-sight VHF, so coastal only. **Satellite AIS**
fills the open ocean but samples on orbital revisit rather than continuously,
struggles where many transmissions collide in one footprint, and is generally a
paid tier.

### Vessel identity and ownership

IMO number is the permanent hull identifier and survives sale, rename and
reflag — precisely why evasive operators rename and reflag but can't shed it.
MMSI is issued by the flag state and changes on reflag, so a new MMSI against
the same IMO is a reflag event with a date. Names change freely.

Flag choice is analytic information. Open registries — flags of convenience —
sell registration to owners with no national connection, and a hull moving
through a succession of small open registries with weak enforcement reputations
is a pattern. Port state control inspection databases record detentions and
deficiencies by IMO number and are one of the few independent checks on a
vessel's real condition.

Ownership records distinguish registered owner, beneficial owner, commercial
manager, technical manager and charterer — frequently different entities in
different jurisdictions, with the registered owner often a one-ship company.
Take it to `who-really-owns-it` and `x-ray-a-company`.

## Where this lies to you

- **Coverage is not truth.** No data means no receiver heard it; over most of
  the planet's surface a gap is the default state.
- **The vehicle is the source.** Position comes from the aircraft's or ship's
  own navigation system. Both can be wrong, and AIS can be deliberately false.
- **Aggregator disagreement is informative.** Different receiver networks,
  blocking policies and registry snapshots. When two sites disagree about an
  aircraft's identity, that usually points at a recent re-registration or a
  suppression.
- **Registry data is a snapshot.** Registries update on paperwork, not on sale,
  and lag. A current extract doesn't prove who controlled the vehicle last year.
- **Identifier collisions.** Registrations get reissued; MMSIs are reused,
  duplicated and fabricated; vessel names aren't unique at all.
- **Historical tracks are a paid feature.** Free tiers show a short window. If
  a track matters, capture it now.
- **An airframe is not a passenger.** Aircraft fly empty, fly staff, and get
  chartered out. Placing the vehicle says nothing about who was aboard.

## Grading a finding

- **Confirmed** — the position is corroborated by an independent source of a
  different type: imagery showing the vehicle there and then, a port call in an
  authority record, a photograph geolocated via `geolocate-from-pixels`, a
  filing or notice. For identity, a dated authoritative registry entry.
- **Probable** — a consistent multi-receiver track from a reputable aggregator
  with nothing contradicting it, or ownership from one registry that agrees
  with a secondary commercial database.
- **Unconfirmed** — a single-receiver or single-aggregator track, any position
  from a vehicle already suspected of spoofing, voyage-data fields, an inferred
  destination, or a gap called intentional without excluding coverage and
  equipment causes.

Never grade an AIS gap as "went dark" unless you can show coverage existed
there at the time — for instance, that other vessels were reported nearby
throughout the gap. That check separates the finding from the guess.

## Worked example

Objective: test a claim that a company jet flew executives to a jurisdiction
they said they'd never visited.

Start with the registration from a press photo. It resolves to an ICAO hex, but
the first tracker shows no history at all — an instructive dead end: the
aircraft is on a privacy programme and that site honours the suppression. A
community aggregator built on unfiltered volunteer feeds has the same hex with
two years of tracks.

Those show a repeated home base and four trips into the region in question. Two
have a clean position log; the other two drop out over water for hours, which
is coverage, not evasion. The registry lists a Delaware LLC as owner, so
ownership proves nothing about who flew — that goes to `who-really-owns-it`.

Graded: presence at the destination airport on two dates is probable on
tracking data alone, and becomes confirmed for one date when a spotter
photograph of the aircraft there, geolocated, turns up. Who was aboard remains
unknown, and is reported as unknown.

## Pivots

| You now have | Take it to |
|---|---|
| Registered owner entity, trust, or one-ship company | `who-really-owns-it`, `x-ray-a-company` |
| A named individual owner or director | `find-anyone` |
| Operator's website or domain | `recon-a-domain-passively`, `who-owns-this-domain` |
| A photo of the aircraft or vessel | `geolocate-from-pixels`, `find-the-original-image`, `secrets-in-file-metadata` |
| Removed registry page or deleted operator site | `read-deleted-pages` |
| Registration, hex, IMO or MMSI as a search string | `google-like-a-spy` |
| Movements tied to a person's posts | `pattern-of-life-from-socials` |
| Fleet, owner and charterer relationships | `graph-the-network` |
| Sanctions or shipping chatter in forums and channels | `find-leaks-in-the-wild` |

## Legal and ToS

Receiving these broadcasts is passive and lawful in most jurisdictions — they
are unencrypted transmissions intended for public reception — though radio
regulation varies, so check locally before building a receiver. The tracking
sites are a different matter: scraping them generally breaches their terms, and
their historical archives are licensed products. Use the APIs and free tiers as
offered.

Registry data often carries reuse restrictions and sometimes includes an
individual owner's home address. That remains personal data under GDPR and
comparable regimes — don't republish it because a registry printed it.
Authorities have moved toward letting owners withhold personal details; treat
that as a legitimate choice, not an obstacle to route around.

Sanctions work has hard edges: vessels are designated by IMO number, and
dealings with a designated vessel or its operators carry strict liability in
many jurisdictions, so check current designations rather than memory. Tracking
a private individual's aircraft, as opposed to a company's or a public figure's
in their public capacity, sits close to the line — have a defensible objective
before you start.

© UseOSINT · MIT · UseOSINT/Skills

Похожие скиллы

Всё по теме «Безопасность» →
instrument-events amplitude Превращает YAML с кандидатами в события в план инструментирования: где именно в коде поставить вызовы трекинга и какие свойства передавать. CX Codex +1 42 800установок ads-server-side-tracking AgriciDaniel Проверяет серверный трекинг платной медии: соответствие параметров между браузером и сервером, дедупликацию, хеширование данных и соответствие GDPR. Помогает найти потери конверсий и ошибки в sGTM, Meta CAPI, TikTok Events API. CX Codex +1 3 300установок analytics-tracking kostja94 Указатель на актуальные инструкции по отслеживанию событий GA4, ключевых событий и User-ID. Нужен при переносе со старого пути скилла. CX Codex +1 2 400установок pp-flight-goat Matt Van Horn Скилл ищет цены Google Flights, дешёвые даты, маршруты Kayak и FlySoar без ключа API. Дополнительно — статусы рейсов через FlightAware AeroAPI. CX Codex +1 4 600установок track-findings официальный OpenAI Скилл переносит подтверждённые находки Codex Security в Linear, Jira или GitHub. Он нужен, когда результаты сканирования уже проверены и их пора занести в трекер. CX Codex GP ChatGPT 26установок gmgn-track GMGNAI Получайте сигналы на-чейн от крупных трейдеров, KOL и отслеживаемых вами кошельков через API GMGN. Смотрите, что покупают smart money и копируйте сделки на Solana, BSC, Base, Ethereum. CX Codex +1 17 200установок

Из того же набора25

whose-number-is-this Пошаговый план расследования телефонных номеров: нормализация по E.164, выявление VoIP, проверка профилей в мессенджерах и поиск утечек без прямого контакта с абонентом. CX Codex +1 1 800установок find-anyone Собирает подтверждённый профиль конкретного человека из открытых источников. Сначала привязывает имя ко второму признаку, чтобы не склеить двух однофамильцев. CX Codex +1 1 800установок hunt-a-handle Перебирает ник по сотням платформ через sherlock, maigret и WhatsMyName, а потом помогает отделить настоящие аккаунты одного человека от совпадений. CX Codex +1 1 800установок recon-a-domain-passively Скилл выстраивает инвентаризацию домена, поддоменов и сетевой инфраструктуры без отправки сетевых пакетов цели. Пригодится при оценке сторонних рисков и аудите периметра атак. CX Codex +1 1 800установок find-leaks-in-the-wild Скилл для поиска утёкших селекторов в пастах, форумах и Telegram-каналах и проверки, настоящая ли утечка или пересобранный комболист. CX Codex +1 1 700установок find-hidden-subdomains Скилл собирает поддомены и родственные домены организации из Certificate Transparency и пассивного DNS, не отправляя трафик на цель. CX Codex +1 1 700установок where-was-this-taken Пошаговый регламент для установления места, времени и подлинности фото или видео. Пригодится при судебных спорах и страховых расследованиях. CX Codex +1 1 700установок pattern-of-life-from-socials Разбирает публичный профиль в соцсетях по четырём слоям: метаданные аккаунта, сеть связей, контент и время публикаций. Нужен для проверки контрагента или аудита собственной заметности. CX Codex +1 1 700установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой