@vaccinesignup

本サイトが提示する下記のベストプラクティスを実行するプロジェクトは、Open Source Security Foundation (OpenSSF) バッジを達成したことを自主的に自己認証し、そのことを外部に示すことができます。

これがあなたのプロジェクトなら、あなたのプロジェクトページにあなたのバッジステータスを表示してください!バッジステータスは次のようになります。 プロジェクト 5405 のバッジ レベルは passing です バッジステータスの埋め込み方法は次のとおりです。

これらはシルバーレベルの基準です。合格またはゴールドレベル基準を表示することもできます。

        

 基本的情報 15/17

  • 識別情報

    Notify LA-County users about available vaccine appointments.

  • 前提要件


    プロジェクトは合格レベルバッジに達成しなければなりません。 [achieve_passing]

  • 基本的なプロジェクト ウェブサイトのコンテンツ


    貢献する方法に関する情報には、受け入れ可能な貢献の要件(例えば、必要なコーディング標準への言及)が含まれなければなりません。 (URLが必要です) [contribution_requirements]

    Projects on GitHub by default use issues and pull requests, as encouraged by documentation such as https://guides.github.com/activities/contributing-to-open-source/.


  • プロジェクトの管理・運営


    プロジェクトは、プロジェクト ソフトウェアのそれなりの量を開発しているすべての開発者が、これらの貢献を行うことが法的に認められていると主張すりょうな法的な仕組みを持っていなければなりません。これを行うための最も一般的で簡単に実装されたアプローチは、開発者証明書(DCO)を使用することです。ユーザーは、 DCOのウェブサイトへのプロジェクトのリンクが表示されます。ただし、これはコントリビュータ ライセンス契約(CLA)またはその他の法的な仕組みとして実装することができます。 (URLが必要です) [dco]

    The contributing guidelines specify a DCO, while the PR template includes the signed-off-by line.



    プロジェクトは、プロジェクト ガバナンス モデル(主要な役割を含む意思決定方法)を明確に定義し、文書化しなければなりません。 (URLが必要です) [governance]

    The Wiki documents our governance model.



    プロジェクトは、行動規範を採択し、標準的な場所に掲示しなければなりません。 (URLが必要です) [code_of_conduct]

    The project has adopted the Ruby Community Conduct Guideline.



    プロジェクトは、プロジェクトでの重要な役割と役割が実行しなければならないタスクを含む責任を明確に定義し、公的に文書化しなければなりません。誰がどの役割を持っているかは明確でなければなりませんが、これは同じ方法で文書化されていない可能性があります。 (URLが必要です) [roles_responsibilities]

    The governance model documents roles and responsibilities.



    いずれかの人が仕事を継続できなくなるまたは死亡した場合、プロジェクトは最小限の中断で継続することができなければなりません。特に、プロジェクトは、課題の作成と終了、提案された変更の受け入れ、およびバージョンのソフトウェアのリリース、1週間内に個人が仕事を継続できくなったことまたは死亡したことの確認、行うことができなければならない。これは、他の誰かがプロジェクトを継続するのに必要な鍵、パスワード、法的権利を持っていることを保証することによって行うことができます。 FLOSSプロジェクトを実行する個人は、ロックボックスにキーを提供し、必要な法的権利を提供する意志(例えば、DNS名のために)を提供することによって、これを行うことができます。 (URLが必要です) [access_continuity]


    プロジェクトは2以上の "バス ファクタ"を持っているべきです。 (URLが必要です) [bus_factor]

  • ドキュメンテーション


    プロジェクトは、少なくとも翌年に、プロジェクトが何をしたいか、やるつもりはないかを記述した文書化されたロードマップを持っていなければなりません。 (URLが必要です) [documentation_roadmap]

    The Wiki documents the project roadmap.



    プロジェクトは、プロジェクトによって作成されたソフトウェアのアーキテクチャー(いわゆる高水準設計)の文書を含まなければなりません。プロジェクトでソフトウェアが作成されない場合は、「該当なし」(N/A)を選択します。 (URLが必要です) [documentation_architecture]

    The Wiki documents the project architecture.



    プロジェクトは、ユーザーが、プロジェクトによって作成されたソフトウェアからセキュリティの観点から期待できるものと期待できないものを文書化しなければなりません。(セキュリティ要件) (URLが必要です) [documentation_security]

    The Wiki documents the security requirements.



    プロジェクトでは、新規ユーザーがソフトウェアで何かをすばやく実行できるようにするための「クイックスタート」ガイドを提供する必要があります。 (URLが必要です) [documentation_quick_start]

    The README includes a quick-start guide.



    プロジェクトは、現行バージョンのプロジェクト結果(プロジェクトによって作成されたソフトウェアを含む)とドキュメントの整合性を保つために努力しなければならない。 不一致を招く既知のドキュメントの欠陥は、修正しなければなりません。ドキュメントが一般的に最新のものですが、古い情報が誤って含まれて、もはや正しくない場合は、それを欠陥として扱い、通常どおりに追跡して修正してください。 [documentation_current]

    Complete RDoc documentation is available inline in the source.



    プロジェクトのリポジトリのフロントページおよび/またはウェブサイトは、このベストプラクティスのバッジを含め、成果が達成されたことを一般に認められてから48時間以内に特定し、ハイパーリンクする必要があります。 (URLが必要です) [documentation_achievements]

    The README displays continuous-integration badges, including the best-practices badge.


  • アクセシビリティと国際化


    プロジェクト(プロジェクト サイトとプロジェクト結果の両方)は、アクセシビリティのベストプラクティスに従い、障害のある人が引き続きプロジェクトに参加し、プロジェクトの結果を合理的な範囲で使用することができるようにするべきです。 [accessibility_best_practices]

    As a Twitter bot, this project is fundamentally text-based and so is fairly accessible as-is.



    プロジェクトによって作成されたソフトウェアは、ターゲット オーディエンスの文化、地域、または言語へのローカリゼーションを容易にするために国際化されるべきです。国際化(i18n)が適用されない場合(たとえば、ソフトウェアがエンドユーザー向けのテキストを生成せず、人間が読めるテキストを扱わない場合)、「該当なし」(N/A)を選択します。 [internationalization]

    As a wrapper for the Twitter gem, which doesn't currently support internationalization, this project can't easily support localization. Notwithstanding these technical constraints, the project's output primarily consists of proper nouns—pharmacy or clinic names and street addresses—limiting the utility of translations.


  • その他


    プロジェクト サイト(ウェブサイト、リポジトリ、およびダウンロードURL)が外部ユーザーの認証用のパスワードを格納する場合、パスワードは、キーストレッチ(反復)アルゴリズム(PBKDF2、Bcrypt、Scrypt、PBKDF2など)を使用してユーザーごとのソルトで反復ハッシュとして保存する必要があります。プロジェクトサイトがこの目的のためにパスワードを保存しない場合は、「該当なし」(N/A)を選択します。 [sites_password_security]

    No user passwords are used.


  • 以前のバージョン


    プロジェクトは、最も頻繁に使用される古いバージョンの製品を維持するか、または新しいバージョンへのアップ グレードを提供しなければなりません。アップ グレード方法が困難な場合は、プロジェクトは、アップグレード方法(変更されたインターフェイスや、アップグレードに役立つ詳細な手順など)を記載しなければなりません。 [maintenance_or_update]

    Only the bot's latest release is live.


  • バグ報告プロセス


    プロジェクトは、個々の課題を追跡するための課題トラッカーを使用する必要があります。 [report_tracker]

    This project uses GitHub Issues.


  • 脆弱性報告プロセス


    プロジェクトは、匿名の報告者を除いて、過去12ヶ月間に解決されたすべての脆弱性の報告者に信用していることを伝えなければなりません。過去12ヶ月間に解決された脆弱性がない場合は、「該当なし」(N / A)を選択します。 (URLが必要です) [vulnerability_report_credit]

    All vulnerabilities have so far been reported by Dependabot.



    プロジェクトには、脆弱性レポートに対応するための文書化されたプロセスがなければなりません。 (URLが必要です) [vulnerability_response_process]

    Dependabot automatically addresses known vulnerabilities. Users can also report ones they find.


  • コーディング標準


    プロジェクトは、使用する主要な言語のための特定のコーディング スタイル ガイドを指定しなければなりませんし、貢献が一般にそれに準拠することを要求しなければなりません。 (URLが必要です) [coding_standards]

    CI runs rubocop which enforces standard Ruby style.



    選択した言語において行うことができるFLOSSツールが少なくとも1つあれば、プロジェクトは自動的に選択したコーディングスタイルを適用しなければなりません。 [coding_standards_enforced]

    CI runs rubocop which enforces standard Ruby style.


  • 作業ビルドシステム


    ネイティブ バイナリのビルドシステムは、それらに渡される関連するコンパイラおよびリンカ(環境)変数(CC、CFLAGS、CXX、CXXFLAGS、LDFLAGSなど)を受け入れ、コンパイラおよびリンカ呼び出しに渡す必要があります。ビルド システムは追加のフラグでそれらを拡張するかもしれません。提供された値を単にそれ自身のものに置き換えてはいけません。ネイティブバイナリが生成されていない場合は、「該当なし」(N/A)を選択します。 [build_standard_variables]

    No native binaries are involved.



    ビルドとインストール システムは、関連するフラグ(例えば、 "install -s"が使用されていない)で要求されたデバッグ情報を保存しておくべきです。ビルドやインストール システムがない場合(例:一般的なJavaScriptライブラリ)は、「該当なし」(N/A)を選択します。 [build_preserve_debug]

    No build/installation system involving compilation is used since the project is written in Ruby.



    プロジェクトによって作成されたソフトウェアのビルド システムは、サブディレクトリに相互依存関係がある場合、再帰的にサブディレクトリをビルドしてはなりません。ビルドやインストール システムがない場合(例:一般的なJavaScriptライブラリ)は、「該当なし」(N/A)を選択します。 [build_non_recursive]

    No build/installation system involving compilation is used since the project is written in Ruby.



    プロジェクトは、ソースファイルから情報を生成するプロセスを繰り返すことができなければならず、ビット単位でまったく同じ結果を得ることができなければなりません。ビルドが発生しない場合(例えば、ソースコードをコンパイルする代わりに直接使用するスクリプト言語)は、「該当なし」(N/A)を選択します。 [build_repeatable]

    No build/installation system involving compilation is used since the project is written in Ruby.


  • インストールシステム


    プロジェクトは、プロジェクトで作成されたソフトウェアを一般的に使用されているやり方で簡単にインストールおよびアンインストールする方法を提供する必要があります。 [installation_common]

    Users can uninstall by reversing the installation instructions and using gem uninstall on the gems from the Gemfile.



    エンドユーザ用のインストール システムは、インストール時にビルドされる生成物が書き込まれる場所を選択するための標準的な規則を守らなければなりません。たとえば、POSIXシステムにファイルをインストールする場合は、DESTDIR環境変数を守らなければなりません。インストール システムがない場合や標準的な規約がない場合は、「該当なし」(N / A)を選択します。 [installation_standard_variables]

    No installation system is used.



    プロジェクトは、潜在的な開発者がすべてのプロジェクト結果を迅速にインストールし、テストやテスト環境を含む変更を行うために必要な環境を迅速にインストールする方法を提供しなければなりません。これは、一般に使用されている手法で実行する必要があります。 [installation_development_quick]

    This project notes required environment variables in the README and CI runs standard RSpec for testing.


  • 外部で維持管理されるコンポーネント


    プロジェクトは、外部依存関係をコンピュータ処理可能な方法でリストしなければなりません。 (URLが必要です) [external_dependencies]

    All dependencies are maintained by Bundler in Gemfile.



    プロジェクトは、既知の脆弱性を検出し、悪用可能な脆弱性を修正したり、悪用できない脆弱性として確認するために、外部の依存先(コンビニエンス コピーを含む)を監視または定期的にチェックしなければなりません。 [dependency_monitoring]

    Dependabot automatically patches known vulnerabilities by opening pull requests which are promptly merged.



    プロジェクトは
    1. 再使用された外部管理コンポーネントの識別と更新を容易にできるようにしている、 または
    2. システムまたはプログラミング言語によって提供される標準コンポーネントを使用している
    のどちらかでなければなりません。そうすれば、再利用されたコンポーネントに脆弱性が見つかった場合に、そのコンポーネントを簡単に更新することができます。 [updateable_reused_components]
    1. All dependencies are listed in the gemspec and maintained by Bundler.
    2. Dependabot automatically patches known vulnerabilities by opening pull requests which are promptly merged.


    プロジェクトは、使用するテクノロジ セット(その "テクノロジ スタック")において、プロジェクトがサポートするユーザの超大多数がFLOSSの代替案を利用可能な(ユーザが代替手段にアクセスしている)場合には、評価の低いまたは時代遅れの機能とAPIの使用を避けるべきです。 [interfaces_current]

    CI calls rubocop, which identifies deprecated/obsolete functions as failures.


  • 自動テスト スイート


    少なくとも1つのブランチの共有リポジトリへの各チェックインに対して、自動テスト スイートが適用される必要があります。このテスト スイートは、テストの成功または失敗に関するレポートを生成しなければなりません。 [automated_integration_testing]

    CI invokes RSpec as a GitHub Action and displays results as a badge in the README.



    プロジェクトは、過去6ヶ月以内に修正されたバグの少なくとも50%について、自動テスト スイートに回帰テストを追加しなければなりません。 [regression_tests_added50]

    No programmatic bugs (as opposed to CI) have been reported in the last six months, but adding regression tests is SOP anyway.



    プロジェクトは、選択された言語でこの基準を測定できる少なくとも1つのFLOSSツールがある場合、少なくとも80%のステートメントカバレッジを提供するFLOSS自動テストスイートを備えていなければなりません。 [test_statement_coverage80]

    CI currently reports 96% coverage.


  • 新機能テスト


    プロジェクトには、主要な新機能が追加されると、新しい機能のテストが自動化されたテスト スイートに追加されなければならないという正式な文書化されたポリシーがなければなりません。 [test_policy_mandated]

    This is documented in the contributing guidelines.



    プロジェクトは、変更提案のための文書化された手順に、重要な新機能用にテストを追加するという方針を含まなければなりません。 [tests_documented_added]

    This is documented in the pull-request template.


  • 警告フラグ


    プロジェクトによって作成されたソフトウェアにある警告に、実際的な場合には、最大限に厳格にならなければなりません。 [warnings_strict]

    This project is in Ruby and so requires no compilation.


  • セキュリティに関する開発知識


    適用できる場合、プロジェクトはセキュア設計原則(「know_secure_design」から)を実装しなければなりません。プロジェクトでソフトウェアが作成されていない場合は、「該当なし」(N / A)を選択します。 [implement_secure_design]

    Because Twitter requires an API key, the library will fail by default since there is no default key.


  • 優良な暗号手法を使用する

    一部のソフトウェアは暗号化メカニズムを使用する必要がないことに注意してください。あなたのプロジェクトが作成するソフトウェアが、(1) 暗号化機能を含む、アクティブ化する、または有効化し、(2) 米国(US)から米国外または米国市民以外にリリースされる可能性がある場合は、法的に義務付けられた追加手順の実行を要求される可能性があります。通常、これにはメールの送信が含まれます。詳細については、 Understanding Open Source Technology & US Export Controls「オープンソース技術と米国の輸出管理について」)の暗号化のセクションを参照してください。

    プロジェクトによって作成されたソフトウェア内のデフォルトのセキュリティ メカニズムは、既知の重大な脆弱性を持つ暗号アルゴリズムやモード(たとえば、SHA-1暗号ハッシュ アルゴリズムまたはSSHのCBC モード)に依存してはいけません。 [crypto_weaknesses]


    プロジェクトは複数の暗号アルゴリズムをサポートするべきですので、ユーザーは破られた場合に素早く切り替えることができます。一般的な対称鍵アルゴリズムには、AES、Twofish、およびSerpentがあります。一般的な暗号化ハッシュ アルゴリズムには、SHA-2(SHA-224、SHA-256、SHA-384およびSHA-512を含む)およびSHA-3があります。 [crypto_algorithm_agility]


    プロジェクトは、他の情報(構成ファイル、データベース、ログなど)とは別にしたファイルに、認証資格情報(パスワードやダイナミックトークンなど)やプライベート暗号鍵を格納することをサポートしなければなりませんし、ユーザーがコードの再コンパイルなしにそれらを更新や置き換えできるように許可しなければなりません。プロジェクトが認証資格情報とプライベート暗号化鍵を決して処理しない場合は、「該当なし」(N/A)を選択します。 [crypto_credential_agility]


    プロジェクトで作成されたソフトウェアは、ネットワーク通信すべてに対して、SSHv2以降、TLS1.2以降 (HTTPS)、IPsec、SFTP、SNMPv3などのセキュア プロトコルをサポートするべきです。FTP、HTTP、telnet、SSLv3以前、およびSSHv1などのセキュアでないプロトコルは、デフォルトで無効にし、ユーザーが特別に設定した場合のみ有効にするべきです。プロジェクトによって作成されたソフトウェアがネットワーク通信をサポートしない場合は、「該当なし」(N/A)を選択します。 [crypto_used_network]


    プロジェクトによって作成されたソフトウェアは、TLSをサポートあるいは使用する場合、少なくともTLSバージョン1.2をサポートするべきです。TLSの前身は、SSLと呼ばれていたことに注意して下さい。ソフトウェアがTLSを使用ない場合、「該当なし」(N/A)を選択します。 [crypto_tls12]


    TLSをサポートしている場合、プロジェクトで作成されたソフトウェアは、TLSを使う時には、サブリソースを含めて、デフォルトでTLS認証を受けなければなりません。ソフトウェアがTLSを使用しない場合、「該当なし」(N/A)を選択します。 [crypto_certificate_verification]


    TLSをサポートしている場合、プロジェクトによって作成されたソフトウェアは、(たとえばセキュアクッキーなど)プライベートな情報をHTTPヘッダと共に送信する前に、証明書の検証をしなければなりません。ソフトウェアがTLSを使用しない場合は、「該当なし」(N/A)を選択します。 [crypto_verification_private]

  • 公開物の安全性


    プロジェクトは、広く普及することを意図しているプロジェクト結果のリリースには暗号で署名しなければなりませんし、パブリック署名鍵を入手して署名を検証する方法をユーザに説明するプロセスがなければなりません。これらの署名の秘密鍵は、ソフトウェアを一般に直接配布するために使用されるサイトにあってはなりません。リリースが広く普及することを意図していない場合は、「該当なし」(N/A)を選択します。 [signed_releases]

    The project is a Twitter bot whose code is not intended for widespread use.



    バージョン管理システムでは、 signed_releases で説明されているように、重要なバージョンタグ(メジャーリリース、マイナーリリース、または公開されている脆弱性の一部であるタグ)を暗号署名して検証することが推奨されています。 [version_tags_signed]

  • その他のセキュリティ上の課題


    プロジェクトの結果は、潜在的に信頼できないソースからのすべての入力をチェックして有効であること(*allowlist*)を確認し、データに何らかの制限がある場合は無効な入力を拒否しなければなりません。 [input_validation]

    Any user input is validated as zip codes and any non-matching content is discarded.



    プロジェクトによって作成されたソフトウェアで強化メカニズムを使用するべきですので、ソフトウェア欠陥がセキュリティ上の脆弱性を引き起こす可能性が低くなります。 [hardening]

    This project is a strict wrapper of the Twitter-client gem; hardened response headers are up to the library to apply. Since it isn't compiled, compiler flags don't appy. We believe the scope for attack is limited to direct-message input from Twitter and vulnerabilities in dependencies and Ruby itself. We mitigate the former's risk by discarding any untrusted input, while we address the latter risks by using Dependabot to patch known vulnerabilities automatically.



    プロジェクトは、そのセキュリティ要件が満たされていることを証明する保証ケースを提供しなければならない。保証ケースには、脅威モデルの説明、信頼境界の明確な識別、セキュアな設計原則が適用されていることの議論、共通の実装セキュリティの弱点が対処されたことの議論が含まれなければならない。 (URLが必要です) [assurance_case]

    The Wiki documents an assurance case.


  • 静的コード解析


    プロジェクトは、選択された言語でこの基準を実装できる少なくとも1つのFLOSSツールがある場合、解析された言語または環境で共通の脆弱性を探すためのルールまたはアプローチを備えた少なくとも1つの静的解析ツールを使用しなければならなりません。 [static_analysis_common_vulnerabilities]

    CodeQL and Dependabot automatically scan for known vulnerabilities and open patches/issues for them.


  • 動的コード分析


    もしプロジェクトで作成されたソフトウェアにメモリ安全でない言語(CやC ++など)を使用して作成されたソフトウェアが含まれているならば、そのときには 少なくとも1つの動的ツール(たとえば、ファジーまたはウェブ アプリケーション スキャナ)を、バッファの上書きなどのメモリの安全性の問題を検出するメカニズムと一緒にいつも使用します。プロジェクトがメモリ安全でない言語で書かれたソフトウェアを作成しない場合は、「該当なし」(N/A)を選択します。 [dynamic_analysis_unsafe]

    Project uses Ruby.



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 Roderick Monje and the OpenSSF Best Practices badge contributors.

プロジェクト バッジ登録の所有者: Roderick Monje.
エントリの作成日時 2021-11-27 19:19:05 UTC、 最終更新日 2024-11-11 07:06:39 UTC 最後に2021-11-30 01:01:47 UTCにバッジ合格できませんでした。 最後に2021-11-30 01:04:26 UTCにバッジ合格を達成しました。

もどる