Skip to main content

NetCheck-CLI (netcheck-osint)

PyPI Version Python 3.8+ License: MIT Concurrency: AsyncIO Platform

NetCheck-CLI is a high-performance, asynchronous digital identity validation and network endpoint auditing utility engineered in Python. It enables security researchers, penetration testers, and OSINT analysts to correlate digital handles across technical and developer platforms concurrently within seconds.


🎯 Primary Use Cases

  • Threat Intelligence & OSINT Reconnaissance: Rapidly enumerate public developer handles, repository owners, and technical contributors across package registries and version control platforms.
  • Red Team External Footprinting: Discover exposed external accounts, secondary developer aliases, or unclaimed namespaces during the reconnaissance phase of an engagement.
  • Defensive Asset Auditing: Verify whether decommissioned or sensitive corporate usernames remain exposed or unclaimed across third-party developer ecosystems.
  • Deterministic Baseline Auditing: Provides reliable HTTP status-code verification without the false positives caused by JavaScript-rendered login walls and single-page apps.

🏛️ Architectural Overview

Traditional footprinting tools query platforms sequentially, wasting CPU cycles while waiting on remote socket I/O. NetCheck-CLI eliminates this bottleneck through a cooperative, non-blocking single-threaded event loop.

[CLI Entrypoint: netcheck <target>]
               │
               ▼
 [Endpoint Configuration Parser]  <── (Embedded Defaults or Custom JSON)
               │
               ▼
  [Async Event Loop Initiated]
               │
 ┌─────────────┼─────────────┐
 ▼             ▼             ▼
[Worker Task] [Worker Task] [Worker Task]  <── Managed concurrently via aiohttp session
 │             │             │
 └─────────────┼─────────────┘
               ▼
   [Telemetry Aggregator]
         │           │
         ▼           ▼
 [Colorama ANSI UI] [RFC JSON Report]

Key Technical Advantages

  • Persistent Connection Pooling: Reuses an underlying aiohttp.ClientSession pool, eliminating repeated TCP three-way handshakes and TLS negotiation overhead.
  • Separation of Concerns (SoC): Decouples platform signature definitions from the core execution engine, allowing new targets to be added via JSON configurations without touching source code.
  • Resilient Worker Isolation: Catches timeouts and DNS/connection errors locally per task, preventing single network drops from aborting the global audit queue.

🚀 Installation & Setup

Option A: Global System Installation via PyPI (Recommended)

Install netcheck-osint directly from PyPI into an isolated global environment:

# Using pipx (Recommended for isolated CLI binaries)
pipx install netcheck-osint

# Or using standard pip
pip install netcheck-osint

Option B: Local Virtual Environment from Source

# 1. Clone the repository
git clone https://github.com/dhruvrathod68/NetCheck-CLI.git
cd NetCheck-CLI

# 2. Create and activate a virtual environment
# On Linux / macOS / Kali:
python3 -m venv venv
source venv/bin/activate

# On Windows PowerShell:
python -m venv venv
.\venv\Scripts\Activate.ps1

# 3. Install in editable mode
pip install -e .

🔄 Updating NetCheck-CLI

To update your globally installed version to the latest release:

# If installed via pipx
pipx upgrade netcheck-osint

# If installed via pip
pip install --upgrade netcheck-osint

# If cloned from Git source
git pull origin main
pip install -e .

💻 Usage & Command Reference

usage: netcheck [-h] [-u USERNAME_FLAG] [-t TARGET_FLAG] [-c CONFIG_PATH] [-o OUTPUT] [username]

NetCheck-OSINT: Asynchronous Digital Identity & Endpoint Auditor

positional arguments:
  username              Target username or identifier to audit across online services.

options:
  -h, --help            Show this help message and exit.
  -u, --username        Target username or identifier (flag format).
  -t, --target          Alias for target username/identifier.
  -c, --config          Custom file path to endpoints.json configuration.
  -o, --output          File path to export structured JSON telemetry report.

Example Commands

# 1. Basic Handle Audit (Positional Syntax)
netcheck johndoe

# 2. Audit with Telemetry JSON Export
netcheck -u torvalds -o audit_report.json

# 3. Run Audit with a Custom Endpoint Registry
netcheck -t octocat -c custom_endpoints.json

🛠️ Customizing & Extending Target Endpoints

You can customize the platform registry without modifying any Python code. By default, NetCheck-CLI ships with built-in signatures for major technical platforms (GitHub, GitLab, DockerHub, PyPI, NPM, Hashnode, Dev.to, Reddit, Vimeo, Pinterest, BuyMeACoffee, Bitbucket).

Adding Custom Endpoints

Create a JSON file (e.g., custom_targets.json) following this schema:

{
  "endpoints": [
    {
      "name": "Custom_Platform",
      "url": "https://api.example.com/users/{}",
      "validation_type": "status_code",
      "expected_value": 200
    },
    {
      "name": "Internal_Service",
      "url": "https://git.internal.corp/{}",
      "validation_type": "status_code",
      "expected_value": 200
    }
  ]
}
  • name: Display name for terminal logs and telemetry reports.
  • url: Target URL with {} marking where the username will be injected dynamically.
  • expected_value: Expected HTTP status code (typically 200) indicating account presence.

Execute your scan using your custom file:

netcheck johndoe -c custom_targets.json

📊 Telemetry Output Schema

When -o or --output is supplied, NetCheck-CLI generates a structured JSON report for SIEM and automation pipelines:

{
  "target": "torvalds",
  "timestamp_utc": "2026-08-31T12:00:00Z",
  "duration_seconds": 1.245,
  "summary": {
    "total_audited": 12,
    "found": 7,
    "not_found": 4,
    "blocked_or_error": 1
  },
  "results": [
    {
      "service_name": "GitHub",
      "target_url": "https://github.com/torvalds",
      "status_code": 200,
      "state": "FOUND",
      "match_status": true,
      "latency_ms": 124.5
    }
  ]
}

Telemetry Field Definitions

Field Type Description
target string Target username or handle queried.
timestamp_utc string (ISO-8601) Execution start timestamp in UTC.
duration_seconds float Cumulative clock time consumed by the audit loop.
summary object Aggregate counts (total_audited, found, not_found, blocked_or_error).
results[].service_name string Display name of the platform service.
results[].target_url string Full interpolated URL queried by the transport pool.
results[].status_code integer / null HTTP status code returned by the remote host.
results[].state string Classification (FOUND, NOT_FOUND, BLOCKED, TIMEOUT, ERROR).
results[].match_status boolean True if the returned status matches expected_value.
results[].latency_ms float Round-trip request latency in milliseconds.

📂 Project Directory Structure

NetCheck-CLI/
├── config/
│   └── endpoints.json       # Decoupled Target Data Layer
├── venv/                    # Python virtual environment (git-ignored)
├── .gitignore               # Repository file exclusion rules
├── LICENSE                  # MIT License (2026 Dhruv Rathod)
├── main.py                  # Core Asynchronous Engine & CLI Entrypoint
├── requirements.txt         # Pinned Package Metadata Dependencies
├── setup.py                 # Setuptools packaging manifest & console scripts
└── README.md                # Enterprise Open-Source Documentation

🗺️ Roadmap & Upcoming Features

  • Response Body Regex Matching: Support content-absence assertions to audit Single-Page Applications (SPAs) and dynamic login redirects.
  • User-Agent Header Pools: Randomized browser fingerprint rotation to minimize edge WAF blocks (HTTP 403).
  • Proxy & Tor Routing: Built-in SOCKS5 / HTTP proxy chaining for operational security during red team assessments.
  • Multi-Format Reporting: Native export to CSV, Markdown summary tables, and SARIF formats.

🤝 Contributing & Issue Reporting

Contributions, bug reports, and target registry additions are welcome!

Reporting Issues

If you encounter false positives, broken endpoint patterns, or socket exceptions, please open an issue on the GitHub Issue Tracker.

Submitting Pull Requests

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature/AddPlatformSignatures).
  3. Commit your changes with clear messages (git commit -m 'feat: add 5 new cloud platform signatures').
  4. Push to your branch (git push origin feature/AddPlatformSignatures).
  5. Open a Pull Request detailing your changes.

⚖️ License & Attribution

Distributed under the MIT License. See LICENSE for full details.

Author: Dhruv Rathod

Year: 2026

Metadata

Release files for netcheck-osint 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for netcheck-osint 0.1.4
File Size Uploaded
netcheck_osint-0.1.4.tar.gz 11.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for netcheck-osint 0.1.4
File Interpreter ABI Platform
netcheck_osint-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 22.1 kB

Release files / netcheck_osint-0.1.4.tar.gz

Download URL netcheck_osint-0.1.4.tar.gz
Size 11.9 kB
Tags Source
SHA-256 checksum
How to use checksums
4851ed8852ae2b59427038a29aa82b09c08008b284bb2a4af4db6ea791370535
BLAKE2b-256 checksum
How to use checksums
b57e4dfe4b418aadd2b70ba207a7a5d21681e24ccedcca81f0a0082d7433b735
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / netcheck_osint-0.1.4-py3-none-any.whl

Download URL netcheck_osint-0.1.4-py3-none-any.whl
Size 10.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d410fa3f61af0d7f44ded10ea3fb00fd4675be97481f86c86dcb9fe57e1b8516
BLAKE2b-256 checksum
How to use checksums
fb04c25cb8089f7ca0b2d5c83a06a92852e959a236d0533996af123c802759bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page