Skip to main content

Advanced OSINT tool for searching users across 200+ platforms

Project description

๐Ÿ•ต๏ธ CyberFind - Advanced OSINT Search Tool

Version Python Platform License Tests Code Style PyPI Version

Find user accounts across 200+ platforms in seconds

CyberFind Slogan

โœจ Features

๐Ÿ” Comprehensive Search

  • 200+ built-in sites across multiple categories
  • Smart detection using status codes and content analysis
  • Metadata extraction from found profiles

โšก High Performance

  • Async/await architecture for maximum speed
  • Concurrent requests with configurable thread count
  • Intelligent rate limiting to avoid blocks

๐Ÿ›ก๏ธ Privacy & Security

  • Random User-Agents for each request
  • Multiple search modes (Standard, Deep, Stealth, Aggressive)
  • No data storage unless explicitly configured

๐Ÿ“Š Multiple Output Formats

  • JSON - Structured data for APIs
  • CSV - Spreadsheet compatible format
  • HTML - Beautiful visual reports
  • Excel - Professional multi-sheet workbooks
  • SQLite - Database storage for large datasets

๐ŸŽฏ Smart Features

  • Risk assessment based on found accounts
  • Personalized recommendations
  • Statistical analysis of results
  • Category grouping of found accounts

๐Ÿ”ฌ Advanced OSINT Capabilities

  • DNS Enumeration: Retrieve A, AAAA, MX, TXT, NS, SOA, and CNAME records for domains.
  • WHOIS Lookup: Get registration details, owner information, and name servers for domains.
  • Shodan Integration: Search for exposed devices and services (requires Shodan API key).
  • VirusTotal Scan: Check URLs for malicious content (requires VirusTotal API key).
  • Wayback Machine Search: Find archived versions of web pages.
  • Selenium Scraping: Analyze JavaScript-heavy websites that standard requests might miss.
  • Advanced Combined Search: Perform a standard username search and then run additional checks (DNS, WHOIS, Shodan, VT, Wayback) based on the results and provided API keys.
  • Detailed Reporting: Generate comprehensive text reports summarizing all findings from standard and advanced checks.

๐Ÿš€ Quick Start

Installation

Install directly from PyPI (recommended):

pip install cyber-find

Or, if you have multiple Python versions:

python3 -m pip install cyber-find

๐Ÿ’ก After installation, the cyberfind command is available globally in your terminal.

Alternative: From source (for developers)

git clone https://github.com/VAZlabs/cyber-find.git
cd cyber-find
pip install -e .

Basic Usage

# Quick search (25 most popular sites)
cyberfind username

# Search with specific category
cyberfind username --list social_media
cyberfind username --list programming
cyberfind username --list gaming

# Comprehensive search (200+ sites)
cyberfind username --list all

# Multiple users
cyberfind user1 user2 user3 --list quick

๐Ÿ“š Usage Examples

๐Ÿ”Ž Basic Searches

# Quick check on popular platforms
cyberfind john_doe

# Russian-language platforms only
cyberfind username --list russian

# Gaming platforms only
cyberfind username --list gaming

# Blogs and publications
cyberfind username --list blogs

โš™๏ธ Advanced Options

# Deep search with HTML report
cyberfind target --mode deep --format html -o report

# Stealth mode for sensitive searches
cyberfind target --mode stealth --timeout 15

# Maximum speed (use with caution)
cyberfind target --mode aggressive --threads 100

# Custom sites file
cyberfind target -f custom_sites.txt

๐Ÿ“Š Output Management

# Save as JSON (default)
cyberfind username -o results

# Save as CSV for Excel
cyberfind username --format csv -o results

# Save as HTML report
cyberfind username --format html -o report

# Save to database
cyberfind username --format sqlite

๐Ÿงช Advanced Search (v0.3.4) - CLI (Conceptual)

Note: Direct CLI integration for advanced features might require specific implementation in cyberfind_cli.py. Currently, they are primarily accessible via the Python API.

๐Ÿ“‹ Available Site Lists

List Name Sites Count Description
quick 25 Most popular platforms (default)
social_media 70+ All social networks
programming 25+ IT and development platforms
gaming 20+ Gaming platforms and communities
blogs 20+ Blogs and publication platforms
ecommerce 20+ Shopping and commerce sites
forums 12+ Discussion forums
russian 18+ Russian-language platforms
all 200+ All available platforms

View all available lists:

cyberfind --show-lists

๐ŸŽ›๏ธ Configuration

Create a config.yaml file for custom settings:

# config.yaml
general:
  timeout: 30                    # Request timeout in seconds
  max_threads: 50                # Maximum concurrent requests
  retry_attempts: 3              # Retry attempts on failure
  retry_delay: 2                 # Delay between retries
  user_agents_rotation: true     # Rotate User-Agents
  rate_limit_delay: 0.5          # Delay between requests

proxy:
  enabled: false                 # Enable proxy support
  list: []                       # List of proxies
  rotation: true                 # Rotate proxies

database:
  sqlite_path: 'cyberfind.db'    # SQLite database path

output:
  default_format: 'json'         # Default output format
  save_all_results: true         # Save all results to DB

advanced:
  metadata_extraction: true      # Extract metadata from pages
  cache_results: true            # Cache results
  verify_ssl: true               # Verify SSL certificates

๐Ÿ“ Project Structure

cyberfind/
โ”œโ”€โ”€ cyberfind_cli.py          # Main CLI interface
โ”œโ”€โ”€ core.py                   # Core search engine
โ”œโ”€โ”€ gui.py                    # Graphical interface
โ”œโ”€โ”€ api.py                    # REST API server
โ”œโ”€โ”€ config.yaml              # Configuration template
โ”œโ”€โ”€ requirements.txt         # Python dependencies
โ”œโ”€โ”€ README.md               # This file
โ””โ”€โ”€ sites/                  # Site definition files
    โ”œโ”€โ”€ social_media.txt
    โ”œโ”€โ”€ programming.txt
    โ”œโ”€โ”€ gaming.txt
    โ””โ”€โ”€ ...

๐Ÿ”ง Development

Code Style & Quality

# Install development tools
pip install -r requirements-dev.txt

# Format code with black
black cyberfind --line-length 120

# Check code style with flake8
flake8 cyberfind --max-line-length 120

# Sort imports with isort
isort cyberfind --profile black

# Type checking with mypy
mypy cyberfind --ignore-missing-imports

๐Ÿงช Testing & CI/CD

CyberFind has comprehensive testing infrastructure to ensure code quality and reliability:

Running Tests

# Install test dependencies
pip install -r requirements-dev.txt

# Run all tests
pytest tests/ -v

# Run specific test file
pytest tests/test_rate_limiting.py -v

# Run with coverage report
pytest tests/ --cov=cyberfind --cov-report=html

# Run only fast tests
pytest tests/ -m "not slow"

# Run async tests only
pytest tests/ -m asyncio

Test Coverage

Current test infrastructure includes:

  • 36 unit tests covering core modules
  • 2 test modules: test_rate_limiting.py (17 tests), test_proxy_support.py (15 tests)
  • 8 pytest fixtures for reusable test data
  • Branch coverage tracking enabled in .coveragerc
  • Async test support with @pytest.mark.asyncio

Code Quality Checks

All commits are validated against:

  • โœ… flake8 - PEP8 style compliance (0 errors)
  • โœ… black - Code formatting (120 char lines)
  • โœ… isort - Import sorting (black-compatible)
  • โœ… mypy - Type checking (Python 3.9+)
  • โœ… pytest - Unit tests (36 tests passing)
  • โœ… bandit - Security scanning

GitHub Actions CI/CD

Automated testing runs on:

  • Python 3.9, 3.10, 3.11
  • Linux, Windows, macOS
  • Every push and pull request

See .github/workflows/tests.yml for workflow configuration.

Pre-commit Hooks

Setup local git hooks for instant validation:

# Install pre-commit
pip install pre-commit

# Setup git hooks
pre-commit install

# Run hooks on all files
pre-commit run --all-files

For detailed testing documentation, see TESTING.md

๐ŸŒ API Usage

Start the API server:

cyberfind --api
# Server starts at http://localhost:8080

Example API request:

import requests
import json

response = requests.post('http://localhost:8080/api/search', json={
    'usernames': ['target_user'],
    'list': 'social_media',
    'mode': 'standard'
})

results = response.json()

๐Ÿ–ฅ๏ธ Graphical Interface

# Launch the GUI
cyberfind --gui

The GUI provides:

  • Visual search interface
  • Real-time progress tracking
  • Interactive results display
  • One-click report generation

๐Ÿ“Š Sample Output

$ cyberfind john_doe --list quick

๐Ÿ” CyberFind v0.3.4
Searching for: john_doe
๐Ÿ“‹ Using built-in list: quick (25 sites)

๐Ÿ” Searching: john_doe
  Checking 25 sites...
    โœ“ Found: GitHub
    โœ“ Found: Twitter
    โœ“ Found: LinkedIn
  Done: 3 found, 2 errors

โœ… SEARCH COMPLETED in 12.5 seconds
============================================================

๐Ÿ“Š STATISTICS:
  Total checks: 25
  Accounts found: 3
  Errors: 2

๐Ÿ‘ค USER: john_doe
  โœ… FOUND 3 accounts:
    ๐Ÿ“ PROGRAMMING:
      1. GitHub
          URL: https://github.com/john_doe    
          Status: 200, Time: 1.23s
    ๐Ÿ“ SOCIAL_MEDIA:
      2. Twitter
          URL: https://twitter.com/john_doe    
          Status: 200, Time: 0.89s
      3. LinkedIn
          URL: https://www.linkedin.com/in/john_doe    
          Status: 200, Time: 1.45s

๐Ÿ’ก RECOMMENDATIONS:
  1. LinkedIn profile found - check contacts and connections
  2. GitHub profile found - review public repositories

๐Ÿ’พ Results saved to: results.json

๐Ÿšจ Legal & Ethical Usage

โœ… Permitted Uses:

  • Security research and penetration testing (with permission)
  • Personal digital footprint analysis
  • Academic research on social media presence
  • Bug bounty hunting and security audits
  • Investigating your own online presence

โŒ Prohibited Uses:

  • Harassment, stalking, or doxxing
  • Unauthorized surveillance
  • Privacy violations
  • Commercial data scraping without permission
  • Any illegal activities

By using this tool, you agree to use it responsibly and legally. The developers are not responsible for misuse.

๐Ÿค Contributing

We welcome contributions! Here's how:

  1. Fork the repository
  2. Create a feature branch:
    git checkout -b feature/amazing-feature
    
  3. Commit your changes:
    git commit -m 'Add amazing feature'
    
  4. Push to the branch:
    git push origin feature/amazing-feature
    
  5. Open a Pull Request

Code Quality Standards

All contributions must pass our quality gates:

Required Checks:

  • โœ… Black code formatting (black --line-length 120)
  • โœ… flake8 PEP8 linting (max line 120, 0 errors)
  • โœ… isort import sorting (black-compatible profile)
  • โœ… mypy type checking (Python 3.9+ strict mode)
  • โœ… pytest unit tests (all passing)
  • โœ… bandit security scanning

Before submitting a PR, run locally:

# Format code
black cyberfind --line-length 120

# Sort imports
isort cyberfind --profile black --line-length 120

# Check style
flake8 cyberfind --max-line-length 120 --ignore=E203,E266,E501,W503,E741

# Type checking
mypy cyberfind --ignore-missing-imports

# Run tests
pytest tests/ -v

Test Requirements:

  • New features must include unit tests
  • Maintain minimum 80% code coverage
  • Use pytest fixtures from tests/conftest.py
  • Add @pytest.mark.unit to unit tests
  • Add @pytest.mark.asyncio to async tests
  • See TESTING.md for detailed testing guidelines

Automated Checks:

  • GitHub Actions runs tests on Python 3.9, 3.10, 3.11
  • Pre-commit hooks available (run pre-commit install)
  • All checks must pass before merging

Areas for Contribution:

  • Adding new site definitions
  • Improving detection algorithms
  • Enhancing the GUI
  • Writing documentation
  • Performance optimizations
  • Bug fixes
  • Integrating advanced features into CLI/API

๐Ÿ“ˆ Performance Tips

  1. For speed: Use --mode aggressive --threads 50
  2. For stealth: Use --mode stealth --timeout 30
  3. For reliability: Use --mode standard --retry 3
  4. For specific needs: Create custom site lists

๐Ÿ› Troubleshooting

Common Issues:

  1. "No sites loaded" error

    • Ensure you have internet connection
    • Check if the sites directory exists
  2. Slow performance

    • Reduce thread count: --threads 20
    • Increase timeout: --timeout 30
    • Use a faster internet connection
  3. Many errors

    • The target platforms may be blocking requests
    • Try using stealth mode
    • Consider using proxies

Getting Help:

  • Check the GitHub Issues
  • Review the example configurations
  • Test with a simple search first

๐Ÿ“„ License

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

๐Ÿ™ Acknowledgments

  • Built with aiohttp for async HTTP requests
  • Uses BeautifulSoup4 for HTML parsing
  • Inspired by various OSINT tools in the security community
  • Thanks to the contributors for making CyberFind better!

๐Ÿ“ฌ Contact


CyberFind ยท Find accounts ยท Analyze presence ยท Stay informed
Remember: With great power comes great responsibility

โญ If you find this useful, please give it a star!

GitHub stars

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cyber_find-0.3.4.tar.gz (69.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cyber_find-0.3.4-py3-none-any.whl (67.7 kB view details)

Uploaded Python 3

File details

Details for the file cyber_find-0.3.4.tar.gz.

File metadata

  • Download URL: cyber_find-0.3.4.tar.gz
  • Upload date:
  • Size: 69.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cyber_find-0.3.4.tar.gz
Algorithm Hash digest
SHA256 ad3a6e7e3c66dc90d6e23ff8a69137027f23170b9cb793a0d1806d764637d184
MD5 1efaaa9ced456d15b7d0ee7feda75ec6
BLAKE2b-256 3f856c308c7d6a3f0299223a20b4e9064008ed380b0a9516dbd54f955f4d03df

See more details on using hashes here.

File details

Details for the file cyber_find-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: cyber_find-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 67.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cyber_find-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 01e6d7f7a8712f3c023485a4f2eb1285ed3cb356120a5899a1df324ad91b65ca
MD5 5c9bd6fdee0c5148b041fffe7aab8787
BLAKE2b-256 ee5a9624c3af91adec1301f2ff3e403da4ed047bb62f0a7625b9d96fa80a98e2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page