🛰️ 台灣灰色地帶與海底電纜監測

灰色地帶監測 深度文章

本網站
所使用之方法

Our Methodology

深度文章系列 06 • 資料來源 • 評分演算法 • CSIS 方法論

Article Series 06 • Data Sources • Scoring Algorithm • CSIS Methodology

系列文章 SERIES → 01 海底電纜 02 AIS 03 台灣現況 04 威脅 05 執法 06 方法論
台灣海峽和周邊海域,每天有數千艘船隻通過。漁船、貨輪、油輪、客輪、海巡船——絕大多數都是完全合法的航行。

我們的任務是:在這片繁忙的海域中,找出那幾艘真正值得警覺的船。不能太多(避免誤報讓人麻木),也不能遺漏(避免放過真正的威脅)。這需要一套明確、可重複、可被檢驗的方法。
Thousands of vessels pass through the Taiwan Strait and surrounding waters every day. Fishing boats, cargo ships, tankers, passenger ferries, coast guard vessels — the vast majority engaged in completely legitimate navigation.

Our task is to find, within this busy maritime environment, the few vessels that genuinely warrant attention. Not too many (false positives cause alert fatigue), and not missing the real threats. This requires a clear, repeatable, and verifiable methodology.

資料來源

本站使用兩個主要資料來源,互相補充、交叉驗證。

資料來源 1:台灣港務局 AIS 資料 透過 src/fetch_ais_data.py 每 2 小時自動從台灣港務局 API 取得台灣海峽及周邊海域的即時 AIS 資料,監測範圍約 20–28°N、112–128°E。資料包含所有廣播 AIS 訊號的船隻位置、速度、航向、目的地等。資料透過 SOCKS5 代理取得以確保穩定性。
資料來源 2:Global Fishing Watch SAR 衛星 透過 src/fetch_gfw_data.py 定期從 Global Fishing Watch(全球漁業觀察)API 取得合成孔徑雷達(SAR)衛星影像分析結果。SAR 可以在全天候條件下偵測水面上的金屬物體,並標記未廣播 AIS 的「暗船」(Dark Vessel)。兩個資料來源的交叉比對是發現 AIS 走暗行為的核心方法。

Data Sources

This site uses two primary data sources that complement and cross-validate each other.

Source 1: Taiwan Port Bureau AIS Data Via src/fetch_ais_data.py, real-time AIS data is automatically retrieved from the Taiwan Port Bureau API every 2 hours, covering the Taiwan Strait and surrounding waters (~20–28°N, 112–128°E). Data includes position, speed, heading, destination, and vessel identity for all vessels broadcasting AIS. Retrieved via SOCKS5 proxy for reliability.
Source 2: Global Fishing Watch SAR Satellite Via src/fetch_gfw_data.py, SAR satellite imagery analysis results are regularly retrieved from the Global Fishing Watch API. SAR detects metallic objects on the water surface in all weather conditions and flags "dark vessels" not broadcasting AIS. Cross-referencing both data sources is the core method for detecting AIS dark behavior.

資料管線

本站透過 GitHub Actions 自動化整個資料處理流程,確保資料持續更新且過程可稽核。

01
取得 AIS 資料(每 2 小時)
Fetch AIS Data (every 2h)
更新船隻位置、建立/更新船隻檔案(vessel profiles)、追加至航跡歷史記錄(14 天保留)
fetch_ais_data.py
02
取得 GFW SAR 資料(每 12 小時)
下載衛星暗船偵測結果,更新 SAR 資料集
fetch_gfw_data.py
03
偵測海上旁靠(STS)
識別兩船隻在同一位置、同一時間低速相遇的事件,標記為可疑 STS 旁靠
detect_ship_transfers.py
04
執行威脅評分
Run Threat Scoring
對所有已知船隻套用 8 項評分指標,計算最終威脅分數與風險等級
analyze_suspicious.py
05
生成儀表板資料
整合所有分析結果,輸出前端所需的 data.json,部署至 GitHub Pages
generate_dashboard.py

Data Pipeline

The site automates the entire data processing workflow through GitHub Actions, ensuring continuous updates and an auditable process.

