<!-- Copyright (c) 2026 defconxt. All rights reserved. -->
<!-- Licensed under AGPL-3.0 — see LICENSE file for details. -->
---
name: analyzing-shipping-and-maritime-data
description: >-
  Track vessels using AIS transponder data, port records, satellite imagery,
  and maritime databases. Identify sanctions evasion, dark shipping, and
  illicit cargo transfers. MarineTraffic and global AIS methodology.
domain: cybersecurity
subdomain: investigation-attribution
tags:
  - maritime-tracking
  - ais-data
  - marinetraffic
  - vessel-tracking
  - sanctions-evasion
  - osint
version: "1.0"
author: defconxt
license: AGPL-3.0
metadata:
  mitre-attack: []
---

# Analyzing Shipping and Maritime Data

## Overview

Maritime data analysis tracks vessel movements using Automatic Identification
System (AIS) transponder data, port arrival/departure records, and satellite
imagery. Critical for detecting sanctions evasion, illicit transfers at sea,
and smuggling networks.

## Prerequisites

| Requirement | Install |
|---|---|
| Python 3.10+ | Agent tooling |
| requests | `pip install requests` |
| MarineTraffic API key | `marinetraffic.com/en/ais-api-services` |

## Key Concepts

### AIS Data Fields

| Field | Description |
|---|---|
| **MMSI** | Maritime Mobile Service Identity (unique vessel ID) |
| **IMO** | International Maritime Organization number |
| **Call Sign** | Radio call sign |
| **Ship Name** | Vessel name (can be changed) |
| **Ship Type** | Cargo, tanker, fishing, passenger, etc. |
| **Destination** | Declared next port |
| **ETA** | Estimated time of arrival |
| **Position** | Latitude/longitude from GPS |
| **Speed/Course** | Speed over ground and heading |

### Dark Shipping Indicators

```
- AIS transponder turned off for extended periods ("going dark")
- Frequent AIS identity changes (spoofing)
- Ship-to-ship transfers at sea (STS)
- Visits to sanctioned ports
- Flag changes to convenience registries
- Mismatched cargo declarations
```

## Quick Reference

```bash
# Track vessel by MMSI
node agent.js vessel-track --mmsi 211234567 --start 2026-01-01 --end 2026-03-01

# Look up vessel details
node agent.js vessel-lookup --imo 9876543

# Detect AIS gaps (dark periods)
node agent.js ais-gaps --mmsi 211234567 --threshold 24

# Check port calls
node agent.js port-calls --mmsi 211234567 --days 90

# Detect ship-to-ship transfers
node agent.js sts-detect --mmsi 211234567 --radius 0.5
```

## Workflow

```
1. IDENTIFY   — Get vessel MMSI/IMO from name or image
2. PROFILE    — Pull vessel details, flag state, ownership
3. TRACK      — Retrieve historical AIS track data
4. GAPS       — Identify periods where AIS was disabled
5. TRANSFERS  — Detect proximity events (ship-to-ship)
6. PORTS      — Analyze port call history against sanctions lists
7. OWNERSHIP  — Trace beneficial ownership through flag registries
8. DOCUMENT   — Produce vessel investigation report
```

## Verification

```bash
python3 -c "import requests; print('requests OK')"
node agent.js --self-test
```

## References

- [MarineTraffic](https://www.marinetraffic.com/)
- [VesselFinder](https://www.vesselfinder.com/)
- [Global Fishing Watch](https://globalfishingwatch.org/)
- [Equasis — Ship Safety Database](https://www.equasis.org/)
