설치

플랫폼에 맞는 설치 방법을 고르세요. Dalfox는 실행 파일 하나로 배포되며 따로 관리할 런타임이 없습니다.

Homebrew (macOS & Linux)

brew install dalfox

Homebrew formula는 최신 안정 버전을 따라갑니다. 출처: formulae.brew.sh/formula/dalfox.

프로젝트 자체 tap은 같은 릴리스를 소스에서 빌드하며(그래서 Rust도 함께 설치됩니다), man 페이지와 셸 자동완성까지 설치합니다.

brew install hahwul/dalfox/dalfox

Snap (Ubuntu / Linux)

sudo snap install dalfox

Arch Linux (AUR)

AUR 헬퍼 사용(권장):

yay -S dalfox
# 또는
paru -S dalfox

AUR 패키지에서 직접 빌드:

git clone https://aur.archlinux.org/dalfox.git
cd dalfox
makepkg -si

Chocolatey (Windows)

choco install dalfox

사전 빌드된 windows-x86_64 릴리스 바이너리를 설치하고 dalfox를 PATH에 등록합니다.

Nix & NixOS

# 설치 없이 한 번만 실행
nix-shell -p dalfox

# Nix flakes: GitHub에서 최신 버전 실행
nix run github:hahwul/dalfox -- scan https://example.com

# 프로필에 설치
nix profile install github:hahwul/dalfox

Dalfox는 nixpkgs에도 있지만, 새 릴리스는 unstable에 먼저 들어가고 반영까지 시간이 걸릴 수 있습니다. flake는 이 저장소의 main 브랜치에서 빌드하므로 뒤처지지 않습니다.

flake가 지원하는 시스템은 x86_64-linux, aarch64-linux, aarch64-darwin입니다. nixpkgs unstable이 x86_64-darwin을 뺐기 때문에 Intel macOS는 지원하지 않습니다. 아래의 macos-x86_64 릴리스 아카이브를 쓰세요.

이 flake가 고정한 nixpkgs 대신 사용자의 nixpkgs로 Dalfox를 빌드하려면 오버레이를 쓰세요. 시스템 flake에서는 이렇게 선언합니다.

# flake.nix
{
  inputs.dalfox.url = "github:hahwul/dalfox";

  outputs = { self, nixpkgs, dalfox, ... }@inputs: {
    nixosConfigurations.myhost = nixpkgs.lib.nixosSystem {
      specialArgs = { inherit inputs; };
      modules = [ ./configuration.nix ];
    };
  };
}

그리고 inputs를 전달받는 모듈에서 적용합니다.

# configuration.nix
{ pkgs, inputs, ... }:
{
  nixpkgs.overlays = [ inputs.dalfox.overlays.default ];
  environment.systemPackages = [ pkgs.dalfox ];
}

flake는 Dalfox 자체를 개발할 때 쓰는 셸도 제공합니다. Rust 툴체인, just, 저장소의 scripts/가 쓰는 Crystal 컴파일러가 들어 있고, dalfox 바이너리는 들어 있지 않습니다.

git clone https://github.com/hahwul/dalfox && cd dalfox
nix develop

direnv를 설치했다면 저장소의 .envrc 덕분에 direnv allow 한 번으로 같은 셸이 자동으로 활성화됩니다.

Docker

멀티 아키텍처 이미지(linux/amd64, linux/arm64)가 Docker Hub와 GitHub Container Registry에 올라갑니다. 바이너리는 /app/dalfox에 있고 이미지에 엔트리포인트가 없으므로 명령에 바이너리를 직접 지정하세요.

docker run --rm hahwul/dalfox:latest ./dalfox scan https://example.com

# 또는 GHCR에서
docker run --rm ghcr.io/hahwul/dalfox:latest ./dalfox scan https://example.com

/app이 이미지의 PATH에 없으므로 dalfox만 쓰면 실행되지 않습니다. URL 목록을 스캔하려면 파일을 컨테이너에 마운트하거나 -i로 파이프하세요.

docker run --rm -v "$PWD:/data" hahwul/dalfox:latest ./dalfox scan /data/urls.txt
cat urls.txt | docker run --rm -i hahwul/dalfox:latest ./dalfox scan

latest는 최신 릴리스입니다. 릴리스마다 v<major>.<minor>.<patch> 태그가 붙고, Docker Hub에는 v<major>.<minor>와 v<major> 태그도 붙습니다. ghcr.io/hahwul/dalfox:main은 main 브랜치를 따라갑니다.

Cargo (crates.io)

cargo install dalfox

Rust 1.93 이상이 필요합니다(크레이트의 rust-version). ~/.cargo/bin/dalfox에 빌드됩니다.

사전 빌드된 바이너리

github.com/hahwul/dalfox/releases에서 OS/아키텍처에 맞는 릴리스 아카이브를 내려받아 압축을 풀고, 바이너리를 PATH에 있는 경로(/usr/local/bin, ~/.local/bin 등)에 두면 됩니다.

릴리스마다 다음 빌드가 함께 올라갑니다.

  • macos-x86_64, macos-aarch64
  • linux-x86_64 (glibc), linux-x86_64-musl (정적 링크, Alpine·Docker·CI에 권장)
  • linux-aarch64 (glibc), linux-aarch64-musl (정적 링크)
  • windows-x86_64

아카이브 이름은 dalfox-v<version>-<platform> 형식이며, macOS와 Linux는 .tar.gz, Windows는 .zip입니다. Linux는 두 아키텍처 모두 .deb와 .rpm 패키지도 나오고, 모든 아카이브와 패키지 옆에는 각각의 .sha256 파일이 있고, 릴리스마다 CycloneDX SBOM(dalfox.cdx.xml)도 올라갑니다.

소스에서 빌드

git clone https://github.com/hahwul/dalfox
cd dalfox
cargo build --release
# 바이너리 경로: ./target/release/dalfox

Rust 1.93 이상(2024 edition)이 필요합니다. 없다면 rustup으로 설치하세요.

설치 확인

dalfox --version

dalfox 3.2.4 같은 한 줄이 출력되면 됩니다.

셸 자동완성

hahwul/dalfox Homebrew tap, AUR 패키지, .deb / .rpm 패키지, Nix flake로 설치하면 bash·zsh·fish 자동완성과 dalfox(1) man 페이지가 함께 설치됩니다.

코어 brew install dalfox formula, Snap, Docker, Cargo, 릴리스 아카이브, 소스 빌드처럼 다른 방법으로 설치했다면 직접 생성하면 됩니다.

dalfox completion bash > /etc/bash_completion.d/dalfox
dalfox completion zsh > "${fpath[1]}/_dalfox"
dalfox completion fish > ~/.config/fish/completions/dalfox.fish

powershell과 elvish도 지원합니다. 자세한 내용은 CLI 레퍼런스를 참고하세요.

도움말 보기

모든 명령에 도움말이 들어 있습니다.

dalfox --help
dalfox scan --help

다음 단계

빠른 시작에서 첫 스캔을 실행해 보세요. 스캔 전에 기본값을 조정하고 싶다면 설정으로 넘어가세요.

ESC