AK
← Developer activityVerified account

Andrew Kozlik

Public commit activity attributed with verified account confidence. This page describes observable work, not personal trustworthiness.

@andrewkozlik on GitHub ↗
71 commits1 monitored projects24 candidates2 high-risk analyses
Project constellation

Where the commits appear

Amber nodes are monitored by CommitWatch. Gray nodes are sampled from authenticated GitHub public commit search and may not represent complete contribution history.

Monitored External sample
Projects connected to Andrew KozlikA visual map of monitored and externally discovered repositories.AKdeveloper71Trezor firmware
Monitored evidence

CommitWatch projects

External discovery

Other public projects

No external sample loaded yet.

Authenticated GitHub discovery can enrich this profile.
Analyzed activity

Recent published watches

Message quality and risk characterize commits, never the person.

Low 33 AI analysisMessage 67 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(python/trezorlib): enable entropy check on T1 by default

This commit changes the Trezor Python library so that, when setting up a Trezor Model One (the original Trezor 1 device), it now performs an entropy check by default if the device runs firmware 1.13.1 or newer. Previously, the library only…

Enables a previously disabled security/validation feature (entropy check) for a specific device modelAdds version-gated behavior to avoid errors on older firmwareDefensive hardening of wallet setup randomness verification
a4af9107by Andrew Kozlik+10−42 files
No security note in commit
Informational 18 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

feat: build-docker.sh: add translations root to fingerprints when core firmware is built

This change updates Trezor's build script so that when core firmware is built, a 'translations Merkle root' is added to the reproducible-build fingerprints file. It also adds a command-line option to skip that step. The change is about bui…

Build reproducibility / attestation changeAdds optional translations Merkle root to fingerprint fileNo runtime firmware code changed
a64fc5e3by Andrew Kozlik+24−31 file
No security note in commit
High 72 AI analysisMessage 77 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core/bitcoin): Fix external input misidentification.

This update fixes a bug in the Trezor hardware wallet's Bitcoin transaction signing. When a transaction included an external input (someone else's coin) with empty placeholder fields, the device could mistake it for an already-signed input…

Security-relevant bug fix in Bitcoin transaction signingChange from identity comparison to truthiness to handle empty byte fields consistentlyAddition of input sanitization rules for ownership_proof presence
675fa659by Andrew Kozlik+55−45 files
Vendor flagged security relevance
High 72 AI analysisMessage 77 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core/bitcoin): Reject new external outputs in bitcoin replacement transactions.

This update fixes a security gap in how Trezor handles Bitcoin 'replacement transactions' (used to speed up or adjust a pending payment). Before the fix, a non-payjoin replacement could silently add a brand-new external recipient output, p…

Missing authorization / confirmation bypass for new external outputs in replacement transactionsPotential fund redirection via output manipulation in RBF/bumped transactionsAddition of defensive validation with explicit error raise
62891383by Andrew Kozlik+95−153 files
Vendor flagged security relevance
Informational 12 AI analysisMessage 77 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core/bitcoin): Consolidate external input classification.

This commit is a code cleanup (refactor) in the Bitcoin signing code of the Trezor firmware. It introduces a helper that classifies external transaction inputs into three categories (presigned, has ownership proof, or unverified) and uses …

No security-relevant behavior change: same input classification conditions are preservedRefactor only: logic moved into a new helper enum/classmethodNo new trust boundaries, no new parsing, no new memory handling
e70633eeby Andrew Kozlik+38−122 files
No security note in commit
Informational 15 AI analysisMessage 77 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

feat: build-docker.sh: skip bitcoin-only variants for targets that do not have one

This commit changes a build script so that when building only Bitcoin-only firmware variants, it skips targets like boardloader, bootloader, and secure monitor that do not have such variants. It is a build-logic convenience fix with no app…

fd6e136bby Andrew Kozlik+11−01 file
No security note in commit
Low 35 AI analysisMessage 80 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

fix: build-docker.sh: fix --no-init usage

This commit fixes a build script used to create Trezor firmware inside Docker. Previously, when reusing an existing build environment, the script could silently build old source code instead of the requested branch or tag. It also now corr…

Silent stale-source build risk under --no-initAnnotated tag dereference fix prevents tag-vs-commit mismatchEnvironment drift check prevents building with outdated toolchain/environment
6307fc7bby Andrew Kozlik+24−11 file
No security note in commit
Informational 15 AI analysisMessage 85 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

fix: build-docker.sh: build T1B1 firmware only for firmware target

This commit fixes a CI/build script inefficiency. The build script was building the same T1B1 (original Trezor) firmware twice because it ignored the requested build target. The fix makes the legacy T1B1 firmware build run only when the 'f…

17890ebfby Andrew Kozlik+7−22 files
No security note in commit
Informational 13 AI analysisMessage 72 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

feat: Add master fingerprint calculation.

This commit adds a new build-time tooling feature for Trezor firmware: it calculates a single 'master fingerprint' that summarizes all the individual firmware image fingerprints produced during a reproducible build. It also improves the ex…

No memory-unsafe code addedNo cryptographic primitives implemented; uses standard hashlib.sha256No privilege escalation, authentication bypass, or secret exposure observed
eb5b3f4cby Andrew Kozlik+439−579 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

