Skip to content

SeaSentinel: An Intrusion Detection System (IDS) designed to enhance the security of GMDSS maritime communications, monitoring for unauthorized access and anomalies.

License

Notifications You must be signed in to change notification settings

cywf/SeaSentinel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SeaSentinel

Deploy Status License: MIT

SeaSentinel: An Intrusion Detection System (IDS) designed to enhance the security of GMDSS maritime communications, monitoring for unauthorized access and anomalies.

🌐 View Documentation Site

Overview

SeaSentinel provides comprehensive security monitoring for the Global Maritime Distress and Safety System (GMDSS), covering:

  • DSC (Digital Selective Calling): Monitor distress alerts and detect unauthorized transmissions
  • NAVTEX: Validate navigational warnings and safety broadcasts
  • AIS/NMEA: Detect spoofed vessel identities and anomalous position reports
  • Voice Communications: Analyze maritime voice channels for suspicious activity

Documentation Site

Visit our comprehensive documentation site at https://cywf.github.io/SeaSentinel/ to explore:

Available Pages

Rulebook Structure

The rulebook system uses the following folder conventions:

rules/
├── dsc_rules.yml         # DSC protocol detection rules
├── navtex_rules.yml      # NAVTEX protocol rules
└── ais_rules.yml         # AIS/NMEA rules

signatures/
├── dsc_signatures.yml    # DSC signature patterns
├── navtex_signatures.yml # NAVTEX patterns
└── voice_patterns.yml    # Voice analysis patterns

playbooks/
├── isolation.md          # Isolation procedures
├── triage.md            # Triage steps
└── notification.md      # Notification protocols

Rule Format Example

id: dsc-unauthorized-distress
name: Unauthorized DSC Distress Alert
severity: critical
protocol: DSC
description: Detects DSC distress calls from unknown or blacklisted MMSIs
match:
  category: distress
  format: geographic-area

How Indexes Are Generated

The documentation site automatically generates rulebook indexes during CI/CD:

  1. Rules Index (site/scripts/index_rules.ts) - Parses rules/**/*.{yml,yaml,json}
  2. Signatures Index (site/scripts/index_signatures.ts) - Parses signatures/**/*.{yml,yaml,json}
  3. Playbooks Index (site/scripts/index_playbooks.ts) - Parses playbooks/**/*.{md,markdown}

All parsing is best-effort and does not require secrets. Data is generated at build time and served statically.

Contributing

We welcome contributions! Please see our issue templates for:

  • Bug Reports - Report issues you encounter
  • Feature Requests - Suggest new capabilities
  • Documentation - Help improve our docs

License

This project is licensed under the MIT License - see the LICENSE file for details.

Security

SeaSentinel is a security monitoring tool. All monitoring must comply with:

  • Applicable maritime regulations
  • Radio licensing requirements
  • Privacy laws and data protection regulations

Never monitor communications without proper authorization.

About

SeaSentinel: An Intrusion Detection System (IDS) designed to enhance the security of GMDSS maritime communications, monitoring for unauthorized access and anomalies.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •