Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
YamlStaticContext for the doc pipeline's YAML DTOs (tools/Reactor.DocPipeline).
Analyzer-only (PrivateAssets=all). Version tracks YamlDotNet's major (18.x). -->
<PackageVersion Include="Vecc.YamlDotNet.Analyzers.StaticGenerator" Version="18.1.0" />
<PackageVersion Include="GitHub.Copilot.SDK" Version="1.0.14" />
<PackageVersion Include="GitHub.Copilot.SDK" Version="1.0.19" />
<PackageVersion Include="MessagePack" Version="2.5.307" />
</ItemGroup>

Expand All @@ -56,7 +56,7 @@
`winapp ui`, used in-process. Its Windows Graphics Capture build needs a Windows 10
19041+ TFM. The DI container is how the library hands out IWindowCapture. -->
<PackageVersion Include="Microsoft.Windows.SDK.BuildTools.WinApp.UIAutomation" Version="0.7.1" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.10" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.12" />
</ItemGroup>

<ItemGroup>
Expand All @@ -71,19 +71,19 @@

<ItemGroup>
<!-- Test infrastructure -->
<PackageVersion Include="xunit.v3" Version="4.0.1" />
<PackageVersion Include="xunit.runner.visualstudio" Version="4.0.0" />
<PackageVersion Include="MSTest.TestAdapter" Version="4.4.1" />
<PackageVersion Include="MSTest.TestFramework" Version="4.4.1" />
<PackageVersion Include="xunit.v3" Version="4.0.2" />
<PackageVersion Include="xunit.runner.visualstudio" Version="4.0.1" />
<PackageVersion Include="MSTest.TestAdapter" Version="4.5.1" />
<PackageVersion Include="MSTest.TestFramework" Version="4.5.1" />
<!-- Microsoft.Testing.Platform extensions. xunit.v3 v4 dropped the VSTest bridge, so
the repo runs every suite under MTP (see global.json). MTP ships no TRX writer or
hang detector in the box: these restore the VSTest "logger trx" and "blame hang"
behaviours CI depended on, via the MTP report-trx / hangdump options. Version
tracks the MTP that xunit.v3 4.x / MSTest 4.x resolve. -->
<PackageVersion Include="Microsoft.Testing.Extensions.TrxReport" Version="2.4.1" />
<PackageVersion Include="Microsoft.Testing.Extensions.HangDump" Version="2.4.1" />
<PackageVersion Include="Microsoft.Testing.Extensions.TrxReport" Version="2.5.1" />
<PackageVersion Include="Microsoft.Testing.Extensions.HangDump" Version="2.5.1" />
<PackageVersion Include="SharpFuzz" Version="2.3.0" />
<PackageVersion Include="Microsoft.Diagnostics.Tracing.TraceEvent" Version="3.2.6" />
<PackageVersion Include="Microsoft.Diagnostics.Tracing.TraceEvent" Version="3.2.8" />
</ItemGroup>

<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion docs/security/threat-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ Microsoft's internal Security Assessment policy lists six trust-boundary trigger
| `nuget.org` for direct & transitive deps | Compromise of upstream feed → poisoned dep gets pulled at restore | `nuget.config` clears inherited feeds and pins to `nuget.org` + `local-nupkgs/`. Dependabot enabled (`.github/dependabot.yml`). CI `vulnerable-packages` job runs [`dotnet list package --vulnerable`](https://learn.microsoft.com/dotnet/core/tools/dotnet-list-package) on every PR and fails on High/Critical findings. |
| Source-ported OSS (Yoga / md4c / D3) | Upstream defect ported in by hand without notice | `ThirdPartyNoticeText.txt` lists each; `cgmanifest.json` registers them with Component Governance so upstream advisories surface internally. |
| GitHub repo → NuGet publish | Compromised CI builds malicious package | `.github/workflows/release.yml` builds in `windows-latest` runner; BinSkim (PR #365) and CodeQL provide additional verification before publish. |
| `GitHub.Copilot.SDK 1.0.14` transitive | Ships a third-party native `copilot.exe` runtime bundle (`runtimes/<rid>/native/`), downloaded at build time from the github/copilot-cli GitHub releases and SHA-256-verified against the release's `SHA256SUMS.txt`, without Control Flow Guard | Known; tracked under the BinSkim follow-up. Not Reactor-authored. The binary is only present in the `mur` CLI publish artifact, not in the framework NuGet. |
| `GitHub.Copilot.SDK 1.0.19` transitive | Ships a third-party native `copilot.exe` runtime bundle (`runtimes/<rid>/native/`), downloaded at build time from the github/copilot-cli GitHub releases and SHA-256-verified against the release's `SHA256SUMS.txt`, without Control Flow Guard | Known; tracked under the BinSkim follow-up. Not Reactor-authored. The binary is only present in the `mur` CLI publish artifact, not in the framework NuGet. |
| Developer-downloaded skill-kit zip | Tampering between Microsoft and developer | Authenticode signing of the zip is a known compliance gap; tracked under the SDL signing workstream. |

## 11. Known open items / questions for internal security review
Expand Down
2 changes: 1 addition & 1 deletion tests/build_props/ci/CopilotSdkContract.Tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ $packagesProps = Join-Path $repoRoot 'Directory.Packages.props'
# CopilotSkipCliDownload still gates the native CLI download, and that
# CopilotCliReleaseBaseUrl / COPILOT_CLI_DOWNLOAD_BASE_URL / CopilotCliBinaryPath
# still behave as Directory.Build.props and README.md describe. Then bump this.
$reviewedSdkVersion = '1.0.14'
$reviewedSdkVersion = '1.0.19'
$sdkPinned = [regex]::Match(
[IO.File]::ReadAllText($packagesProps),
'<PackageVersion\s+Include="GitHub\.Copilot\.SDK"\s+Version="(?<v>[^"]+)"').Groups['v'].Value
Expand Down
Loading