Skip to main content

Snyk bringt einen entwicklerorientierten AppSec-Ansatz für C/C++

Artikel von
blog feature snyklaunch

4. April 2023

0 Min. Lesezeit

Snyk ist für seine entwicklerorientierten Lösungen für Anwendungssicherheit in vielen Ökosystemen wie Java, JavaScript, Python und weiteren bekannt. Mit Snyk können Entwickler nicht nur Probleme finden, sondern auch schnell beheben. Das revolutioniert die Sicherheit und ermöglicht ihre Integration bereits in den frühesten Phasen des SDLC.

2022 haben wir die erste Version der Unterstützung für Open-Source-Pakete in C/C++ veröffentlicht. Heute freuen wir uns, die Open Beta für C/C++ in Snyk Code und Lizenzprüfungen für Snyk Open Source anzukündigen.

Entwicklungsteams stehen vor großen Herausforderungen

Das C/C++-Ökosystem blickt auf eine über 40-jährige Geschichte zurück. Mit bekannten Projekten wie Linux oder Apache OpenOffice war C++ eine treibende Kraft der Open-Source-Revolution. Während Java, C# oder JavaScript das „Dependency Hell“ – also die Verwaltung der stetig wachsenden Zahl von Abhängigkeiten zu Open-Source-Bibliotheken – angegangen sind, fehlt C++ ein allgemeiner Lösungsansatz. Das Abhängigkeitsmanagement ist daher zu einem der größten Probleme für moderne C++-Entwickler geworden.

Im vergangenen Jahr haben wir den ersten Schritt zur Unterstützung der C/C++-Community gemacht: Wir ermöglichten es, Open-Source-Bibliotheken in C/C++-Anwendungen auch ohne Paketmanager zu finden. In dieser Zeit haben wir viel von unseren Kunden gelernt und festgestellt, dass diese starke, dynamische Entwickler-Community mehr als nur eine Paketmanager-Integration benötigt, um der Komplexität und Vielfalt des Ökosystems gerecht zu werden.

C/C++-Anwendungen stehen vor denselben Herausforderungen beim sicheren Programmieren und denselben anfälligen Komponenten wie Anwendungen in allen anderen modernen Programmiersprachen. Dieses Ökosystem hat jedoch jahrelange technische Altlasten, eigene Schwachstellentypen und stammt aus einer Zeit vor Paketmanagern. Deshalb müssen Entwickler Open-Source-Bibliotheken direkt in ihren Code einbetten.

Beim Scannen nach statisch erkennbaren Sicherheitsproblemen mussten diese Projekte üblicherweise kompiliert werden. Das verlangsamte oder unterbrach die Entwicklungsabläufe. C/C++ wird oft mit vielen anderen Sprachen kombiniert, und die Abstraktionen dieser Anwendungen verschleiern den tatsächlichen Datenfluss.

All diese Komplexität führt zu kritischen Lücken, die Entwickler und Sicherheitsteams stark frustrieren, darunter:

Geringe Entwicklerproduktivität durch andere Tools, die:

  • langsam sind und Entwicklungsabläufe unterbrechen

  • schwer verständliche Meldungen ausgeben

  • Schwachstellenwarnungen liefern, aus denen sich keine konkreten Maßnahmen ableiten lassen

  • keine angemessene Datenflussanalyse bieten

  • eine steile Lernkurve haben

Geringer ROI, hohes Risiko: Bestehende C/C++-Sicherheitstools sind unzureichend, weil sie:

  • teuer sind

  • eine Kompilierung des Codes erfordern

  • Nischenlösungen und hoch spezialisiert sind

  • schwierig einzurichten und zu warten sind

  • sich nur schwer in Build-Pipelines integrieren lassen

  • Anwendungen letztlich anfällig zurücklassen

Fehlende Transparenz bei Open-Source-Abhängigkeiten, den damit verbundenen Schwachstellen und Lizenzbedingungen, weil:

  • es keine standardisierten Paketmanager gibt

  • die meisten Entwickler Kopien von Open-Source-Bibliotheken einbetten

Wie unterstützt Snyk dabei?

Snyk ist branchenführend dabei, Entwicklern schnelle, umsetzbare Lösungen bereitzustellen – und jetzt profitieren auch C/C++-Entwicklungsteams von dieser Erfahrung. Aufbauend auf unserer Arbeit aus dem vergangenen Jahr findet Snyk jetzt tief im C/C++-Code verborgene AppSec-Probleme und prüft Lizenzen anhand unternehmensweiter Richtlinien, um die Compliance sicherzustellen.

Außerdem erkennt Snyk noch mehr Open-Source-Pakete, darunter die meisten Pakete aus beliebten Paketmanagern wie Conan – ganz ohne Manifestdatei.

Und natürlich lässt sich Snyk problemlos in Ihre vorhandenen Tools wie IDEs integrieren, damit Entwickler Probleme schnell finden und beheben können, bevor sie Codeänderungen committen.

C/C++-Unterstützung für Snyk Code

Das heute eingeführte Regelwerk für statische Analysen kommt in erster Linie Entwicklern zugute, die Desktop-, Server- und Webanwendungen erstellen. Mit zusätzlichen Regeln werden im Laufe der Zeit auch weitere Anwendungstypen wie Embedded- und Automotive-Anwendungen unterstützt. Snyk Code lässt sich dank IDE-Plugins problemlos in Ihre bestehende Tool-Landschaft integrieren und scannt den Quellcode direkt – ein Compilerlauf ist nicht erforderlich.

Heute starten wir die Open Beta für C/C++. Während der gesamten Beta-Phase werden wir unsere Abdeckung und Funktionen kontinuierlich verbessern. Unser Prozess zur Sicherheitsanalyse von Code beginnt mit dem Scannen Hunderttausender Open-Source-Repositories. Dabei kombinieren wir KI- und ML-Analysen mit der Arbeit menschlicher Sicherheitsexperten, um unsere Snyk Code Knowledge Base aufzubauen. Beim C/C++-Ökosystem gehen wir genauso vor. Die Ergebnisse werden kontinuierlich besser, während weitere Projekte gescannt werden.

Die C/C++-Unterstützung befindet sich in der Beta-Phase und muss im Bereich „Snyk Settings / Preview“ der Snyk-Weboberfläche aktiviert werden. Während dieser Beta-Phase freuen wir uns auf Ihr Feedback. Bitte kontaktieren Sie uns über ein Support-Ticket in der App und teilen Sie uns mit, wie die Regeln bei Ihnen funktionieren. Wir passen sie bei Bedarf gerne an. In den kommenden Monaten wird Snyk seinen branchenweit einzigartigen, menschengeführten Machine-Learning-Prozess zusätzlich zur symbolischen KI einsetzen, um die C/C++ Knowledge Base zu erweitern und zu verfeinern sowie die Abdeckung bekannter C/C++-Probleme auszubauen.

IDE mit angezeigtem C-Code, in dem ein strcpy-Pufferüberlauf hervorgehoben ist, und Snyk-Bereich mit einer Liste von Schwachstellen und Beispielkorrekturen
Snyk-IDE-Bereich mit einem kritischen Buffer-Overflow im C++-Code, Datenfluss und externen Beispielen für Fehlerbehebungen

C/C++-Lizenzen für Snyk Open Source

Snyk Open Source erkennt jetzt nicht nur Open-Source-Pakete und gibt Hinweise zur Behebung, sondern bietet auch Einblick in Open-Source-Lizenzen für C/C++ und prüft sie anhand der unternehmensweiten Richtlinien, die von Sicherheits- und Rechtsteams festgelegt wurden. So wird die Compliance sichergestellt. Entwickler erhalten in Echtzeit Hinweise dazu, welche Lizenzen gemäß den Richtlinien ihres Unternehmens zulässig sind.

Verwenden Sie in der CLI im Hauptverzeichnis Ihres Projekts den Befehl snyk test --unmanaged.

Wenn Sie den zusätzlichen Parameter --unmanaged in den Projekteinstellungen des Snyk-Plugins oder der Erweiterung für CLion, Visual Studio Code oder eine andere unterstützte IDE hinzufügen, können Sie diese Funktion direkt in Ihrer IDE nutzen.

Snyk-Dashboard für Schwachstellen mit einem Problem mit der AGPL-3.0-only-Lizenz in der Abhängigkeit open5gs
Dependency-Dashboard mit curl-, glaspell-, open5gs- und OpenSSL-Paketen sowie der Anzahl von Problemen und Lizenzinformationen
Projektverlauf in Snyk mit Problemen bei Open-Source-Lizenzen, Schweregradfiltern und Compliance-Warnungen für die Abhängigkeiten GNU Aspell und Open5GS.

Willkommen in der modernen C/C++-Welt

Mit der Snyk AppSec-Unterstützung für C/C++ erleichtern wir Entwicklern das Finden und Beheben von Sicherheitsproblemen – dank intuitiver, benutzerfreundlicher Integrationen. Gleichzeitig erhalten Sicherheitsteams die umfassende Transparenz, die sie benötigen. All das bietet eine Plattform, die auf branchenführender Sicherheitsintelligenz basiert.

Das führt zu …

Zufriedene, produktive Entwickler dank:

  • nahtloser Integration in Entwicklungsabläufe

  • leicht verständlicher, umsetzbarer Meldungen

  • Datenflussanalysen direkt im Originalcode

„85 % der Entwickler, die Snyk nutzen, empfehlen es weiter. Sie nennen dabei erhebliche Zeitersparnis und einfache Bedienung.“

Einfache Lösungen in kürzerer Zeit mit Snyks modernem, entwicklerorientiertem Ansatz, der:

  • Code automatisch und kontinuierlich in wenigen Minuten oder sogar Sekunden scannt

  • Quellcode scannt und so eine Kompilierung überflüssig macht

  • während des gesamten SDLC Sicherheitsschranken bietet, z. B. einen Scan bei jedem PR-Check

Vollständige Transparenz über C/C++-Sicherheitsprobleme dank Funktionen wie:

  • einer branchenführenden C/C++-Open-Source-Datenbank mit Paketen, Lizenzen und Schwachstellen

  • Erkennung nicht verwalteter Open-Source-Pakete (ohne Paketmanager) per Dateisignatur-Fingerprinting

  • zentralisierten unternehmensweiten Berichten für alle Plattformprodukte und einfachen Filtermöglichkeiten

Sehen Sie sich die Demo selbst an: Hier finden Sie die Aufzeichnung auf Abruf von SnykLaunch.

Sichern Sie Ihre C/C++-Projekte noch heute ab.

Starten Sie eine kostenlose Testversion und vereinbaren Sie einen Termin mit einem unserer C/C++-Sicherheitsexperten, um die neuen Beta-Funktionen auszuprobieren.

Weiterlesen

blog feature snyk container custom base recommendations
Blog

Evo Agentic AppSec: Sicherheit, die mit der KI-Entwicklung Schritt hält

KI-gestützte Entwicklung überholt herkömmliche Security-Workflows. Snyk Agentic AppSec setzt Security-Agenten ein, die Schwachstellen kontinuierlich finden, beheben und überprüfen – während Menschen die Maßstäbe festlegen.

blog feature ai violet
Blog

VulnBump: Können KI-Agenten anfällige Abhängigkeiten beheben, ohne den Build zu beschädigen?

VulnBump testet KI-Agenten anhand von 307 realen Dependency-Upgrades. Eine Lösung zählt nur, wenn die Sicherheitslücke behoben ist und Build sowie Tests weiterhin erfolgreich sind.

Blog

Frontier-Modelle fanden die Schwachstellen. Nur der Angreifer fand die Angriffsketten.

Die statische Analyse fand die Schwachstellen, doch erst Live-Angriffstests bewiesen, wie sie sich zu Angriffen verketten lassen. Ein Vergleich von Evo COS, Claude Security und Claude Code Security.