01
Fetch AIS Data (every 2h)
Update vessel positions, create/update vessel profiles, append to track history (14-day retention)
fetch_ais_data.py
02
Fetch GFW SAR Data (every 12h)
Download satellite dark vessel detection results, update SAR dataset
fetch_gfw_data.py
03
Detect Ship-to-Ship (STS) Transfers
Identify events where two vessels meet at the same location and time at low speed, flagging as suspected STS rendezvous
detect_ship_transfers.py
04
Run Threat Scoring
Apply 8 scoring criteria to all known vessels, calculate final threat score and risk level
analyze_suspicious.py
05
Generate Dashboard Data
Consolidate all analysis results, output data.json for the frontend, deploy to GitHub Pages
generate_dashboard.py

排除規則:先過濾掉不相關的訊號

監測範圍內有大量的浮標、漁網標誌器等設備也會發出 AIS 訊號,但它們顯然不是我們關注的對象。在昂貴的分析工作開始之前,這些訊號會被優先排除:

Exclusion Rules: Filter Out Irrelevant Signals First

The monitoring area contains many buoys, fishing net markers, and other equipment that also broadcast AIS signals, but they're obviously not vessels of interest. These are excluded before expensive analysis begins:

8 項威脅評分指標

通過排除規則的船隻,將被套用以下 8 項指標進行評分。評分基礎來自 CSIS(戰略與國際研究中心)的「Signals in the Swarm」報告所提出的分析框架。

8 Threat Scoring Criteria

Vessels that pass the exclusion rules are evaluated against the following 8 criteria. The scoring framework is derived from CSIS (Center for Strategic and International Studies) "Signals in the Swarm" report.

# 指標Criterion 偵測方法Detection Method 分數Score
1a 電纜鄰近Cable Proximity 航跡點距海底電纜 5 公里以內Track points within 5km of submarine cable +2
1b 電纜低速滯留Cable Loitering 在電纜附近低速(<8節)滯留超過 3 小時Low speed (<8kn) near cable for >3 hours +3
2 之字形航行Zigzag Pattern ≥3 次 45° 以上的航向轉變≥3 turns of ≥45° heading change +1
3 200 米等深線200m Depth Contour ≥30% 航跡時間在大陸棚邊緣附近≥30% of track time near continental shelf edge +1
4 AIS 異常AIS Anomalies 船名更換≥2次、走暗>18小時、類型更換、身分事件Name changes ≥2, dark gaps >18hr, type changes, identity events +1 / +3
5 非前十旗幟國Non-Top-10 Flag MMSI 前三碼非前十大旗幟國MMSI MID not in top-10 flag state set +1
6 聯合國制裁UN Sanctions IMO 或船名與制裁名單匹配IMO or name match against sanctions list +8
7 AIS 欺騙AIS Spoofing 不可能的物理運動 / 方框模式 / 圓形模式Impossible physics / box pattern / circle pattern +4 each
8 ITU MARS 不符ITU MARS Mismatch 船名、IMO 或呼號與 ITU 船站登記不符Ship name, IMO, or call sign differs from ITU registry +3
9 STS 旁靠STS Transfer 涉及船對船旁靠事件Involved in ship-to-ship rendezvous +2 / +5

船舶類型加權係數

不同類型的船隻,相同行為的威脅程度不同。行為性指標(指標 1–3, 5)會乘以下列係數;高威脅指標(指標 4, 6–9)不乘以係數。

Vessel Type Multipliers

The same behavior carries different threat levels for different vessel types. Behavioral criteria (1–3, 5) are multiplied by the following coefficients; high-threat indicators (4, 6–9) are not multiplied.

船舶類型Vessel Type 係數Multiplier 理由Rationale
貨船、油輪、LNGCargo, Tanker, LNG ×1.0 重型船錨、高噸位 → 實質電纜損壞風險最高Heavy anchors, high tonnage → highest real cable damage risk
中國海警、海巡、海救、科研Chinese Gov't vessels (CG, MSA, Rescue, Research) ×0.5 中國公務/特殊利益船隻,行為模式不同China public-service / special-interest state vessels
漁船Fishing ×0.2 體積小、常規作業 → 電纜威脅低Small, routine operations → low cable threat
其他 / 未知Other / Unknown ×0.5 不確定,保守估計Uncertain, conservative estimate

