OWASP Threat Dragon

Projekte, die den nachfolgenden Best Practices folgen, können sich freiwillig selbst zertifizieren und zeigen, dass sie einen Core-Infrastruktur-Initiative-/OpenSSF-Badge erhalten haben.

Wenn dies Ihr Projekt ist, zeigen Sie bitte Ihren Badge-Status auf Ihrer Projektseite! Der Badge-Status sieht so aus: Badge-Level für Projekt 9266 ist passing So können Sie ihn einbetten:

Dies sind die Kriterien das Level Passing. Sie können auch die Kriterien für die Level Silber oder Gold sehen.

        

 Grundlagen 13/13

  • Identifizierung

    Threat Dagon is an open source threat modeling tool and is one of the official OWASP projects. It is used to draw threat modeling diagrams and to list threats for elements in the diagram along with their remediations.

    Threat Dragon is primarily a web application which can store threat model files on the local filesystem. In addition access can be configured for access to GitHub, Bitbucket, GitLab and Github Enterprise. The desktop versions of Threat Dragon stores the threat model files on the local filesystem only, with installers for Windows, MacOS and Linux.

    Welche Programmiersprache wird verwendet, um das Projekt umzusetzen?
  • Grundlegende Informationen auf der Projektwebseite


    Die Projekt-Website MUSS prägnant beschreiben, was die Software tut (welches Problem löst sie?). [description_good]

    The project documentation website provides the description: https://owasp.org/www-project-threat-dragon/#div-description as well as the project website: https://github.com/OWASP/threat-dragon/blob/main/README.md



    Die Projekt-Website MUSS Informationen darüber enthalten, wie Feedback erhalten und gegeben werden kann (als Fehlerberichte oder Verbesserungsvorschläge), und wie man zur Softwareentwicklung beitragen kann. [interact]

    Die Informationen darüber, wie jemand beitragen kann, MÜSSEN den Prozess erklären (z.B. wie werden Pull-Requests verwendet?) (URL erforderlich) [contribution]

    Non-trivial contribution file in repository: https://github.com/OWASP/threat-dragon/blob/main/contributing.md.



    Die Informationen darüber, wie jemand beitragen können, SOLLTEN die Anforderungen für akzeptable Beiträge (z. B. einen Hinweis auf jeden erforderlichen Programmierstandard) enthalten. (URL erforderlich) [contribution_requirements]

    The code of conduct details acceptable behavior: https://github.com/OWASP/threat-dragon/blob/main/code_of_conduct.md and there is also a page on how to contribute along with the CoC: https://github.com/OWASP/threat-dragon/blob/main/contributing.md


  • FLOSS-Lizenz

    Unter welcher Lizenz/welchen Lizenzen ist das Projekt veröffentlicht?



    Die vom Projekt entwickelte Software MUSS als FLOSS lizensiert veröffentlicht sein. [floss_license]

    The Apache-2.0 license is approved by the Open Source Initiative (OSI).



    Es wird EMPFHOLEN, dass alle erforderlichen Lizenz(en) für die vom Projekt entwickelte Software von der Open Source Initiative (OSI) anerkannt werden. [floss_license_osi]

    The Apache-2.0 license is approved by the Open Source Initiative (OSI).



    Das Projekt MUSS die Lizenz(en) seiner Erzeugnisse an einem üblichen Ort in ihrem Quell-Repository veröffentlichen. (URL erforderlich) [license_location]

    Non-trivial license location file in repository: https://github.com/OWASP/threat-dragon/blob/main/license.txt.


  • Dokumentation


    Das Projekt MUSS eine grundlegende Dokumentation für die vom Projekt entwickelte Software liefern. [documentation_basics]

    The project has a separate documentation repository: https://github.com/OWASP/www-project-threat-dragon This provides user documentation, along woth details on how to test it as a developer, for both version 1.x: https://owasp.org/www-project-threat-dragon/docs-1/ and version 2.x: https://owasp.org/www-project-threat-dragon/docs-2/



    Das Projekt MUSS Referenzdokumentationen enthalten, die externe Schnittstellen (beides, Eingabe und Ausgabe) der vom Projekt entwickelten Software beschreiben. [documentation_interface]

    There is dociumentation on how to get started: https://owasp.org/www-project-threat-dragon/docs-2/getting-started/ Along with other topics such as installation and so on : https://owasp.org/www-project-threat-dragon/docs-2/install-webapp/


  • Andere


    Die Projekt-Seiten (Website, Repository und Download-URLs) MÜSSEN HTTPS mit TLS unterstützen. [sites_https]

    Given only https: URLs.



    Das Projekt MUSS einen oder mehrere Mechanismen zur Diskussion (einschließlich der vorgeschlagenen Änderungen und Issues) haben, die durchsuchbar sind, bei denen Nachrichten und Themen durch URL adressiert werden, neue Personen an einigen der Diskussionen teilnehmen können und keine lokale Installation von proprietärer Software erfordern. [discussion]

    GitHub supports discussions on issues and pull requests and these are used by Threat Dragon: https://github.com/OWASP/threat-dragon/discussions https://github.com/OWASP/threat-dragon/issues



    Das Projekt SOLLTE Dokumentationen in englischer Sprache zur Verfügung stellen und in der Lage sein, Fehlerberichte und Kommentare zum Code in Englisch zu akzeptieren. [english]

    Bug reports and comments / enhancements are entered as github issues, which can be entered in English: https://github.com/OWASP/threat-dragon/issues



    The project MUST be maintained. [maintained]

    The project received its 3000th commit on Jul 29, 2024 : https://github.com/OWASP/threat-dragon/commits/main/



