Merge final dev and verify strict transcription recovery CLI

This commit is contained in:
Shirofune-Security committed 2026-09-21 18:22:31 +09:00
commit 6bf4360362
36 files changed
+1678 -11

No files matched your search

+2 -2
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/powershell-transcription.md, ./docs/transcription-recovery.md, ./docs/ipsec-prerequisites.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/smb-runtime-activation.md, ./docs/smb-auditing.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/powershell-transcription.md, ./docs/transcription-recovery.md, ./docs/ipsec-prerequisites.md, ./docs/wec-ingress.md -Destination release-binaries/docs/
- name: Set Artifact Name
if: contains(matrix.info.os, 'windows') == true
@@ -77,4 +77,4 @@ jobs:
with:
name: wela-documents
path: |
./*.pdf
./*.pdf
@@ -0,0 +1,58 @@
name: SMB runtime audit activation
on:
push:
branches: ['**']
paths:
- 'WELA.ps1'
- 'scripts/SmbRuntimeActivation.ps1'
- 'scripts/SmbAuditing.ps1'
- 'scripts/Configuration.ps1'
- 'scripts/WefArrival.ps1'
- 'tests/SmbRuntimeActivation*'
- '.github/workflows/smb-runtime-activation.yml'
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
native-smb-activation:
strategy:
fail-fast: false
matrix:
os: [windows-2022, windows-2025]
shell: [powershell, pwsh]
runs-on: ${{ matrix.os }}
timeout-minutes: 15
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Focused regressions in Windows PowerShell 5.1
if: matrix.shell == 'powershell'
shell: powershell
run: |
./tests/SmbRuntimeActivation.Tests.ps1
./tests/SmbRuntimeActivation.Cli.Tests.ps1
- name: Native activation and restoration in Windows PowerShell 5.1
if: matrix.shell == 'powershell'
shell: powershell
env:
WELA_DISPOSABLE_SMB_ACTIVATION: 'true'
run: ./tests/SmbRuntimeActivation.Windows.Tests.ps1
- name: Focused regressions in PowerShell 7
if: matrix.shell == 'pwsh'
shell: pwsh
run: |
./tests/SmbRuntimeActivation.Tests.ps1
./tests/SmbRuntimeActivation.Cli.Tests.ps1
- name: Native activation and restoration in PowerShell 7
if: matrix.shell == 'pwsh'
shell: pwsh
env:
WELA_DISPOSABLE_SMB_ACTIVATION: 'true'
run: ./tests/SmbRuntimeActivation.Windows.Tests.ps1
- name: Retain native evidence
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: smb-runtime-${{ matrix.os }}-${{ matrix.shell }}
path: ${{ runner.temp }}/wela-smb-runtime-*/
if-no-files-found: warn
@@ -29,12 +29,14 @@ jobs:
shell: powershell
run: |
./tests/TranscriptionRecovery.Tests.ps1
./tests/TranscriptionRecovery.Cli.Tests.ps1
./tests/TranscriptionRecovery.Windows.Tests.ps1 -AllowDisposablePolicyWrite
- name: Focused and native public CLI recovery in PowerShell 7
if: matrix.engine == 'pwsh'
shell: pwsh
run: |
./tests/TranscriptionRecovery.Tests.ps1
./tests/TranscriptionRecovery.Cli.Tests.ps1
./tests/TranscriptionRecovery.Windows.Tests.ps1 -AllowDisposablePolicyWrite
- name: Retain native policy and cleanup evidence
if: always()
+49
View File
@@ -0,0 +1,49 @@
name: Reviewed collector firewall ingress
on:
push:
branches: ['**']
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
wec-ingress:
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/WefFirewallAddress.Tests.ps1
./tests/WecIngress.Tests.ps1
./tests/WecIngress.Cli.Tests.ps1
- name: Native scoped firewall rule in Windows PowerShell5.1
if: matrix.engine == 'powershell'
shell: powershell
run: ./tests/WecIngress.Windows.Tests.ps1 -AllowDisposableFirewallRule
- name: Fixtures and public guards in PowerShell7
if: matrix.engine == 'pwsh'
shell: pwsh
run: |
./tests/WefFirewallAddress.Tests.ps1
./tests/WecIngress.Tests.ps1
./tests/WecIngress.Cli.Tests.ps1
- name: Native scoped firewall rule in PowerShell7
if: matrix.engine == 'pwsh'
shell: pwsh
run: ./tests/WecIngress.Windows.Tests.ps1 -AllowDisposableFirewallRule
- name: Retain owned fixture evidence
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
with:
name: wec-ingress-${{ matrix.os }}-${{ matrix.engine }}
path: ${{ runner.temp }}/wela-ingress-*/
if-no-files-found: warn
retention-days: 7
+48
View File
@@ -0,0 +1,48 @@
name: Reviewed existing WEC subscription state
on:
push:
paths: ['WELA.ps1', 'scripts/WecState*', 'tests/WecState*', '.github/workflows/wec-state.yml']
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
wec-state:
strategy:
fail-fast: false
matrix:
os: [windows-2022, windows-2025]
engine: [powershell, pwsh]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- name: Portable guards in Windows PowerShell 5.1
if: matrix.engine == 'powershell'
shell: powershell
run: |
./tests/WecState.Tests.ps1
./tests/WecState.Cli.Tests.ps1
./tests/WecSubscriptionXml.Tests.ps1
- name: Actual owned Enabled transitions in Windows PowerShell 5.1
if: matrix.engine == 'powershell'
shell: powershell
run: ./tests/WecState.Windows.Tests.ps1 -AllowDisposableSubscription
- name: Portable guards in PowerShell 7
if: matrix.engine == 'pwsh'
shell: pwsh
run: |
./tests/WecState.Tests.ps1
./tests/WecState.Cli.Tests.ps1
./tests/WecSubscriptionXml.Tests.ps1
- name: Actual owned Enabled transitions in PowerShell 7
if: matrix.engine == 'pwsh'
shell: pwsh
run: ./tests/WecState.Windows.Tests.ps1 -AllowDisposableSubscription
- name: Retain native state evidence and cleanup receipt
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
with:
name: wec-state-${{ matrix.os }}-${{ matrix.engine }}
path: ${{ runner.temp }}/wela-wec-state-*
if-no-files-found: ignore
retention-days: 7
+6 -2
View File
@@ -15,7 +15,9 @@ jobs:
- name: Safe public command fixtures in Windows PowerShell 5.1
shell: powershell
timeout-minutes: 3
run: ./tests/WefDeployment.Tests.ps1
run: |
./tests/WefFirewallAddress.Tests.ps1
./tests/WefDeployment.Tests.ps1
- name: Public CLI rejection checks in Windows PowerShell 5.1
shell: powershell
timeout-minutes: 3
@@ -23,7 +25,9 @@ jobs:
- name: Safe public command fixtures in PowerShell 7
shell: pwsh
timeout-minutes: 3
run: ./tests/WefDeployment.Tests.ps1
run: |
./tests/WefFirewallAddress.Tests.ps1
./tests/WefDeployment.Tests.ps1
- name: Public CLI rejection checks in PowerShell 7
shell: pwsh
timeout-minutes: 3