Customizing the Wordlist

April 8, 2026 ยท View on GitHub

Krawl uses a wordlists.json file to generate realistic fake data for honeypot pages. You can customize this file to tailor the deception content to your environment.

File Location

  • Default path: wordlists.json in the project root (next to config.yaml)
  • Docker: Mount as a volume: -v ./wordlists.json:/app/wordlists.json:ro
  • Helm: Configure via values.yaml under the wordlists ConfigMap (see Helm chart documentation)

If the file is missing or contains invalid JSON, Krawl falls back to built-in defaults.

Reload Behavior

Wordlists are loaded once at startup. Changes to wordlists.json require restarting Krawl to take effect.

Structure

The file supports the following top-level fields:

{
  "usernames": {
    "prefixes": ["admin", "root", "user", "deploy"],
    "suffixes": ["_prod", "_dev", "_backup", "123"]
  },
  "passwords": {
    "prefixes": ["P@ssw0rd", "Admin", "Welcome"],
    "simple": ["test", "password", "changeme"]
  },
  "emails": {
    "domains": ["company.com", "internal.corp"]
  },
  "api_keys": {
    "prefixes": ["sk-", "ak-", "AKIA"]
  },
  "databases": {
    "names": ["production", "users_db", "main"],
    "hosts": ["db-prod.internal", "10.0.1.50"]
  },
  "applications": {
    "names": ["wordpress", "jira", "confluence"]
  },
  "users": {
    "roles": ["admin", "operator", "readonly"]
  },
  "directory_listing": {
    "files": ["credentials.txt", "backup.sql", ".env", "wp-config.php"],
    "directories": ["admin/", "backup/", ".git/", "config/"]
  },
  "server_headers": ["Apache/2.4.41", "nginx/1.18.0", "Microsoft-IIS/10.0"],
  "error_codes": [400, 403, 404, 500, 502, 503]
}

Field Descriptions

FieldDescription
usernamesPrefixes and suffixes combined to generate fake usernames in credential pages
passwordsUsed to generate realistic-looking passwords shown in fake credential files
emailsDomains used to generate fake email addresses
api_keysPrefixes for generating fake API keys (e.g., AWS-style AKIA...)
databasesDatabase names and hosts shown in fake configuration files
applicationsApplication names used in fake admin panels and configs
usersRoles displayed in fake user management pages
directory_listingFiles and directories shown in fake directory listing pages
server_headersServer header values randomly rotated in HTTP responses
error_codesHTTP status codes used when random error injection is enabled

Additional fields (fake_passwd, fake_shadow, xxe_responses, command_outputs, sql_errors, attack_patterns, suspicious_patterns, credential_fields) are also supported โ€” see the default wordlists.json for the full schema.