(Erweitert) Welche anderen Benutzer haben zusätzliche Rechte zum Bearbeiten dieses Badge-Antrags? Derzeit: []



This is an active official OWASP project that has OWASP Laboratory status. The first commit to the original threat dragon repository was made on 9th October 2015 and has been in continual development since then.

  • Öffentliches Versionskontroll-Source-Repository


    Das Projekt MUSS ein versiongesteuertes Quell-Repository haben, das öffentlich lesbar ist und eine URL hat. [repo_public]

    Repository on GitHub, which provides public git repositories with URLs: https://github.com/OWASP/threat-dragon



    Das Quell-Repository des Projekts MUSS verfolgen, welche Änderungen vorgenommen wurden, wer die Änderungen vorgenommen hat und wann die Änderungen vorgenommen wurden. [repo_track]

    Repository on GitHub, which uses git, is here: https://github.com/OWASP/threat-dragon git can track the changes, who made them, and when they were made. Repository on GitHub, which uses git. git can track the changes, who made them, and when they were made.



    Um eine kollaborative Überprüfung zu ermöglichen, MUSS das Quell-Repository des Projekts Zwischenversionen für die Überprüfung zwischen Releases enthalten. Es DARF NICHT nur endgültige Veröffentlichungen enthalten. [repo_interim]

    The git tags are used to provide interim releases, for example: https://github.com/OWASP/threat-dragon/tags?after=v2.0.5 Sometimes the releases are just released, but sometimes they go through iterations before release after review



    Es ist EMPFOHLEN, dass eine gemeinsame genutzte Versionskontrollsoftware (z.B. git oder mercurial) für das Source-Repository des Projekts verwendet wird. [repo_distributed]

    Repository on GitHub, which uses git, is here: https://github.com/OWASP/threat-dragon git is common distributed version control software Repository on GitHub, which uses git. git is distributed.


  • Einzigartige Versionsnummerierung


    Die für Endbenutzer vorgesehenen Projektergebnisse MÜSSEN eine eindeutige Versionskennung für jede Freigabe haben. [version_unique]

    The project uses semantic versioning and the released versions are here: https://github.com/OWASP/threat-dragon/releases with the latest version 2.2.0 given here: https://github.com/OWASP/threat-dragon/releases/tag/v2.2.0



    Es ist EMPFHOLEN, dass ein Semantic Versioning (SemVer) oder Calendar Versioning (CalVer) Versionsnummerierungsformat für Releases verwendet wird. Es ist EMPFHOLEN, dass Anwender des CalVer Formates auch die Micro Ebene mit angeben. [version_semver]


    Es wird erwartet, dass Projekte jedes Release innerhalb ihres Versionskontrollsystems identifizieren. Zum Beispiel wird erwartet, dass die Projekte, die git verwenden, jedes Release mit git-Tags identifizieren. [version_tags]

    Here are the tags for each release: https://github.com/OWASP/threat-dragon/tags Note that releases before version 1.3 were from a different (private) repo before it transferred over to the official OWASP repo


  • Versionshinweise


    Das Projekt MUSS zu jedem Update Releasenotes enthalten, die eine lesbare Zusammenfassung der wichtigsten Änderungen der Version sind, damit Benutzer/innen sehen können, ob sie aktualisieren sollten und was die Auswirkungen des Updades sind. Die Releasenotes DÜRFEN NICHT die Rohausgabe eines Versionskontrollprotokolls sein (z. B. die "git log"-Befehlsergebnisse sind keine Releasenotes). Für Projekte, deren Ergebnisse nicht für die Wiederverwendung an mehreren Standorten bestimmt sind (z. B. die Software für eine einzelne Website oder Dienstleistung) und eine kontinuierliche Lieferung verwenden, können Sie "N/A" auswählen. (URL erforderlich) [release_notes]

    They are not released as separate files, but are added to the release area itself in the description for each release as text tailored for the individual release, for example: https://github.com/OWASP/threat-dragon/releases/tag/v2.2.0



    Die Releasenotes MÜSSEN jede öffentlich bekannte Laufzeit-Sicherheitslücke mit einer CVE-Zuweisung oder Ähnlichem kennzeichnen, die in der aktuellen veröffentlichten Version behoben sind. Dieses Kriterium darf als nicht anwendbar (N/A) markiert werden, wenn Benutzer typischerweise nicht selbst die Software aktualisieren. Diese Kirterium trifft nur auf die Projektergebnisse zu, nicht auf Abhängikeiten. Wenn keine Releasenotes vorhanden sind oder keine öffentlich bekannten Sicherheitslücken bekannt sind, wählen Sie (N/A). [release_notes_vulns]

    So far no publicly known vulnerabilities or even publicly unknown ones ;) The one advisory published did not need a CVE: https://github.com/OWASP/threat-dragon/security/advisories/GHSA-6r5p-cg7w-2rrv


  • Bug-Report-Prozess


    Das Projekt muss einen Prozess für Benutzer enthalten, um Fehlerberichte zu senden (z. B. mit einem Issue-Tracker oder eine Mailing-Liste). (URL erforderlich) [report_process]

    Both GitHub issue tracker: https://github.com/OWASP/threat-dragon/issues and also via direct contact with the project leaders: https://github.com/OWASP/threat-dragon?tab=readme-ov-file#contributing



    Das Projekt SOLLTE einen Issue-Tracker für die Nachverfolgung einzelner Issues verwenden. [report_tracker]

    Yes, GitHub issue tracker provides this : https://github.com/OWASP/threat-dragon/issues



    Das Projekt MUSS eine Mehrheit der in den letzten 2-12 Monaten eingereichten Fehlerberichte berücksichtigen; Die Antwort muss keine Korrektur enthalten. [report_responses]

    Bug reports all have a comment acknowledging the report, except for some of the ones raised by the project leader (Jon Gadsden): https://github.com/OWASP/threat-dragon/issues?q=is%3Aissue+is%3Aopen+label%3Abug and the closed bugs mostly have comments: https://github.com/OWASP/threat-dragon/issues?q=is%3Aissue+label%3Abug+is%3Aclosed



    Das Projekt SOLLTE auf eine Mehrheit (>50%) der Verbesserungsvorschläge in den letzten 2-12 Monaten (einschließlich) reagieren. [enhancement_responses]

    The enhancement requests have all been responded to, except for some of the ones raised by the project leader (Jon Gadsden) : https://github.com/OWASP/threat-dragon/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement



    Das Projekt MUSS ein öffentlich zugängliches Archiv für Berichte und Antworten für die spätere Suche haben. (URL erforderlich) [report_archive]

    Yes, via GitHub isue tracker : https://github.com/OWASP/threat-dragon/issues


  • Anfälligkeits-Prozessbericht


    Das Projekt MUSS den Prozess für die Meldung von Schwachstellen auf der Projektseite veröffentlichen. (URL erforderlich) [vulnerability_report_process]

    Vulnerability reporting process is detailed here and uses the GitHub security vulnerability reporting process: https://github.com/OWASP/threat-dragon/blob/main/security.md



    Falls das Projekt einen Kanal zur Übertragung von Schwachstellen besitzt, dann MUSS diese Informationsübertragung privat ablaufen. (URL erforderlich) [vulnerability_report_private]

    This is supported using GitHub security vulnerability reporting process: https://github.com/OWASP/threat-dragon/security/advisories/new



    Das Projekts MUSS mindestens binnen 14 Tagen, auf jeden in den letzten 6 Monaten erhaltenen Anfälligkeitsbericht, reagieren. [vulnerability_report_response]

    The one vulnerability report received was on Nov 16, 2023 and was fixed by Nov 29, 2023 : https://github.com/OWASP/threat-dragon/security/advisories/GHSA-6r5p-cg7w-2rrv


  • Produktivsystem


    Falls die vom Projekt entwickelte Software vor Benutzung kompiliert werden muss, MUSS das Projekt ein funktionierendes Buildsystem bereitstellen, das den Quellcode automatisch in Software übersetzt. [build]

    The software is written using Javascript, and the implementation runs directly from the source code using Node.js . The docker images are built and published automatically using a github workflow on merge to the main branch: https://github.com/OWASP/threat-dragon/blob/main/.github/workflows/push.yaml there are various github workflows that build Threat Dragon on push, release, pull-request and nightly



    Es ist EMPFHOLEN, dass gewöhnliche Werkzeuge zum Kompilieren von Software benutzt wird. [build_common_tools]

    Threat Dragon is a Vue/Node.js application and is built using npm (Node.js Package Manager) and Electron (desktop system for Node.js applications). Both of these are common tools used by the FLOSS community



    Das Projekt SOLLTE allein mit FLOSS-Werkzeugen gebaut werden können. [build_floss_tools]

    The Threat Dragon is a Node.js application and uses 100% FLOSS packages sourced from the npm package registry


  • Automatisierte Test-Suite


    Das Projekt MUSS mindestens eine automatisierte Test-Suite verwenden, die öffentlich als FLOSS veröffentlicht wird (diese Test-Suite kann als separates FLOSS-Projekt gepflegt werden). Das Project MUSS verständlich zeigen oder dokumentieren, wie die Test-Suite ausgeführt wird (z. B. durch ein Continuous Integration (CI) Script oder als Dokumentation in Dateien, wie z. B. BUILD.md, README.md oder CONTRIBUTING.md). [test]

    The Threat Dragon back end is based on the Express web server and has a set of unit tests using the mocha test framework, with the CLI provided by nyc The application is written using the Vue framework and has unit tests using jest with the CLI provided by vue-cli-service Functional testing of the application is provided by Cypress test framework



    Eine Test-Suite SOLLTE in einer üblichen Weise für diese Programmiersprache aufrufbar sein. [test_invocation]

    Both the funtional testsand the unit tests for both the application and the back end are invoked using scripts contained in the Node.js package.json file, which is the standard way to run tests for a Node.js application, just type 'npm test' There is a documentation page on the unit tests: https://owasp.org/www-project-threat-dragon/docs-2/unit/ and on the functional end-to-end tests: https://owasp.org/www-project-threat-dragon/docs-2/e2e/



    Es wird erwartet, dass die Test-Suite die meisten (oder idealerweise alle) Code-Zweige, Eingabefelder und Funktionalitäten abdeckt. [test_most]

    The code coverage for both applications and back-end are displayed at the end of the unit tests, run using standard Node.js command npm test



    Es wird erwartet, dass das Projekt eine kontinuierliche Integration durchführt (wo neuer oder geänderter Code häufig in ein zentrales Code-Repository integriert wird und automatisierte Tests auf diesen Ergebnissen durchgeführt werden). [test_continuous_integration]

    there are various github workflows that build Threat Dragon on push, release, pull-request and nightly : https://github.com/OWASP/threat-dragon/tree/main/.github/workflows


  • Neue Funktionalitätsüberprüfung


    Das Projekt MUSS allgemeine Grundregeln (formal oder nicht) haben, die als wesentliche neue Funktionalität der Software des Projektes hinzugefügt werden. Tests dieser Funktionalität sollten zu einer automatisierten Test-Suite hinzugefügt werden. [test_policy]

    this policy is in the contributing instructions at : https://github.com/OWASP/threat-dragon/blob/main/contributing.md#ground-rules



    Das Projekt MUSS nachweisen, dass die test_policy für das Hinzufügen von Tests in den jüngsten großen Änderungen an der Projektsoftware eingehalten wurde. [tests_are_added]

    latest features are required to have unit tests and functional tests, for example a recent pull request : https://github.com/OWASP/threat-dragon/pull/1239/files



    Es wird erwartet, dass diese Richtlinien zum Hinzufügen von Tests (siehe test_policy ) in den Anweisungen für Änderungsvorschläge dokumentiert werden. [tests_documented_added]

    the pull request template has documented instructions on contributing which are inorporated in every pull request using the template: https://github.com/OWASP/threat-dragon/blob/main/.github/pull_request_template.md


  • Warnhinweise


    Das Projekt MUSS einen oder mehrere Compiler-Warn-Flags, einen "sicheren" Sprachmodus oder ein separates "Linter" -Tool verwenden, um nach qualitativen Fehlern im Code oder gängigen einfachen Fehlern zu suchen, wenn es mindestens ein FLOSS-Tool gibt, das dieses Kriterium implementieren kann in der gewählten sprache [warnings]

    The Vue Javascript linter, vue-cli-service lint, is run as a pretest before running the unit tests. If this fails then the unit tests will not run. the unit tests are part of the pipelines run on pull-request and commit to main branch, and the pipelines will fail if the unit tests / linter throws errors



    Das Projekt MUSS auf Warnungen reagieren. [warnings_fixed]

    warning are reported when running unit tests and functional tests. These are reported to the console so that they can be addressed during code development



    Es wird erwartet, dass Projekte Warnungen in der Software, die durch das Projekt produziert wird, sorgfältig berücksichtigen. [warnings_strict]
  • Wissen über sichere Entwicklungspraktiken


    Das Projekt MUSS mindestens einen primären Entwickler haben, der weiß, wie man sichere Software entwerfen kann. (Siehe "Details" für spezifische Anforderungen.) [know_secure_design]

    The project leader for Threat Dragon, Jon Gadsden, is the main contributor to the OWASP Developer Guide. The demonstrates a good depth of knowledge on secure coding and secure software development lifecycles: https://owasp.org/www-project-developer-guide/release/



    Mindestens einer der primären Entwickler des Projekts MUSS über weitläufige Arten von Fehlern, die zu Schwachstellen in dieser Art von Software führen, Bescheid wissen sowie mindestens eine Methode, um jede von ihnen zu beseitigen oder zu mildern. [know_common_errors]

    Jon Gadsden, the project leader for Threat Dragon, is a software security engineer in a product security team and is familiar with erros that lead to software vulnerabilities. In addition he has an ISC2 CSSLP qualification that demonstrates this


  • Verwende grundlegend gute kryptographische Praktiken

    Beachten Sie, dass einige Software keine kryptographischen Mechanismen verwenden muss. Wenn Ihr Project Software erstellt das (1) kryptographische funktionen einbindet, aktiviert, oder ermöglicht und (2) aus den USA heraus an nicht US-Bürger verteilt wird, dann könnten sie rechtlich zu weiterne Schritten gezwungen sein. Meistens beinhaltet dies lediglich das Senden einer E-Mail. Für mehr Informationen, siehe den Abschnitt zu Encryption in Understanding Open Source Technology & US Export Controls.

    Die vom Projekt entwickelte Software MUSS standardmäßig nur kryptografische Protokolle und Algorithmen verwenden, die öffentlich sind und von Experten überprüft wurden (falls kryptographische Protokolle und Algorithmen verwendet werden). [crypto_published]

    The software uses https and standard crypto protocols to communicate with both users and with code repositories



    Wenn die Software, die durch das Projekt produziert wird, eine Anwendung oder Bibliothek ist, und ihr Hauptzweck nicht die Kryptographie ist, dann SOLLTE sie lediglich Software einbinden, die speziell für kryptographische Funktionen entworfen ist; Sie SOLLTE NICHT eine eigene Implementierung vornehmen. [crypto_call]

    No crypto functions are re-implemented by Threat Dragon



    Alle Funktionalitäten in der vom Projekt entwickelten Software, die von Kryptographie abhängigen, MÜSSEN mit FLOSS implementiert werden. [crypto_floss]

    Threat Dragon only uses FLOSS, for crypto and other functionality



    Die Sicherheitsmechanismen innerhalb der vom Projekt entwickelten Software, MÜSSEN Standard-Keylängen verwenden, die die NIST-Mindestanforderungen bis zum Jahr 2030 erfüllen (wie im Jahr 2012 festgelegt). Es MUSS möglich sein, die Software so zu konfigurieren, dass kürzere Keylängen vollständig deaktiviert werden können. [crypto_keylength]

    while smaller key lengths are not disabled, it is suggested i the documentation that the symmetric keys are have a key length of 128 bits using: openssl rand -hex 16



    Die Standard-Sicherheitsmechanismen innerhalb der vom Projekt entwickelten Software DÜRFEN NICHT von defekten kryptographischen Algorithmen abhängen (z.B. MD4, MD5, Single DES, RC4, Dual_EC_DRBG) oder Chiffre-Modi verwenden, die dem Kontext unangemessen sind, außer sie sind notwendig, um kompatible Protokolle bereitzustellen (wenn das Protokoll in der neusten Version in der Zielumgebung zum Einsatz kommt, die Zielumgebung solch ein Protokoll erfordert und das Zielsystem keine sicherere Alternative anbietet). Die Dokumentation MUSS auf jegliche Sicherheitsrisiken hinweisen und bekannte Vorsichtsmaßnahmen beschreiben, sollten unsichere Protokolle unumgäglich sein. [crypto_working]

    Threat Dragon uses OAuth for its identity and access management to the repository



    Die Standard-Sicherheitsmechanismen innerhalb der vom Projekt entwickelten Software SOLLTEN NICHT nicht von kryptographischen Algorithmen oder Modi mit bekannten schweren Schwächen abhängen (z.B. SHA-1-Kryptographie-Hash-Algorithmus oder CBC-Modus in SSH). [crypto_weaknesses]

    No cryptographic algorithms or modes with known serious weaknesses are used



    Die Sicherheitsmechanismen innerhalb der vom Projekt entwickelten Software SOLLTEN Perfect Forward Secrecy für wichtige Vereinbarungsprotokolle implementieren, so dass ein Sitzungsschlüssel, der aus einer Reihe von Langzeitschlüsseln abgeleitet wird, nicht beeinträchtigt werden kann, wenn einer der Langzeitschlüssel in der Zukunft kompromittiert wird. [crypto_pfs]

    this is provided by the crypto in the standard libraries used by Threat Dragon in addition nothing in the code inhibits or prevents the use of PFS; that is a property of the website's web server.



    Wenn die vom Projekt erzeugte Software Passwörter für die Authentifizierung von externen Benutzern speichert, MÜSSEN die Passwörter als iterierte Hashes mit einem per-User-Salt unter Verwendung eines Key-Stretching (iterierten) Algorithmus (z.B. Argon2id, Bcrypt, Scrypt, or PBKDF2). Siehe auch OWASP Password Storage Cheat Sheet). [crypto_password_storage]

    The software does not store passwords for authentication of external users



    Die Sicherheitsmechanismen innerhalb der vom Projekt entwickelten Software MÜSSEN alle kryptographischen Schlüssel und Nonces mit einem kryptographisch sicheren Zufallszahlengenerator erzeugen und DÜRFEN NICHT mit Generatoren arbeiten, die kryptographisch unsicher sind. [crypto_random]

    cryptographic keys and nonces are generated using npm modules such as the one providing the Content Security Policy


  • Gesicherte Zustellung gegen Man-in-the-Middle-/MITM-Angriffe


    Das Projekt MUSS einen Auslieferungsmechanismus verwenden, der den MITM-Angriffen entgegenwirkt. Die Verwendung von https oder ssh + scp ist akzeptabel. [delivery_mitm]

    Threat Dragon uses https



    Ein kryptographischer Hash (z.B. sha1sum) DARF NICHT über http abgerufen und ohne Überprüfung einer kryptographischen Signatur verwendet werden. [delivery_unsigned]

    http is not used by Threat Dragon unless it is in a non-production environment


  • Öffentlich bekannte Schwachstellen wurden behoben


    Es DARF KEINE ungepatchte Schwachstelle von mittlerer oder höherer Schwere enthalten sein, die seit mehr als 60 Tagen öffentlich bekannt ist. [vulnerabilities_fixed_60_days]

    Any vulnerabilities of medium or higher severity are reported by dependabot and are fixed easily within 60 days : https://github.com/OWASP/threat-dragon/pulls?q=is%3Apr+is%3Aclosed+label%3Aautomation



    Projekte SOLLTEN alle kritischen Schwachstellen schnell beheben, nachdem sie gemeldet wurden. [vulnerabilities_critical_fixed]

    Any critical vulnerabilities are reported by dependabot and are fixed rapidly : https://github.com/OWASP/threat-dragon/pulls?q=is%3Apr+is%3Aclosed+label%3Aautomation


  • Andere Sicherheitsissues


    Die öffentlichen Repositorys DÜRFEN NICHT gültige private Zugriffsdaten enthalten (z. B. ein funktionierendes Passwort oder einen privaten Schlüssel), die den öffentlichen Zugriff einschränken sollen. [no_leaked_credentials]

    No valid private credentials are leaked. There is a .env file, but it only includes stub data for testing, not the live credentials


  • Statische Codeanalyse


    Mindestens ein Tool zur Analyse statischer Codes (über Compiler-Warnungen und "sichere" Sprachmodi hinaus) MUSS vor der Veröffentlichung auf jede vorgeschlagene größere Produktionsversion der Software angewendet werden, wenn mindestens ein FLOSS-Tool dieses Kriterium in der ausgewählten Sprache implementiert. [static_analysis]

    CodeQL static code analysis is applied on pull-request, on commit to main branch and also in the nightly pipelines



    Es wird davon ausgegangen, dass mindestens eines der statischen Analysewerkzeuge, die für das statische Analysekriterium verwendet wurde, Regeln oder Ansätze einschließt, um nach häufigen Schwachstellen in der analysierten Sprache oder Umgebung zu suchen. [static_analysis_common_vulnerabilities]

    CodeQL static code analysis include rules to look for common vulnerabilities in Javascript



    Alle mittel- und höhergradig ausnutzbaren Schwachstellen, die mit statischer Codeanalyse entdeckt wurden, MÜSSEN nach der Entdeckung rechtzeitig behoben werden. [static_analysis_fixed]

    If CodeQL detects medium and higher severity exploitable vulnerabilities then this stage of the pipeline will fail, requiring that hey be fixed before the pipeline can pass



    Es wird EMPFOHLEN, dass eine statische Quellcode-Analyse bei jedem Commit oder zumindest täglich ausgeführt wird. [static_analysis_often]

    CodeQL static code analysis is applied in the nightly pipelines, as well as on pull-request and on commit to main branch


  • Dynamische Codeanalyse


    Es ist EMPFHOLEN, dass mindestens ein dynamisches Analyse-Tool auf jede vorgeschlagene größere Veröffentlichung der Software vor seiner Freigabe angewendet wird. [dynamic_analysis]

    Threat Dragon is analysed by OWASP ZAP on pull-request and also on commits to the main branch, using github workflow pipelines : https://github.com/OWASP/threat-dragon/actions



    Es ist EMPFHOLEN, dass die vom Projekt entwickelte Software, falls sie Software von einer Speicher-unsicheren Sprache (z. B. C oder C ++) enthält, regelmäßig mindestens ein dynamisches Werkzeug (z.B. ein Fuzzer oder ein Web-Anwendungs-Scanner) in Kombination mit einem Mechanismus zur Erkennung von Speichersicherheitsproblemen wie Puffer-Overwrites verwendet. Wenn das Projekt keine Software entwickelt, die in einer Speicher-unsicheren Sprache geschrieben ist, wählen Sie "nicht anwendbar" (N/A). [dynamic_analysis_unsafe]

    Application written using Javascript, with no C/C++ source or any other memory-unsafe language used within the project



    Es ist EMPFHOLEN, dass das Projekt eine Konfigurations benutzt, die zumindest etwas dynamischen Analyse nutzt (wie z.B. testing oder fuzzing), welche Assertions erlauben. In vielen Fällen sollten diese Assertions nicht in Production Builds aktiviert sein. [dynamic_analysis_enable_assertions]

    No assertions are embedded in the Treat Dragon code, as this is not a generally used feature of Javascript



    Alle mittel- und höhergradig ausnutzbaren Schwachstellen, die mit dynamischer Codeanalyse entdeckt werden, MÜSSEN zügig behoben werden, nachdem sie bestätigt wurden. [dynamic_analysis_fixed]

    Any issues found via OWASP ZAP have been fixed, with some rules put on an ignore list because they are not relevant: https://github.com/OWASP/threat-dragon/blob/main/.github/workflows/.zap-rules-web.tsv



This data is available under the Community Data License Agreement – Permissive, Version 2.0 (CDLA-Permissive-2.0). This means that a Data Recipient may share the Data, with or without modifications, so long as the Data Recipient makes available the text of this agreement with the shared Data. Please credit Jon Gadsden and the OpenSSF Best Practices badge contributors.

Projekt-Badge-Eintrag im Besitz von: Jon Gadsden.
Eintrag erstellt: 2024-07-29 19:20:57 UTC, zuletzt aktualisiert: 2025-03-08 22:18:07 UTC. Letztes erreichtes Badge: 2025-03-08 22:18:07 UTC.

Zurück