Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add checksums to enforce immutability #250

Commits on Oct 31, 2024

  1. Add SHA256 hash verification for downloaded binaries

    - Added support for SHA256 hash verification to ensure the integrity of downloaded binaries.
    - Introduced `expected_sha256` as an input parameter for users to supply the expected hash.
    - Implemented hash computation and comparison; download proceeds only if hashes match.
    - Improves security by preventing execution of potentially tampered files.
    
    This enhancement secures the installation process by verifying file integrity.
    avri-schneider authored Oct 31, 2024
    Configuration menu
    Copy the full SHA
    0f1fa16 View commit details
    Browse the repository at this point in the history
  2. Add expected_sha256 input to action.yml for binary integrity verifica…

    …tion
    
    - Introduced `expected_sha256` as a new input parameter in `action.yml`.
    - Allows users to specify an expected SHA256 hash for the downloaded TFLint binary.
    - If `expected_sha256` is provided, the action will compute and compare the hash, proceeding only if there's a match.
    - Enhances security by preventing execution of tampered or corrupted files.
    
    This update ensures that downloaded binaries meet integrity requirements before installation.
    avri-schneider authored Oct 31, 2024
    Configuration menu
    Copy the full SHA
    e3b2c54 View commit details
    Browse the repository at this point in the history
  3. Bump version to 2.1.0 and update package.json for SHA256 verification…

    … feature
    
    - Updated version to 2.1.0 to reflect the new SHA256 verification feature for downloaded binaries.
    - Enhanced description and keywords to include SHA256 verification.
    - This update improves security by allowing users to verify the integrity of downloaded files with an expected SHA256 hash.
    
    Version bump ensures semantic versioning alignment with the new feature addition.
    avri-schneider committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    5f71a1b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ca68eb4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c757013 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    99bad22 View commit details
    Browse the repository at this point in the history
  7. Update README to document support for multiple SHA256 hash values

    - Revised `README.md` to describe `expected_sha256` input as accepting a comma-separated list of SHA256 hashes.
    - Provided example usage in the `Usage` section showing how to specify multiple expected hash values.
    - Clarified that this change allows integrity verification against multiple valid hashes, adding flexibility for binaries from different sources or mirrors.
    avri-schneider authored Oct 31, 2024
    Configuration menu
    Copy the full SHA
    fbf0b71 View commit details
    Browse the repository at this point in the history
  8. Update README.md

    Updated documentation for the expected_sha256 parameter to clarify that multiple SHA256 hashes may be provided to support platform-specific binaries (e.g., macOS, Linux, Windows) for the same TFLint version. This ensures integrity checks are compatible across platforms in matrix workflows.
    avri-schneider authored Oct 31, 2024
    Configuration menu
    Copy the full SHA
    adf5033 View commit details
    Browse the repository at this point in the history
  9. Fix: Handle Missing expected_sha256 Input Gracefully

    - Refactored handling of `expected_sha256` input to avoid errors when input is undefined.
    - Ensured `expectedHashes` is set to an array of hashes or `undefined` based on the presence of `expected_sha256`.
    - This fix prevents unexpected exceptions during execution if `expected_sha256` is not provided, allowing for optional integrity checks.
    
    This resolves issues with optional SHA256 verification in the `downloadCLI` function.
    avri-schneider authored Oct 31, 2024
    Configuration menu
    Copy the full SHA
    9e3aec7 View commit details
    Browse the repository at this point in the history
  10. rebuild

    avri-schneider committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    65b066a View commit details
    Browse the repository at this point in the history

Commits on Nov 1, 2024

  1. Update checksum handling and documentation

    - Replaced `expected_sha256` input with `checksums` for clarity.
    - Updated `checksums` input to use newline-separated values instead of commas for better readability.
    - Added a dedicated example section for `checksums` usage in the documentation to guide users on its proper implementation.
    avri-schneider committed Nov 1, 2024
    Configuration menu
    Copy the full SHA
    1239024 View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2024

  1. Update README.md

    remove irrelevant text
    avri-schneider authored Nov 3, 2024
    Configuration menu
    Copy the full SHA
    ad6bd96 View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2024

  1. Add Documentation Note Advising Hash Verification Before Pinning

    - Updated the README to include a note advising users to verify binary hashes independently before pinning.
      - Suggested using methods such as GitHub’s attestation or cosign for hash verification to ensure that only approved binaries are used in workflows.
      - Emphasized that the `checksums` input requires manual pinning and that users should validate hashes as an added security measure.
    avri-schneider authored Nov 5, 2024
    Configuration menu
    Copy the full SHA
    665afaa View commit details
    Browse the repository at this point in the history
  2. Enhance README.md to clarify the scope of checksum guarantees

    - Updated the `checksums` section to clarify that checksums guarantee only the immutability of the downloaded binary by verifying it has not been altered, without addressing integrity, trust, attribution, or authenticity.
    - Specified that multiple hashes enable cross-platform compatibility for workflows running on different platforms, architectures, or operating systems, where each may produce a unique hash.
    - Added guidance for users to verify the binary's source and authenticity independently using methods like GitHub’s Artifact Attestations or cosign before adding hashes to workflows.
    avri-schneider authored Nov 5, 2024
    Configuration menu
    Copy the full SHA
    b246abd View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2024

  1. copy edits

    bendrucker authored Nov 6, 2024
    Configuration menu
    Copy the full SHA
    c80716d View commit details
    Browse the repository at this point in the history
  2. remove example

    bendrucker authored Nov 6, 2024
    Configuration menu
    Copy the full SHA
    d36097b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    85aeefe View commit details
    Browse the repository at this point in the history
  4. that

    bendrucker committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    c9201e9 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    362774c View commit details
    Browse the repository at this point in the history
  6. tidy source

    bendrucker committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    ea6155c View commit details
    Browse the repository at this point in the history
  7. integration test

    bendrucker committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    2432632 View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2024

  1. fix multiline input test

    bendrucker committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    5009ffd View commit details
    Browse the repository at this point in the history
  2. build

    bendrucker committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    cd2d27e View commit details
    Browse the repository at this point in the history
  3. build

    bendrucker committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    c821b10 View commit details
    Browse the repository at this point in the history