설정
Dalfox는 시작할 때 설정 파일을 읽으므로 매번 같은 플래그를 붙일 필요가 없습니다. 명시적인 CLI 플래그가 설정 파일의 값을 항상 덮어쓰니, 여기에 "기본값"을 두어도 안전합니다.
파일 위치
Dalfox는 XDG_CONFIG_HOME이 설정되어 있고 비어 있지 않으면 $XDG_CONFIG_HOME/dalfox/config.toml을, 그렇지 않으면 $HOME/.config/dalfox/config.toml을 읽습니다. 같은 디렉터리에 config.toml이 없으면 config.json을 읽습니다.
--config로 다른 위치를 지정할 수 있습니다.
dalfox --config ./dalfox.toml scan https://target.app
파일이 없으면 Dalfox는 처음 실행할 때 기본 경로에 템플릿을 만듭니다. 모든 줄이 주석 처리되어 있으므로 직접 고치기 전까지는 아무것도 바꾸지 않습니다.
최소 설정
[scan]
format = "json"
output = "results.json"
timeout = 15
workers = 100
encoders = ["url", "html"]
스캔을 실행하면 해당 플래그가 자동으로 적용됩니다.
dalfox 'https://target.app/?q=test'
# → workers=100으로 스캔하고 JSON 결과를 results.json에 씀
우선순위
CLI 플래그 > 설정 파일 > 내장 기본값
명령줄에 지정한 것이 우선합니다. 그래서 설정 파일에는 무난한 기본값을 두고, 스캔할 때마다 필요한 값만 덮어쓰면 됩니다.
# 설정 파일은 workers=100이지만, 이번 빠른 스캔은 20으로
dalfox scan --workers 20 https://target.app
스캔 플래그를 쓰려면 scan 서브커맨드를 명시해야 합니다. dalfox <TARGET> 축약형은 대상과 전역 플래그만 받습니다. deep_scan = true처럼 설정 파일에서 켠 스위치는 끄는 명령줄 플래그가 없어서 모든 실행에 그대로 적용됩니다. 자세한 내용은 우선순위를 참고하세요.
형식
Dalfox는 TOML과 JSON을 모두 지원합니다. TOML이 기본값이며, 도구나 UI에서 파일을 생성하는 경우 JSON이 편리합니다.
# ~/.config/dalfox/config.toml
[scan]
format = "sarif"
silence = true
{
"scan": {
"format": "sarif",
"silence": true
}
}
무엇을 설정할 수 있나요?
dalfox scan 아래에 CLI 플래그가 있는 모든 항목은 [scan] 테이블에 넣을 수 있습니다(--blind의 키 이름은 blind_callback_url). 이 파일은 CLI 스캔에만 적용되며 dalfox server와 dalfox mcp는 읽지 않습니다. 자주 쓰는 키 몇 가지입니다.
| 키 | 예시 | 기능 |
|---|---|---|
format |
"json" |
출력 형식(plain, json, jsonl, markdown, sarif, toml) |
output |
"report.json" |
기본 출력 파일 |
silence |
true |
로그를 억제하고 탐지 결과만 출력 |
timeout |
15 |
요청 타임아웃(초) |
delay |
200 |
요청 간 지연(ms) |
workers |
100 |
대상당 동시 워커 수 |
encoders |
["url","html","base64"] |
페이로드 인코더 |
remote_payloads |
["portswigger"] |
원격 페이로드 소스 |
remote_wordlists |
["burp"] |
원격 파라미터 워드리스트 |
headers |
["Accept: text/html"] |
추가 요청 헤더 |
user_agent |
"Dalfox Scanner" |
기본 User-Agent |
waf_bypass |
"auto" |
WAF 우회 모드(auto, 탐지만 하려면 off) |
insecure |
true |
TLS 인증서 검증 건너뛰기(false면 검증 수행) |
follow_redirects |
true |
3xx 응답 따라가기 |
모든 키는 설정 파일 레퍼런스를 참고하세요.
시크릿
설정 파일을 커밋한다면 API 키, 베어러 토큰, blind-XSS 콜백 호스트명은 파일에서 빼세요. Dalfox가 환경 변수에서 읽는 시크릿은 REST 서버의 API 키 하나뿐입니다.
# .env 또는 셸 프로필
export DALFOX_API_KEY="..."
나머지(-H "Authorization: …", --cookies, -b)는 명령줄에서만 넘기고 파일에는 남기지 마세요.