OV
← Developer activityStrong match

Ondřej Vejpustek

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

95 commits1 monitored projects34 candidates0 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 Ondřej VejpustekA visual map of monitored and externally discovered repositories.OVdeveloper95Trezor firmware
Monitored evidence

CommitWatch projects

External discovery

Other public projects

No external sample loaded yet.

A verified GitHub handle is needed before external discovery.
Analyzed activity

Recent published watches

Message quality and risk characterize commits, never the person.

Informational 15 AI analysisMessage 47 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(crypto): prefix enums

This commit simply renames two groups of internal status labels (called enums) in the Trezor firmware's cryptographic code. The old names like WAITING_FOR_REQUEST1 were shared between two different parts of the code, so the developer gave …

f1c74046by Ondřej Vejpustek+26−222 files
No security note in commit
Low 27 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(crypto): pass static public key to `noise_xxpsk3_*_init()`

This commit changes how a cryptographic library sets up secure connections. Previously, the code automatically calculated the public key from the private key. Now, the caller must provide the public key directly. This is a code-quality ref…

Cryptographic key handling changed: public key is now supplied rather than derivedPotential reduction of key-mismatch risk if caller provides correct public keyNew null-pointer check added for static_public_key
1b3128a4by Ondřej Vejpustek+20−92 files
No security note in commit
Low 37 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(crypto): prevent calling `memzero(NULL, ...)`

This commit fixes three places in the Trezor firmware's cryptographic code where a memory-clearing function could be called with a NULL pointer. In practice, passing NULL to memzero is harmless on Trezor's platform (it does nothing), but i…

NULL pointer passed to memory-zeroing helper in cryptographic codeUndefined behavior in C standard library contractDefensive hardening in Noise protocol implementation
0394e934by Ondřej Vejpustek+11−51 file
No security note in commit
Informational 18 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(crypto): return remote static key from `noise_xxpsk3_*_handle_*()`

This commit is a code cleanup (refactor) for the cryptographic handshake code used in Trezor devices. It changes how the other party's long-term public key is returned to the caller: instead of storing it inside an internal state structure…

Removal of long-term public key storage from internal handshake stateCaller-supplied output buffer for remote static public key reduces internal secret retentionError-path memzero of returned key material on failure
3ead1aa6by Ondřej Vejpustek+79−423 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(crypto): change order of parameters

This commit simply reorders the arguments of an internal function called dh() and updates every place that calls it. The actual math and security behavior are unchanged; it is a code cleanup with no security effect.

33a119eeby Ondřej Vejpustek+15−151 file
No security note in commit
Informational 17 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core): speed up tropic startup

This commit adds a 135 millisecond delay during startup of the Tropic secure chip inside Trezor hardware wallets. The delay works around a bug where the chip briefly reports it is in 'maintenance mode' right after power-on, which causes an…

Workaround for third-party component behavior (Tropic chip maintenance-mode flag)Timing/startup race condition in secure-element initializationConditional compilation excludes production-test builds
91046b78by Ondřej Vejpustek+17−01 file
No security note in commit
Informational 18 AI analysisMessage 72 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(core): add testing tropic attestation key and certificate

This commit updates Trezor's internal test-only files that simulate a TROPIC01 secure chip. It replaces old self-signed test certificates with a new four-level test certificate chain and embeds keys directly into config files instead of re…

Hardcoded cryptographic private key material in test fixtures (l3.key / X25519 seed)Addition of certificate chain generation script for test modelRemoval of older self-signed test certificates
e6e20071by Ondřej Vejpustek+560−21022 files
No security note in commit
Low 33 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core): disable writing MCU attestation certificate in firmware

This commit changes a Trezor firmware function so that, outside of a special factory testing mode (PRODTEST), it refuses to write an MCU attestation certificate. Previously the function accepted and stored such a certificate. The change pr…

Function that writes security-relevant attestation material now returns failure outside factory-test buildsChange is in the secret/secure-storage subsystemNo changelog entry and minimal commit message, suggesting quiet hardening rather than documented bug fix
6d2883bbby Ondřej Vejpustek+6−01 file
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(core): replace `gen.sh` with `generate_certificates.py`

This is a routine developer tooling change. Trezor replaced a shell script used to convert certificate files into C header files with a new Python script that does the same job. The actual certificate data did not change, only the wrapper …

