GNU Astronomy Utilities (Gnuastro)

Проекты, которые следуют приведенным ниже лучшим практикам, могут добровольно и самостоятельно оценить себя и продемонстрировать, что они получили значок Open Source Security Foundation (OpenSSF).

Если это ваш проект, пожалуйста, покажите свой значок на странице проекта! Статус значка выглядит следующим образом: Уровень значка для проекта 971 - in_progress Вот как вставить его:

Это критерии уровня Passing. Вы также можете просмотреть критерии уровня Silver или Gold.

        

 Основы 13/13

  • Идентификация

    The GNU Astronomy Utilities (Gnuastro) is an official GNU package consisting of various programs and library functions for the manipulation and analysis of astronomical data. All the programs share the same basic command-line user interface for the comfort of both the users and developers. Gnuastro is written to comply fully with the GNU coding standards so it integrates finely with the GNU/Linux operating system. This also enables astronomers to expect a fully familiar experience in the source code, building, installing and command-line user interaction that they have seen in all the other GNU software that they use.

    Какие языки программирования используются для реализации проекта?
  • Основная информация на веб-сайте проекта


    Веб-сайт проекта ОБЯЗАН кратко описывать, что делает программное обеспечение (какую проблему решает?). [description_good]

    At the top of the software's main URL (https://www.gnu.org/software/gnuastro/), a short description is given. There is also a list of all the separate programs that the software contains in a link under the top description (it is like GNU Coreutils which builds and installs many programs in one software package).



    Веб-сайт проекта ОБЯЗАН предоставлять информацию о том, как: получать и предоставлять обратную связь (например, отчеты об ошибках или улучшения) и вносить свой вклад в программное обеспечение. [interact]

    In the main project webpage (https://www.gnu.org/software/gnuastro/), there are clear titles "Gnuastro mailing lists", "Report a bug", and "Getting involved", with a description under each which contains links for users to easily provide feedback and contribute to the software.



    В описании того, как сделать вклад, НЕОБХОДИМО объяснить процесс внесения вклада (например, используются ли pull request'ы). (Требуется URL) [contribution]

    The main webpage has the necessary top-level links. But the full description on the exact workflow is fully described in "Production workflow" section of the manual (https://www.gnu.org/software/gnuastro/manual/html_node/Production-workflow.html), and there is also a "Forking tutorial" section in the manual (https://www.gnu.org/software/gnuastro/manual/html_node/Forking-tutorial.html) with a fully working series of commands and processes necessary to Gnuastro's Git repository, make changes, commit and push them. Also on how to inform us and how to finally pull their work from the merged repository. As you see there, the importance of working on branches is also thoroughly discussed there. Many first time Git users have used this page so far and have made it more and more easier to use. Generally, there is a full "Developing" chapter in the manual (https://www.gnu.org/software/gnuastro/manual/html_node/Developing.html) which is only devoted to guidelines for the developers



    В информацию о том, как внести вклад, СЛЕДУЕТ включать требования к приемлемым взносам (например, ссылку на любой требуемый стандарт кодирования). (Требуется URL) [contribution_requirements]

    The Gnuastro manual has a complete section devoted to "Coding conventions" (https://www.gnu.org/software/gnuastro/manual/html_node/Coding-conventions.html). Generally, there is a full "Developing" chapter in the manual (https://www.gnu.org/software/gnuastro/manual/html_node/Developing.html) which is only devoted to guidelines for the developers


  • Свободная лицензия

    Под какой/какими лицензией/ями выпускается проект?



    ПО, создаваемое проектом, ОБЯЗАНО быть выпущено под свободной лицензией. [floss_license]

    Its copyright is GPL-3.0+ (https://git.savannah.gnu.org/cgit/gnuastro.git/tree/COPYING) The GPL-3.0 license is approved by the Open Source Initiative (OSI).



    ЖЕЛАТЕЛЬНО, чтобы все лицензии для ПО, создаваемого проектом, были одобрены Open Source Initiative (OSI). [floss_license_osi]

    The GPL-3.0 license is approved by the Open Source Initiative (OSI).



    Проект ОБЯЗАН публиковать лицензию или лицензии своих результатов в стандартном расположении в своем репозитории исходного кода. (Требуется URL) [license_location]
  • Документация


    Проект ОБЯЗАН предоставлять базовую документацию для программного обеспечения, создаваемого проектом. [documentation_basics]

    https://www.gnu.org/software/gnuastro/manual/html_node/index.html#Top

    The documentation is also available in many other formats (for example info' andman' on the command-line, PDF for print, plain text, and HTML). The documentation in all formats is available here: https://www.gnu.org/software/gnuastro/manual/index.html



    Проект ОБЯЗАН предоставлять справочную документацию, описывающую внешний интерфейс (как входной, так и выходной) программного обеспечения, создаваемого проектом. [documentation_interface]

    Gnuastro has both libraries and binaries (programs). In the manual, following the GNU Coding Standards, all programs have a special "Invoking ProgramName" section which gives a few examples commands of how to run the program, followed by the description of options, here are some examples:

    https://www.gnu.org/software/gnuastro/manual/html_node/Invoking-astarithmetic.html https://www.gnu.org/software/gnuastro/manual/html_node/Invoking-astmkcatalog.html

    Also, the API for the library functions are also fully described in the manual, you can see the whole list of APIs in different headers in this link: https://www.gnu.org/software/gnuastro/manual/html_node/Gnuastro-library.html . Here is an example: https://www.gnu.org/software/gnuastro/manual/html_node/World-Coordinate-System.html


  • Другое


    Сайты проекта (веб-сайт, репозиторий и URL-адреса для загрузки) ОБЯЗАНЫ поддерживать HTTPS с использованием TLS. [sites_https]

    All webpages are hosted by GNU and support HTTPS, this is the top page: https://www.gnu.org/software/gnuastro/index.html



    Проект ОБЯЗАН иметь один или несколько механизмов для обсуждения (включая предлагаемые изменения и проблемы), которые доступны для поиска, позволяют ссылаться на сообщения и темы по URL, позволяют новым людям участвовать в некоторых обсуждениях и не требуют установки на стороне клиента проприетарного программного обеспечения. [discussion]

    In Gnuastro, we do all development discussions in Savannah: http://savannah.gnu.org/projects/gnuastro/ . There are separate "Support", "Bug" and "Task" trackers. Each issue receives a special ID from Savannah and is classified by the part of Gnuastro that it relates to. It is possible to select issues based on many criteria. For example, here is the bug tracers: http://savannah.gnu.org/bugs/?group=gnuastro (clicking on "Display criteria" close to the top of the page will allow you to select the bugs by many classes). All discussions in all the trackers is also archived in the Gnuastro-devel mailing list ( http://lists.gnu.org/archive/html/gnuastro-devel/ ).



    Проекту СЛЕДУЕТ предоставлять документацию на английском языке и иметь возможность принимать отчеты об ошибках и комментарии о коде на английском языке. [english]

    Everything in Gnuastro is currently only in English!



    НЕОБХОДИМО, чтобы проект поддерживался. [maintained]


(Дополнительно) Какие другие пользователи имеют дополнительные права на редактирование этой записи значка? В настоящее время: []



Gnuastro strives to follow the GNU Coding Standards for high quality code and user interface.

  • Публичное хранилище исходного кода с поддержкой версий


    Проект ОБЯЗАН иметь репозиторий (хранилище) исходного кода с управлением версиями, который является общедоступным и имеет URL. [repo_public]

    Проектный репозиторий исходного кода ОБЯЗАН отслеживать, какие изменения были внесены, кто внес изменения и когда изменения были сделаны. [repo_track]

    All Git repositories do this.



    Чтобы обеспечить возможность для проверки другими участниками, проектный репозиторий исходного кода ОБЯЗАН включать промежуточные версии для проверки между релизами; НЕДОПУСТИМО хранить в репозитории лишь финальные версии. [repo_interim]

    Every commit is given a unique version (based on `git describe'). Before major releases, we release tar-balls in this address: http://alpha.gnu.org/gnu/gnuastro/ . Once this tarball has been sufficiently tested and major bugs fixed do we make an official release. The full versioning of Gnuastro is discussed here: https://www.gnu.org/software/gnuastro/manual/html_node/Version-numbering.html



    Для хранилища проектного исходного кода ЖЕЛАТЕЛЬНО использовать типовое ПО для распределенного управления версиями (например, git). [repo_distributed]

    Gnuastro is version controlled with Git: http://git.savannah.gnu.org/cgit/gnuastro.git


  • Уникальная нумерация версий


    Результаты проекта ОБЯЗАНЫ иметь уникальный идентификатор версии для каждой версии, предназначенной для конечных пользователей. [version_unique]

    Gnuastro does have a unique identifier for every commit (based on Git's `describe') and also major releases get a unique tag. For more, please see https://www.gnu.org/software/gnuastro/manual/html_node/Version-numbering.html



    Для выпусков ЖЕЛАТЕЛЬНО использовать семантическую либо календарную нумерацию версий. При использовании календарной нумерации к версии ЖЕЛАТЕЛЬНО добавлять микро-компоненту. [version_semver]


    Проектам ЖЕЛАТЕЛЬНО идентифицировать каждый выпуск в своей системе управления версиями. Например, при использовании git ЖЕЛАТЕЛЬНО идентифицировать каждую версию, используя теги git. [version_tags]

    Gnuastro uses Git tags for major releases, see under the "Tag" title in this link: http://git.savannah.gnu.org/cgit/gnuastro.git

    The Tag is then used for minor releases, as fully described here: https://www.gnu.org/software/gnuastro/manual/html_node/Version-numbering.html


  • Примечания к выпуску


    Проект ОБЯЗАН предоставлять с каждой выпускаемой версией замечания к выпуску - удобочитаемые человеком сведения об основных изменениях в этом выпуске, помогающие пользователям определить, должны ли они обновляться и какими будут последствия обновления. НЕДОПУСТИМО делать замечания к выпуску сырым выводом журнала управления версиями (например, результаты команды «git log» не являются замечаниями к выпуску). Проекты, результаты которых не предназначены для повторного использования в нескольких местах (например, программное обеспечение для одного веб-сайта или службы) И выдаются через непрерывную доставку (continuous delivery) МОГУТ выбрать «неприменимо» (N/A). (Требуется URL) [release_notes]

    Every major and alpha release of Gnuastro is announced in the `info-gnuastro' mailing list: http://lists.gnu.org/archive/html/info-gnuastro/

    As you can see in each, the announcement comes with a full copy of this release's section in the NEWS file (which is human readable file, even for someone who doesn't know programming or Git). Also, the hashes for the tarballs so users can be sure that what they get is what we distributed.



    В замечаниях о выпуске НЕОБХОДИМО упоминать каждую общеизвестную уязвимость, исправленную ​​в каждой новой версии, для которой существует CVE или аналогичная публичная запись. Критерий может быть отмечен как неприменимый (N/A), если у пользователей обычно нет практической возможности обновить данное ПО самостоятельно (это часто относится к, например, обновлениям ядра операционной системы). Если замечаний о выпуске не публиковалось или не было обнародованных уязвимостей, отвечайте "неприменимо". [release_notes_vulns]

    The NEWS file in each release announcement describes all the important known vulnerabilities (bugs) that have been fixed: http://lists.gnu.org/archive/html/info-gnuastro/


  • Процесс сообщения об ошибках


    Проект ОБЯЗАН предоставить пользователям возможность отправлять сообщения об ошибках (например, используя систему отслеживания ошибок или список рассылки). (Требуется URL) [report_process]

    Any anonymous user can post an issue on our "Support tracker": http://savannah.gnu.org/support/?func=additem&group=gnuastro . They can also send mails to bug-gnuastro:a:t:gnu.org or help-gnuastro:a:t:gnu.org.



    СЛЕДУЕТ использовать трекер вопросов (issue tracker) для отслеживания отдельных вопросов. [report_tracker]

    Проект ОБЯЗАН подтверждать получение большинства сообщений об ошибках, отправленных за последние 2-12 месяцев (включительно); подтверждение не обязательно включает исправление. [report_responses]

    The full list of solved and unsolved bugs are available in the main project management webpage: http://savannah.gnu.org/bugs/?group=gnuastro



    Проекту СЛЕДУЕТ реагировать на большинство (>50%) запросов на улучшения в течение последних 2-12 месяцев (включительно). [enhancement_responses]

    All the enhancements and their discussions are listed in our task tracker: http://savannah.gnu.org/task/?group=gnuastro



    Проект ОБЯЗАН иметь общедоступный архив для отчетов и ответов для последующего поиска. (Требуется URL) [report_archive]

    All the development discussions from all our trackers are distributed and archived through the gnuastro-devel mailing list: http://lists.gnu.org/archive/html/gnuastro-devel/


  • Процесс отчета об уязвимостях


    Проект ОБЯЗАН публиковать процесс уведомления об уязвимостях на сайте проекта. (Требуется URL) [vulnerability_report_process]

    There is a "Report a Bug" section in out top webpage: https://www.gnu.org/software/gnuastro/#bug which discusses the process to inform us of any vulnerability.



    Если поддерживаются приватные отчеты об уязвимости, проект ОБЯЗАН включить описание того, как отправлять сведения конфиденциальным способом. (Требуется URL) [vulnerability_report_private]

    Gnuastro is not a security software. If private issues must be discussed, users are encouraged to contact the maintainer directory (maintainer information is given on main webpage: https://www.gnu.org/software/gnuastro/



    Проект ОБЯЗАН обеспечивать время первоначального отклика на любой отчет об уязвимости, полученный за последние 6 месяцев, в пределах 14 дней или меньше. [vulnerability_report_response]

    From the main project management webpage (https://savannah.gnu.org/projects/gnuastro/), it is visible that many bugs (all the important ones) are fixed almost immediately (as of mid May 2017: only 13 open from a total of 59). The rest are minor and will be fixed when the developers have time.


  • Рабочая система сборки


    Если программное обеспечение, создаваемое проектом, требует сборки для использования, проект ОБЯЗАН предоставить рабочую систему сборки, которая может автоматически пересобирать программное обеспечение из исходного кода. [build]

    Gnuastro uses the GNU Build System (./configure',make', make check',make install'): https://www.gnu.org/software/gnuastro/manual/html_node/Quick-start.html



    ЖЕЛАТЕЛЬНО использовать общеупотребительные инструменты для сборки программного обеспечения. [build_common_tools]

    Gnuastro uses the GNU Build System (./configure',make', make check',make install'): https://www.gnu.org/software/gnuastro/manual/html_node/Quick-start.html



    Для сборки проекта СЛЕДУЕТ использовать только инструменты со свободными лицензиями. [build_floss_tools]

    Gnuastro uses the GNU Build System (./configure',make', make check',make install'): https://www.gnu.org/software/gnuastro/manual/html_node/Quick-start.html


  • Набор автотестов


    Проект ОБЯЗАН использовать по крайней мере один автоматизированный набор тестов, опубликованный как свободное ПО (этот набор тестов может поддерживаться как отдельный проект свободного ПО). Проект ОБЯЗАН ясно показывать или иметь документацию о том, как запускать наборы тестов (например, через непрерывную интеграцию (CI) или используя файлы документации, такие как BUILD.md, README.md или CONTRIBUTING.md). [test]

    Gnuastro currently has 51 tests that are executed when the user runs `make check'.



    Запуск набора тестов СЛЕДУЕТ реализовывать стандартным способом для этого языка. [test_invocation]

    Gnuastro uses `make check'.



    ЖЕЛАТЕЛЬНО охватывать набором тестов большинство (а в идеале все) ветви кода, поля ввода и функциональные возможности. [test_most]

    It covers most of the basic operations, it would be ideal to cover all, but the developers don't have enough resources to invest in them, so we have designed it based on the major features.



    ЖЕЛАТЕЛЬНО реализовать непрерывную интеграцию (Continuous Integration - частая интеграция нового или измененного кода в центральное хранилище кода, и запуск автоматических тестов на получившейся базе кода). [test_continuous_integration]

    Before each commit is pushed to the main repo a `make distcheck' is done and everything is checked. On major releases, it is tested as part of GNU Guix: http://hydra.gnu.org/job/gnu/master/gnuastro-0.2.x86_64-linux and Debian: https://packages.debian.org/sid/science/gnuastro . We do plan to include automatic continuous integration in the future.


  • Тестирование новых функций


    Проект ОБЯЗАН иметь общую политику (формальную или нет), обязывающую добавлять тесты в набор автоматических тестов по мере добавления новых функциональных возможностей к программному обеспечению, создаваемому проектом. [test_policy]

    With every major features, a test is added in the tests/' directory and thus tomake check'.



    Проект ОБЯЗАН иметь доказательства того, что критерий test_policy о добавлении тестов соблюдался при недавних крупных изменениях ПО, создаваемого проектом. [tests_are_added]


    ЖЕЛАТЕЛЬНО задокументировать эту политику добавления тестов (см. критерий test_policy) в инструкции к предложениям об изменениях. [tests_documented_added]

    In the "Developing" chapter of the Gnuastro book, we try to discuss this with the developers or those interested: https://www.gnu.org/software/gnuastro/manual/html_node/Test-scripts.html


  • Флаги предупреждений


    Проект ОБЯЗАН включать один или несколько предупреждающих флагов компилятора, «безопасный» языковой режим или использовать отдельный инструмент «linter» для поиска ошибок качества кода или типовых простых ошибок, если есть хотя бы один инструмент на свободном ПО, который может реализовать этот критерий на выбранном языке. [warnings]

    Gnuastro is built with the -Wall' flag: see AM_INIT_AUTOMAKE in ourconfigure.ac': http://git.savannah.gnu.org/cgit/gnuastro.git/tree/configure.ac



    Проект ОБЯЗАН обращать внимание на предупреждения. [warnings_fixed]

    We fix any compiler warnings that we see or are reported to us to have a clean build.



    ЖЕЛАТЕЛЬНО, чтобы проекты использовали самый строгий режим предупреждений в производимом ПО, где это целесообразно. [warnings_strict]

    That is correct, For example this commit: http://git.savannah.gnu.org/cgit/gnuastro.git/commit/?id=195fae5be4f3 where several compiler warning were reported to us and we immediately addressed them.


  • Знание безопасной разработки


    По крайней мере один основной разработчик на проекте ОБЯЗАН знать, как проектировать безопасное программное обеспечение (точные требования описаны в подробностях к критерию). [know_secure_design]

    While the primary developer is an astronomer (not a security expert), Gnuastro has been designed with all the issues in this list in mind and actually applies all of them. Generally, in no time does Gnuastro need special privileges.



    По крайней мере, один из основных разработчиков проекта ОБЯЗАН знать об общих видах ошибок, которые приводят к уязвимостям в этом виде программного обеспечения, а также по крайней мере одному методу противодействия или смягчения каждого из них. [know_common_errors]

    Gnuastro does not deal with these kinds of operations.


  • Основы правильного использования криптографии

    Обратите внимание, что некоторое ПО не нуждается в использовании криптографических механизмов.

    Программное обеспечение, созданное проектом, ОБЯЗАНО использовать по умолчанию только публикуемые криптографические протоколы и алгоритмы, которые анализируются экспертами (если используются криптографические протоколы и алгоритмы). [crypto_published]


    Если программное обеспечение, создаваемое проектом, является приложением или библиотекой, и его основной целью является не внедрение криптографии, тогда для реализации криптографических функций СЛЕДУЕТ обращаться к программному обеспечению, специально предназначенному для этого; НЕ СЛЕДУЕТ повторно реализовывать свои собственные функции. [crypto_call]


    Вся функциональность программного обеспечения, создаваемого проектом, которая зависит от криптографии, ОБЯЗАНА быть реализована с использованием свободного ПО. [crypto_floss]


    Механизмы безопасности в программном обеспечении, создаваемом проектом, ОБЯЗАНЫ использовать стандартные длины криптографических ключей, которые, по крайней мере, соответствуют минимальным требованиям NIST до 2030 года (как указано в 2012 году). Проект ОБЯЗАН предоставлять возможность настройки ПО таким образом, чтобы уменьшенные длины ключей были полностью отключены. [crypto_keylength]


    Механизмы безопасности по умолчанию в программном обеспечении, создаваемом проектом, НЕДОПУСТИМО делать зависимыми от взломанных криптографических алгоритмов (например, MD4, MD5, single DES, RC4, Dual_EC_DRBG) или использовать режимы шифрования, которые не подходят для контекста, если только они не требуются для интероперабельности протокола (поддерживающего самую новую версию стандарта на этот протокол, широко распространенного в сетевой экосистеме, причем эта экосистема требует использования данного алгоритма или режима, не предлагая более безопасных альтернатив). В документации НЕОБХОДИМО описать все связанные с этим риски безопасности и все известные способы смягчения рисков, если данные алгоритмы или режимы действительно нужны для совместимости с другими реализациями этого протокола. [crypto_working]


    Механизмы безопасности по умолчанию в программном обеспечении, создаваемом проектом, НЕ СЛЕДУЕТ делать зависимыми от криптографических алгоритмов или режимов с известными серьезными слабостями (например, криптографический алгоритм хеширования SHA-1 или режим CBC в SSH). [crypto_weaknesses]


    В механизмах безопасности в программном обеспечении, создаваемом проектом, СЛЕДУЕТ реализовать совершенную прямую секретность для протоколов соглашений о ключах, чтобы ключ сеанса, произведенный из набора долгосрочных ключей, не мог быть скомпрометирован, если один из долгосрочных ключей скомпрометирован в будущем. [crypto_pfs]


    Если ПО, создаваемое проектом, требует хранить пароли для аутентификации внешних пользователей, НЕОБХОДИМО хранить пароли как итерированные хеши с солью для каждого пользователя с использованием алгоритма (итерированного) растяжения ключа (например, PBKDF2, Bcrypt или Scrypt). См. также: OWASP Password Storage Cheat Sheet (на англ.). [crypto_password_storage]


    Механизмы безопасности в программном обеспечении, создаваемом проектом, ОБЯЗАНЫ генерировать все криптографические ключи и временные значения с использованием криптографически безопасного генератора случайных чисел; НЕДОПУСТИМО делать это с использованием генераторов, которые криптографически небезопасны. [crypto_random]

  • Доставка, защищенная от атак посредника (MITM)


    Проект ОБЯЗАН использовать механизм доставки, устойчивый против атак посредника (MITM). Приемлемо использование https или ssh + scp. [delivery_mitm]


    НЕДОПУСТИМО получать криптографические контрольные суммы (например, sha1sum) по HTTP и использовать их без проверки криптографической подписи. [delivery_unsigned]

  • Исправление обнародованных уязвимостей


    НЕДОПУСТИМО оставлять незакрытыми уязвимости со степенью серьезности средней или выше, опубликованные более 60 дней назад. [vulnerabilities_fixed_60_days]


    Проектам СЛЕДУЕТ оперативно исправлять критические уязвимости после сообщения о них. [vulnerabilities_critical_fixed]

  • Другие вопросы безопасности


    НЕДОПУСТИМА утечка действующих частных учетных данных (например, рабочий пароль или закрытый ключ), предназначенных для ограничения общего доступа, из публичных репозиториев. [no_leaked_credentials]

  • Статический анализ кода


    НЕОБХОДИМО применять по крайней мере, один инструмент анализа статического кода (помимо предупреждений компилятора и "безопасных" режимов языка) к любой предлагаемой основной версии создаваемого ПО до ее выпуска, если есть хотя бы один инструмент на свободном ПО, который реализует этот критерий на выбранном языке. [static_analysis]

    We will look into this and try to find a good static code analysis method.



    ЖЕЛАТЕЛЬНО включать по крайней мере в один из инструментов статического анализа, используемых для критерия static_analysis, правила или подходы для поиска распространенных уязвимостей в анализируемом языке или среде. [static_analysis_common_vulnerabilities]

    We haven't implemented a static code analyzer yer.



    Все уязвимости со средней и высокой степенью серьезности, обнаруженные при статическом анализе кода, НЕОБХОДИМО своевременно исправлять после их подтверждения. [static_analysis_fixed]


    ЖЕЛАТЕЛЬНО выполнять анализ статического исходного кода при каждом коммите или по крайней мере ежедневно. [static_analysis_often]

    We will implement static code analysis in the future.


  • Динамический анализ кода


    ЖЕЛАТЕЛЬНО применять по крайней мере один инструмент динамического анализа к любой предлагаемой основной (major) версии программного обеспечения перед ее выпуском . [dynamic_analysis]


    ЖЕЛАТЕЛЬНО регулярно использовать по меньшей мере один динамический инструмент (например, fuzzer или сканер веб-приложения) в сочетании с механизмом для обнаружения проблем безопасности памяти, таких как перезапись буфера, если программное обеспечение, создаваемое проектом, включает части, написанные на небезопасном языке (например, C или C++). Если проект не создает программное обеспечение, написанное на небезопасном языке, выберите «неприменимо» (N/A). [dynamic_analysis_unsafe]

    We use Valgrind for checking the dynamic memory allocations in Gnuastro.



    ЖЕЛАТЕЛЬНО включать в ПО, создаваемое проектом, достаточно много утверждений (assertions) времени выполнения, проверяемых при динамическом анализе. Во многих случаях эти утверждения не должны попадать в сборки под эксплуатацию (production). [dynamic_analysis_enable_assertions]

    We check every allocation and it is only used if a non-NULL pointer is returned by malloc' orcalloc'.



    Проект ОБЯЗАН своевременно исправлять все уязвимости средней и выше степени серьезности, обнаруженные при динамическом анализе кода, после их подтверждения. [dynamic_analysis_fixed]

    We fix such issues immediately.



Эти данные доступны под лицензией Creative Commons Attribution версии 3.0 или более поздней (CC-BY-3.0+). Все могут свободно делиться и адаптировать эти данные, но должны указывать соответствующие ссылки. При распространении, пожалуйста, указывайте "Mohammad Akhlaghi and the OpenSSF Best Practices badge contributors".

Владелец анкеты на значок проекта: Mohammad Akhlaghi.
2017-05-17 17:02:27 UTC, последнее изменение сделано 2017-05-17 18:27:49 UTC.

Назад