Skip to content

Commit 9a36fb9

Browse files
Update vbscript-syntax-check.yml
Signed-off-by: LUIZ HAMILTON ROBERTO DA SILVA <[email protected]>
1 parent 1e65ae6 commit 9a36fb9

1 file changed

Lines changed: 35 additions & 25 deletions

File tree

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,77 @@
1-
name: VBScript Syntax Check with SARIF
1+
name: VBScript Syntax Check
22

33
on:
44
push:
55
branches: [main, develop]
66
paths:
77
- '**/*.vbs'
88
- '**/*.hta'
9+
910
pull_request:
1011
branches: [main, develop]
1112
paths:
1213
- '**/*.vbs'
1314
- '**/*.hta'
15+
1416
workflow_dispatch:
1517

1618
jobs:
1719
vbscript-lint:
1820
name: VBScript Syntax Validation
1921
runs-on: ubuntu-latest
2022

21-
outputs:
22-
sarif-report-path: ${{ steps.sarif-output.outputs.sarif-path }}
23-
2423
steps:
2524
- name: 📦 Checkout Repository (short path to avoid path errors)
2625
uses: actions/checkout@v4
2726
with:
2827
path: repo
2928

30-
- name: 🔍 Locate VBS and HTA Files
31-
id: locate-files
29+
- name: 🔍 Locate .vbs and .hta Files
3230
working-directory: ./repo
3331
run: |
3432
find . -type f \( -iname "*.vbs" -o -iname "*.hta" \) > vbscript-files.txt
3533
cat vbscript-files.txt || echo "No .vbs or .hta files found."
3634
37-
- name: ✅ Heuristic Content Check
38-
id: heuristic-check
35+
- name: ✅ Heuristic Check and SARIF Generation
3936
working-directory: ./repo
4037
run: |
4138
mkdir -p sarif-output
42-
echo '{"version":"2.1.0","runs":[{"tool":{"driver":{"name":"VBScript Syntax Check","informationUri":"https://docs.microsoft.com/en-us/previous-versions//d1wf56tt(v=vs.85)","rules":[]}},"results":[]}]}' > sarif-output/vbscript-syntax-check.sarif
39+
echo '{"version":"2.1.0","runs":[{"tool":{"driver":{"name":"VBScript Syntax Check","informationUri":"https://learn.microsoft.com/en-us/previous-versions//d1wf56tt(v=vs.85)","rules":[]}},"results":[' > sarif-output/vbscript-results.sarif
4340
41+
first=true
4442
while IFS= read -r file; do
45-
echo "🔍 Checking: $file"
46-
if file "$file" | grep -qi "text"; then
47-
head -n 5 "$file"
48-
else
49-
echo "::warning file=$file::Not a valid text-based VBS or HTA file."
50-
jq \
51-
--arg uri "$file" \
52-
'.runs[0].results += [{"ruleId": "vbscript-text-check", "message": {"text": "Not a valid text-based file"}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": $uri}}]}]' \
53-
sarif-output/vbscript-syntax-check.sarif > temp.sarif && mv temp.sarif sarif-output/vbscript-syntax-check.sarif
43+
if [ -f "$file" ]; then
44+
echo "🔍 Checking: $file"
45+
if file "$file" | grep -qi "text"; then
46+
echo "✔️ Valid text file: $file"
47+
else
48+
echo "::warning file=$file::Not a valid text-based VBScript or HTA file."
49+
if [ "$first" = false ]; then echo "," >> sarif-output/vbscript-results.sarif; fi
50+
echo "{
51+
\"ruleId\": \"non-text-vbs\",
52+
\"level\": \"warning\",
53+
\"message\": {\"text\": \"File is not a valid text-based VBScript or HTA file.\"},
54+
\"locations\": [{
55+
\"physicalLocation\": {
56+
\"artifactLocation\": {\"uri\": \"${file#./}\"},
57+
\"region\": {\"startLine\": 1}
58+
}
59+
}]
60+
}" >> sarif-output/vbscript-results.sarif
61+
first=false
62+
fi
5463
fi
5564
done < vbscript-files.txt
5665
57-
- name: 📤 Upload SARIF Output
58-
id: sarif-output
66+
echo "]}]}" >> sarif-output/vbscript-results.sarif
67+
68+
- name: 📤 Upload SARIF Artifact
5969
uses: actions/upload-artifact@v4
6070
with:
61-
name: vbscript-syntax-check-sarif
62-
path: repo/sarif-output/vbscript-syntax-check.sarif
71+
name: vbscript-sarif-results
72+
path: repo/sarif-output/vbscript-results.sarif
6373

64-
- name: 📊 Upload SARIF to GitHub Code Scanning (optional)
65-
uses: github/codeql-action/upload-sarif@v3
74+
- name: 📡 Publish SARIF to GitHub Code Scanning Alerts
75+
uses: github/codeql-action/upload-sarif@v2
6676
with:
67-
sarif_file: repo/sarif-output/vbscript-syntax-check.sarif
77+
sarif_file: repo/sarif-output/vbscript-results.sarif

0 commit comments

Comments
 (0)