最終評分與風險等級

最終分數計算公式:round(行為分數 × 船型係數) + 高威脅指標分數

Final Score and Risk Levels

Final score formula: round(behavioral_score × type_multiplier) + high_threat_indicators

NORMAL< 5無顯著異常,不納入監測清單No significant anomalies, not listed in monitoring
MEDIUM5–7稍有異常,持續追蹤但不標記為可疑Slightly elevated, tracked but not flagged suspicious
HIGH8–11可疑行為——標記在儀表板中Suspicious behavior — flagged in dashboard
CRITICAL≥ 12多項強烈指標同時觸發——最高警戒Multiple strong indicators simultaneously triggered — highest alert

方法論基礎:CSIS「Signals in the Swarm」

本站的評分框架參考並延伸自美國智庫 戰略與國際研究中心(CSIS)發表的「Signals in the Swarm」研究報告。該報告系統性地分析了中國漁船群在台灣周邊海域的威脅行為模式,識別出電纜鄰近、走暗、之字形航行等核心指標。

本站在 CSIS 框架的基礎上,增加了 AIS 欺騙偵測、ITU MARS 登記查核、STS 旁靠偵測等指標,並整合 GFW SAR 衛星資料,以強化針對台灣海域的偵測能力。

Methodological Basis: CSIS "Signals in the Swarm"

This site's scoring framework references and extends the "Signals in the Swarm" research report published by the Center for Strategic and International Studies (CSIS). The report systematically analyzes behavioral patterns of Chinese fishing fleets in Taiwan's surrounding waters, identifying core indicators including cable proximity, AIS dark events, and zigzag navigation.

Building on the CSIS framework, this site adds AIS spoofing detection, ITU MARS registry verification, STS rendezvous detection, and integrates GFW SAR satellite data to enhance detection capabilities specific to Taiwan's waters.

方法論的限制

透明度要求我們誠實地說明這套方法的局限性:

開源與透明 本站的所有程式碼皆以 MIT 授權條款開放於 GitHub。任何人都可以檢視我們的評分邏輯、資料處理方式,乃至提出改進建議。我們相信,在灰色地帶威脅中,透明度本身就是一種防禦手段。

Methodological Limitations

Transparency requires us to honestly state the limitations of this approach:

Open Source and Transparent All code for this site is open-sourced under MIT license on GitHub. Anyone can review our scoring logic, data processing methods, and submit improvement suggestions. We believe that in the context of gray zone threats, transparency itself is a form of defense.

地理法域與海纜緩衝帶加分

除了「任一航跡點是否在海纜 5 公里內」這個較粗的判斷,本站還會對船舶最近一筆位置做更精細的地理研判,把「位置」本身納入評分。

系統以內政部公告的領海基線計算該位置屬於哪個法域(內水/領海 12 浬/鄰接區 24 浬/經濟海域/公海),並計算其與最近海底電纜的距離緩衝帶(≤1km/≤5km/≤10km)。在此基礎上,加入兩項有上限的行為加分:

這兩項屬於「行為分」,一樣會乘上船型加權(商船權重高、漁船權重低)。它的用意是精修而非取代既有的 5 公里粗網——把「此刻就壓在電纜上、又落在我國管轄海域」這個最符合灰色地帶電纜威脅的情境,給予額外但有限的權重。EEZ 在此採「距基線 ≤200 浬」的簡化定義,僅供風險研判,並非法律上的劃界。

Maritime-Zone and Cable-Buffer Scoring

Beyond the coarser test of "is any track point within 5 km of a cable," the site also makes a finer geographic read of a vessel's most recent position, folding location itself into the score.

Using Taiwan's official territorial baseline, the system classifies which legal zone that position falls in (internal waters / territorial sea 12 nm / contiguous zone 24 nm / EEZ / high seas) and computes its distance band to the nearest submarine cable (≤1km / ≤5km / ≤10km). On top of that, two bounded behavioral bonuses are added:

