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 27 AI analysisMessage 78 · Adequate
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

descriptor: support elements confidential wallet policies

This commit adds support in libwally-core for a new Elements/Liquid confidential-wallet policy format. It lets wallet policies include a special '@B' blinding key placeholder, kept separate from ordinary derivation keys. The change is a fe…

Descriptor/miniscript parsing code modifiedCryptographic key validation logic changedNew input validation rules added for '@B' blinding key
6bbe9eebby Jon Griffiths+90−331 file
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 59 AI analysisMessage 91 · Strong
BS BlockstreamBlockstream Jade BitcoinHardware wallets

mnemonic: gracefully handle invalid bcur-bip39 mnemonics, improve tests

This update fixes how Blockstream Jade handles QR-code-based recovery phrases imported in a specific format (bcur-bip39). Previously, a malformed or invalid recovery phrase could crash the device because the code used internal 'assert' che…

Replaces assertion failures with controlled error returns on malformed mnemonic inputAdds input validation for word count, word length, and empty words in bcur-bip39 parserReduces stack buffer size for mnemonic handling
898b9fb2by Jon Griffiths+94−615 files
Vendor flagged security relevance
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
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 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
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
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
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
Informational 15 AI analysisMessage 83 · Strong
BS BlockstreamBlockstream Jade BitcoinHardware wallets

libjade: enable building the Jade firmware as a native library

This commit adds a new experimental developer/testing feature called libjade that lets the Jade hardware-wallet firmware be compiled and run as a normal Linux software library or daemon. It is explicitly marked as incomplete, not for real …

New experimental developer-only feature, not a security patchREADME explicitly states: 'UNDER NO CIRCUMSTANCES BE USED BEYOND DEVELOPMENT AND TESTING'README notes missing security properties: no constant-time guarantees, no sensitive stack clearing, no memory locking, no safety/security analysis performed
30aef5c7by Jon Griffiths+5167−5363 files
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
Wrong identity?Names can collide and public author strings can be misleading.Contact commitwatch@karma-x.io →