Skip to content

fix(coding-agent): harden publication security - #262

Merged
Pepps233 merged 3 commits into
mainfrom
fix/security-publication-gaps
Oct 17, 2026
Merged

Pepps233 merged 3 commits into
mainfrom
fix/security-publication-gaps

Conversation

@Pepps233

Copy link
Copy Markdown
Contributor

Summary

Prevent model publication from fork CI or arbitrary manual source refs, disable credential-bearing issue analysis, and patch the three reported production dependency vulnerabilities.

Reasoning

Successful CI and maintainer authorization do not establish a safe boundary for executing untrusted code or issue content with publication credentials.
Source hosting remains private pending a broader publication review.

Changes

  • Require successful same-repository push CI on main for model publication, restrict manual publication to main, and expose upload credentials only to the upload step.
  • Replace issue analysis with an inert workflow, as approved.
  • Update Undici to 8.12.2, shell-quote to 1.12.0, and brace-expansion to 5.0.12; regenerate distribution locks.
  • Clarify that artifact names do not protect access.

Live settings were also hardened: main requires review and CI without bypasses; release tags cannot be modified or deleted; tag creation is restricted to repository admins, currently Pepps233 only.
Secret scanning, push protection, Code Security, Dependabot security updates, and CodeQL default setup are enabled.
The model-upload environment permits only the main branch.
Issue analysis is disabled in GitHub immediately.

Deployment reviewers remain blocked by the private repository's billing plan.
The existing direct-push release procedure needs a PR-based path under main protection.
The full dependency audit still reports nine development-only findings; the production audit is clean.

A targeted scan of all 27 retained private-named artifacts and their 18 associated log archives inspected 65,280 files without matching the selected secret patterns.
This does not cover all retained artifacts, historical runs, linked gists, or all secret formats and is not publication clearance.

Testing

  • npm run check passed.
  • node --test scripts/*.test.mjs: 350 tests passed.
  • Focused HTTP dispatcher and version-check tests: 73 passed with the experimental module cache disabled after dependency relocation invalidated cached paths.
  • npm audit --omit=dev: zero vulnerabilities.
  • Workflow regression cases failed before the guards and passed afterward.

- Restrict model publication to trusted main sources and isolate upload credentials
- Disable unsafe issue analysis and update vulnerable production dependencies
- Require an explicit retained-artifact audit before changing source visibility
@Pepps233
Pepps233 marked this pull request as ready for review October 17, 2026 19:08
@Pepps233
Pepps233 merged commit 4e7796a into main Oct 17, 2026
3 of 11 checks passed
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