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.7.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.7-py3-none-any.whl (262.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dhscan_agent-0.1.7.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.7.tar.gz
Algorithm Hash digest
SHA256 739cd9711637e9fae9a0244630cff264f818357dce94364e09f7d4d5d493618e
MD5 7be80c4257d979bb755b8eaad790d8e6
BLAKE2b-256 ba387f4848be52122035942d1b9f40748e0f236089fec8ef9546aefc184b18b3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dhscan_agent-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 262.0 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 c3977db52a15de1442f14bcad16001ca006f623f58dfa43a1027ac8bf0aca77a
MD5 3fea934bdedcb9c7964b7434f95c2c23
BLAKE2b-256 4827d1685383a262273b89011895969da03e77070bd06f8be0dbe3a6d19aefca

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