mirror of
https://github.com/blackboxprogramming/BlackRoad-Operating-System.git
synced 2026-03-17 03:57:13 -05:00
66 lines
1.6 KiB
YAML
66 lines
1.6 KiB
YAML
name: "🔒 Security Scan"
|
|
|
|
on:
|
|
push:
|
|
branches: [main, master, dev]
|
|
pull_request:
|
|
branches: [main, master]
|
|
schedule:
|
|
- cron: '0 0 * * 0'
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
security-events: write
|
|
actions: read
|
|
|
|
jobs:
|
|
codeql:
|
|
name: CodeQL Analysis
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Initialize CodeQL
|
|
uses: github/codeql-action/init@v3
|
|
with:
|
|
languages: python
|
|
|
|
- name: Autobuild
|
|
uses: github/codeql-action/autobuild@v3
|
|
|
|
- name: Perform CodeQL Analysis
|
|
uses: github/codeql-action/analyze@v3
|
|
|
|
security-checks:
|
|
name: Security Checks
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Check for secrets
|
|
run: |
|
|
echo "Scanning for potential secrets..."
|
|
! grep -rn 'AKIA\|sk-\|ghp_\|gho_\|password\s*=' --include='*.py' --include='*.js' --include='*.env' --include='*.yml' . || echo "Warning: Potential secrets found"
|
|
echo "Security scan complete"
|
|
|
|
- name: Check dependencies
|
|
run: |
|
|
if [ -f "requirements.txt" ]; then
|
|
pip install safety 2>/dev/null || true
|
|
safety check -r requirements.txt 2>/dev/null || true
|
|
fi
|
|
if [ -f "package.json" ]; then
|
|
npm install 2>/dev/null || true
|
|
npm audit --audit-level=high 2>/dev/null || true
|
|
fi
|
|
echo "Dependency check complete"
|
|
|
|
- name: Dependency Review
|
|
uses: actions/dependency-review-action@v4
|
|
if: github.event_name == 'pull_request'
|