Skip to content

Commit 0eb5c3f

Browse files
committed
feat: implement environment-aware vulnerability scanning with offline mode for local development
1 parent 568b193 commit 0eb5c3f

1 file changed

Lines changed: 22 additions & 8 deletions

File tree

.unirtm.toml

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,28 @@ fi
6060
[tasks."audit:osv"]
6161
description = 'Generic vulnerability scan across lockfiles'
6262
run = '''
63-
for i in 1 2 3; do
64-
if unirtm exec -- osv-scanner scan . --config .osv-scanner.toml; then
65-
exit 0
66-
fi
67-
echo "⚠️ osv-scanner failed (likely network timeout). Retrying ($i/3)..."
68-
sleep 2
69-
done
70-
exit 1
63+
# Strategy 1: Environment-based routing (Local: Offline, CI: Online)
64+
if [ "$CI" = "true" ] || [ "$GITHUB_ACTIONS" = "true" ]; then
65+
# CI Environment: Call API directly (fast, avoids large DB downloads)
66+
for i in 1 2 3; do
67+
if unirtm exec -- osv-scanner scan . --config .osv-scanner.toml; then
68+
exit 0
69+
fi
70+
echo "⚠️ osv-scanner (Online) failed. Retrying ($i/3)..."
71+
sleep 2
72+
done
73+
exit 1
74+
else
75+
# Local Environment: Use offline DB to prevent network timeouts
76+
for i in 1 2 3; do
77+
if unirtm exec -- osv-scanner scan . --config .osv-scanner.toml --offline-vulnerabilities --download-offline-databases; then
78+
exit 0
79+
fi
80+
echo "⚠️ osv-scanner (Offline) failed. Retrying ($i/3)..."
81+
sleep 2
82+
done
83+
exit 1
84+
fi
7185
'''
7286

7387
[tasks."audit:npm"]

0 commit comments

Comments
 (0)