Skip to content

Surrogate binary: extraction location and Authenticode signing #1342

Open

Description

@simongdavies

The surrogate binary is currently extracted to current_exe().parent() and is unsigned. This creates two related concerns.

Problem 1: Extraction location

Extracting to the executable directory requires write permissions, which may not be available in all deployments (read-only container images, restricted Program Files installs). Alternative locations (%TEMP%, %LOCALAPPDATA%) each have tradeoffs — particularly AV products flagging "write exe to temp → execute" as a malware dropper pattern.

Problem 2: Authenticode signing

The surrogate binary is currently unsigned. Signing it would:

  • Eliminate AV false positives regardless of extraction location
  • Enable extraction to temp or other locations without AV interference
  • Allow WDAC/AppLocker policies to trust it

Options for extraction location

Location Write perms AV risk Notes
Exe dir (current) Needs write access Low Expected location for supporting binaries
%LOCALAPPDATA%\hyperlight\ Always writable Medium Less suspicious than temp
%TEMP% Always writable High AV red flag — top malware dropper pattern

Activity

  1. added
    lifecycle/confirmedBug is verified or proposal seems reasonable
    and removed on Aug 5, 2026
  2. added this to the 1.0 milestone on Aug 5, 2026
  3. jsturtevant commented on Aug 5, 2026

    @jsturtevant
    Contributor

    May need to look into support through CNCF for signing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    lifecycle/confirmedBug is verified or proposal seems reasonable

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions