Bug
rule-validate and rule-test crash on Windows when given a directory path:
codelens.py rule-validate scripts/plugins/owasp_top10/
# → ✗ [yaml_syntax] Cannot read file: [Errno 13] Permission denied: 'D:\...\scripts\plugins\owasp_top10'
Root Cause
Directory traversal logic tries to open() the directory path itself instead of listing its contents first. On Windows, opening a directory as a file raises PermissionError (errno 13).
Impact
rule-validate and rule-test completely unusable on Windows when given a directory
- Works fine when given a specific
.yaml file directly
Expected Fix
In the directory handling path of rule-validate / rule-test, use os.listdir() or pathlib.Path.iterdir() to enumerate *.yaml files inside the directory, then validate each file individually. Do not attempt to open() the directory itself.
Bug
rule-validateandrule-testcrash on Windows when given a directory path:Root Cause
Directory traversal logic tries to
open()the directory path itself instead of listing its contents first. On Windows, opening a directory as a file raisesPermissionError(errno 13).Impact
rule-validateandrule-testcompletely unusable on Windows when given a directory.yamlfile directlyExpected Fix
In the directory handling path of
rule-validate/rule-test, useos.listdir()orpathlib.Path.iterdir()to enumerate*.yamlfiles inside the directory, then validate each file individually. Do not attempt toopen()the directory itself.