kanywst/brtc-action

Estimate offline brute-force crack cost for a password or secret. Optionally fail the build below a time threshold.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
passwordPassword or secret to evaluate. Use a GitHub secret for real values. Either `password` or `guesses` must be provided.no
guessesExternal guess count (e.g. zxcvbn's `guesses` field). When set, brtc's built-in entropy estimator is skipped and the password argument becomes optional.no
algorithmHash algorithm — md5, sha256, bcrypt, argon2id.nobcrypt
costWork factor (bcrypt) or time iterations (argon2id).no10
memoryArgon2id memory parameter (e.g. 64m, 128m, 1g). Ignored by other algorithms.no
hardwareAttacker hardware profile — rtx-4090, rtx-3060, gtx-1080ti, mac-m3, mac-m3-max, cpu-standard, aws-p5.48xlarge, raspberry-pi-4.nortx-4090
all-hwSet to `true` to compare the input across every hardware profile instead of a single one. Not combinable with `fail-under-time`, `budget`, or `output: sarif` (those are ignored or rejected).nofalse
fail-under-timeFail the job if the estimated crack time is shorter than this duration (e.g. 1y, 30d, 12h, 5m). Leave empty to never fail on time.no
budgetAttacker budget in USD (e.g. 1000usd) for the "max safe characters" output.no
outputbrtc output format. Defaults to `json` so the parsed action outputs (`cost-usd`, etc.) are populated. Set to `sarif` to produce a SARIF report (path exposed via the `sarif-file` output) for Code Scanning.nojson
brtc-versionbrtc release tag to install (e.g. v1.2.0, latest, main). Pinned to a released tag by default for reproducibility; `latest`/`main` are not reproducible.nov1.2.0
go-versionGo toolchain version used to install brtc.no1.25
namedescription
cost-usdEstimated USD cost to crack the input.
time-to-crack-secondsEstimated seconds to crack the input.
entropy-bitsEstimated entropy in bits.
raw-jsonFull brtc JSON output (only populated when `output: json`).
sarif-filePath to the written SARIF file (only populated when `output: sarif`).