# OWASP Dependency-Check per Maven
**Warum?**
Finde bekannte CVEs in deinen JARs frühzeitig im Build. Erstlauf lädt die NVD-Daten (kann dauern), danach inkrementell.
---
## Aktuellste Version & Doku
- **Neueste Plugin-Version:** siehe MvnRepository (Stand heute: **12.1.3**).
- **Offizielle Plugin-Doku (Ziele/Konfiguration):** GitHub Pages.
- **Projektseite (OWASP):** Überblick/Downloads.
---
## `pom.xml` ergänzen (minimal)
```xml
```
---
## NVD API-Key besorgen
- Key kostenlos beantragen: NVD „Request an API Key“.
### Variante A: `settings.xml` (empfohlen)
`~/.m2/settings.xml`:
```xml
```
`pom.xml` wie oben (liest `${nvdApiKey}`).
### Variante B: Umgebungsvariable
- **Linux/macOS:** `export NVD_API_KEY=DEIN_API_KEY`
- **Windows (PowerShell):** `$env:NVD_API_KEY="DEIN_API_KEY"`
`pom.xml`:
```xml
```
---
## Check starten
```bash
mvn clean verify -DskipTests
```
- Ziel **`verify`** triggert das Plugin-Goal `check`.
- `-DskipTests` optional, beschleunigt Builds.
---
## Wo liegt der Report? Wie lesen?
- Standardpfad: `target/dependency-check-report.html` (+ `.xml`/`.json` wenn konfiguriert).
Der Ausgabepfad ist per `outputDirectory` konfigurierbar; Default ist **`target`**.
**Interpretation (HTML-Report):**
- **Severity / CVSS** je Fund, verlinkte **CVE-IDs**.
- **Dependency**, zugeordnete **CPEs**, Evidenzen.
**Was tun bei Treffern?**
1. **Upgrade** auf gefixte Version.
2. **Transitive Abhängigkeit**: Version übersteuern/excluden.
3. **False Positive**: Suppression file nutzen (`suppressionFile`/`suppressionFiles` in der Plugin-Konfiguration).
---
## Optional: Build bei hohen Risiken bremsen
```xml
```
---
## Kurzfazit
- Einmal Plugin einbauen, NVD-Key hinterlegen → reproduzierbare, schnelle CVE-Checks im `verify`.
- Report in `target/…` prüfen, Dependencies aktualisieren, Suppressions sparsam verwenden.
## Nachtrag: Sonatype OSS Index
Account anlegen auf: https://ossindex.sonatype.org/
In den User Settings kann man dann den API-Key auslesen.
`~/.m2/settings.xml`:
```xml
```
`pom.xml`:
```xml