ci: add Trivy security scanning (SAST/SCA) to pipeline #56

Closed
Toutsu wants to merge 0 commits from feature/trivy-security-scan into main
Owner

Summary

Добавлено сканирование безопасности Trivy в CI/CD пайплайн Gitea Actions.

Changes

  • PR Checks — новый job security-scan:
    • Установка Trivy через официальный install-скрипт
    • trivy fs со сканерами vuln,secret,misconfig
    • Сканируется весь репозиторий (.), без исключений
    • HIGH/CRITICAL уязвимости блокируют PR (exit-code 1)
  • Deploy — новый job scan-images:
    • Сканирование собранных Docker-образов bot и web перед деплоем
    • Блокирует деплой при наличии HIGH/CRITICAL уязвимостей в образах
  • Версия — 1.13.0 → 1.14.0 (синхронизировано: Directory.Build.props, compose.yaml, deploy.yml, NavMenu.razor)

Что покрывает Trivy

Тип Покрытие
SCA NuGet-зависимости через .csproj + OS-пакеты в образах
Secret detection Все файлы репозитория на утечки ключей/токенов
Misconfiguration Dockerfile, compose.yaml, CI-конфиги
Image scan CVE в слоях Docker-образов

Ограничения

Trivy НЕ выполняет deep static analysis C# исходного кода (поиск SQL injection, XSS, etc. в .cs файлах). Для полноценного SAST на уровне исходников рекомендуется добавить SecurityCodeScan (Roslyn-анализатор) или Semgrep отдельным PR.

Test plan

  • CI passes (test-and-build + security-scan)
  • Image scan job отрабатывает корректно при следующем deploy
  • Ручная проверка: trivy fs . локально показывает ожидаемые сканеры

Workflow

  • CI passes
  • Code review approved
  • Deployed
  • Release published
## Summary Добавлено сканирование безопасности Trivy в CI/CD пайплайн Gitea Actions. ## Changes - **PR Checks** — новый job `security-scan`: - Установка Trivy через официальный install-скрипт - `trivy fs` со сканерами `vuln,secret,misconfig` - Сканируется весь репозиторий (`.`), без исключений - HIGH/CRITICAL уязвимости блокируют PR (`exit-code 1`) - **Deploy** — новый job `scan-images`: - Сканирование собранных Docker-образов `bot` и `web` перед деплоем - Блокирует деплой при наличии HIGH/CRITICAL уязвимостей в образах - **Версия** — 1.13.0 → 1.14.0 (синхронизировано: `Directory.Build.props`, `compose.yaml`, `deploy.yml`, `NavMenu.razor`) ## Что покрывает Trivy | Тип | Покрытие | |-----|----------| | SCA | NuGet-зависимости через `.csproj` + OS-пакеты в образах | | Secret detection | Все файлы репозитория на утечки ключей/токенов | | Misconfiguration | `Dockerfile`, `compose.yaml`, CI-конфиги | | Image scan | CVE в слоях Docker-образов | ## Ограничения Trivy НЕ выполняет deep static analysis C# исходного кода (поиск SQL injection, XSS, etc. в `.cs` файлах). Для полноценного SAST на уровне исходников рекомендуется добавить `SecurityCodeScan` (Roslyn-анализатор) или Semgrep отдельным PR. ## Test plan - [ ] CI passes (test-and-build + security-scan) - [ ] Image scan job отрабатывает корректно при следующем deploy - [ ] Ручная проверка: `trivy fs .` локально показывает ожидаемые сканеры ## Workflow - [ ] CI passes - [ ] Code review approved - [ ] Deployed - [ ] Release published
Toutsu added 2 commits 2026-05-12 12:43:04 +03:00
ci: add Trivy security scanning (SAST/SCA) to pipeline
PR Checks / security-scan (pull_request) Failing after 1m15s
PR Checks / test-and-build (pull_request) Successful in 3m24s
043ed9ce45
- PR checks: filesystem scan with Trivy (vuln, secret, misconfig)
- Deploy pipeline: image scan for bot and web containers before deploy
- Scans entire repository, not filtered file subsets
- Bump version -> 1.14.0

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Toutsu added 1 commit 2026-05-12 12:46:25 +03:00
ci: add deep SAST via SecurityCodeScan Roslyn analyzer
PR Checks / security-scan (pull_request) Failing after 1m17s
PR Checks / test-and-build (pull_request) Successful in 3m27s
06d40fdbc8
- SecurityCodeScan.VS2019 5.6.7 injected into Directory.Build.props
  scans all C# source during every dotnet build
- HIGH/CRITICAL findings fail the build because TreatWarningsAsErrors=true
- No extra CI step needed: analyzer runs inside every build job automatically

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Toutsu added 1 commit 2026-05-12 13:00:06 +03:00
Merge remote-tracking branch 'origin/main' into feature/trivy-security-scan
PR Checks / test-and-build (pull_request) Successful in 5m50s
11f6b1bcc9
Toutsu closed this pull request 2026-05-12 16:20:42 +03:00
Some checks are pending
PR Checks / test-and-build (pull_request) Successful in 5m50s

Pull request closed

Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Toutsu/GmRelayBot#56