Skip to main content

dhscan - AI-powered penetration testing

Project description

DHScan Agent

Open-source AI Hackers for your Apps

Python PyPI License



🦉 Overview

DHScan provides autonomous AI agents that rapidly scan your code to discover potential security vulnerabilities. It's built for developers and security teams who need fast, efficient security feedback.

Powered by a multi-agent system, DHScan is optimized for speed, discovering potential issues without running slow validation steps. This allows your team to quickly investigate and confirm findings within your own workflow.

For detailed usage and configuration, please refer to the project's documentation.


🚀 Installation

Install DHScan Agent directly from PyPI:

pip install dhscan-agent

⚡ Quick Start

Once installed, you can start a scan with a single command. Make sure you have configured your LLM environment variables first (see below).

# Scan a web application
dhscan --target https://your-vulnerable-app.com

# Scan a local codebase
dhscan --target /path/to/your/local/code

⚙️ Configuration

DHScan Agent is configured via environment variables. Below are the key variables you need to set up.

Required Variables

  • DHSCAN_LLM: The identifier for the language model you want to use (e.g., openai/gpt-4o, ollama/llama3). This is used by litellm to route requests.

Conditionally Required

  • LLM_API_KEY: Your API key for the selected LLM provider. This is required for cloud-based models like OpenAI, Anthropic, etc. It can be omitted if you are using a local model via a custom base URL.

Optional Variables

  • LLM_API_BASE: The base URL for the LLM API. This is essential if you are using a local model server like Ollama (http://localhost:11434) or LMStudio.
  • DHSCAN_IMAGE: Allows you to specify a custom Docker image for the sandboxed environment where tools are executed. Defaults to sandbox:1.0.
  • REPORT_REPO_URL: The URL of the Git repository where scan reports should be uploaded. Required for the --upload-to-git feature.
  • REPORT_REPO_TOKEN: A Git access token with write permissions to the report repository. Required for the --upload-to-git feature.

Example Setup

# For cloud models (e.g., OpenAI)
export DHSCAN_LLM='openai/gpt-4o'
export LLM_API_KEY='your-openai-api-key'

# For local models (e.g., Ollama)
export DHSCAN_LLM='ollama/llama3'
export LLM_API_BASE='http://localhost:11434/v1' # Note: Ollama often requires /v1 suffix

# For uploading reports
export REPORT_REPO_URL='https://gitlab.com/your-group/reports.git'
export REPORT_REPO_TOKEN='your-gitlab-access-token'
export DHSCAN_IMAGE='dhyds/dh-sandbox:1.0-amd64'

[!WARNING]

Only test applications you own or have permission to test. You are responsible for using DHScan ethically and legally.

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

dhscan_agent-0.1.8.tar.gz (207.7 kB view details)

Uploaded Source

Built Distribution

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

dhscan_agent-0.1.8-py3-none-any.whl (262.1 kB view details)

Uploaded Python 3

File details

Details for the file dhscan_agent-0.1.8.tar.gz.

File metadata

  • Download URL: dhscan_agent-0.1.8.tar.gz
  • Upload date:
  • Size: 207.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.13.7 Darwin/25.1.0

File hashes

Hashes for dhscan_agent-0.1.8.tar.gz
Algorithm Hash digest
SHA256 0d3f98b6bf2eb96642a9d948685f05ee60f650c8b62f30c1579e7a60834f200b
MD5 08c7a09a55db3084607db83cb7d9e18e
BLAKE2b-256 cde0f3d6f10f101622041d17d7786bece74fd4b7c540f6b01cd9b1fd5c9c9f7d

See more details on using hashes here.

File details

Details for the file dhscan_agent-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: dhscan_agent-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 262.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.13.7 Darwin/25.1.0

File hashes

Hashes for dhscan_agent-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 73fb225e96c42baf18e4e47ac2fe79bafe866362558af43f736c89b50038d574
MD5 25f79dfaec6f4b107cf534eaa8fba77e
BLAKE2b-256 31c46b0b9aedfd0db537170bdf40839b8aecb2fe2b72e20da717678a5eb8413f

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