Skip to content

Repository files navigation

ASN Signal Graph

ASN Signal Graph is a public ASN infrastructure signal aggregation project for enrichment, research, and defensive analytics.

LicenseCILast CommitDatasetExportsFocus


ASN Signal Graph is a public ASN infrastructure signal aggregation project for enrichment, research, and defensive analytics.

The repository aggregates observable public infrastructure signals at ASN level and publishes normalized profiles describing VPN overlap, Tor presence, public feed exposure, DROP-listed infrastructure overlap, and source diversity.

The project intentionally frames outputs as infrastructure context rather than provider reputation or maliciousness classification.


Overview

Modern hosting and network infrastructure frequently overlaps across:

  • VPN providers
  • Tor relays
  • public abuse feeds
  • crawler infrastructure
  • cloud and VPS platforms
  • public blocklists

ASN Signal Graph aggregates those observable signals into lightweight operational profiles suitable for:

  • fraud detection
  • SIEM enrichment
  • infrastructure research
  • routing analytics
  • abuse-prevention workflows
  • network intelligence pipelines

The repository does not classify providers as malicious or assign enforcement verdicts.


Signal Model

The primary object is an ASN profile:

ASN / organization / country
-> vpn overlap
-> tor overlap
-> drop-list overlap
-> public feed overlap
-> signal density
-> source diversity
-> confidence

Example output:

asn,org,country,total_prefixes,signal_count,source_count,vpn_signals,tor_signals,abuse_feed_overlap,drop_list_overlap,public_feed_overlap,signal_density,confidence,sources9009,M247,RO,0,4922,3,4861,52,0,0,9,4922.0000,medium,"asn-vpn-multi-provider,bad-cidrs-v4,tor-radar-network"

Signal counts represent overlap with public datasets and infrastructure observations. They are intended as enrichment features, not provider verdicts.


Architecture

 Public Infrastructure Sources
│
┌───────────────────────┼────────────────────────┐
│ │ │
▼ ▼ ▼
VPN Signals Tor Signals Public Feeds
│ │ │
└───────────────────────┴─────────────┬──────────┘
▼
ASN Aggregation Layer
normalize / correlate / score
▼
Signal Profiles
▼
CSV / JSONL / static API / dashboard

Data Sources

Configured sources are defined in:

config/sources.json

Current inputs include:

SourcePurpose
IP-Knowledge-LayerInfrastructure enrichment
ASN-VPN-Network-IntelligenceVPN ASN overlap
Tor-RadarTor relay visibility
blackroutePublic feed catalog
Spamhaus ASNDROPASN-level DROP exposure
stamparm/ipsumPublic reputation overlap
saloniamatteo/bad-cidrsPublic CIDR overlap
ipverse/as-metadataASN enrichment and mapping

ASN-native feeds are aggregated directly.

Provider-labeled CIDR feeds are mapped through normalized provider metadata. IP-only feeds are indexed separately until reliable IP/CIDR-to-ASN mapping is available.


Published Outputs

FileDescription
data/current/asn-signals.csvFlat ASN signal export
data/current/hosting-signal-graph.jsonlFull JSONL signal profiles
data/current/provider-overlap.csvProvider overlap aggregates
data/current/source-index.jsonSource metadata and indexing
data/current/summary.jsonSnapshot summary
data/current/dashboard-data.jsonDashboard dataset
data/api/index.jsonStatic API index
data/api/asn/<asn>.jsonASN detail API
data/api/top/<signal>.jsonTop ASN signal rankings
data/api/country/<country>.jsonCountry-level views

The API is fully static and can be hosted directly from GitHub Pages.


Dashboard

The repository includes a static browser dashboard under:

site/

Features include:

  • ASN search by number or organization
  • country and signal filtering
  • sortable signal tables
  • minimum signal thresholds
  • confidence filtering
  • clickable summary metrics
  • ASN detail panels
  • direct JSON export links

The dashboard is fully backend-free.


Signal Semantics

Signal levels describe observed infrastructure overlap volume, not provider reputation.

LevelMeaning
noneNo observed overlap
lowSmall observed overlap
mediumModerate overlap
highLarge observed overlap

Confidence

Confidence measures data completeness and source diversity.

ConfidenceRequirements
high≥5 source families and ≥25 signals
medium≥3 source families and ≥5 signals
lowBelow medium threshold

Confidence is not a badness score.


Quick Start

Fetch upstream datasets:

python3 scripts/fetch_sources.py \
--sources config/sources.json

Build current outputs:

python3 scripts/build_signal_graph.py \
--sources config/sources.json \
--output-dir data/current

Serve locally:

python3 -m http.server 8000

Open:

http://127.0.0.1:8000/site/

GitHub Actions

WorkflowPurpose
TestValidate snapshots, CSV/JSON outputs, and dashboard builds
Build ASN Signal GraphScheduled/manual upstream refresh and aggregation
Deploy PagesPublish static dashboard and API

The project is designed for GitHub-native static deployment workflows.


Operational Notes

  • Large cloud and VPS providers frequently appear in public overlap feeds because of scale and customer diversity
  • Public feed overlap should be interpreted alongside source diversity and signal mix
  • IP-only feeds require reliable ASN mapping before contributing weighted ASN counts
  • Signal density reflects observed infrastructure exposure, not intent or ownership

Design Principles

PrincipleDescription
Neutral FramingInfrastructure context instead of provider verdicts
ReproducibilityDeterministic snapshot generation
Lightweight DeploymentFully static outputs and API
Source TransparencyPreserve provenance and source diversity
Operational UtilityUseful for enrichment and analytics workflows

Recommended Interpretation

Preferred terminology:

  • observed signals
  • infrastructure overlap
  • source diversity
  • public feed exposure
  • infrastructure context
  • confidence

Avoid:

  • malicious ASN
  • bad provider
  • criminal hosting
  • definitive attribution
  • enforcement verdicts

The project publishes observable infrastructure correlations derived from public datasets.


Use Cases

DomainExample
Fraud DetectionVPN and Tor enrichment
SIEM PipelinesASN infrastructure context
Network AnalyticsHosting concentration analysis
Abuse PreventionPublic feed overlap review
ResearchInfrastructure relationship mapping
Routing AnalysisASN signal clustering

Repository Layout

.
├── config/
├── data/
│ ├── api/
│ └── current/
├── scripts/
├── site/
├── LICENSE
└── README.md

Roadmap

Planned additions:

  • ASN delta tracking
  • signal-family clustering
  • IPv6 overlap support
  • ASN relationship graphing
  • compact historical summaries
  • infrastructure topology metrics

License

Code in this repository is licensed under Apache-2.0.

Published datasets and generated data artifacts are released under CC0-1.0.

See:


Disclaimer

ASN Signal Graph aggregates publicly observable infrastructure signals for analytical and operational use. The project does not classify providers as malicious and should not be used as a standalone enforcement or attribution system.

About

Public ASN infrastructure signal aggregation for VPN overlap, Tor visibility, public feed exposure, and defensive network analytics.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages