Skip to main content

A CLI tool for scanning directories for vulnerabilities

Project description

World Serpant Search

Alt Text

World Serpant Search is a command-line tool for vulnerability detection. It allows you to scan directories for various types of vulnerabilities, including XSS vulnerabilities, authentication bypass vulnerabilities, and package vulnerabilities using the National Vulnerability Database (NVD).

Flow Chart

Installation

To install World Serpant Search, you can use pip:

pip install world-serpant-search

Usage

To use the CLI, follow the instructions below:

  1. Install the CLI using pip:

    pip install world-serpant-search
    
  2. Run the CLI using the following command:

    serpant
    
  3. Use the available commands to perform vulnerability scans. For example:

    serpant scan /path/to/directory
    

Examples

Scan a local directory for vulnerabilities:

serpant scan /path/to/directory

Model Logic Explanation

CommandLineInterface

The CommandLineInterface class represents the command-line interface for the CLI tool. It provides methods for initializing the CLI, printing the banner, and running the interface.

  • __new__(cls): This method ensures that only one instance of the CommandLineInterface class is created using the Singleton design pattern.
  • __init__(self): Initializes the command-line interface and prints the banner.
  • _print_banner(self): Prints the banner when the CLI initializes.
  • run(self): Runs the command-line interface by parsing arguments and executing corresponding commands.

ScannerController

The ScannerController class is responsible for controlling scanning operations and interacting with the underlying data and business logic.

  • scan_local_directory(self, directory): Scans a local directory for vulnerabilities.
  • scan_xss_directory(self, directory): Scans a local directory for XSS vulnerabilities.
  • scan_authentication_bypass_directory(self, directory): Scans a directory for authentication bypass vulnerabilities.
  • scan_package_vulnerabilities_nvd(self, package): Checks package vulnerabilities using the National Vulnerability Database (NVD).
  • check_sensitive_files_exposure(self, directory): Checks for sensitive file exposure in a directory.
  • detect_insecure_deserialization(self, directory): Detects insecure deserialization vulnerabilities.
  • detect_access_control_vulnerabilities(self, directory): Detects access control vulnerabilities.

Business Logic

Local Repository Scan

Implement a feature to scan a local directory or project for common vulnerabilities such as exposed secrets, hardcoded credentials, or sensitive data.

Remote Repository Scan

Extend the application to support scanning remote repositories by providing a URL. This could involve fetching the repository contents and analyzing them for vulnerabilities.

SQL Injection Detection

Implement a feature to detect SQL injection vulnerabilities in code files or database configurations.

Cross-Site Scripting (XSS) Detection

Develop functionality to detect cross-site scripting vulnerabilities in web applications or scripts.

Sensitive Data Exposure Detection

Implement a feature to identify instances where sensitive data such as API keys, passwords, or personal information is exposed in the codebase.

Dependency Vulnerability Check

Integrate with package vulnerability databases (e.g., NVD) to check for known vulnerabilities in project dependencies.

Authentication Bypass Detection

Implement checks to identify potential authentication bypass vulnerabilities in the application.

Insecure Deserialization Detection

Develop functionality to detect insecure deserialization vulnerabilities in the codebase.

Sensitive File Exposure Check

Implement checks to identify sensitive files (e.g., configuration files, log files) that may be exposed to unauthorized access.

Access Control Vulnerability Check

Develop checks to identify access control vulnerabilities, such as insecure direct object references or missing authorization checks.

License

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

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

serpant-1.1.5.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

serpant-1.1.5-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file serpant-1.1.5.tar.gz.

File metadata

  • Download URL: serpant-1.1.5.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.4

File hashes

Hashes for serpant-1.1.5.tar.gz
Algorithm Hash digest
SHA256 0e6b17f8cce79f51ebf77d2b08e7e5e069baac985db36bbf3fafd06aebff3d8e
MD5 4d25790b2c95cd2cceffb8c1f934ceb1
BLAKE2b-256 fc12852b36b77523ce031406df10b51dbddf5ba8defab87c507eb47d8de6e452

See more details on using hashes here.

File details

Details for the file serpant-1.1.5-py3-none-any.whl.

File metadata

  • Download URL: serpant-1.1.5-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.4

File hashes

Hashes for serpant-1.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 cb1c5245e2dcab36f3836554bc3e0a591bf534e299cfbd6d33cdcb9d4ea1429d
MD5 a924c9a1815b955b71ecb5a091d6c4d2
BLAKE2b-256 41df4dbfddf78cd3f9be5b3c4742e85e55280c0e893ed1042901712e61a02165

See more details on using hashes here.

Supported by

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