Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Rootless startup cannot publish resolved config audit under /run/awf-config-audit

Closed
#10,131 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@lpcox is already working on this.

Since Oct 16, 2026.

  • #10149 by @copilot-swe-agent — merged

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
linux, typescript
Domain
cli, security

Research direction

Start in src/commands/main-action.ts at persistConfigAuditArtifact, which unconditionally calls publishEarlyResolvedConfig in src/resolved-config-artifact.ts, where the /run publication directory is created. Decide how rootless runs should publish audit evidence without weakening the root-owned, symlink, and exclusive-creation checks, since the linked consumer redaction contract depends on that path. Done means a non-root run on a host without /run/awf-config-audit produces a redactable artifact with no EACCES warning, and the privileged security tests still pass.

Written by the indexing model from the issue text.

Description

Summary

AWF v0.28.59 attempts to publish the early resolved-config audit artifact under /run/awf-config-audit even when invoked as a non-root user. On a host where that publication directory has not been provisioned, startup logs an EACCES warning and does not publish the early artifact.

Observed failure

Run: https://github.com/github/gh-aw/actions/runs/38948906270/job/117135462088?pr=69450#step:32:112

The job invokes AWF without sudo, using rootless/network-isolation mode. At step 32, line 112:

[WARN] Failed to publish resolved config artifact: Error: EACCES: permission denied, mkdir '/proc/self/fd/22/awf-config-audit'

The descriptor-relative path points into /run; this is not a workflow-config path or a process-substitution issue.

This warning is caught and execution continues. The linked job later exits for an unrelated unavailable-model error; this issue concerns only audit publication.

Introduction and cause

Introduced by #10014 (merge commit 515c8bfdd520c1890c161d40d189a5b8e54ddb60, October 15), shipped in v0.28.59.

Expected behavior

Rootless executions should preserve resolved-config audit evidence without requiring sudo or emitting a permission warning for the normal execution mode. Privileged executions must retain the protected publication location and existing ownership, symlink, exclusive-creation, and permission safeguards.

Consumer compatibility

Current gh-aw consumers deliberately accept AWF_RESOLVED_CONFIG only at /run/awf-config-audit/run-<six alphanumeric characters>/awf-resolved-config.json, with root-owned publication-root and caller-owned directory/file permission checks. Exporting an arbitrary user/temp-directory path would cause their redaction step to fail.

See https://github.com/github/gh-aw/blob/0d15bd1649/actions/setup/js/redact_secrets.cjs#L400-L445 and https://github.com/github/gh-aw/blob/0d15bd1649/actions/setup/js/redact_secrets.cjs#L721-L736.

Any fix should preserve that security contract or explicitly coordinate a consumer update. Rootless standard audit-tree publication may be an option without exporting a new incompatible early-artifact path.

Suggested regression coverage

Exercise startup audit publication as a genuinely non-root Linux user on a fresh host without /run/awf-config-audit, verify the resulting artifact is collectable/redactable, and retain privileged publication security tests.

Dominant language
TypeScript
Stars
149
Forks
77
Avg merge
4h 36m
Merged PRs (30d)
418

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from github/gh-aw-firewall

All issues in github/gh-aw-firewall

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.