mirror of
https://github.com/taiki-e/install-action.git
synced 2026-05-09 06:10:28 +00:00
Early unset tokens from env
This commit is contained in:
13
main.sh
13
main.sh
@@ -627,6 +627,15 @@ case "${fallback}" in
|
|||||||
*) bail "'fallback' input option must be 'none', 'cargo-binstall', or 'cargo-install': '${fallback}'" ;;
|
*) bail "'fallback' input option must be 'none', 'cargo-binstall', or 'cargo-install': '${fallback}'" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# Unlike gh command, cargo-binstall reads GITHUB_TOKEN first via cli parser, and then reads GH_TOKEN.
|
||||||
|
# https://github.com/cargo-bins/cargo-binstall/blob/v1.17.9/crates/bin/src/args.rs#L704
|
||||||
|
token="${GITHUB_TOKEN:-"${GH_TOKEN:-"${DEFAULT_GITHUB_TOKEN:-}"}"}"
|
||||||
|
# This prevents tokens from being displayed to subprocesses via environment variables.
|
||||||
|
# Since the tokens remain in the parent process's environment variables, and since unset may not
|
||||||
|
# immediately cleanse memory, setting `fallback: none` (which prevents the tokens from being set
|
||||||
|
# in the first place) remains the best practice from a security standpoint, as readme says.
|
||||||
|
unset GITHUB_TOKEN GH_TOKEN DEFAULT_GITHUB_TOKEN
|
||||||
|
|
||||||
case "${host_os}" in
|
case "${host_os}" in
|
||||||
linux)
|
linux)
|
||||||
if ! type -P jq >/dev/null || ! type -P curl >/dev/null || ! type -P tar >/dev/null; then
|
if ! type -P jq >/dev/null || ! type -P curl >/dev/null || ! type -P tar >/dev/null; then
|
||||||
@@ -921,8 +930,8 @@ if [[ ${#unsupported_tools[@]} -gt 0 ]]; then
|
|||||||
# As a result, http will be disabled, and it will also set
|
# As a result, http will be disabled, and it will also set
|
||||||
# min tls version to be 1.2
|
# min tls version to be 1.2
|
||||||
binstall_args=(--force --no-confirm --locked "${unsupported_tools[@]}")
|
binstall_args=(--force --no-confirm --locked "${unsupported_tools[@]}")
|
||||||
if [[ -z "${GITHUB_TOKEN:-}" ]] && [[ -n "${DEFAULT_GITHUB_TOKEN:-}" ]]; then
|
if [[ -n "${token}" ]]; then
|
||||||
cargo-binstall binstall --github-token "${DEFAULT_GITHUB_TOKEN}" "${binstall_args[@]}"
|
cargo-binstall binstall --github-token "${token}" "${binstall_args[@]}"
|
||||||
else
|
else
|
||||||
cargo-binstall binstall "${binstall_args[@]}"
|
cargo-binstall binstall "${binstall_args[@]}"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user