Skip to content

security: stop uploading raw Droid runtime artifacts#86

Open
EffortlessSteven wants to merge 1 commit intoFactory-AI:devfrom
EffortlessSteven:sz/01-stop-raw-debug-artifacts
Open

security: stop uploading raw Droid runtime artifacts#86
EffortlessSteven wants to merge 1 commit intoFactory-AI:devfrom
EffortlessSteven:sz/01-stop-raw-debug-artifacts

Conversation

@EffortlessSteven
Copy link
Copy Markdown

@EffortlessSteven EffortlessSteven commented May 7, 2026

Problem

The action uploaded raw Droid runtime state for every triggered run:

$HOME/.factory/**
droid-prompts/**

That runtime state can contain settings, MCP configuration, logs, sessions, and prompt material. In secrets-backed workflows, resolved provider credentials may be materialized in runtime settings.

show_full_output: false controls console output. It does not control uploaded artifacts.

Change

  • Remove the raw .factory collection step.
  • Remove the raw debug artifact upload step.
  • Add metadata tests that reject raw runtime artifact paths.

Review map

Area Files What to check
Artifact behavior action.yml Raw runtime and prompt paths are no longer uploaded.
Regression guard test/action-yml.test.ts Metadata tests catch raw copy/upload patterns.

Behavior

Before:

Triggered Droid run
→ copy $HOME/.factory
→ upload .factory/** and droid-prompts/**

After:

Triggered Droid run
→ no raw runtime debug artifact upload

Follow-up

A companion PR adds an explicit redacted debug artifact mode: #87.

Validation

bun test test/action-yml.test.ts
bun run typecheck
bun run format:check

cd base-action
bun test
bun run typecheck
bun run format:check

Non-goals

  • No redacted artifact mode in this PR.
  • No settings input changes.
  • No model or review behavior changes.
  • No raw artifact opt-in.

Contribution license

This repository does not currently include a FOSS license or contributor license agreement.

For this pull request, I expressly grant Factory AI and its affiliates a perpetual, worldwide, royalty-free, irrevocable license to use, copy, modify, publish, distribute, sublicense, and relicense these contributions, including as part of this repository or any related Factory AI product or service.

@EffortlessSteven
Copy link
Copy Markdown
Author

I split this into small PRs for review.

The first two are intended as a pair:

I also opened #88 separately to remove settings-content logging from the base action.

I held unrelated status-comment configurability and settings parser hardening for later so this first batch stays focused on runtime state exposure.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant