Skip to content

Conversation

@pietrewi
Copy link

Zad1

Dodałem plik trivy.txt zawierający wygenerowany raport

Zad2

Dodałem plik semgrep.txt z wygenerowanym raportem

Zad3

name: Security Scan

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
security-tests:
runs-on: ubuntu-latest

steps:
  - name: Check out code
    uses: actions/checkout@v2

  - name: Build Docker image
    run: |
      docker build -t myapp:latest .
  - name: Run Trivy scan
    uses: aquasecurity/trivy-action@0.33.1
    with:
      image-ref: 'myapp:latest'
      vuln-type: 'os,library'
      format: 'table'

  - name: Install Semgrep
    run: |
      sudo pip install semgrep --ignore-installed
  - name: Run Semgrep SAST
    run: |
      semgrep --config p/security-audit --error --json .

Zmodyfikowałem wersję trivy, gdyż poprzednia nie była dostępna. Dodatkowo przy instalowaniu semgrepa dałem --ignore-installed, aby nie wywołało errora przy już zainstalowanych bibliotekach.

Link do zadania CI/CD: https://github.com/pietrewi/task4/actions/runs/20284214238/job/58253913895

Zad4

image

Testy bezpieczeństwa aplikacji obejmowały zarówno analizę statyczną jak i dynamiczną. Trivy skupia się na sprawdzaniu bibliotek (np. apt, bash czy bsdutils) i zależności pod kątem znanych podatności, Semgrep analizuje statycznie kod źródłowy w poszukiwaniu błędów i potencjalnych luk (np.
javascript.browser.security.insecure-document-method.insecure-document-method
User controlled data in methods like innerHTML, outerHTML or document.write is an anti-pattern
that can lead to XSS vulnerabilities)
, a skolei OWASP ZAP testuje działającą aplikację, wykrywając problemy związane z konfiguracją serwera i komunikacją sieciową, takie jak np. 'Cookie without SameSite Attribute' lub 'Absence of Anti-CSRF Tokens'. Różnice w wynikach wynikają z faktu, że każde narzędzie bada inny obszar – zależności, kod czy zachowanie uruchomionej aplikacji.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants