slogan3

Maak een GitHub Actions Workflow voor Geautomatiseerde Handhaving van Codebeveiligingsbeleid

description

Maakt automatische handhaving van beveiligingsbeleid mogelijk binnen je CI/CD-pijplijn, waardoor risico's op kwetsbaarheden en lekken van geheimen worden verminderd. Bespaart tijd door meerdere beveiligingstools en compliancecontroles in één workflow te integreren. Verbetert de codekwaliteit en projectbeveiliging bovenop standaard tests.

prompt

Help me een GitHub Actions workflow te ontwerpen die automatisch het codebeveiligingsbeleid afdwingt. Projecttype: <voer je projecttype in, bijvoorbeeld Node.js, Python>. Beveiligingstools om te integreren: <noem beveiliging ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Hier is een voorbeeld van een uitgebreide GitHub Actions workflow die automatisch codebeveiligingsbeleid afdwingt voor een Node.js project, inclusief integratie van CodeQL en Trivy, en gericht op naleving van de OWASP Top 10: name: CI on: push: branches: - main pull_request: branches: - main jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Dependencies installeren run: npm install - name: Tests uitvoeren run: npm test codeql: name: CodeQL Analyse runs-on: ubuntu-latest permissions: actions: read contents: read security-events: write steps: - uses: actions/checkout@v2 - name: Initializeer CodeQL uses: github/codeql-action/init@v2 with: languages: javascript # Optioneel: voeg extra opties toe indien nodig - name: CodeQL analyse uitvoeren uses: github/codeql-action/analyze@v2 security-scan: name: Container Security Scan met Trivy runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Installeer Trivy run: | curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin - name: Build Docker image run: | docker build -t mijn-app . - name: Scan Docker image met Trivy run: | trivy image --exit-code 1 --severity HIGH,CRITICAL mijn-app security-policy: name: Beveiligingsbeleid en OWASP Top 10 naleving runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Installeer beveiligingshulpmiddelen run: | npm install eslint npm install security-audit - name: Voer beveiligingscontroles uit run: | # Controleer op bekende kwetsbaarheden via npm audit npm audit --json > audit.json # Analyseer audit.json op OWASP Top 10 kwetsbaarheden (vereist aangepaste scripts of plugins) # Bijvoorbeeld: gebruik een script of tool die specifiek OWASP Top 10 naleving checkt # Hier een voorbeeld met ESLint voor codekwaliteitsregels npx eslint . --max-warnings=0 - name: OWASP Top 10 naleving check (voorbeeld) run: | # Plaats hier scripts of tools die specifiek OWASP Top 10 controleren echo "Controle op OWASP Top 10 moet hier worden geïmplementeerd" Opmerkingen: - De 'security-scan' job bouwt een Docker-image en scant deze met Trivy op hoge en kritieke kwetsbaarheden. - De 'codeql' job voert een CodeQL-analyse uit voor JavaScript. - De 'security-policy' job bevat basiscontroles en kan worden uitgebreid met specifieke scripts of tools die gericht zijn op OWASP Top 10 naleving. - Pas de scripts aan om precies te voldoen aan jouw beleid en vereisten. Wil je dat ik de workflow verder verfijn of toevoegingen doe?
provider: deepseek
model: deepseek-chat
Hier is een verbeterde GitHub Actions workflow die CodeQL en Trivy integreert voor automatische beveiligingscontroles met focus op OWASP Top 10 naleving: ```yaml name: CI met Beveiligingscontroles on: [push, pull_request] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Dependencies installeren run: npm install - name: Tests uitvoeren run: npm test security-scan: runs-on: ubuntu-latest needs: build permissions: security-events: write actions: read contents: read steps: - uses: actions/checkout@v4 # CodeQL analyse voor statische beveiligingsscan - name: CodeQL analyse initialiseren uses: github/codeql-action/init@v2 with: languages: javascript queries: security-extended,security-and-quality - name: Dependencies installeren voor CodeQL run: npm install - name: CodeQL analyse uitvoeren uses: github/codeql-action/analyze@v2 with: category: "/language:javascript" # Trivy vulnerability scan - name: Trivy repository scan uses: aquasecurity/trivy-action@master with: scan-type: 'fs' scan-ref: '.' format: 'sarif' output: 'trivy-results.sarif' - name: Trivy resultaten uploaden uses: github/codeql-action/upload-sarif@v2 with: sarif_file: 'trivy-results.sarif' # Dependency vulnerability check - name: Trivy dependency scan uses: aquasecurity/trivy-action@master with: scan-type: 'repo' scan-ref: '.' format: 'table' exit-code: 1 # OWASP Dependency Check - name: OWASP Dependency Check uses: dependency-check/Dependency-Check_Action@main with: project: 'nodejs-project' path: '.' format: 'HTML' format: 'SARIF' - name: OWASP resultaten uploaden uses: github/codeql-action/upload-sarif@v2 with: sarif_file: 'dependency-check-report.sarif' policy-enforcement: runs-on: ubuntu-latest needs: security-scan if: always() steps: - name: Beveiligingsbeleid afdwingen run: | echo "Beveiligingsscan voltooid. Controleer de resultaten in de Security tab." echo "Belangrijke OWASP Top 10 controles:" echo "- Injectie preventie" echo "- Authenticatie beveiliging" echo "- Sensitieve data bescherming" echo "- XML externe entiteiten (XXE)" echo "- Toegangscontrole" echo "- Beveiligingsmisconfiguratie" echo "- XSS preventie" echo "- Onveilige deserialisatie" echo "- Componenten met bekende kwetsbaarheden" echo "- Onvoldoende logging en monitoring" ``` **Belangrijke kenmerken van deze workflow:** 1. **Gelaagde beveiligingsaanpak**: Build → Security Scan → Policy Enforcement 2. **CodeQL**: Statische analyse voor codekwaliteit en beveiligingsproblemen 3. **Trivy**: Kwetsbaarheidsscans voor dependencies en repository 4. **OWASP Dependency Check**: Specifiek gericht op dependency beveiliging 5. **SARIF integratie**: Resultaten worden geüpload naar GitHub Security tab 6. **Exit codes**: Build faalt bij kritieke beveiligingsproblemen **Aanvullende aanbevelingen**: - Voeg `package-lock.json` toe aan versiebeheer voor betere dependency controle - Overweeg Snyk of npm audit voor aanvullende dependency scanning - Stel Dependabot alerts in voor automatische security updates - Configureer code scanning alerts in GitHub repository settings Deze workflow biedt een complete beveiligingschain die automatisch OWASP Top 10 risico's identificeert en helpt voorkomen.