name: Security on: push: branches: ["**"] pull_request: branches: ["**"] schedule: - cron: '0 6 * * 1' jobs: semgrep: name: PHP Security (semgrep) runs-on: ubuntu-latest steps: - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - name: Install semgrep run: | apt-get update -qq apt-get install -y -qq python3 python3-pip # Debian's Python is externally managed (PEP 668); the runner is # ephemeral so installing system-wide is fine here. pip3 install --break-system-packages semgrep - name: Run semgrep run: | semgrep --config=p/php --config=p/owasp-top-ten --error \ --exclude-rule=php.lang.security.injection.echoed-request.echoed-request \ --exclude-rule=php.lang.security.injection.tainted-filename.tainted-filename \ --exclude-rule=php.lang.security.injection.tainted-callable.tainted-callable \ .