Skip to content

Commit 69113aa

Browse files
Sync from inner source [auto] (#69)
Sync from github/github-well-architected-internal (main) Source Repository: github/github-well-architected-internal Source Branch: main Source SHA: d1bd890c16bd9d9b203276f8a5e86b8a29fc494c Co-authored-by: well-architected-sync-bot[bot] <235114805+well-architected-sync-bot[bot]@users.noreply.github.com>
1 parent 49f6e32 commit 69113aa

5 files changed

Lines changed: 458 additions & 7 deletions

File tree

content/library/application-security/recommendations/managing-dependency-threats.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ Build trust across the supply chain by establishing cryptographic provenance for
274274

275275
For packages you maintain:
276276

277-
1. Link your GitHub repository as a trusted publisher in your package registry settings (npm, PyPI, RubyGems, etc.)
277+
1. Link your GitHub repository as a trusted publisher in your package registry settings (npm, PyPI, RubyGems, NuGet, crates.io, etc.)
278278
2. Update your release workflow to use [OIDC authentication](https://docs.github.com/en/actions/how-tos/secure-your-work/security-harden-deployments) instead of long-lived tokens
279279
3. Publish with provenance attestations (e.g., `npm publish --provenance`) to create cryptographic proof on the specific commit of the source repository
280280
4. Create [linked artifact storage records](https://docs.github.com/enterprise-cloud@latest/code-security/concepts/supply-chain-security/linked-artifacts) with the [`actions/attest`](https://github.com/actions/attest) action
@@ -361,7 +361,7 @@ The most secure approach (reviewing every dependency change manually and disabli
361361
- **Attestations not universally available**: Not all packages support attestations yet. Use attestation availability as one factor in dependency selection and gradually work toward full coverage.
362362
- **Keeping lockfiles current**: Lockfiles prevent unexpected updates but can become stale. Regularly update dependencies through Dependabot or scheduled audits to ensure security patches aren't missed while maintaining reproducible builds.
363363
- **Breaking changes in security updates**: Security updates sometimes include breaking changes that require code modifications. Establish separate processes for security updates (expedited) vs. feature updates (standard review), and allocate time for security debt remediation.
364-
- **Workflow security risks**: The `pull_request_target` trigger runs with elevated permissions and access to secrets, even for pull requests from forks. Prefer the regular `pull_request` trigger, define least-privilege workflow permissions, and enable [CodeQL workflow analysis](https://docs.github.com/enterprise-cloud@latest/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning) to detect vulnerabilities.
364+
- **Workflow security risks**: The `pull_request_target` trigger runs with elevated permissions and access to secrets, even for pull requests from forks. Prefer the regular `pull_request` trigger, define least-privilege workflow permissions, and enable [CodeQL workflow analysis](https://docs.github.com/enterprise-cloud@latest/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning) to detect vulnerabilities. See the [GitHub Actions 2026 security roadmap](https://github.blog/news-insights/product-news/whats-coming-to-our-github-actions-2026-security-roadmap/) for upcoming capabilities addressing these risks.
365365

366366
## Seeking further assistance
367367

@@ -384,6 +384,7 @@ Specifically, you may find the following links helpful:
384384
- [Our plan for a more secure npm supply chain](https://github.blog/security/supply-chain-security/our-plan-for-a-more-secure-npm-supply-chain/) - GitHub's response to the Shai-Hulud attack
385385
- [The second half of software supply chain security on GitHub](https://github.blog/security/supply-chain-security/the-second-half-of-software-supply-chain-security-on-github/) - Build provenance and artifact attestations
386386
- [Securing the open source supply chain: The essential role of CVEs](https://github.blog/security/supply-chain-security/securing-the-open-source-supply-chain-the-essential-role-of-cves/) - Understanding vulnerability data and automation
387+
- [Securing the open source supply chain across GitHub](https://github.blog/security/supply-chain-security/securing-the-open-source-supply-chain-across-github/) - Prevention steps for secret exfiltration attacks and GitHub's security roadmap
387388

388389
### External resources
389390

content/library/governance/recommendations/copilot-policies-best-practices/copilot_pru_enterprise_admin_playbook.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,9 +154,11 @@ Upon completion of this playbook, administrators will be able to:
154154
Premium Request Units (PRUs) represent usage credits for advanced GitHub Copilot features that exceed standard plan allowances. These units enable access to:
155155

156156
- Advanced AI models (Claude, Gemini, etc.)
157-
- Agentic coding capabilities (Copilot Coding Agent)
157+
- Agentic coding capabilities (Copilot cloud agent)
158158
- Enhanced code review capabilities (Copilot Code Review)
159159

160+
For governance-specific controls around cloud agents — policy configuration, security boundaries, MCP governance, and audit pipelines — see [Governing AI cloud agents in GitHub Enterprise]({{< relref "governing-agents.md" >}}).
161+
160162
**Key Principles:**
161163

162164
- PRUs reset monthly on the 1st at 00:00:00 UTC
@@ -176,7 +178,7 @@ Premium Request Units (PRUs) represent usage credits for advanced GitHub Copilot
176178

177179
- Enhanced developer productivity with advanced AI models
178180
- Improved code quality through advanced review features
179-
- Accelerated development cycles with coding agents
181+
- Accelerated development cycles with cloud agents
180182

181183
### 2. Planning & Configuration
182184

@@ -443,7 +445,7 @@ From the Enterprise Admin, three different types of organizations are defined:
443445
- Access limited to standard features.
444446
- Standard users have basic Copilot features but no PRU access.
445447

446-
**In summary:**
448+
**In summary:**
447449
The Enterprise Admin governs and manages policies and budgets across all organizations, while each organization determines licenses and access based on business requirements. Team members and standard users then utilize features and resources aligned with their assigned roles and budget levels.
448450

449451
{{< callout type="info" >}}
@@ -531,7 +533,7 @@ Response timeframes are suggested based on enterprise best practices. Organizati
531533
**Symptoms:**
532534

533535
- Premium models not available in Copilot Chat
534-
- Coding agents disabled or restricted
536+
- cloud agents disabled or restricted
535537
- Error messages about PRU limitations
536538

537539
**Diagnostic Steps:**

content/library/governance/recommendations/governance-policies-best-practices/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ Use these key strategies as a baseline to implement GitHub's best practices for
9898

9999
14. Initiate and impose **commit signing** whenever possible. This will deter malicious actors from creating a commit with malicious code and help prevent a possible supply chain attack.
100100

101+
> **Note:** Copilot cloud agent signs its commits automatically. For broader agent governance guidance, see [Governing agents in GitHub Enterprise]({{< relref "governing-agents.md" >}})
102+
101103
15. **Bypass of rulesets should not be allowed** under the Repository Ruleset configuration. Enforcing policies around repo ruleset is designed for a reason and allowing users to bypass rulesets might allow an attacker to gain access as a user who is allowed to bypass ruleset and compromise the integrity of the codebase.
102104

103105
16. **Runner groups should be limited** to a select number of repositories. Configuring a runner group for all repositories can expose vulnerabilities or allow malicious actors to exploit misconfigured runners. Additionally, maintaining runner groups for specific repositories ensures that self-hosted runners are used for their intended specialized workloads. Granting access to everyone in the organization can lead to wasting resources on unnecessary execution tasks.

0 commit comments

Comments
 (0)