blacklanternsecurity
cloudcheck
Python

Check whether an IP address or hostname belongs to popular cloud providers

Last updated Jul 9, 2026
91
Stars
8
Forks
5
Issues
+1
Stars/day
Attention Score
62
Language breakdown
No language data available.
โ–ธ Files click to expand
README

CloudCheck

Python Version PyPI Rust Version Crates.io License Ruff Rust Tests Python Tests Pipeline Tests Docker Tests Daily Update

[!TIP]
UPDATE 01-2026: Now supports REST API!
[!NOTE]
UPDATE 12-2025: Now supports government agencies (DoD, FBI, UK MoD, RU FSO)!
[!IMPORTANT]
UPDATE 12-2025: Now rewritten in Rust!

CloudCheck is a simple Rust tool to check whether an IP address or hostname belongs to a cloud provider. It includes:

  • A Rust CLI
  • A Rust library
  • Python bindings

Cloud Provider Signatures

The latest cloud provider signatures are available in cloudprovidersv3.json, which is updated daily via CI/CD. Domains associated with each cloud provider are fetched dynamically from the v2fly community repository, and CIDRs are fetched from ASNDB.

Used by BBOT and BBOT Server.

CLI Usage

# installation
cargo install cloudcheck

lookup command

cloudcheck lookup 8.8.8.8

output:

[ { "name": "Google", "tags": ["cloud"], "short_description": "A suite of cloud computing services provided by Google", "long_description": "Google Cloud Platform provides infrastructure, platform, and software services for businesses and developers" } ]

cloudcheck lookup asdf.amazon.com

output:

[ { "name": "Amazon", "tags": ["cloud"], "short_description": "A comprehensive cloud computing platform provided by Amazon", "long_description": "Amazon Web Services offers infrastructure services, storage, and computing power" } ]

serve command - start REST API server

cloudcheck serve

Server listening on http://127.0.0.1:8080

Swagger UI available at http://127.0.0.1:8080/swagger-ui

OpenAPI spec available at http://127.0.0.1:8080/api-docs/openapi.json

serve with custom host and port

cloudcheck serve --host 0.0.0.0 --port 3000

REST API

curl http://127.0.0.1:8080/8.8.8.8

Python Library Usage

# installation
pip install cloudcheck
import asyncio
from cloudcheck import CloudCheck

async def main(): cloudcheck = CloudCheck() results = await cloudcheck.lookup("8.8.8.8") print(results) # [{'name': 'Google', 'tags': ['cloud']}]

asyncio.run(main())

Error Handling

import asyncio
from cloudcheck import CloudCheck, CloudCheckError

async def main(): cloudcheck = CloudCheck() try: results = await cloudcheck.lookup("8.8.8.8") print(results) except CloudCheckError as e: print(f"Error: {e}")

asyncio.run(main())

Configuration

import asyncio
from cloudcheck import CloudCheck

async def main(): # Custom configuration cloudcheck = CloudCheck( signature_url="https://example.com/custom.json", # Custom signature URL max_retries=5, # Max retry attempts (default: 10) retrydelayseconds=2, # Delay between retries (default: 1) force_refresh=True # Force fresh fetch (default: False) ) results = await cloudcheck.lookup("8.8.8.8") print(results)

asyncio.run(main())

Rust Library Usage

# Add to Cargo.toml
[dependencies]
cloudcheck = "8.0"
tokio = { version = "1", features = ["full"] }
use cloudcheck::CloudCheck;

#[tokio::main] async fn main() { let cloudcheck = CloudCheck::new(); let results = cloudcheck.lookup("8.8.8.8").await.unwrap(); println!("{:?}", results); // [CloudProvider { name: "Google", tags: ["cloud"] }] }

Error Handling

use cloudcheck::CloudCheck;

#[tokio::main] async fn main() { let cloudcheck = CloudCheck::new(); match cloudcheck.lookup("8.8.8.8").await { Ok(results) => println!("{:?}", results), Err(e) => eprintln!("Error: {}", e), } }

Configuration

use cloudcheck::CloudCheck;

#[tokio::main] async fn main() { // Custom configuration let cloudcheck = CloudCheck::with_config( Some("https://example.com/custom.json".to_string()), // Custom signature URL Some(5), // Max retry attempts (default: 10) Some(2), // Delay between retries in seconds (default: 1) Some(true) // Force fresh fetch (default: false) ); match cloudcheck.lookup("8.8.8.8").await { Ok(results) => println!("{:?}", results), Err(e) => eprintln!("Error: {}", e), } }

Update the JSON database

export BBOTIOAPI_KEY=<your-api-key>

uv sync uv run cloudcheck_update/cli.py

Adding a new cloud provider

When adding a new cloud provider:

  • Create a new file in the cloudcheck/providers directory and name it whatever you want, e.g. amazon.py.
  • Inside that file, create a new class that inherits from BaseProvider.
  • Inside that class, fill out any of the following attributes that are relevant to your provider:
- v2fly_company: The company name for v2fly domain fetching. This will dynamically fetch domains from the v2fly community repository, whose purpose is to keep track of domain ownership across different companies. - org_ids: A list of organization IDs from ASNDB. These are always preferable to hard-coded ASNs or CIDRs, since they are updated daily from live sources. Big companies like Amazon typically have one organization ID per Regional Internet Registries (ARIN, RIPE, APNIC, LACNIC, AFRINIC), and within that organization ID, they may have multiple ASNs. - asns: A list of ASNs, e.g. [12345, 67890] - cidrs: A list of CIDRs, e.g. ["1.2.3.4/32", "5.6.7.8/32"] (it's always preferred to use org_ids or if necessary asns over manually-specified CIDRs) - domains: A list of domains, e.g. ["amazon.com", "amazon.co.uk"] (it's always preferred to use v2fly_company instead of hard-coding domains) - tags: A list of tags for the provider. These are used in BBOT to tag IPs, DNS names etc. that match this provider. Examples: cloud, cdn, waf, etc. - regexes: A dictionary of regexes for the provider. These are used in BBOT to extract / validate cloud resources like storage buckets. Currently valid regexes are: - STORAGEBUCKETNAME: A regex for the name of a storage bucket (useful when brute-forcing bucket names, as you can discard invalid bucket names early). - STORAGEBUCKETHOSTNAME: A regex for the hostname of a storage bucket In addition to the above attributes, if you have a custom source of CIDRs or domains, you can override the fetchcidrs() or fetchdomains() methods (which by default return an empty list) to go fetch your custom TXT/JSON file, etc.

Cloud Providers (60)

| Name | Description | Tags | Domains | Subnets | |------|-------------|------|---------|----------| | Akamai | A content delivery network and cloud services provider that delivers web and internet security services. | cloud | 81 | 6296 | | Alibaba Cloud | A Chinese cloud computing company and subsidiary of Alibaba Group, providing cloud services and infrastructure. | cloud | 445 | 98 | | Amazon Web Services | A comprehensive cloud computing platform provided by Amazon, offering infrastructure services, storage, and computing power. | cloud | 246 | 14719 | | Arvancloud | An Iranian cloud computing and content delivery network provider offering cloud infrastructure and CDN services. | cdn | 1 | 23 | | Backblaze | A cloud storage and backup service provider offering data backup and cloud storage solutions. | cloud | 2 | 26 | | Baidu Cloud Acceleration (็™พๅบฆไบ‘ๅŠ ้€Ÿ) | A Chinese content delivery network and cloud acceleration service provided by Baidu. | cdn | 136 | 0 | | Bunny CDN | A global content delivery network and edge platform. | cdn | 0 | 27 | | CacheFly | A content delivery network provider offering global CDN services. | cdn | 0 | 79 | | CDNetworks (์”จ๋””๋„คํŠธ์›์Šค) | A Korean content delivery network provider offering CDN and cloud services. | cdn | 0 | 3 | | Cisco | A multinational technology corporation that designs, manufactures, and sells networking hardware, software, and telecommunications equipment. | cloud | 121 | 662 | | Cloudflare | A web infrastructure and security company providing content delivery network services, DDoS mitigation, and web security solutions. | waf | 74 | 2724 | | Amazon CloudFront | A content delivery network service provided by Amazon Web Services that delivers data, videos, applications, and APIs to customers globally. | cdn | 0 | 179 | | DDoS Guard | A DDoS protection and content delivery network service provider. | cdn | 0 | 16 | | Dell | A multinational technology company that develops, sells, repairs, and supports computers and related products and services. | cloud | 236 | 94 | | DigitalOcean | A cloud infrastructure provider offering virtual private servers, managed databases, and other cloud services for developers and businesses. | cloud | 6 | 203 | | Department of Defense | A U.S. government agency responsible for coordinating and supervising all agencies and functions of the government directly related to national security and the United States Armed Forces. | gov | 3 | 9013 | | Federal Bureau of Investigation | A U.S. government agency that serves as the domestic intelligence and security service, responsible for investigating federal crimes and protecting national security. | gov | 3 | 23 | | Fastly | A content delivery network and edge cloud platform that provides edge computing, security, and performance services. | cdn | 8 | 1170 | | Gabia (๊ฐ€๋น„์•„) | A Korean cloud hosting and infrastructure provider. | cloud | 0 | 48 | | G-Core Labs | A content delivery network and cloud infrastructure provider offering CDN, cloud computing, and edge services. | cdn | 0 | 1424 | | GitHub | A web-based platform for version control and collaboration using Git, providing hosting for software development and code repositories. | cdn | 63 | 5600 | | GoCache | A Brazilian content delivery network provider offering CDN services. | cdn | 0 | 25 | | Google Cloud | A suite of cloud computing services provided by Google, including infrastructure, platform, and software services for businesses and developers. | cloud | 1082 | 1948 | | Hewlett Packard Enterprise | A multinational enterprise information technology company that provides servers, storage, networking, and cloud services. | cloud | 16 | 41 | | Heroku | A cloud platform as a service that enables developers to build, run, and operate applications entirely in the cloud. | cloud | 12 | 0 | | Hetzner | A German cloud hosting provider offering dedicated servers, cloud instances, and storage solutions. | cloud | 15 | 118 | | Hostway (ํ˜ธ์ŠคํŠธ์›จ์ด) | A Korean cloud hosting and infrastructure provider. | cloud | 0 | 59 | | Huawei | A Chinese multinational technology corporation that designs, develops, and sells telecommunications equipment, consumer electronics, and cloud services. | cloud | 345 | 264 | | IBM | A multinational technology corporation that provides hardware, software, cloud computing, and consulting services. | cloud | 20 | 401 | | iboss | A cloud security company providing secure web gateway, CASB, and zero trust network access services. | security | 0 | 72 | | Imperva | A cybersecurity company that provides web application firewall, DDoS protection, and data security solutions. | waf | 1 | 375 | | Kamatera | A cloud infrastructure provider offering virtual private servers, cloud servers, and managed cloud services. | cloud | 1 | 166 | | KINX (ํ•œ๊ตญ์ธํ„ฐ๋„ท์ธํ”„๋ผ) | A Korean content delivery network and cloud infrastructure provider. | cdn | 0 | 147 | | KT Cloud (KTํด๋ผ์šฐ๋“œ) | A Korean cloud computing service provided by KT Corporation. | cloud | 0 | 18 | | Leaseweb | A global hosting and cloud infrastructure provider offering dedicated servers, cloud hosting, and CDN services. | cloud | 0 | 1444 | | LG U+ (LG์œ ํ”Œ๋Ÿฌ์Šค) | A Korean telecommunications company offering CDN services. | cdn | 0 | 180 | | Microsoft | A multinational technology corporation that develops, manufactures, licenses, supports and sells computer software, consumer electronics and personal computers. Known for products like Windows, Office, Azure cloud services, and Xbox. | cloud | 751 | 40822 | | Microsoft 365 | A cloud-based productivity suite provided by Microsoft, including Office applications and cloud services. | cloud | 185 | 82 | | Naver Cloud Platform (๋„ค์ด๋ฒ„ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ) | A Korean cloud computing platform provided by Naver Corporation. | cloud | 0 | 71 | | NHN Cloud (NHNํด๋ผ์šฐ๋“œ) | A Korean cloud computing platform provided by NHN Corporation. | cloud | 0 | 124 | | OVHcloud | A French cloud computing company that provides web hosting, dedicated servers, and cloud infrastructure services. | cloud | 3 | 603 | | Oracle | A multinational technology corporation that provides database software, cloud engineering systems, and enterprise software products. | cloud | 19 | 2644 | | Qrator | A DDoS protection and content delivery network service provider. | cdn | 0 | 23 | | Quic.cloud | A content delivery network and edge computing platform providing CDN services. | cdn | 0 | 154 | | Russian Federal Security Service | A Russian federal executive body responsible for counterintelligence, internal and border security, counterterrorism, and surveillance. | gov | 0 | 17 | | Rackspace | A managed cloud computing company that provides hosting, cloud services, and managed infrastructure solutions. | cloud | 1 | 215 | | Salesforce | A cloud-based software company that provides customer relationship management services and enterprise cloud computing solutions. | cloud | 41 | 48 | | Scaleway | A French cloud computing company that provides virtual private servers, bare metal servers, and cloud infrastructure services. | cloud | 1 | 45 | | SK Broadband (SK๋ธŒ๋กœ๋“œ๋ฐด๋“œ) | A Korean telecommunications company offering CDN services. | cdn | 0 | 22 | | StormWall | A DDoS protection and web application firewall service provider. | cdn | 0 | 18 | | Sucuri | A website security and web application firewall service provider. | waf | 0 | 20 | | Tencent Cloud (่…พ่ฎฏไบ‘) | A Chinese cloud computing service provider and subsidiary of Tencent, offering cloud infrastructure and platform services. | cloud | 692 | 369 | | United Kingdom Ministry of Defence | A U.K. government department responsible for implementing the defence policy of the United Kingdom and managing the British Armed Forces. | gov | 1 | 0 | | UpCloud | A Finnish cloud infrastructure provider offering high-performance cloud servers. | cloud | 0 | 52 | | Vultr | A global cloud hosting provider offering SSD-based cloud compute, bare metal, and managed Kubernetes. | cloud | 0 | 889 | | Wasabi | A cloud storage provider offering hot cloud storage services with high performance and low cost. | cloud | 1 | 19 | | X4B | A DDoS protection and content delivery network service provider. | cdn | 0 | 3 | | Yandex Cloud | Russian cloud computing and internet services provider, offering infrastructure, storage, and various digital services. | cloud | 130 | 95 | | Zoho | An Indian software company that provides cloud-based business software and productivity tools including CRM, email, and office suites. | cloud | 13 | 90 | | Zscaler | A cloud security company providing secure internet access, cloud security, and zero trust network access services. | cloud | 0 | 0 |

Development

Python

Setup

uv sync
uv run maturin develop --release

Running Tests

# python tests
uv run pytest test_cloudcheck.py -v

docker tests

python test_docker.py

Linting

# Check for linting issues
uv run ruff check && uv run ruff format .

Rust

Running Tests

cargo test --verbose --all-features

Formatting

cargo fmt --all

cargo clippy --all-targets --all-features -- -D warnings

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท blacklanternsecurity/cloudcheck ยท Updated daily from GitHub