Skip to content

Commit 75de878

Browse files
authored
Adds CI Security Checks (#732)
1 parent fd27fb8 commit 75de878

2 files changed

Lines changed: 80 additions & 2 deletions

File tree

.github/workflows/security.yaml

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: Security Checks
2+
on:
3+
pull_request:
4+
branches:
5+
- master
6+
7+
permissions:
8+
contents: read
9+
security-events: write
10+
11+
jobs:
12+
bandit:
13+
runs-on: ubuntu-latest
14+
name: Bandit SAST
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
- name: Set up Python
19+
uses: actions/setup-python@v5
20+
with:
21+
python-version: '3.12'
22+
- name: Install Bandit
23+
run: pip install bandit[toml]
24+
- name: Run Bandit
25+
run: bandit -r dj_rest_auth/ --exclude dj_rest_auth/tests -s B105 -f json -o bandit-results.json
26+
- name: Display results
27+
if: always()
28+
run: bandit -r dj_rest_auth/ --exclude dj_rest_auth/tests -s B105 -f screen
29+
- name: Upload results
30+
if: always()
31+
uses: actions/upload-artifact@v4
32+
with:
33+
name: bandit-results
34+
path: bandit-results.json
35+
36+
codeql:
37+
runs-on: ubuntu-latest
38+
name: CodeQL Analysis
39+
steps:
40+
- name: Checkout
41+
uses: actions/checkout@v4
42+
- name: Initialize CodeQL
43+
uses: github/codeql-action/init@v4
44+
with:
45+
languages: python
46+
queries: security-and-quality
47+
- name: Perform CodeQL Analysis
48+
uses: github/codeql-action/analyze@v4
49+
with:
50+
category: "/language:python"
51+
52+
pip-audit:
53+
runs-on: ubuntu-latest
54+
name: pip-audit Dependency Scan
55+
steps:
56+
- name: Checkout
57+
uses: actions/checkout@v4
58+
- name: Set up Python
59+
uses: actions/setup-python@v5
60+
with:
61+
python-version: '3.12'
62+
- name: Install dependencies
63+
run: |
64+
pip install pip-audit
65+
pip install -r dj_rest_auth/tests/requirements.txt
66+
- name: Run pip-audit
67+
run: pip-audit --strict --desc
68+
69+
semgrep:
70+
runs-on: ubuntu-latest
71+
name: Semgrep SAST
72+
container:
73+
image: semgrep/semgrep
74+
steps:
75+
- name: Checkout
76+
uses: actions/checkout@v4
77+
- name: Run Semgrep
78+
run: semgrep scan --config auto --config p/django --error dj_rest_auth/
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
coveralls==1.11.1
2-
django-allauth[socialaccount]~=65.4.1
3-
djangorestframework-simplejwt~=5.3.1
2+
django-allauth[socialaccount]~=65.13.0
3+
djangorestframework-simplejwt~=5.5.1
44
flake8==7.1.1
55
responses==0.12.1
66
unittest-xml-reporting==3.2.0

0 commit comments

Comments
 (0)