Ökosystem · Swift · CocoaPods, SwiftPM
Die Schwachstellen Ihrer iOS-Abhängigkeiten, Swift Package Manager und CocoaPods.
LibWatch liest Package.resolved und Podfile.lock, prüft jede Abhängigkeit und überwacht die Swift-Version und die iOS-Mindestversion.
Was LibWatch im Repository liest
Package.swiftPackage.resolvedPodfilePodfile.lock
Sprachversion: Swift und iOS-Mindestversion
Sonst nichts: kein Klonen, keine Codeausführung.
Was LibWatch prüft
Die Abhängigkeiten und das iOS-Ziel
Swift- und CocoaPods-Pakete
Bekannte Schwachstellen
Jedes Swift-Paket wird mit OSV abgeglichen; ein Pod über das Git-Repository seiner Podspec, mit einem zu bestätigenden Ergebnis.
Swift-Version
Supportende
Die deklarierte Version wird überwacht: Sie wissen, wann sie keine Korrekturen mehr erhält.
Zustand
Lizenzrichtlinie
Lizenzen, die der Richtlinie Ihres Projekts widersprechen, werden gemeldet.
Eine Warnung, ganz konkret
Eine Schwachstelle in einem Swift-Paket, mit der Version, die sie behebt
Die Schwachstellen, die Ihre Versionen betreffen, mit der korrigierten Version. Mehr nicht.
Tatsächlicher Schweregrad
CVSS-Schweregrad und Eintrag im KEV-Katalog der CISA
Was zu tun ist
Die korrigierte Version und das betroffene Projekt
Wohin
E-Mail, Slack, Zulip oder Webhook, pro Projekt einstellbar
customer-app · iOS
Beispiel · Analyse vom 22.10.
-
Veraltetes Ziel
iOS-Mindestversion
iOS 14
-
Schweregrad niedrig
Alamofire
5.6.1
-
Aktuell
Kingfisher
8.1.0
Jede Nacht um 2 Uhr erneut geprüft
Überwachte Versionen
Swift-Version und iOS-Mindestziel, gelesen aus dem Xcode-Projekt und der Package.swift.
- Package.swift · swift-tools-version
- Xcode-Projekt · IPHONEOS_DEPLOYMENT_TARGET
- Podfile · platform :ios
Loslegen
Der erste Bericht in wenigen Minuten
Ohne Änderung an der Pipeline.
Verbinden Sie GitHub oder GitLab
Auch selbst gehostete GitLab-Instanzen.
Wählen Sie Ihre iOS-Repositorys
LibWatch findet die oben genannten Dateien selbst, auch in einem Monorepo.
Lesen Sie den Bericht, richten Sie die Warnungen ein
Aktiv ausgenutzte Schwachstellen zuerst, korrigierte Versionen, Supportende der Sprache.
Häufige Fragen
LibWatch und iOS
Muss im Projekt etwas installiert werden?
Nein. LibWatch liest die Abhängigkeitsdateien über die API von GitHub oder GitLab, ohne etwas an Ihrer Pipeline zu ändern.
Werden private Registrys unterstützt?
Ja. Ein Paket aus einer privaten Registry wird als solches erkannt: Sein Name wird an keinen Drittdienst gesendet, und es bleibt im Inventar des Projekts.
Erkennt LibWatch die auf dem Server installierte Version?
Nein. LibWatch liest die im Repository deklarierte Version (Versionsdatei, Lockfile oder Manifest). Es hat keinen Zugriff auf Ihre Server.