dhscan - AI-powered penetration testing
Project description
DHScan Agent
Open-source AI Hackers for your Apps
🦉 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 bylitellmto 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 tosandbox:1.0.REPORT_REPO_URL: The URL of the Git repository where scan reports should be uploaded. Required for the--upload-to-gitfeature.REPORT_REPO_TOKEN: A Git access token with write permissions to the report repository. Required for the--upload-to-gitfeature.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d3f98b6bf2eb96642a9d948685f05ee60f650c8b62f30c1579e7a60834f200b
|
|
| MD5 |
08c7a09a55db3084607db83cb7d9e18e
|
|
| BLAKE2b-256 |
cde0f3d6f10f101622041d17d7786bece74fd4b7c540f6b01cd9b1fd5c9c9f7d
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73fb225e96c42baf18e4e47ac2fe79bafe866362558af43f736c89b50038d574
|
|
| MD5 |
25f79dfaec6f4b107cf534eaa8fba77e
|
|
| BLAKE2b-256 |
31c46b0b9aedfd0db537170bdf40839b8aecb2fe2b72e20da717678a5eb8413f
|