Skip to content

Privilege-separate AI labeler, gate secrets, pin actions#18

Merged
jeremy merged 2 commits intomainfrom
privsep
Mar 7, 2026
Merged

Privilege-separate AI labeler, gate secrets, pin actions#18
jeremy merged 2 commits intomainfrom
privsep

Conversation

@jeremy
Copy link
Copy Markdown
Member

@jeremy jeremy commented Mar 7, 2026

Summary

  • Replace inline classify and breaking-change AI labeler jobs with thin callers to centralized reusable workflows in basecamp/.github that separate inference from mutation
  • Gate sync-skills and aur-publish behind environment: release
  • Fix version comments on SHA-pinned actions (cosign-installer v4.0.0, ai-inference v2.0.7)

Privilege separation

Job Permissions Can do
infer models:read, contents:read Run AI inference, validate output
apply pull-requests:write, issues:write Apply labels, post comments

Environment gates

Job Before After
sync-skills Secret accessible without gate environment: release required
aur-publish Secret accessible without gate environment: release required

Test plan

  • Open a test PR to verify classify assigns the correct label
  • Verify breaking detection works on PRs touching internal/cmd/*.go
  • Verify sync-skills and aur-publish prompt for environment approval on tag push

jeremy added 2 commits March 7, 2026 12:52
Replace inline classify and breaking-change jobs with thin callers to
centralized reusable workflows in basecamp/.github that separate AI
inference from PR mutation into distinct jobs:

- infer job: models:read, contents:read (no PR write access)
- apply job: pull-requests:write, issues:write (no models access)

Ref: HackerOne #3585928
- Add environment: release to sync-skills and aur-publish jobs
- Pin all action refs to immutable SHA commits
- Fix version comments on cosign-installer and ai-inference

Ref: HackerOne #3585928
Copilot AI review requested due to automatic review settings March 7, 2026 20:54
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 2 files

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR "privilege-separates" the AI labeler workflows by replacing inline classify and breaking jobs with thin callers to centralized reusable workflows in basecamp/.github. It also gates sync-skills and aur-publish behind environment: release approval, and updates version comments on two pinned SHA action references.

Changes:

  • Replace inline AI classification and breaking-change detection logic with calls to external reusable workflows (basecamp/.github) pinned at a SHA
  • Add environment: release to the aur-publish and sync-skills jobs, requiring environment approval before secrets are accessible
  • Update version comments on two SHA-pinned actions in release.yml (# v3# v4.0.0 for cosign-installer, # v2# v2.0.7 for ai-inference)

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.

File Description
.github/workflows/ai-labeler.yml Replaces 185 lines of inline scripted jobs with two thin reusable-workflow caller jobs, and adds (invalid) permissions: blocks on each caller job
.github/workflows/release.yml Adds environment: release to aur-publish and sync-skills jobs; updates version annotations on two SHA-pinned actions

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jeremy jeremy merged commit 495e3fb into main Mar 7, 2026
25 checks passed
@jeremy jeremy deleted the privsep branch March 7, 2026 21:29
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.

2 participants