Merge commit '29f03e352823af81b35869659928a94e70df4cf9' into feat/373-registry-sacl-recovery

# Conflicts:
#	.gitattributes
#	.github/workflows/release.yml
#	CHANGELOG-Japanese.md
#	CHANGELOG.md
#	website/docs/resources/changelog.ja.md
#	website/docs/resources/changelog.md
This commit is contained in:
Shirofune-Security committed 2026-09-22 11:43:28 +09:00
commit 70a812556d
32 files changed
+1108 -13

No files matched your search

@@ -0,0 +1,43 @@
name: Native provider configuration acceptance
on:
push:
branches: ['**']
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
native-provider-configure:
timeout-minutes: 25
strategy:
fail-fast: false
matrix:
os: [windows-2022, windows-2025]
engine: [powershell, pwsh]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- name: Focused provider regressions in Windows PowerShell5.1
if: matrix.engine == 'powershell'
shell: powershell
run: ./tests/NativeProviderPacks.Tests.ps1
- name: Public native provider configuration in Windows PowerShell5.1
if: matrix.engine == 'powershell'
shell: powershell
run: ./tests/NativeProviderConfigure.Windows.Tests.ps1 -AllowDisposableProviderWrite
- name: Focused provider regressions in PowerShell7
if: matrix.engine == 'pwsh'
shell: pwsh
run: ./tests/NativeProviderPacks.Tests.ps1
- name: Public native provider configuration in PowerShell7
if: matrix.engine == 'pwsh'
shell: pwsh
run: ./tests/NativeProviderConfigure.Windows.Tests.ps1 -AllowDisposableProviderWrite
- name: Retain owned fixture evidence
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
with:
name: native-provider-configure-${{ matrix.os }}-${{ matrix.engine }}
path: ${{ runner.temp }}/wela-provider-configure-*/
if-no-files-found: warn
retention-days: 7
+47
View File
@@ -0,0 +1,47 @@
name: Native public SMB policy configuration
on:
push:
branches: ['**']
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
native-smb-policy:
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
os: [windows-2022, windows-2025]
engine: [powershell, pwsh]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- name: Fixtures and public guards in Windows PowerShell5.1
if: matrix.engine == 'powershell'
shell: powershell
run: |
./tests/SmbAuditing.Tests.ps1
./tests/SmbAuditing.Windows.Tests.ps1
- name: Native public SMB policy configuration in Windows PowerShell5.1
if: matrix.engine == 'powershell'
shell: powershell
run: ./tests/SmbPolicyConfigure.Windows.Tests.ps1 -AllowDisposablePolicyWrite
- name: Fixtures and public guards in PowerShell7
if: matrix.engine == 'pwsh'
shell: pwsh
run: |
./tests/SmbAuditing.Tests.ps1
./tests/SmbAuditing.Windows.Tests.ps1
- name: Native public SMB policy configuration in PowerShell7
if: matrix.engine == 'pwsh'
shell: pwsh
run: ./tests/SmbPolicyConfigure.Windows.Tests.ps1 -AllowDisposablePolicyWrite
- name: Retain owned fixture evidence
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
with:
name: native-smb-policy-${{ matrix.os }}-${{ matrix.engine }}
path: ${{ runner.temp }}/wela-smb-policy-*/
if-no-files-found: warn
retention-days: 7
+1 -1
View File
@@ -41,7 +41,7 @@ jobs:
Copy-Item -Recurse -Path ./scripts -Destination release-binaries/
Copy-Item -Recurse -Path ./modules -Destination release-binaries/
New-Item -ItemType Directory -Path release-binaries/docs -Force | Out-Null
Copy-Item -Path ./docs/gpo-audit-packages.md, ./docs/gpo-package-deployment.md, ./docs/gpo-creation.md, ./docs/wmi-probe.md, ./docs/firewall-logging.md, ./docs/firewall-logging-recovery.md, ./docs/ipsec-prerequisites.md, ./docs/wec-state.md, ./docs/wec-update.md, ./docs/wec-runtime.md, ./docs/wef-deployment.md, ./docs/native-channel-access.md, ./docs/eventlog-settings.md, ./docs/channel-read.md, ./docs/native-rule-eligibility.md, ./docs/native-validation.md, ./docs/wef-arrival.md, ./docs/smb-runtime-activation.md, ./docs/smb-auditing.md, ./docs/wec-ingress.md, ./docs/capi2-probe.md, ./docs/powershell-transcription.md, ./docs/transcription-recovery.md, ./docs/eventlog-recovery.md, ./docs/failed-logon-probe.md, ./docs/wec-listener.md, ./docs/file-access-probe.md, ./docs/applocker-script-probe.md, ./docs/applocker-probe.md, ./docs/selected-sacl-configuration.md, ./docs/registry-sacl-recovery.md, ./docs/targeted-sacl-planning.md, ./docs/native-registry-sacl-validation.md, ./docs/wec-authorization.md, ./docs/channel-recovery.md -Destination release-binaries/docs/
Copy-Item -Path ./docs/gpo-audit-packages.md, ./docs/gpo-package-deployment.md, ./docs/gpo-creation.md, ./docs/wmi-probe.md, ./docs/firewall-logging.md, ./docs/firewall-logging-recovery.md, ./docs/ipsec-prerequisites.md, ./docs/wec-state.md, ./docs/wec-update.md, ./docs/wec-runtime.md, ./docs/wef-deployment.md, ./docs/native-channel-access.md, ./docs/eventlog-settings.md, ./docs/channel-read.md, ./docs/native-rule-eligibility.md, ./docs/native-validation.md, ./docs/wef-arrival.md, ./docs/smb-runtime-activation.md, ./docs/smb-auditing.md, ./docs/wec-ingress.md, ./docs/capi2-probe.md, ./docs/powershell-transcription.md, ./docs/transcription-recovery.md, ./docs/eventlog-recovery.md, ./docs/failed-logon-probe.md, ./docs/wec-listener.md, ./docs/file-access-probe.md, ./docs/applocker-script-probe.md, ./docs/applocker-probe.md, ./docs/selected-sacl-configuration.md, ./docs/registry-sacl-recovery.md, ./docs/targeted-sacl-planning.md, ./docs/native-registry-sacl-validation.md, ./docs/wec-authorization.md, ./docs/channel-recovery.md, ./docs/outgoing-ntlm.md, ./docs/wec-collector-observation.md, ./docs/native-provider-packs.md, ./docs/native-provider-acceptance.md -Destination release-binaries/docs/
- name: Set Artifact Name
if: contains(matrix.info.os, 'windows') == true
@@ -0,0 +1,47 @@
name: Scoped outgoing NTLM auditing
on:
push:
branches: ['**']
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
scoped-outgoing-ntlm:
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
os: [windows-2022, windows-2025]
engine: [powershell, pwsh]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- name: Fixtures and public guards in Windows PowerShell5.1
if: matrix.engine == 'powershell'
shell: powershell
run: |
./tests/OutgoingNtlmAudit.Tests.ps1
./tests/OutgoingNtlmAudit.Cli.Tests.ps1
- name: Scoped outgoing NTLM auditing in Windows PowerShell5.1
if: matrix.engine == 'powershell'
shell: powershell
run: ./tests/OutgoingNtlmAudit.Windows.Tests.ps1 -AllowDisposableAuditWrite
- name: Fixtures and public guards in PowerShell7
if: matrix.engine == 'pwsh'
shell: pwsh
run: |
./tests/OutgoingNtlmAudit.Tests.ps1
./tests/OutgoingNtlmAudit.Cli.Tests.ps1
- name: Scoped outgoing NTLM auditing in PowerShell7
if: matrix.engine == 'pwsh'
shell: pwsh
run: ./tests/OutgoingNtlmAudit.Windows.Tests.ps1 -AllowDisposableAuditWrite
- name: Retain owned fixture evidence
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
with:
name: scoped-outgoing-ntlm-${{ matrix.os }}-${{ matrix.engine }}
path: ${{ runner.temp }}/wela-outgoing-audit-*/
if-no-files-found: warn
retention-days: 7
@@ -0,0 +1,59 @@
name: Native collector subscription observation
on:
push:
paths: ['WELA.ps1', 'modules/WefSubscriptions.psm1', 'modules/WecSubscription*', 'scripts/WefDeployment.ps1', 'tests/WecCollectorObservation*', 'tests/WecSubscriptionInventory*', '.github/workflows/wec-collector-observation.yml']
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
collector-observation:
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
os: [windows-2022, windows-2025]
engine: [powershell, pwsh]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- name: Native observation regressions in Windows PowerShell 5.1
if: matrix.engine == 'powershell'
shell: powershell
run: |
./tests/WecSubscriptionInventory.Tests.ps1
./tests/WecSubscriptionXml.Tests.ps1
./tests/WefDeployment.Tests.ps1
./tests/WefDeployment.Cli.Tests.ps1
- name: Native observation regressions in PowerShell 7
if: matrix.engine == 'pwsh'
shell: pwsh
run: |
./tests/WecSubscriptionInventory.Tests.ps1
./tests/WecSubscriptionXml.Tests.ps1
./tests/WefDeployment.Tests.ps1
./tests/WefDeployment.Cli.Tests.ps1
- name: Existing read-only service preservation in Windows PowerShell 5.1
if: matrix.engine == 'powershell'
shell: powershell
run: ./tests/WefDeployment.Windows.Tests.ps1
- name: Existing read-only service preservation in PowerShell 7
if: matrix.engine == 'pwsh'
shell: pwsh
run: ./tests/WefDeployment.Windows.Tests.ps1
- name: Actual public collector observations in Windows PowerShell 5.1
if: matrix.engine == 'powershell'
shell: powershell
run: ./tests/WecCollectorObservation.Windows.Tests.ps1 -AllowDisposableSubscription
- name: Actual public collector observations in PowerShell 7
if: matrix.engine == 'pwsh'
shell: pwsh
run: ./tests/WecCollectorObservation.Windows.Tests.ps1 -AllowDisposableSubscription
- name: Retain native observations and exact cleanup evidence
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
with:
name: collector-observation-${{ matrix.os }}-${{ matrix.engine }}
path: ${{ runner.temp }}/wela-wec-observation-*
if-no-files-found: warn
retention-days: 7