Automation-repetitive-task-software

Projects that follow the best practices below can voluntarily self-certify and show that they've achieved an Open Source Security Foundation (OpenSSF) best practices badge.

If this is your project, please show your badge status on your project page! The badge status looks like this: Badge level for project 8239 is gold Here is how to embed it:

These are the Gold level criteria. You can also view the Passing or Silver level criteria.

        

 Basics 5/5

  • Identification

    Tremendous automation repetitive task Sofware with the motive of contributing to what makes your day to day activities much easier and accessible for you at your work place.

  • Prerequisites


    The project MUST achieve a silver level badge. [achieve_silver]

  • Project oversight


    Mradi LAZIMA uwe na "bus factor" ya 2 au zaidi. (URL required) [bus_factor]

    Thank you for the opportunity to share the details about my work. However, I was able to acquire the Digital object identification badge through zenodo which makes all my research contributions and recognition attributed to me. The DOI provides a comprehensive bus factor where Bus factor was linked to my GitHub account through the zenodo website. URL: https://zenodo.org/records/10829824



    Mradi LAZIMA uwe na angalau wachangiaji wawili wasiohusika. (URL required) [contributors_unassociated]
  • Other


    The project MUST include a license statement in each source file. This MAY be done by including the following inside a comment near the beginning of each file: SPDX-License-Identifier: [SPDX license expression for project]. [license_per_file]

    I added Apache License file for my project and it can be downloaded from my GitHub repository. https://github.com/KIDI-S-TECH/Automation-repetitive-task-software/blob/main/Apache%20license


  • Public version-controlled source repository


    The project's source repository MUST use a common distributed version control software (e.g., git or mercurial). [repo_distributed]

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



    The project MUST clearly identify small tasks that can be performed by new or casual contributors. (URL required) [small_tasks]

    Yes a demo repository has been automated to ensure that any contributions or new user pass the test before proceeding to the next task on the project. URL: https://github.com/KIDI-S-TECH/demo-repository



    The project MUST require two-factor authentication (2FA) for developers for changing a central repository or accessing sensitive data (such as private vulnerability reports). This 2FA mechanism MAY use mechanisms without cryptographic mechanisms such as SMS, though that is not recommended. [require_2FA]

    The two-factor authentication (2fA) for developers for changing a central repository or accessing sensitive data. This was set up on the production stage of my project.



    The project's two-factor authentication (2FA) SHOULD use cryptographic mechanisms to prevent impersonation. Short Message Service (SMS) based 2FA, by itself, does NOT meet this criterion, since it is not encrypted. [secure_2FA]

    I understand the security protocols of 2FA and i used it on my project because my account on GitHub has a security layer that allows my account access to all my projects to pass through TOTP.


  • Coding standards


    Mradi LAZIMA uandike mahitaji yake ya kukagua msimbo, pamoja na jinsi ukaguzi wa nambari unafanywa, nini lazima ichunguzwe, na nini kinachohitajika ili ikubalike. (URL required) [code_review_standards]

    This was met on my repository and can be seen on my project url. All code standard were created and implemented in a very simple way with the help of my own project and it’ll be more easier for users or first time users to understand what the project was built for. URL: https://github.com/KIDI-S-TECH/Automation-repetitive-task-software/blob/main/README.md



    The project MUST have at least 50% of all proposed modifications reviewed before release by a person other than the author, to determine if it is a worthwhile modification and free of known issues which would argue against its inclusion [two_person_review]

    This was kinda met because it was hard finding someone who would audit my progress on my project. But it got over 950 clones with over 2k views on GitHub. With no issues or complaints from users However it was tested and modified for months before it was even released. So all production code and all the work was completed in a timely manner to ensure that the project will continue to grow and be successful.


  • Working build system


    The project MUST have a reproducible build. If no building occurs (e.g., scripting languages where the source code is used directly instead of being compiled), select "not applicable" (N/A). (URL required) [build_reproducible]

    Yes this project is reproducible build. Because it can also be accessed or produced new features directly from the source code from the release note. URL: https://github.com/KIDI-S-TECH/Automation-repetitive-task-software/archive/refs/tags/v3.zip


  • Automated test suite


    A test suite MUST be invocable in a standard way for that language. (URL required) [test_invocation]

    An html file was used to test the code in a way it pass the automation test and then run the code to test or confirmation. It passed the test and was awarded an html passing badge URL: https://github.com/KIDI-STECH/demo-repository



    The project MUST implement continuous integration, where new or changed code is frequently integrated into a central code repository and automated tests are run on the result. (URL required) [test_continuous_integration]

    yes, it does. the link below is a great one to jump on in reference to how continuous integration the software can run when codes are changed frequently. though it depends on what was removed and replaced on my software. for more details on how to use, the link below will redirect to my README.md for proper review. https://github.com/KIDI-S-TECH/demo-repository



    The project MUST have FLOSS automated test suite(s) that provide at least 90% statement coverage if there is at least one FLOSS tool that can measure this criterion in the selected language. [test_statement_coverage90]

    CodeQL was used as. FlOSS automated test which validates all the tests or pull requests on the project and analyze all the data to determine how much data was collected from the project. And this measures its criterion in the selected language JavaScript



    The project MUST have FLOSS automated test suite(s) that provide at least 80% branch coverage if there is at least one FLOSS tool that can measure this criterion in the selected language. [test_branch_coverage80]

    The Floss automated test suite was done on the master branch on GitHub before pushing to the main branch. I used Git bash for my CI for continuous integration and Automation.


  • Use basic good cryptographic practices

    Note that some software does not need to use cryptographic mechanisms. If your project produces software that (1) includes, activates, or enables encryption functionality, and (2) might be released from the United States (US) to outside the US or to a non-US-citizen, you may be legally required to take a few extra steps. Typically this just involves sending an email. For more information, see the encryption section of Understanding Open Source Technology & US Export Controls.

    The software produced by the project MUST support secure protocols for all of its network communications, such as SSHv2 or later, TLS1.2 or later (HTTPS), IPsec, SFTP, and SNMPv3. Insecure protocols such as FTP, HTTP, telnet, SSLv3 or earlier, and SSHv1 MUST be disabled by default, and only enabled if the user specifically configures it. If the software produced by the project does not support network communications, select "not applicable" (N/A). [crypto_used_network]

    My project supports the secure protocol for all of its network communication. The URL: https://github.com/KIDI-S-TECH/Automation-repetitive-task-software.git



    The software produced by the project MUST, if it supports or uses TLS, support at least TLS version 1.2. Note that the predecessor of TLS was called SSL. If the software does not use TLS, select "not applicable" (N/A). [crypto_tls12]

    The project is been built under a secured domain name protocol HTTPS which allows users to access the network without having to worry about security. Also it supports all protocols for network communication. URL: https://github.com/KIDI-S-TECH/Automation-repetitive-task-software.git


  • Secured delivery against man-in-the-middle (MITM) attacks


    The project website, repository (if accessible via the web), and download site (if separate) MUST include key hardening headers with nonpermissive values. (URL required) [hardened_site]

    Found all required security hardening headers. Repository git website: https://github.com/KIDI-S-TECH/Automation-repetitive-task-software.git Normal website: https://github.com/KidiIT/Automation-repetitive-task-software My project follows the best practices of using a secure network protocol on the header packet. (HTTPS) the best part is that Man in the Middle attacks will find it hard to get any useful information when any secure connection or transaction is made in the server.


  • Other security issues


    The project MUST have performed a security review within the last 5 years. This review MUST consider the security requirements and security boundary. [security_review]

    This project was developed and launched last 6 months. So in this case all the security requirements was met and no issues were found or reported on the roadmap of the project.



    Hardening mechanisms MUST be used in the software produced by the project so that software defects are less likely to result in security vulnerabilities. (URL required) [hardening]

    MFA has been implemented on the project. Which allows me the owner to verify my identity in two or three ways before I could access some certain information on my project. This reduces security vulnerabilities and software defects https://github.com/KIDI-S-TECH/Automation-repetitive-task-software/blob/main/SECURITY.md


  • Dynamic code analysis


    The project MUST apply at least one dynamic analysis tool to any proposed major production release of the software produced by the project before its release. [dynamic_analysis]

    The software uses codeQL analysis tool which helps to keep the software updated to its latest version. Also with the help of the dependabot.yml plugin that was configured on the project also helps to keep the project updated to its latest version and release. URL: https://github.com/KidiIT/Automation-repetitive-task-software/releases



    The project SHOULD include many run-time assertions in the software it produces and check those assertions during dynamic analysis. [dynamic_analysis_enable_assertions]

    I configured a codeQL code analysis file and dependencies run that focus on every single Check run test on the project. After which it output the report with a debug terminal to debug the issue directly on the repository if the check failed.



This data is available under the Creative Commons Attribution version 3.0 or later license (CC-BY-3.0+). All are free to share and adapt the data, but must give appropriate credit. Please credit KIDI'S-TECH and the OpenSSF Best Practices badge contributors.

Project badge entry owned by: KIDI'S-TECH.
Entry created on 2023-12-25 23:03:33 UTC, last updated on 2024-05-31 18:18:13 UTC. Last achieved passing badge on 2024-05-02 15:25:30 UTC.

Back