Skip to content

Remote execution audit: absolute paths and cwd walks #15

Description

@jackmarsh

Every one of the six remote-execution bugs found by the labs pilot was the same shape: an action assuming the environment around it rather than naming what it needs. A worker stages only what an action names, so anything reached by walking the filesystem or by an absolute path works locally and fails remotely.

The ones already found and fixed:

What is missing

Nobody has swept the codebase for the remaining instances. Two patterns to grep for specifically:

  • absolute-path canonicalization: anywhere a path is made absolute against the machine running the action rather than against the sandbox
  • cwd walks: anywhere a directory is enumerated rather than named, so the result depends on what happens to be staged

find_file_recursive in compile.rs is a known walk. It is bounded by the sandbox today, which is why it works, but that is a property of the sandbox rather than something the action declares.

How you would know

A pass over every action with a list of what it reaches and whether it named it, and a fix or a justification per instance.

Activity

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

    P1Shipped and possibly wrong: a user could be hitting this nowremote-executionActions running on a worker fleetwhere:labsOnly a real RBE cluster can prove it

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions