Skip to content

Beacon Config File Reference

This document provides a complete reference for all options available in the beacon configuration YAML file. You can use configs/beacon.yaml as a template.

Root Level

  • beacon (object, required): Contains all beacon-related configuration.
  • implant (object, optional): Configures the implant's internal logging.
  • llama (object, optional): Configures the AI features.
  • output (object, required): Defines the output file path.
  • advanced (object, optional): Advanced compilation options.

beacon

KeyTypeDescription
c2object(Required) C2 server connection settings.
behaviorobject(Required) Beacon operational behavior.
targetobject(Required) Target platform definition.

beacon.c2

KeyTypeDefaultDescription
hoststring127.0.0.1The IP address or hostname of the C2 server.
portinteger8080The port number of the C2 listener.
protocolstringhttpThe communication protocol (http or https).
uri_pathstringapi/updatesThe URI path for the beacon to check in to.

beacon.behavior

KeyTypeDefaultDescription
sleep_timeinteger60The base sleep time in seconds between check-ins.
jitterinteger20The percentage of jitter to apply to the sleep time (0-100).
user_agentstring(Browser-like)The User-Agent string to use for HTTP/S requests.

beacon.target

KeyTypeDefaultDescription
osstringwindowsThe target operating system (windows, linux, darwin).
archstringamd64The target architecture (amd64, arm64).
formatstringexeThe output file format (exe, dll, elf, etc.).

beacon.shell

KeyTypeDefaultDescription
powershell.amsi_bypassstringBuilt-in obfuscated AMSI bypassOptional override injected before embedded PowerShell payloads are executed.

beacon.payloads

Bundled payloads let you ship scripts/tools with the beacon binary so you can execute them later using the shell command without touching the network.

KeyTypeDescription
namestringOperator-facing identifier used with shell @name ....
sourcestringLocal path or HTTPS URL to pull into the beacon at build time.
typestringExecution runtime (currently only powershell is supported).

Usage tip: Once a payload named powerview is defined you can execute it via shell> @powerview Get-NetUser and virga will stream the embedded script plus your command into PowerShell with the AMSI bypass applied automatically.


implant

KeyTypeDefaultDescription
log_enabledbooleanfalseEnables detailed logging within the beacon itself.
log_file_pathstringimplant.logThe path to save the log file to on the target.
log_levelstringinfoThe logging level (debug, info, warn, error).

llama

KeyTypeDescription
enabledboolean(Required) Enables or disables all AI features.
log_enabledbooleanEnables detailed logging for the LLM engine.
modelobjectConfigures the AI model's inference parameters.
promptobjectDefines the initial instruction set for the model.
autonomousobjectConfigures the autonomous operation loop.
task_promptsobjectA map of custom prompts for specific tasks.

llama.model

KeyTypeDefaultDescription
contextinteger8192The maximum token context size for the model.
gpu_layersinteger0Number of model layers to offload to the GPU.
threadsinteger4Number of CPU threads to use for inference.
temperaturefloat0.7Controls the creativity of the model (0.0-1.0).
top_kinteger40Vocabulary sampling parameter.
top_pfloat0.95Nucleus sampling parameter.
max_tokensinteger2048Maximum number of tokens to generate in a response.

llama.prompt

KeyTypeDefaultDescription
presetstringenhancedThe initial system prompt preset (default, enhanced, stealth, aggressive).

llama.autonomous

KeyTypeDescription
enabledbooleanEnables the autonomous execution loop.
initial_tasksarrayA list of tasks for the AI to perform upon startup.
max_iterationsintegerThe maximum number of command-execution loops for a single task.
timeout_minutesintegerThe timeout in minutes for the entire autonomous operation.
report_intervalintegerThe interval in seconds for reporting progress.

output

KeyTypeDefaultDescription
pathstringdist/beacon.exeThe path to save the generated beacon file.

advanced

KeyTypeDefaultDescription
strip_symbolsbooleantrueStrips debugging symbols from the compiled binary.
compressbooleanfalseCompresses the final binary (e.g., with UPX). (Not yet implemented)
anti_debugbooleanfalseIncludes anti-debugging techniques. (Not yet implemented)

For authorized security testing only • Built from 25062b9