92a5919aby Ondřej Vejpustek+436−35310 files
No security note in commit
Low 44 AI analysisMessage 67 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core/python): fix encoding in authentication challenge

This commit fixes how the Trezor Python library builds an authentication challenge. Previously, the code encoded the length of a header and the length of the challenge as a single byte, which only works for values up to 255. The fix uses a…

Fix in authentication/verification code pathChange from fixed single-byte length prefix to variable-length compact_size encodingPotential for incorrect serialization if challenge/header length exceeds 255 bytes
86b5d99cby Ondřej Vejpustek+3−31 file
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(tests): use `get_challenge_message()`

This is a minor code cleanup in the test suite. It replaces a manually constructed challenge message with a helper function that does the same thing. There is no change to the actual Trezor firmware or to how device authentication works in…

8e050722by Ondřej Vejpustek+10−71 file
No security note in commit
Informational 16 AI analysisMessage 67 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core): fix testing Optiga certificates

This commit updates test-only digital certificates used in Trezor firmware emulators for the T3W1 model. It does not change production device code. The certificates are part of the emulator's simulated secure chip environment and are not s…

Certificate regeneration in test-only emulator pathREADME documents use of a customized test HSM with a disclosed root private keyNo production firmware code or real device certificate store is modified
360decd3by Ondřej Vejpustek+80−713 files
No security note in commit
Informational 15 AI analysisMessage 67 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(tests): import HSM keys

This commit only moves existing test-only public keys from a test file into a shared internal module so they can be reused. It does not change any firmware behavior, add new keys, or alter any security logic. There is no apparent security …

5230821bby Ondřej Vejpustek+6−171 file
No security note in commit
Informational 19 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(core): use empty MCU attestation certificate in prodtest

This commit changes how Trezor hardware wallet firmware handles a special factory-testing mode called 'prodtest'. In prodtest builds, it now uses an empty placeholder certificate for MCU (microcontroller) attestation instead of a real devi…

Attestation certificate handling changed in a security-adjacent code pathEmpty/zero-length certificate used in a production-test configurationNo changelog entry provided despite touching security-relevant code
ccb99c5eby Ondřej Vejpustek+11−11 file
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(tests): refactor `verify_cert_chain()`

This commit is a code cleanup in the test suite. It merges two nearly identical certificate-verification routines into one shared helper and removes duplicated code. There is no change to the actual security checks performed, no change to …

c94d5dcbby Ondřej Vejpustek+30−531 file
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): move `compact_size()` from `common.py` to `tools.py`

This commit simply moves a helper function called compact_size from one internal file to another and updates the import statements in files that use it. There is no change to what the function does, no bug fix, and no security impact.

2cb59ce6by Ondřej Vejpustek+29−296 files
No security note in commit
Informational 12 AI analysisMessage 72 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(tests): always check basic constraints extension

This commit only changes a test helper file in the Trezor firmware repository. It tightens how test code validates X.509 certificate chains by always checking the BasicConstraints extension and path length, rather than skipping the check w…

Test-only changeStrengthens certificate chain validation in test helperRemoves silent pass on missing BasicConstraints extension
ce0e3b2fby Ondřej Vejpustek+6−101 file
No security note in commit
Informational 12 AI analysisMessage 72 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(tests): make `verify_cert_chain()` accept longer certificate chains

This commit changes only a test helper function in the Trezor firmware test suite. It moves a common-name check to the beginning of certificate-chain verification so the function can handle chains longer than before. There is no change to …

c3d46193by Ondřej Vejpustek+6−41 file
No security note in commit
Informational 18 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

chore: introduce new debug root P-256 key

This commit swaps in a new developer-debug-only public root key used to verify device certificates during factory testing. The old debug key is kept as a backup for compatibility. It is not a fix for a live user-facing vulnerability and do…

Root public key rotation for debug/test trust anchorOld key retained for backward compatibilityNo production root keys changed
b55a7ca0by Ondřej Vejpustek+19−45 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(tests): add `test_authenticate_device_mcu()`

This commit only adds a new automated test that checks whether Trezor hardware devices can prove their identity using an MCU-based digital signature. It does not change any firmware code that runs on the device, nor does it fix or introduc…

7f562942by Ondřej Vejpustek+64−23 files
No security note in commit
Wrong identity?Names can collide and public author strings can be misleading.Contact commitwatch@karma-x.io →