Both are "behavioral" points and are multiplied by the same vessel-type weighting (cargo high, fishing low). The intent is to refine, not replace, the existing 5 km net — giving extra but limited weight to the scenario that best matches a gray-zone cable threat: "sitting on a cable right now, inside our jurisdiction." EEZ here uses a simplified "≤200 nm from baseline" definition for risk analysis only, not a legal delimitation.

為什麼採用開源(OSINT)方法?

本站刻意建立在公開可得的資料公開的程式碼之上,這是一個方法論選擇,而非權宜之計。

🔍
可驗證任何人都能檢視評分邏輯、調整門檻、甚至質疑某艘船為何被標記。結論不必「相信我」,而是「自己看」。
🔁
可重現相同的輸入資料與相同的程式,會得到相同的結果。這讓分析能被獨立檢驗,也讓錯誤可以被指認與修正。
⚖️
有節制開源也意味著公開承認限制:資料會有缺漏、分數是風險排序而非法律認定。透明,才能避免過度詮釋。

OSINT 的價值不在於取代官方情報,而在於提供一個任何人都能查核的共同事實基礎。當討論台灣周邊的灰色地帶活動時,一個公開、可重現、誠實標示限制的工具,比一個「黑箱結論」更值得信任。

Why an Open-Source (OSINT) Approach?

This site is deliberately built on publicly available data and public code — a methodological choice, not a convenience.

🔍
VerifiableAnyone can inspect the scoring logic, adjust thresholds, or even challenge why a given ship was flagged. Conclusions don't ask you to "trust me" — they invite you to "see for yourself."
🔁
ReproducibleThe same input data and the same code yield the same result. That lets the analysis be independently checked, and lets errors be identified and corrected.
⚖️
RestrainedOpen source also means openly admitting limits: data has gaps, and a score is a risk ranking, not a legal finding. Transparency is what guards against over-interpretation.

The value of OSINT is not to replace official intelligence but to provide a shared factual basis anyone can audit. When discussing gray-zone activity around Taiwan, an open, reproducible tool that states its limits honestly deserves more trust than a black-box conclusion.

常見問題 FAQ

本站的資料來自哪裡?
兩大來源——台灣港務局 AIS 資料(每 2 小時更新)與 Global Fishing Watch 的 SAR 衛星暗船偵測結果,兩者交叉比對。
威脅評分高代表這艘船一定有罪嗎?
不。高分代表行為模式異常,不等於確認破壞意圖。本系統旨在輔助人工研判,不能取代專業情報分析。
評分系統有幾項指標?
共 8 項,包含電纜鄰近、低速徘徊、之字形航行、AIS 異常與欺騙、制裁名單比對、STS 旁靠等,並依船舶類型加權。
這個專案是開源的嗎?
是。所有程式碼以 MIT 授權公開於 GitHub,任何人都可檢視評分邏輯與資料處理方式,並提出改進建議。

FAQ

Where does the site's data come from?
Two sources — Taiwan Port Bureau AIS data (updated every 2 hours) and Global Fishing Watch SAR satellite dark-vessel detections, which are cross-referenced.
Does a high threat score mean a vessel is guilty?
No. A high score indicates anomalous behavior, not confirmed intent. The system is designed to assist human judgment, not replace professional intelligence analysis.
How many scoring criteria are there?
Eight, including cable proximity, low-speed loitering, zigzag navigation, AIS anomalies and spoofing, sanctions matching, and STS rendezvous — weighted by vessel type.
Is this project open source?
Yes. All code is published on GitHub under the MIT license, so anyone can review the scoring logic and data processing, and suggest improvements.
← 05 執法框架 ← 05 Enforcement Framework ← 返回所有文章 ← Back to All Articles 前往監測儀表板 → Go to Live Dashboard →

參考資料 Sources

本頁概念可對照以下公開、權威來源核實:

本頁為研究與教育用途;偵測訊號為待查線索,非法律或事實認定。詳見 方法論

Sources

The concepts on this page can be verified against these public, authoritative sources:

This page is for research and education; detection signals are leads to investigate, not legal or factual findings. See the methodology.

相關灰色地帶主題

Related gray-zone topics