Go implementation of the Ethereum protocol
This report presents the forensic synthetic code analysis of ethereum/go-ethereum, a Go project with 51,345 GitHub stars. SynthScan v2.0 examined 558,182 lines of code across 2060 source files, recording 1930 pattern matches distributed across 11 syntactic categories. The overall adjusted score of 4.5 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1930 distinct pattern matches across 11 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | interfaces.go | 1 | // Copyright 2016 The go-ethereum Authors | COMMENT |
| LOW | interfaces.go | 61 | COMMENT | |
| LOW | interfaces.go | 81 | // | COMMENT |
| LOW | interfaces.go | 201 | COMMENT | |
| LOW | oss-fuzz.sh | 1 | #!/bin/bash -eu | COMMENT |
| LOW | .golangci.yml | 21 | - usetesting | COMMENT |
| LOW | metrics/cpu_disabled.go | 1 | // Copyright 2020 The go-ethereum Authors | COMMENT |
| LOW | metrics/config.go | 1 | // Copyright 2021 The go-ethereum Authors | COMMENT |
| LOW | metrics/disk.go | 1 | // Copyright 2015 The go-ethereum Authors | COMMENT |
| LOW | metrics/cpu.go | 1 | // Copyright 2018 The go-ethereum Authors | COMMENT |
| LOW | metrics/cputime_nop.go | 1 | // Copyright 2018 The go-ethereum Authors | COMMENT |
| LOW | metrics/cpu_enabled.go | 1 | // Copyright 2020 The go-ethereum Authors | COMMENT |
| LOW | metrics/disk_nop.go | 1 | // Copyright 2015 The go-ethereum Authors | COMMENT |
| LOW | metrics/disk_linux.go | 1 | // Copyright 2015 The go-ethereum Authors | COMMENT |
| LOW | metrics/cputime_unix.go | 1 | // Copyright 2018 The go-ethereum Authors | COMMENT |
| LOW | metrics/internal/sampledata.go | 1 | // Copyright 2023 The go-ethereum Authors | COMMENT |
| LOW | metrics/influxdb/influxdb_test.go | 1 | // Copyright 2023 The go-ethereum Authors | COMMENT |
| LOW | metrics/prometheus/collector.go | 1 | // Copyright 2019 The go-ethereum Authors | COMMENT |
| LOW | metrics/prometheus/prometheus.go | 1 | // Copyright 2019 The go-ethereum Authors | COMMENT |
| LOW | metrics/prometheus/collector_test.go | 1 | // Copyright 2023 The go-ethereum Authors | COMMENT |
| LOW | cmd/ethkey/generate.go | 1 | // Copyright 2017 The go-ethereum Authors | COMMENT |
| LOW | cmd/ethkey/message.go | 1 | // Copyright 2017 The go-ethereum Authors | COMMENT |
| LOW | cmd/ethkey/message_test.go | 1 | // Copyright 2018 The go-ethereum Authors | COMMENT |
| LOW | cmd/ethkey/changepassword.go | 1 | // Copyright 2018 The go-ethereum Authors | COMMENT |
| LOW | cmd/ethkey/run_test.go | 1 | // Copyright 2018 The go-ethereum Authors | COMMENT |
| LOW | cmd/ethkey/utils.go | 1 | // Copyright 2017 The go-ethereum Authors | COMMENT |
| LOW | cmd/ethkey/inspect.go | 1 | // Copyright 2017 The go-ethereum Authors | COMMENT |
| LOW | cmd/ethkey/main.go | 1 | // Copyright 2017 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/discv4cmd.go | 1 | // Copyright 2019 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/enrcmd.go | 1 | // Copyright 2019 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/crawl.go | 1 | // Copyright 2019 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/runtest.go | 1 | // Copyright 2020 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/dnscmd.go | 1 | // Copyright 2019 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/nodesetcmd.go | 1 | // Copyright 2019 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/discv5cmd.go | 1 | // Copyright 2020 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/dns_route53.go | 1 | // Copyright 2019 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/rlpxcmd.go | 1 | // Copyright 2020 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/nodeset.go | 1 | // Copyright 2019 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/rlpxcmd_test.go | 1 | // Copyright 2026 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/dns_route53_test.go | 1 | // Copyright 2020 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/keycmd.go | 1 | // Copyright 2020 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/main.go | 1 | // Copyright 2019 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/dns_cloudflare.go | 1 | // Copyright 2019 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/internal/ethtest/suite.go | 1 | // Copyright 2020 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/internal/ethtest/chain_test.go | 1 | // Copyright 2020 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/internal/ethtest/snap.go | 1 | // Copyright 2022 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/internal/ethtest/protocol.go | 1 | // Copyright 2023 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/internal/ethtest/transaction.go | 1 | // Copyright 2020 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/internal/ethtest/chain.go | 1 | // Copyright 2020 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/internal/ethtest/engine.go | 1 | // Copyright 2023 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/internal/ethtest/snap2.go | 1 | // Copyright 2026 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/internal/ethtest/suite_test.go | 1 | // Copyright 2021 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/internal/ethtest/conn.go | 1 | // Copyright 2023 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/internal/v4test/framework.go | 1 | // Copyright 2020 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/internal/v4test/discv4tests.go | 1 | // Copyright 2020 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/internal/v5test/framework.go | 1 | // Copyright 2020 The go-ethereum Authors | COMMENT |
| LOW | cmd/devp2p/internal/v5test/discv5tests.go | 1 | // Copyright 2020 The go-ethereum Authors | COMMENT |
| LOW | cmd/geth/genesis_test.go | 1 | // Copyright 2016 The go-ethereum Authors | COMMENT |
| LOW | cmd/geth/chaincmd.go | 1 | // Copyright 2015 The go-ethereum Authors | COMMENT |
| LOW | cmd/geth/config.go | 1 | // Copyright 2017 The go-ethereum Authors | COMMENT |
| 1781 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 340 | xxxBytes := n.p.x.x.x.Bytes() | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 341 | xxyBytes := n.p.x.x.y.Bytes() | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 342 | xyxBytes := n.p.x.y.x.Bytes() | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 343 | xyyBytes := n.p.x.y.y.Bytes() | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 344 | xzxBytes := n.p.x.z.x.Bytes() | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 345 | xzyBytes := n.p.x.z.y.Bytes() | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 346 | yxxBytes := n.p.y.x.x.Bytes() | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 347 | yxyBytes := n.p.y.x.y.Bytes() | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 348 | yyxBytes := n.p.y.y.x.Bytes() | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 349 | yyyBytes := n.p.y.y.y.Bytes() | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 350 | yzxBytes := n.p.y.z.x.Bytes() | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 351 | yzyBytes := n.p.y.z.y.Bytes() | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 387 | e.p.x.x.x.SetBytes(m[0*numBytes : 1*numBytes]) | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 388 | e.p.x.x.y.SetBytes(m[1*numBytes : 2*numBytes]) | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 389 | e.p.x.y.x.SetBytes(m[2*numBytes : 3*numBytes]) | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 390 | e.p.x.y.y.SetBytes(m[3*numBytes : 4*numBytes]) | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 391 | e.p.x.z.x.SetBytes(m[4*numBytes : 5*numBytes]) | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 392 | e.p.x.z.y.SetBytes(m[5*numBytes : 6*numBytes]) | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 393 | e.p.y.x.x.SetBytes(m[6*numBytes : 7*numBytes]) | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 394 | e.p.y.x.y.SetBytes(m[7*numBytes : 8*numBytes]) | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 395 | e.p.y.y.x.SetBytes(m[8*numBytes : 9*numBytes]) | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 396 | e.p.y.y.y.SetBytes(m[9*numBytes : 10*numBytes]) | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 397 | e.p.y.z.x.SetBytes(m[10*numBytes : 11*numBytes]) | CODE |
| CRITICAL⚡ | crypto/bn256/google/bn256.go | 398 | e.p.y.z.y.SetBytes(m[11*numBytes : 12*numBytes]) | CODE |
| CRITICAL⚡ | crypto/bn256/cloudflare/bn256.go | 445 | if err = e.p.x.x.x.Unmarshal(m); err != nil { | CODE |
| CRITICAL⚡ | crypto/bn256/cloudflare/bn256.go | 448 | if err = e.p.x.x.y.Unmarshal(m[numBytes:]); err != nil { | CODE |
| CRITICAL⚡ | crypto/bn256/cloudflare/bn256.go | 451 | if err = e.p.x.y.x.Unmarshal(m[2*numBytes:]); err != nil { | CODE |
| CRITICAL⚡ | crypto/bn256/cloudflare/bn256.go | 454 | if err = e.p.x.y.y.Unmarshal(m[3*numBytes:]); err != nil { | CODE |
| CRITICAL⚡ | crypto/bn256/cloudflare/bn256.go | 457 | if err = e.p.x.z.x.Unmarshal(m[4*numBytes:]); err != nil { | CODE |
| CRITICAL⚡ | crypto/bn256/cloudflare/bn256.go | 460 | if err = e.p.x.z.y.Unmarshal(m[5*numBytes:]); err != nil { | CODE |
| CRITICAL⚡ | crypto/bn256/cloudflare/bn256.go | 463 | if err = e.p.y.x.x.Unmarshal(m[6*numBytes:]); err != nil { | CODE |
| CRITICAL⚡ | crypto/bn256/cloudflare/bn256.go | 466 | if err = e.p.y.x.y.Unmarshal(m[7*numBytes:]); err != nil { | CODE |
| CRITICAL⚡ | crypto/bn256/cloudflare/bn256.go | 469 | if err = e.p.y.y.x.Unmarshal(m[8*numBytes:]); err != nil { | CODE |
| CRITICAL⚡ | crypto/bn256/cloudflare/bn256.go | 472 | if err = e.p.y.y.y.Unmarshal(m[9*numBytes:]); err != nil { | CODE |
| CRITICAL⚡ | crypto/bn256/cloudflare/bn256.go | 475 | if err = e.p.y.z.x.Unmarshal(m[10*numBytes:]); err != nil { | CODE |
| CRITICAL⚡ | crypto/bn256/cloudflare/bn256.go | 478 | if err = e.p.y.z.y.Unmarshal(m[11*numBytes:]); err != nil { | CODE |
| CRITICAL | graphql/internal/graphiql/graphiql.min.js | 2 | !function(){var e,t,n={8042:function(e,t){var n,r;"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self&&se | CODE |
| CRITICAL | eth/downloader/downloader_test.go | 505 | tester.downloader.queue.resultCache.lock.Lock() | CODE |
| CRITICAL | eth/downloader/downloader_test.go | 511 | tester.downloader.queue.resultCache.lock.Unlock() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crypto/secp256k1/libsecp256k1/CMakeLists.txt | 3 | #============================= | COMMENT |
| MEDIUM | crypto/secp256k1/libsecp256k1/CMakeLists.txt | 5 | #============================= | COMMENT |
| MEDIUM⚡ | crypto/secp256k1/libsecp256k1/CMakeLists.txt | 38 | #============================= | COMMENT |
| MEDIUM⚡ | crypto/secp256k1/libsecp256k1/CMakeLists.txt | 40 | #============================= | COMMENT |
| MEDIUM⚡ | crypto/secp256k1/libsecp256k1/CMakeLists.txt | 44 | #============================= | COMMENT |
| MEDIUM⚡ | crypto/secp256k1/libsecp256k1/CMakeLists.txt | 46 | #============================= | COMMENT |
| MEDIUM⚡ | core/state/reader_eip_7928.go | 49 | // ┌──────────────┴──────────────┐ ┌──────────────┴──────────────┐ | COMMENT |
| MEDIUM⚡ | core/state/reader_eip_7928.go | 52 | // └──────────────┬──────────────┘ └──────────────┬──────────────┘ | COMMENT |
| MEDIUM⚡ | core/state/reader_eip_7928.go | 54 | // └────────────────┬─────────────────┘ | COMMENT |
| MEDIUM⚡ | core/state/reader_eip_7928.go | 56 | // ┌──────────────┴──────────────┐ | COMMENT |
| MEDIUM⚡ | core/state/reader_eip_7928.go | 59 | // └──────────────┬──────────────┘ | COMMENT |
| MEDIUM⚡ | core/state/reader_eip_7928.go | 61 | // ┌──────────────┴──────────────┐ | COMMENT |
| MEDIUM⚡ | core/state/reader_eip_7928.go | 64 | // └─────────────────────────────┘ | COMMENT |
| MEDIUM⚡ | triedb/pathdb/nodes.go | 438 | // └───────────────────────────────┘ | COMMENT |
| MEDIUM⚡ | triedb/pathdb/nodes.go | 440 | // │ │ │ │ │ │ └───── FlagB: set if no extended bitmap is present after the metadata byte | COMMENT |
| MEDIUM⚡ | triedb/pathdb/nodes.go | 441 | // │ │ │ │ │ └───────── FlagC: bitmap for node (only used when flagB == 1) | COMMENT |
| MEDIUM⚡ | triedb/pathdb/nodes.go | 442 | // │ │ │ │ └───────────── FlagD: bitmap for node (only used when flagB == 1) | COMMENT |
| MEDIUM⚡ | triedb/pathdb/nodes.go | 443 | // │ │ │ └───────────────── FlagE: reserved (marks the presence of the 16th child in a full node) | COMMENT |
| MEDIUM⚡ | triedb/pathdb/nodes.go | 444 | // │ │ └───────────────────── FlagF: reserved | COMMENT |
| MEDIUM⚡ | triedb/pathdb/nodes.go | 445 | // │ └───────────────────────── FlagG: reserved | COMMENT |
| MEDIUM⚡ | triedb/pathdb/nodes.go | 446 | // └───────────────────────────── FlagH: reserved | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | core/state_prefetcher.go | 34 | // from disk. Transactions are executed in parallel to fully leverage the | COMMENT |
| MEDIUM | core/rawdb/freezer_batch.go | 246 | // buffer to utilize the full capacity. | COMMENT |
| MEDIUM | core/txpool/blobpool/blobpool.go | 281 | // behavioural expectations allow us to design a transaction pool that is more robust | COMMENT |
| MEDIUM | tests/state_test_util.go | 300 | // utilize those codepaths. | COMMENT |
| MEDIUM | graphql/internal/graphiql/graphiql.min.js | 2 | !function(){var e,t,n={8042:function(e,t){var n,r;"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self&&se | CODE |
| MEDIUM | eth/protocols/snap/sync.go | 2360 | // Essentially, a recursive expansion of HR = (1-MI)*HR + MI*NR. | COMMENT |
| MEDIUM | node/config.go | 118 | // origin. These attacks do not utilize CORS, since they are not cross-domain. | COMMENT |
| MEDIUM | node/config.go | 183 | // origin. These attacks do not utilize CORS, since they are not cross-domain. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | internal/jsre/deps/web3.js | 9344 | function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) { | CODE |
| LOW | accounts/abi/abigen/bind_test.go | 809 | function AllPurelyUnderscoredOutput() constant returns (int _, int __) { | CODE |
| LOW | accounts/abi/abigen/bind_test.go | 2030 | function functionWithKeywordParameter(range uint256) public pure {} | CODE |
| LOW | accounts/abi/abigen/testdata/v2/rangekeyword.go.txt | 63 | // Solidity: function functionWithKeywordParameter(uint256 range) pure returns() | COMMENT |
| LOW | accounts/abi/abigen/testdata/v2/rangekeyword.go.txt | 76 | // Solidity: function functionWithKeywordParameter(uint256 range) pure returns() | COMMENT |
| LOW | accounts/abi/abigen/testdata/v2/underscorer.go.txt | 63 | // Solidity: function AllPurelyUnderscoredOutput() view returns(int256 _, int256 __) | COMMENT |
| LOW | accounts/abi/abigen/testdata/v2/underscorer.go.txt | 76 | // Solidity: function AllPurelyUnderscoredOutput() view returns(int256 _, int256 __) | COMMENT |
| LOW | accounts/abi/abigen/testdata/v2/underscorer.go.txt | 91 | // Solidity: function AllPurelyUnderscoredOutput() view returns(int256 _, int256 __) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | rlp/encode_test.go | 218 | val: "Lorem ipsum dolor sit amet, consectetur adipisicing eli", | CODE |
| LOW⚡ | rlp/encode_test.go | 218 | val: "Lorem ipsum dolor sit amet, consectetur adipisicing eli", | CODE |
| LOW⚡ | rlp/encode_test.go | 222 | val: "Lorem ipsum dolor sit amet, consectetur adipisicing elit", | CODE |
| LOW⚡ | rlp/encode_test.go | 222 | val: "Lorem ipsum dolor sit amet, consectetur adipisicing elit", | CODE |
| LOW⚡ | rlp/encode_test.go | 226 | val: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur mauris magna, suscipit sed vehicula non, i | CODE |
| LOW⚡ | rlp/encode_test.go | 226 | val: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur mauris magna, suscipit sed vehicula non, i | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | eth/gasprice/gasprice_test.go | 125 | // newTestBackend creates a test backend. OBS: don't forget to invoke tearDown | COMMENT |
| MEDIUM | eth/catalyst/simulated_beacon_api.go | 65 | // It's worth noting that in case a tx ends up in the pool listed as | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ethclient/ethclient.go | 101 | // Example usage: | COMMENT |
| LOW | ethclient/ethclient.go | 242 | // Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | oss-fuzz.sh | 73 | ## Check if there exists a seed corpus file | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ecp256k1/libsecp256k1/include/secp256k1_preallocated.h | 29 | * The purpose of this function is to determine how much memory must be provided | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …6k1/libsecp256k1/tools/test_vectors_musig2_generate.py | 454 | CODE |