diff --git a/.github/workflows/create-rule-meta.yml b/.github/workflows/create-rule-meta.yml index 012be2fb..649217d7 100644 --- a/.github/workflows/create-rule-meta.yml +++ b/.github/workflows/create-rule-meta.yml @@ -1,7 +1,5 @@ name: create security_rules.json on: - push: - branches: [ "*" ] schedule: - cron: '0 20 * * *' workflow_dispatch: diff --git a/WELA.ps1 b/WELA.ps1 index fbecaf6c..b8be0fd8 100644 --- a/WELA.ps1 +++ b/WELA.ps1 @@ -1521,6 +1521,24 @@ function AuditFileSize { } +function UpdateRules { + $urls = @( + "https://raw.githubusercontent.com/Yamato-Security/WELA/main/config/eid_subcategory_mapping.csv", + "https://raw.githubusercontent.com/Yamato-Security/WELA/main/config/security_rules.json" + ) + $outputPaths = @( + "./config/eid_subcategory_mapping.csv", + "./config/security_rules.json" + ) + + for ($i = 0; $i -lt $urls.Count; $i++) { + Write-Host "Downloading $($urls[$i])" + Invoke-WebRequest -Uri $urls[$i] -OutFile $outputPaths[$i] -UseBasicParsing + Write-Host "Saved to $($outputPaths[$i])" + Write-Host "" + } +} + $logo = @" ┏┓┏┓┏┳━━━┳┓ ┏━━━┓ ┃┃┃┃┃┃┏━━┫┃ ┃┏━┓┃ @@ -1538,6 +1556,7 @@ Usage: ./WELA.ps1 audit-settings gui # Audit current setting and show in gui, save to csv ./WELA.ps1 audit-settings table # Audit current setting and show in table layout, save to csv ./WELA.ps1 audit-filesize # Audit current file size and show in stdout, save to csv + ./WELA.ps1 update-rules # Update rule config files from https://github.com/Yamato-Security/WELA ./WELA.ps1 help # Show this help "@ @@ -1568,6 +1587,10 @@ switch ($command) { AuditFileSize } + "update-rules" { + UpdateRules + } + "help" { Write-Host $help }