cert-manager

Les projets qui suivent les meilleures pratiques ci-dessous peuvent s'auto-certifier et montrer qu'ils ont obtenu le badge de la Open Source Security Foundation (OpenSSF).

Si c'est votre projet, veuillez indiquer votre statut de badge sur votre page de projet ! Le statut du badge ressemble à ceci : Le niveau de badge pour le projet 8079 est passing Voici comment l'intégrer :

Ce sont les critères du niveau Basique. Vous pouvez également afficher les critères des niveaux Argent ou Or.

        

 Notions de base 13/13

  • Identification

    Automatically provision and manage TLS certificates in Kubernetes

    Quel(s) langage(s) de programmation sont utilisés pour implémenter le projet ?
  • Contenu basique du site Web du projet


    Le site du projet DOIT décrire succinctement ce que le logiciel fait (quel problème résout-il ?). [description_good]

    cert-manager is a powerful and extensible X.509 certificate controller for Kubernetes and OpenShift workloads. It will obtain certificates from a variety of Issuers, both popular public Issuers as well as private Issuers, and ensure the certificates are valid and up-to-date, and will attempt to renew certificates at a configured time before expiry.

    From https://cert-manager.io/



    Le site Web du projet DOIT fournir des informations sur la façon d'obtenir, de fournir des commentaires (comme des signalements de bogues ou des demandes d'amélioration) et de contribuer au logiciel. [interact]

    L'information sur la façon de contribuer DOIT expliquer le processus de contribution (par exemple, les pull requests sont-ils utilisés ?) (URL requise) [contribution]

    Non-trivial contribution file in repository: https://github.com/cert-manager/cert-manager/blob/master/CONTRIBUTING.md.



    Les informations sur la façon de contribuer DEVRAIENT inclure les exigences pour des contributions acceptables (par exemple, une référence à toute norme de codage requise). (URL requise) [contribution_requirements]
  • Licence FLOSS

    Sous quelle(s) licence(s) le projet est-il distribué ?



    Le logiciel produit par le projet DOIT être distribué en tant que FLOSS. [floss_license]

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



    Il est PROPOSÉ que toute licence requise pour le logiciel produit par le projet soit approuvée par l'Open Source Initiative (OSI). [floss_license_osi]

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



    Le projet DOIT afficher la ou les licences de ses résultats dans un emplacement standard dans leur dépôt source. (URL requise) [license_location]

    Non-trivial license location file in repository: https://github.com/cert-manager/cert-manager/blob/master/LICENSE.


  • Documentation


    Le projet DOIT fournir une documentation de base pour le logiciel produit par le projet. [documentation_basics]

    We provide extensive documentation for the project on https://cert-manager.io/docs/



    Le projet DOIT fournir une documentation de référence qui décrit l'interface externe (entrée et sortie) du logiciel produit par le projet. [documentation_interface]

    The external interface could be considered to be writing CRDs, which are all documented on the website: https://cert-manager.io/docs/reference/api-docs/

    We also provide plugin integration points for power users, which are documented too:

    External issuers: https://cert-manager.io/docs/contributing/external-issuers/ DNS Webhook plugins: https://cert-manager.io/docs/configuration/acme/dns01/webhook/


  • Autre


    Les sites du projet (site Web, dépôt et URLs de téléchargement) DOIVENT supporter HTTPS en utilisant TLS. [sites_https]

    Given only https: URLs. (We're a TLS certificate management project, we'd consider it a major bug if we didn't support HTTPS!)



    Le projet DOIT avoir un ou plusieurs mécanismes de discussion (y compris les changements et les problèmes proposés) qui peuvent être recherchés, permettent de désigner les messages et les sujets par une URL, permettent aux nouvelles personnes de participer à certaines des discussions et ne nécessitent pas d'installation côté client de logiciels propriétaires. [discussion]

    GitHub supports discussions on issues and pull requests. We also have a mailing list (https://groups.google.com/g/cert-manager-dev) and slack (although that's proprietary, it's widely used)



    Le projet DEVRAIT fournir de la documentation en anglais et être en mesure d'accepter les signalements de bogues et les commentaires sur le code en anglais. [english]

    https://cert-manager.io/ is entirely in English and that's the language we work in daily.



    Le projet DOIT être maintenu. [maintained]

    We have a list of active core maintainers: https://github.com/cert-manager/community/blob/main/MAINTAINERS.md We also have several community members who regularly help with triaging / reviewing. These are members of the cert-manager github org.



(Avancé) Quels autres utilisateurs ont les droits supplémentaires pour modifier cette soumission de badge? Actuellement : []



  • Dépôt source public sous contrôle de version


    Le projet DOIT avoir un dépôt source sous contrôle de version qui est publiquement lisible et possède une URL. [repo_public]

    Repository on GitHub, which provides public git repositories with URLs.



    Le dépôt source du projet DOIT suivre les changements apportés, qui a effectué les changements et quand les changements ont été effectués. [repo_track]

    Repository on GitHub, which uses git. git can track the changes, who made them, and when they were made.



    Pour permettre une analyse collaborative, le dépôt source du projet DOIT inclure des versions provisoires pour examen entre versions officielles ; Il NE DOIT PAS inclure que les dernières versions. [repo_interim]

    Before a final release, we publish alpha and beta versions for community review, with well defined meanings for both (beta differs in that it has a feature freeze except for bug fixes).

    Our releases page has examples: https://github.com/cert-manager/cert-manager/releases



    Il est PROPOSÉ qu'un logiciel reconnu de contrôle de version distribué soit utilisé (par exemple, git) pour le dépôt source du projet. [repo_distributed]

    Repository on GitHub, which uses git. git is distributed.


  • Numérotation unique de la version


    Les résultats du projet DOIVENT avoir un identifiant de version unique pour chaque version destinée à être utilisée par les utilisateurs. [version_unique]

    We use semver for all releases. Each release has a corresponding branch, such that that minor version can be patched independently of any other release.



    Il est PROPOSÉ d'utiliser le format de numérotation de version appelé Versionage Sémantique (SemVer) ou Versionage Calendaire (CalVer). Il est PROPOSÉ que ceux qui utilisent CalVer incluent une valeur de niveau micro. [version_semver]


    Il est PROPOSÉ que les projets identifient chaque version dans leur système de contrôle de version. Par exemple, il est PROPOSÉ que ceux qui utilisent git identifient chaque version à l'aide des tags de git. [version_tags]

    Every release has a corresponding git tag.


  • Notes de version


    Le projet DOIT fournir, avec chaque distribution, des notes de version qui sont un résumé lisible par les humains des changements majeurs dans cette version afin d'aider les utilisateurs à déterminer s'ils doivent se mettre à niveau et quel sera l'impact de la mise à niveau. Les notes de version NE DOIVENT PAS être la sortie brute d'un journal de contrôle de version (par exemple, les résultats de la commande « git log » ne sont pas des notes de version). Les projets dont les résultats ne sont pas destinés à être réutilisés dans plusieurs emplacements (tels que le logiciel pour un site Web ou un service unique) ET qui utilisent la livraison continue PEUVENT sélectionner « N/A ». (URL requise) [release_notes]

    Each release of cert-manager has hand written release notes along with a summary of changes. For example, see the release notes for v1.13.0: https://github.com/cert-manager/cert-manager/releases/tag/v1.13.0

    We also publish release notes on the website: https://cert-manager.io/docs/releases/



    Les notes de version DOIVENT identifier toutes les vulnérabilités connues du public corrigées dans cette version qui avaient déjà une affectation CVE ou similaire lors de la création de la version. Ce critère peut être marqué comme non applicable (N/A) si les utilisateurs ne peuvent pas en général mettre à jour le logiciel eux-mêmes (par exemple, comme c'est souvent le cas pour les mises à jour du noyau). Ce critère s'applique uniquement aux résultats du projet, pas à ses dépendances. S'il n'y a pas de notes de version ou qu'il n'y a pas eu de vulnérabilité publiquement connue, choisissez N/A. [release_notes_vulns]

    There have been no CVEs reported for cert-manager. If any were reported, we would definitely prominently display it in all applicable release notes. As a general policy we seek to document every bug fix in the release in which it was fixed.


  • Procédure de signalement des bogues


    Le projet DOIT fournir un processus permettant aux utilisateurs de soumettre des signalements de bogue (par exemple, en utilisant un suivi des problèmes ou une liste de diffusion). (URL requise) [report_process]

    Le projet DEVRAIT utiliser un suivi des problèmes pour le suivi des problèmes individuels. [report_tracker]

    Le projet DOIT confirmer une majorité des signalements de bogues soumis au cours des 2 à 12 derniers mois (inclus) ; la réponse ne doit pas nécessairement inclure une correction. [report_responses]

    I don't have any specific data to back this up, but we try to at least acknowledge any bug report we get. Often these aren't actually bugs. We have a separate policy for security bugs, where we have a separate mailing list and we'll response within days to any valid report (see https://github.com/cert-manager/community/blob/f04069b6e874bbbd0ae15dd057f44329eb2022a9/SECURITY.md)



    Le projet DEVRAIT répondre à une majorité (>50%) des demandes d'amélioration au cours des 2 à 12 derniers mois (inclus). [enhancement_responses]

    Again, no data to back it up but I believe we do this. Most requests which meet our criteria will be acknowledged and discussed, often in our daily standups or biweekly meetings (see https://cert-manager.io/docs/contributing/#meetings)



    Le projet DOIT avoir une archive publique pour les signalements et les réponses pour une recherche ultérieure. (URL requise) [report_archive]

    Searchable on https://github.com/cert-manager/cert-manager/issues (and on google groups for the mailing list)


  • Processus de signalement de vulnérabilité


    Le projet DOIT publier le processus de signalement des vulnérabilités sur le site du projet. (URL requise) [vulnerability_report_process]

    Si les signalements de vulnérabilités privés sont pris en charge, le projet DOIT inclure la façon d'envoyer l'information de manière confidentielle. (URL requise) [vulnerability_report_private]

    https://github.com/cert-manager/community/blob/main/SECURITY.md

    Details that people should use email for contacting us, using Google Groups so TLS should be enabled. We don't mention PGP support because it's generally ineffective, but we would gladly discuss alternative channels if needed (such as Signal).



    Le temps de réponse initial du projet pour tout signalement de vulnérabilité reçu au cours des 6 derniers mois DOIT être inférieur ou égal à 14 jours. [vulnerability_report_response]

    For reports which match our criteria, we aim to reply within days and we document this on https://github.com/cert-manager/community/blob/main/SECURITY.md


  • Système de construction opérationnel


    Si le logiciel produit par le projet nécessite d'être construit pour être utilisé, le projet DOIT fournir un système de construction fonctionnel qui peut reconstruire automatiquement le logiciel à partir du code source. [build]

    Non-trivial build file in repository: https://github.com/cert-manager/cert-manager/blob/master/Makefile.

    Anybody can build any release from the makefile, and the makefile is used for all releases we perform as well. The build system is non-trivial, but is open source.



    Il est PROPOSÉ d'utiliser des outils courants pour la construction du logiciel. [build_common_tools]

    Le projet DEVRAIT être constructible en utilisant uniquement des outils FLOSS. [build_floss_tools]

    Make, go and some other dependencies. All are FLOSS. The makefile has the ability to download and "vendor" dependencies so each dependency version is tracked in each git commit.


  • Suite de tests automatisée


    Le projet DOIT utiliser au moins une suite de tests automatisée publiée publiquement comme FLOSS (cette suite de tests peut être maintenue sous la forme d'un projet FLOSS distinct). Le projet DOIT clairement montrer ou documenter comment exécuter la ou les suites de tests (par exemple, via un script d'intégration continue (CI) ou via la documentation dans des fichiers tels que BUILD.md, README.md ou CONTRIBUTING.md). [test]

    All methods of running tests are defined in the Makefile. Our automated tests apply on PRs and periodically, and are defined using prow.

    As an example of our tests, see: https://github.com/cert-manager/testing/blob/master/config/jobs/cert-manager/cert-manager/master/cert-manager-master.yaml

    An example of a test being run can be seen on any PR, e.g. https://github.com/cert-manager/cert-manager/pull/6495

    An example test run from that PR: https://prow.build-infra.jetstack.net/view/gs/jetstack-logs/pr-logs/pull/cert-manager_cert-manager/6495/pull-cert-manager-master-e2e-v1-28/1725480560475770880



    Une suite de tests DEVRAIT être invocable d'une manière standard pour ce langage. [test_invocation]

    We support go test for unit tests, and all tests are runnable via the Makefile



    Il est PROPOSÉ que la suite de tests couvre la plupart (ou idéalement toutes) les branches du code, les champs de saisie et les fonctionnalités. [test_most]

    We don't have any specific metrics on this, but our end-to-end tests are extensive and aim to test all relevant issuers and methods of creating certificates



    Il est PROPOSÉ que le projet utilise une intégration continue (où le code nouveau ou modifié est fréquemment intégré dans un dépôt de code central et des tests automatisés sont exécutés sur le résultat). [test_continuous_integration]

    All PRs are tested by prow, and then re-tested if merging them requires a rebase (i.e. if the target branch changed after the PR was raised). We have periodic tests which run regularly. Each supported release (currently 1.13 and 1.12) has similar tests for changes and periodic regular tests.


  • Nouveau test de fonctionnalité


    Le projet DOIT avoir une politique générale (formelle ou non) qui spécifie que, dès qu'une nouvelle fonctionnalité majeure est ajoutée au logiciel produit par le projet, des tests de cette fonctionnalité devraient être ajoutés à une suite de tests automatisée. [test_policy]

    All PRs are tested in an automated way before being merged.



    Le projet DOIT avoir la preuve que la politique de test pour l'ajout de tests a été respectée dans les dernières modifications majeures apportées au logiciel produit par le projet. [tests_are_added]

    As general policy we require tests to be added for important features. A recent example would be this community member's PR: https://github.com/cert-manager/cert-manager/pull/6486/files

    It adds tests for the feature, which is quite small in scope in this case. If the PR were larger we'd likely also require more testing.



    Il est PROPOSÉ que cette politique sur l'ajout de tests (voir la politique de test) soit documentée dans les instructions pour les propositions de modification. [tests_documented_added]

    I'm surprised to find out we don't seem to explicitly write this out anywhere, although in practice any reviewer would demand that tests are written for non-trivial changes. I'll take this as an action to go and add some docs around testing - although, as I said, we certainly do require that tests are written.


  • Options d'avertissement


    Le projet DOIT activer une ou plusieurs options d'avertissement du compilateur, un mode du langage « sûr » ou utiliser un outil « linter » séparé pour rechercher des erreurs de qualité de code ou des erreurs simples courantes, s'il existe au moins un outil FLOSS qui peut implémenter ce critère dans le langage sélectionné. [warnings]

    We use go vet by virtue of running go tooling, and we have other tooling to check our code / distributable artifacts, including our own tooling to ensure that our go module state is synced.

    All code is has formatting checks too.



    Le projet DOIT résoudre les avertissements. [warnings_fixed]

    We generally treat warnings as errors when we see them. The nature of Go development means that often warnings would be fixed locally before new code gets merged.



    Il est PROPOSÉ que les projets soient maximalement stricts avec les avertissements dans le logiciel produit par le projet, quand cela est approprié. [warnings_strict]

    I believe in our tooling we generally have warnings enabled as strictly as possible. We'd like to expand our use of linting tools, and when we do we'd aim to be as strict as is reasonable.


  • Connaissance du développement sécurisé


    Le projet DOIT avoir au moins un développeur principal qui sait comment concevoir un logiciel sécurisé. (Voir les « détails » pour les exigences exactes.) [know_secure_design]

    Many of the primary developers work for security companies where secure software development is the default.

    The developer writing this application has a background in PKI / TLS / security and is a primary developer.



    Au moins l'un des principaux développeurs du projet DOIT connaître les types courants d'erreurs qui conduisent à des vulnérabilités dans ce genre de logiciel, ainsi qu'au moins une méthode pour contrer ou atténuer chacun d'eux. [know_common_errors]

    We regularly check the OWASP top 10 and the kubernetes equivalent.


  • Utiliser de bonnes pratiques de base de cryptographie

    Notez que certains logiciels n'ont pas besoin d'utiliser des mécanismes cryptographiques. Si votre projet produit un logiciel qui (1) inclut ou active la fonctionnalité de chiffrement, et (2) peut être publié des États-Unis (US) vers l'extérieur des États-Unis ou vers un citoyen autre qu'américain, vous pouvez être légalement obligé à faire quelques étapes supplémentaires. En règle générale, cela implique simplement l'envoi d'un email. Pour plus d'informations, consultez la section sur le chiffrement de Comprendre la technologie Open Source et les contrôles à l'exportation américains .

    Le logiciel produit par le projet DOIT utiliser, par défaut, uniquement les protocoles cryptographiques et les algorithmes publiés publiquement et revus par des experts (si des protocoles et algorithmes cryptographiques sont utilisés). [crypto_published]

    We use the go standard library where possible, which is generally an excellent cryptographic library maintained by experts.

    NB: As a general rule, since cert-manager is a project centred around the handling of cryptographic material, we are exceptionally cautious when it comes to cryptography and we have experts within the team who ensure that we support good cryptography.



    Si le logiciel produit par le projet est une application ou une bibliothèque, et si son objectif principal n'est pas d'implémenter de la cryptographie, alors il DEVRAIT simplement appeler un logiciel spécialement conçu pour implémenter des fonctions cryptographiques ; il ne DEVRAIT PAS ré-implémenter les siennes. [crypto_call]

    We use external libraries for our cryptography and would avoid "rolling our own". Mostly, we use the Go standard library.



    Toutes les fonctionnalités du logiciel produit par le projet qui dépendent de la cryptographie DOIVENT être réalisables à l'aide de FLOSS. [crypto_floss]

    The go standard library is FLOSS



    Les mécanismes de sécurité dans le logiciel produit par le projet DOIVENT utiliser des longueurs de clés par défaut qui satisfont au moins aux exigences minimales du NIST jusqu'à l'année 2030 (comme indiqué en 2012). Il DOIT être possible de configurer le logiciel afin que les plus petites longueurs de clés soient complètement désactivées. [crypto_keylength]

    cert-mangager will not create RSA keys below 2048 bits. Our "minimum" curves are P-256 and Ed25519. We use sha256 as a minimum hash where possible.



    Les mécanismes de sécurité par défaut dans le logiciel produit par le projet NE DOIVENT PAS dépendre d'algorithmes cryptographiques cassés (par exemple, MD4, MD5, DES unique, RC4, Dual_EC_DRBG) ou utiliser des modes de chiffrement inappropriés dans le contexte, sauf si ils sont nécessaires pour implémenter un protocole d'interopérabilité (où le protocole implémenté est la version la plus récente du standard supporté largement par l'écosystème du réseau, l'écosystème requiert l'utilisation de cet algorithme ou mode, et cet écosystème n'offre pas d'alternative plus sûre). La documentation DOIT décrire tous les risques de sécurité appropriés et les parades connues si ces algorithmes ou modes cassés sont nécessaires pour un protocole d'interopérabilité. [crypto_working]

    Our only support for these broken algorithms would be in parsing legacy certificates which use these algorithms. Our ability to do that is delegated to the go standard library. We'd be highly critical of any attempt to use any broken algorithm in any context.



    Les mécanismes de sécurité par défaut dans le logiciel produit par le projet NE DEVRAIENT PAS dépendre d'algorithmes ou de modes cryptographiques avec des faiblesses sérieuses connues (par exemple, l'algorithme de hachage cryptographique SHA-1 ou le mode CBC en SSH). [crypto_weaknesses]

    We avoid SHA-1 as a general rule.



    Les mécanismes de sécurité dans le logiciel produit par le projet DEVRAIENT implémenter la confidentialité persistante pour les protocoles d'échange de clés afin qu'une clé de session dérivée d'un ensemble de clés à long terme ne soit pas compromise si l'une des clés à long terme est compromise dans le futur. [crypto_pfs]

    The go standard library supports PFS in TLS, and cert-manager uses TLS where possible, at a minimum of TLS 1.2



    Si le logiciel produit par le projet entraîne la sauvegarde de mots de passe pour l'authentification d'utilisateurs externes, les mots de passe DOIVENT être sauvegardés comme hachages itérés avec un salage par utilisateur en utilisant un algorithme d'étirement de clé (itéré) (par exemple Argon2id, Bcrypt, Scrypt, ou PBKDF2). Voir également le pense-bête sur le stockage des clés d'OWASP. [crypto_password_storage]

    We don't support passwords for authentication of external users. Where we use the concept of a password it relates to things like PKCS#12 passwords, which tend to be more analagous to shared secrets.



    Les mécanismes de sécurité dans le logiciel produit par le projet DOIVENT générer toutes les clés cryptographiques et les nonces en utilisant un générateur de nombres aléatoires cryptographiquement sécurisé, et NE DOIVENT PAS le faire en utilisant des générateurs qui ne seraient pas cryptographiquement sécurisés. [crypto_random]

    We use the cryptographically secure RNG from the go standard library


  • Livraison sécurisée contre les attaques man-in-the-middle (MITM)


    Le projet DOIT utiliser un mécanisme de livraison qui contrecarre les attaques MITM. L'utilisation de https ou ssh+scp est acceptable. [delivery_mitm]

    TLS everywhere possible, including when talking to the Kubernetes API which forms the basis of most of our work



    Un hachage cryptographique (par exemple, un sha1sum) NE DOIT PAS être récupéré par http et utilisé sans vérifier une signature cryptographique. [delivery_unsigned]

    Where we check hashes (e.g. for provisioning vendored tooling) we generally embed the hashes into code. When they're fetched by a developer they'll be fetched over HTTPS. Before the hashes are added to code, the reviewer should generally check that the hashes match their expectations.


  • Vulnérabilités publiquement identifiées et corrigées


    Il ne DOIT pas y avoir de vulnérabilités non corrigées de gravité moyenne ou supérieure connues publiquement depuis plus de 60 jours. [vulnerabilities_fixed_60_days]

    We run regular scans using trivy and we seek to fix any major vulnerability as soon as possible. The vast majority of reports are false positives but we err on the side of caution if there's any chance that a report is applicable.



    Les projets DEVRAIENT corriger rapidement toutes les vulnérabilités critiques après leur signalement. [vulnerabilities_critical_fixed]

    Any applicable critical vuln would be handled as a matter of urgency.


  • Autres problèmes de sécurité


    Les dépôts publics NE DOIVENT PAS fuiter un certificat privé valide (par exemple, un mot de passe ou une clé privée) qui est destiné à limiter l'accès public. [no_leaked_credentials]

    We sometimes have embedded private keys in our code for testing purposes, but these are always for testing only. All other credentials which we use and which might be committed anywhere are encrypted.


  • Analyse statique de code


    Au moins un outil d'analyse statique de code (au-delà des avertissements du compilateur et des modes « sûrs » des languages) DOIT être appliqué à toute distribution majeure proposée avant sa sortie s'il existe au moins un outil FLOSS qui implémente ce critère dans le langage sélectionné. [static_analysis]

    We use go vet since we use standard go tooling. We'd like to expand this in the future.



    Il est PROPOSÉ qu'au moins l'un des outils d'analyse statique utilisés pour le critère d'analyse statique inclue des règles ou des approches pour rechercher des vulnérabilités courantes dans le langage ou l'environnement analysé. [static_analysis_common_vulnerabilities]

    We'd like to implement govulncheck soon for this purpose. We do have this kind of scanning today through trivy.



    Toutes les vulnérabilités exploitables de gravité moyenne ou plus découvertes avec une analyse statique de code DOIVENT être corrigées en temps approprié après leur confirmation. [static_analysis_fixed]

    We'd fix any vulnerability of any non-trivial severity as a matter of extreme urgency if we suspected it might be exploitable. We regularly issue patch releases including fixes to any reported vulnerability even if we doubt it's exploitable.



    Il est PROPOSÉ que l'analyse statique du code source se produise à chaque commit ou au moins quotidiennement. [static_analysis_often]

    go vet is run on every PR and is run periodically. Trivy scans are run regularly.


  • Analyse dynamique de code


    Il est PROPOSÉ qu'au moins un outil d'analyse dynamique soit appliqué à tout candidat pour une version majeure du logiciel avant sa distribution. [dynamic_analysis]

    Il est PROPOSÉ que, si le logiciel produit par le projet comprend un logiciel écrit à l'aide d'un langage non sûr pour les accès mémoire (par exemple, C ou C ++), au moins un outil dynamique (par exemple, un fuzzer ou un scanner d'application Web) soit utilisé de façon routinière en combinaison avec un mécanisme pour détecter des problèmes de sécurité mémoire tels que les dépassements de zone mémoire. Si le projet ne produit pas de logiciel écrit dans un langage non sûr pour les accès mémoire, choisissez « non applicable » (N/A). [dynamic_analysis_unsafe]

    We use Go, and we avoid any use of "unsafe" where possible.



    Il est PROPOSÉ que le projet utilise une configuration pour au moins une analyse dynamique (comme le test ou le fuzzing) qui active de nombreuses assertions. Dans de nombreux cas, ces assertions ne doivent pas être activées dans les versions de production. [dynamic_analysis_enable_assertions]

    We use go's race detection in some tests, and we have hte option to enable pprof for testing at runtime. I don't know if we meet this definition as stated, but I believe we meet the spirit of this in some ways.



    Toutes les vulnérabilités exploitables de gravité moyenne ou plus découvertes avec une analyse de code dynamique DOIVENT être corrigées en un temps approprié après leur confirmation. [dynamic_analysis_fixed]

    We'd treat this like any other vuln - anything exploitable would be fixed as a matter of urgency.



Ces données sont disponibles sous une licence Creative Commons Attribution version 3.0 ou ultérieure (CC-BY-3.0+). Chacun peut librement partager et adapter les données, à condition de créditer leur origine. Veuillez créditer Ashley Davis et les contributeurs du badge des meilleures pratiques de la OpenSSF.

Soumission du badge du projet appartenant à : Ashley Davis.
Soumission créée le 2023-11-17 11:41:16 UTC, dernière mise à jour le 2023-11-17 12:42:02 UTC. Le dernier badge obtenu l'a été le 2023-11-17 12:42:02 UTC.

Retour