idkmesh

Conversation Record — ACE Security Hardening Continuation

Date: 2026-08-28

Project-owner instruction

The project owner asked the assistant to continue work directly in the public MSKazemi/idkmesh repository.

Work completed earlier in this turn

The repository had two overlapping ACE pull requests:

The overlap was reconciled so:

PR #48’s duplicate simulator and simulator-specific workflow were removed, and its fresh Phase 0 CI passed.

Next dependency selected

After #25/#27 reconciliation, the next Bootstrap Cohort dependency was issue #26:

Threat-model .github/workflows/ace-community-growth.yml before ACE gains stronger write capability.

This was prioritized because the workflow uses pull_request_target with issues: write and therefore crosses a privileged GitHub trust boundary even though its current behavior is metadata-only.

Security findings

The workflow already had the most important invariant:

pull_request_target
 -> no checkout of PR head
 -> no imports/builds/tests from PR code
 -> no secrets exposed to PR execution
 -> metadata only

That substantially limits fork-originated code-execution risk.

Several metadata-plane weaknesses were found:

  1. any issue author could include <!-- ACE_SEED and cause the workflow to apply growth-seed;
  2. the ledger was discovered largely by title, which is not a trusted identity;
  3. malformed ACE_STATE JSON was silently ignored and replaced by default state;
  4. issue scans used only the first 100 results, weakening deduplication as the repository grows;
  5. any issue containing spawned-from:pr-N could poison the generated-seed dedupe check;
  6. generated Growth Seeds copied untrusted PR titles into Markdown;
  7. actions/github-script@v7 used a moving tag rather than an immutable commit.

Hardening applied on review branch

Branch: security/ace-workflow-threat-model

Changes to .github/workflows/ace-community-growth.yml:

Threat-model artifact

Added:

docs/security/ACE_THREAT_MODEL.md

It documents:

Security verdict

After the proposed hardening, ACE v0 is considered safe enough for current metadata-only experimental operation, subject to normal review and the hard invariant that PR-head code is never executed in the privileged workflow.

It is not considered safe enough for:

Project principle reinforced

The security review produced a reusable rule for IDKMesh:

Text may propose; typed policy and verified evidence authorize.

GitHub titles, bodies, comments, and markers are observations/evidence. They must not directly become authority simply because a privileged workflow can read them.

Community impact

The hardening preserves the low-friction GitHub-native ACE experiment while reducing ways that untrusted activity can pollute labels, ledger identity, or deduplication. It also keeps the security review itself as an independently reviewable Growth Seed contribution rather than silently changing main.