build: silence udevCheckHook in nix-shell, there are no udev rules to check

This commit adds a single build configuration line to the project's Nix shell environment. It simply stops a harmless informational message ('Using udevCheckHook') from being printed during setup, because there are no udev device rules pre…

41692dc2by Andrew Kozlik+2−01 file
No security note in commit
Low 45 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core): embed the bitcoin-only vendor header in bitcoin-only builds

This commit fixes a build-time logic bug in Trezor firmware where the wrong vendor signature header could be embedded in Bitcoin-only firmware builds. The change makes the build system correctly detect Bitcoin-only mode by checking that th…

Build-system logic affecting signed firmware vendor header selectionFeature-flag mismatch between 'bitcoin_only' and absence of 'universal_fw'Potential for incorrect vendor header embedding in firmware artifacts
b517e0a0by Andrew Kozlik+5−11 file
No security note in commit
Informational 19 AI analysisMessage 82 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(core/prodtest): Add Tropic tests.

This commit adds new factory-testing commands for the Tropic secure chip inside Trezor devices. It does not change normal wallet behavior or user funds handling. The new commands are only reachable in a special manufacturing test mode (pro…

New prodtest-only CLI commands for Tropic secure-element validationArgument validation and range clamping for iterations, slot counts, and explicit slotsDeterministic PRNG used only for slot selection, not for cryptographic material
e0d8f274by Andrew Kozlik+935−236 files
No security note in commit
Informational 22 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(core/prodtest): Reboot Tropic in tropic-set-sensors.

This commit changes a factory/production-test command for the Tropic secure chip inside Trezor devices. The command now reboots the chip after changing sensor settings, makes the sensor-setting argument optional (defaulting to enabling all…

Change in production-test secure-element command behaviorDefault argument now enables all sensors (0x00000000)Conditional erase of ECC/data/MAC slots based on pairing key slot
9bad5744by Andrew Kozlik+60−304 files
No security note in commit
Informational 22 AI analysisMessage 67 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(core/prodtest): Add tropic-tests-cleanup.

This commit adds a new factory-test command called tropic-tests-cleanup to the Trezor device's production-test firmware. The command erases leftover test data from secure chip slots so a device is not accidentally shipped with stray data f…

New factory-only CLI command that erases test artifacts from secure-element slots before shippingBroadened counter reinitialization path in the change-PIN flow to handle a depleted counterNo mention of CVE, bug bounty, researcher credit, or advisory in commit or supplied references
dbe34907by Andrew Kozlik+178−255 files
No security note in commit
Informational 19 AI analysisMessage 95 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core): Show plain warning for multisig GetAddress.

This commit changes the on-screen prompt shown on Trezor T3T1 and T3W1 devices when a user requests a multisig address or signs a transaction that spends from multiple accounts. Previously the device displayed a hard-to-dismiss 'danger' di…

UI severity downgrade from danger dialog to warning dialogNo cryptographic, authorization, or validation logic changedNo CVE, advisory, or security disclosure referenced in commit or supplied materials
311c950aby Andrew Kozlik+392−4084 files
No security note in commit
Moderate 59 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core): Avoid out-of-bounds read in utils.consteq().

This commit fixes a bug in a low-level security helper inside Trezor hardware wallets. The helper, called consteq(), compares a secret value against a public value in a way meant to take the same amount of time regardless of the secret's c…

Out-of-bounds read in secret-comparison helperTiming-attack-resistant comparison routineConstant-time length-mismatch handling added
8f19041dby Andrew Kozlik+27−93 files
No security note in commit
Low 45 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(trezorctl): Check device certificate CN and SN consistency.

This commit strengthens the Trezor host-side device-authentication check. Previously, the tool verified that each security chip's certificate chain was signed by a trusted root, but it did not compare the device model and serial number wri…

Adds certificate subject field validation (CN/SN) during device authenticationAdds cross-certificate consistency checks across multiple secure-element chainsBinds device-reported model to certificate common name prefix
9f72b329by Andrew Kozlik+72−141 file
No security note in commit
Informational 17 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(trezorctl): Add ML-DSA-44 device authenticity check.

This commit adds support for a new post-quantum digital-signature algorithm (ML-DSA-44) to the Python trezorctl tool's device-authenticity check. It does not change how the hardware wallet itself works; it only lets the desktop companion s…

Adds new cryptographic signature scheme (ML-DSA-44) for device authenticity verificationBumps cryptography dependency minimum to version 47, which supplies ML-DSA primitivesRefactors hard-coded root public keys into internal _root_keys module
82ca4a0fby Andrew Kozlik+108−455 files
No security note in commit
Informational 19 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(trezorctl): Add --devel option to authenticate command.

This commit adds a new command-line flag called --devel to the trezorctl authenticate command. Normally, the authentication check rejects devices that use development keys, because those are not production devices and should not be trusted…

New CLI option explicitly relaxes an authenticity check for development-key devicesDefault authentication behavior is unchanged; bypass requires explicit user opt-inNo evidence of a vulnerability, CVE, or security advisory in the commit or supplied references
f7bd63b8by Andrew Kozlik+10−01 file
No security note in commit
Wrong identity?Names can collide and public author strings can be misleading.Contact commitwatch@karma-x.io →