JG
← Developer activityStrong match

Jon Griffiths

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

356 commits2 monitored projects65 candidates1 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 Jon GriffithsA visual map of monitored and externally discovered repositories.JGdeveloper275Blockstream Jade81libwally-core
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 73 · Adequate
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

crypto: add ec_public_key_compress to produce a compressed pubkey

This commit adds a new public-key compression function to a cryptographic library and updates the existing decompression function so both can accept already-compressed or already-uncompressed keys as input. It also adds tests and language …

03351cc9by Jon Griffiths+92−1610 files
No security note in commit
Moderate 62 AI analysisMessage 85 · Strong
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

sign: disallow overlong der encodings and zero r or s values

This commit tightens signature validation in a cryptographic library. It now rejects malformed DER-encoded signatures that are longer than allowed, or where one of the signature numbers (R or S) is zero. Previously, the underlying secp256k…

Cryptographic input validation hardeningRejection of overlong DER-encoded ECDSA signaturesRejection of zero R or S signature components
e7894ee6by Jon Griffiths+6−11 file
Vendor flagged security relevance
Low 42 AI analysisMessage 95 · Strong
BS BlockstreamBlockstream Jade BitcoinHardware wallets

Liquid (taproot): add sign_liquid_tx genesis blockhash support

This commit changes how Blockstream Jade handles the 'genesis blockhash' when signing Liquid transactions. Previously, the device only accepted the network's built-in genesis hash. Now it lets users provide a custom genesis hash for test n…

Adds input validation for caller-supplied genesis blockhashPrevents mainnet genesis hash from being used on Liquid test networksRestricts genesis_hash parameter to Liquid networks only
888eff30by Jon Griffiths+82−264 files
No security note in commit
Informational 15 AI analysisMessage 45 · Thin
BS BlockstreamBlockstream Jade BitcoinHardware wallets

rpc: rename get_boolean to get_bool

This commit is a simple rename of two internal helper functions from `rpc_get_boolean`/`rpc_get_boolean_or` to `rpc_get_bool`/`rpc_get_bool_or`, updating all call sites accordingly. There is no change to what the code does, no bug fix, and…

f6e946acby Jon Griffiths+24−2518 files
No security note in commit
Low 25 AI analysisMessage 60 · Adequate
BS BlockstreamBlockstream Jade BitcoinHardware wallets

wire: reduce stack usage sending replies

This commit changes how message context is passed between functions in the Blockstream Jade hardware wallet firmware. Instead of copying the entire message context structure on the stack, functions now receive a pointer to it. The stated g…

Stack usage reduction in embedded firmwarePointer passing instead of structure copyingNo direct vulnerability described in commit message
c41f5fddby Jon Griffiths+65−6429 files
No security note in commit
Moderate 57 AI analysisMessage 50 · Thin
BS BlockstreamBlockstream Jade BitcoinHardware wallets

psbt: always confirm green outputs when recovery signing

This commit changes the logic in Blockstream Jade's PSBT signing flow so that, when the hardware wallet is acting as a 'recovery' key for a Green 2-of-3 wallet, it always asks the user to confirm outputs that belong to Green, rather than s…

Logic inversion in authorization/confirmation pathRecovery-key signing path previously trusted Green-classified outputs without user confirmationComment explicitly frames change around inability to verify output ownership in recovery path
a963f628by Jon Griffiths+2−21 file
No security note in commit
Moderate 58 AI analysisMessage 78 · Adequate
BS BlockstreamBlockstream Jade BitcoinHardware wallets

attestation: ensure attestation provision signature is correctly sized

This update fixes a check in the Blockstream Jade hardware wallet's attestation setup. Before the fix, the code did not verify that an externally-provided signature was small enough to fit into its storage buffer. A too-large signature cou…

Missing length check before fixed-size buffer usePotential stack/buffer overflow in signature verification pathAttestation/trust-anchor initialization code modified
b6ca54dbby Jon Griffiths+5−71 file
No security note in commit
Low 44 AI analysisMessage 45 · Thin
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

psbt: handle allocation failures in set_global_tx

This commit fixes a memory-management bug in the library's Partially Signed Bitcoin Transaction (PSBT) handling. When the code failed to allocate memory for new transaction inputs or outputs, it could leave behind partially initialized dat…

Allocation-failure handling added (NULL checks before array initialization)Resource cleanup improved (element-level free before array free)Potential use of uninitialized/freed memory path removed in OOM case
e45f553dby Jon Griffiths+26−141 file
No security note in commit
Low 42 AI analysisMessage 75 · Adequate
BS BlockstreamBlockstream Jade BitcoinHardware wallets

attestation: misc cleanups

This commit is a cleanup of the device attestation code in Blockstream Jade, which is the cryptographic proof that the device is genuine. The changes fix a memory-management bug where sensitive key data could be cleared in the wrong order,…

fix SENSITIVE_POP in attestation_initialise() - sensitive-data handling orderingfix attestation_can_be_initialised() with CONFIG_DEBUG_MODE - conditional compilation logicensure keys are always initialized before being freed - mbedtls_pk_init added
4d782bf8by Jon Griffiths+45−541 file
Vendor flagged security relevance
Informational 18 AI analysisMessage 50 · Thin
BS BlockstreamBlockstream Jade BitcoinHardware wallets

wallet: allow skipping leading 'm' when converting bip32 paths

This commit changes a helper function that turns numeric Bitcoin key paths (like 0/1/2) into human-readable text. It adds an option to leave off the leading 'm/' so callers that only want the raw path can get it. All existing callers are u…

No security-relevant keywords in commit title or messageAll existing call sites pass the new parameter as false, preserving prior behaviorFunction signature change requires matching header update, reducing risk of ABI mismatch in this compiled project
d64ade24by Jon Griffiths+39−239 files
No security note in commit
Low 42 AI analysisMessage 70 · Adequate
BS BlockstreamBlockstream Jade BitcoinHardware wallets

pin: erase the pin privatekey when changing/erasing pin settings

This commit changes how Blockstream Jade handles a private key used for PIN server authentication. Previously, the device kept the same private key even when the user changed or removed their PIN server settings. Now it deletes that key wh…

Private key lifecycle tied to configuration changeRemoval of standalone erase function in favor of inline erasureDefensive key rotation on pinserver change/erase
ee6ea9a5by Jon Griffiths+2−32 files
No security note in commit
Low 35 AI analysisMessage 50 · Thin
BS BlockstreamBlockstream Jade BitcoinHardware wallets

pin: create the pin private key on demand

This commit moves when a special device private key (used for PIN server authentication) is created. Previously it was generated at every boot if missing; now it is created only when actually needed during a PIN operation. This is a code-q…

Deferred private key generation to first useRemoval of boot-time key initialization dependencyNo change to key generation entropy source or storage protections
46e09b14by Jon Griffiths+21−294 files
No security note in commit
Moderate 59 AI analysisMessage 60 · Adequate
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

psbt: fix check for too many witnesses

This commit fixes a parsing bug in how the library reads Bitcoin-style witness data from a transaction or PSBT. Before the fix, a malformed input could claim there were millions of witnesses while only providing a few bytes. The code would…

Out-of-bounds read / buffer over-read in a core deserialization routinePotential memory allocation failure or integer overflow from attacker-controlled witness countNew negative test case added for malformed PSBT with excessive witness count
a3fd0aa8by Jon Griffiths+11−03 files
Vendor flagged security relevance
Moderate 61 AI analysisMessage 60 · Adequate
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

psbt: fix check for short buffers

This commit fixes a bug in how the library reads compact size numbers from PSBT (Partially Signed Bitcoin Transaction) data. Before the fix, the code could read past the end of a short input buffer when checking how many bytes a variable-l…

Out-of-bounds read in variable-length integer parsingShort/truncated input buffer not validated before length inspectionNew negative test case added for short PSBT bytes
a1de7372by Jon Griffiths+9−13 files
No security note in commit
Informational 18 AI analysisMessage 45 · Thin
BS BlockstreamBlockstream Jade BitcoinHardware wallets

psbt: fix a (harmless) off-by-one assert check

This commit fixes a boundary check in code that walks through parts of a Bitcoin transaction (PSBT). The old check allowed an index equal to the number of items, which is one too high. The commit message calls it 'harmless,' meaning it sho…

off-by-one in bounds assertionassert-only failure path (abort on violation)vendor self-described as harmless
42f6948cby Jon Griffiths+1−11 file
No security note in commit
Low 35 AI analysisMessage 60 · Adequate
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

psbt: use control block verification call internally

This commit replaces a simple length check on Taproot control blocks with a dedicated verification function. The change is likely a hardening or correctness improvement rather than a clear-cut security fix. The old check only ensured the c…

Replaced length-only validation with a dedicated BIP341 control-block verification routineRemoved duplicated inline length check in favor of a centralized validation callParsing and serialization paths for Taproot leaf scripts now share the same validation logic
944f2660by Jon Griffiths+3−91 file
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
BS BlockstreamBlockstream Jade BitcoinHardware wallets

build: minor error handling tweak for v2 pem signing

This is a tiny build-script change that replaces a silent failure with a clear error message when required signing key files are missing. It does not change what the script does, only what it prints when it fails. There is no security vuln…

1d797de3by Jon Griffiths+2−21 file
No security note in commit
Low 30 AI analysisMessage 45 · Thin
BS BlockstreamBlockstream Jade BitcoinHardware wallets

psbt: allow pset signing from usb/qrcodes

This commit lets a Blockstream Jade hardware wallet automatically detect whether a transaction file is for Bitcoin or the Liquid sidechain (including test networks) when signing via QR codes or USB. Before, the wallet always assumed Bitcoi…

Network-type selection now derives from the parsed PSBT/PSET rather than a hardcoded defaultNo new input parsing, memory allocation, or cryptographic code addedNo explicit security claims or fixes in commit message
4fc854e9by Jon Griffiths+18−123 files
No security note in commit
Low 34 AI analysisMessage 62 · Adequate
BS BlockstreamBlockstream Jade BitcoinHardware wallets

build: fail if any step of signing v2 firmwares fails

This commit hardens the firmware signing script used when releasing Blockstream Jade hardware wallet firmware. It adds `set -e` so the script stops immediately if any command fails, and explicitly checks that the public and private key fil…

Missing error handling in release signing pipelinePotential for unsigned or partially signed firmware artifactsRelease-time supply-chain / code-signing hardening
edc17778by Jon Griffiths+5−01 file
No security note in commit
Informational 13 AI analysisMessage 65 · Adequate
BS BlockstreamBlockstream Jade BitcoinHardware wallets

gui: share code to wait for buttons with ci auto-click (2)

This commit is a code cleanup in the user-interface layer of the Blockstream Jade hardware wallet. It removes repeated 'if timeout' checks around button-waiting loops and lets the shared helper handle the timeout case instead. The commit m…

No security-relevant code paths changedCommit message states 'no functional changes'Diff is purely structural refactoring of UI event loops
05359dbfby Jon Griffiths+560−61214 files
No security note in commit
Wrong identity?Names can collide and public author strings can be misleading.Contact commitwatch@karma-x.io →