Building Squatter
Build Squatter from the repository root integration workspace. The aggregate module build covers the Go provider, the selected Windows PE payload, and the source module targets that do not require a dedicated Wine runtime. Use Task targets so local and CI Bazel configuration is applied consistently.
Primary Build
task modules:build
task bazel:build -- //:modules_build
task bazel:build -- //modules/squatter:build
Focused Targets
task bazel:build -- //modules/squatter/provider:squatter-provider
task bazel:build -- //modules/squatter/provider:squatter-generate
task bazel:build -- //modules/squatter/windows:squatter_x86_exe
task bazel:build -- //modules/squatter/windows/src:squatter_all
task bazel:build -- //modules/squatter/client/cmd/squatterctl:squatterctl
Windows Payload
modules/squatter/windows/src:squatter.exe is the payload
product. It links with -nostdlib, enters through
_sq_nocrt_entry, and uses the repo-local MinGW toolchain
rules in modules/squatter/bazel. The public provider
package selects the i686 PE as squatter.exe.
Payload TLS and wolfSSL
TCP-bind payload TLS is implemented by a pinned wolfSSL 5.9.2 static dependency, not Schannel, Secur32, Crypt32, CNG, or the Windows certificate store. The repository profile enables TLS 1.3 and the algorithms required by Hovel's portable X.509 bundles while supplying Squatter's no-CRT heap, time, entropy, and socket boundaries.
The wolfSSL portion is compiled against the Windows NT 4.0 API surface for both i686 and x86_64. That keeps TLS from raising the payload's Windows API floor. The complete payload still advertises Windows 7 as its tested provider floor until older Windows releases join the automated compatibility matrix.
wolfSSL is dual-licensed under GPLv3 or a commercial license. The static dependency is marked restricted in the build graph; distributors must satisfy GPLv3 or obtain an appropriate commercial wolfSSL license.
Package Artifacts
Module release packaging first stages native launchers and the payload
under modules/examples/bin, then writes package archives,
indexes, install sets, and checksums under dist/modules.
task release:modules-stage
task release:modules-package