AI Slop Code Risk Monitor

OffchainLabs/prysm

SlopCodeMonitor badge for OffchainLabs/prysm Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Go implementation of Ethereum proof of stake

1.9 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for OffchainLabs/prysm, a Go project with 3,791 GitHub stars. SynthScan examined 757,598 lines of code across 4148 source files, recording 1018 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 1.9 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

1.9
Adjusted Signal
1.9
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
3.8K
Stars
Go
Language
757.6K
Lines of Code
4.1K
Files
1.0K
Pattern Hits
2026-10-31
Scan Date
0.02
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 5.7/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 908 finding(s).

Hallucinated Dependency & Supply Chain Risk 0.9/100 · LOW

Are imports declared and package/API names verified? 19 finding(s).

Agent Over-Engineering Ratio 5.0/100 · LOW

Are wrappers, guards, and repeated structures necessary? 551 finding(s).

PR Review Velocity Impact 10.0/100 · LOW

Which changes need focused human review? 1018 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 13HIGH 76MEDIUM 37LOW 892

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 1018 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Cross-File Repetition76 hits · 380 pts
SeverityFileLineSnippetContext
HIGH…s/specs-checker/data/specs/phase0/weak-subjectivity.md0// returns the weak subjectivity period for the current ``state``. // this computation takes into account the effect of:STRING
HIGHspecrefs/functions.yml0// returns the weak subjectivity period for the current ``state``. // this computation takes into account the effect of:STRING
HIGHbeacon-chain/core/helpers/weak_subjectivity.go0// returns the weak subjectivity period for the current ``state``. // this computation takes into account the effect of:STRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0// check if ``validator`` is eligible to be placed into the activation queue. //STRING
HIGHspecrefs/functions.yml0// check if ``validator`` is eligible to be placed into the activation queue. //STRING
HIGHbeacon-chain/core/helpers/validators.go0// check if ``validator`` is eligible to be placed into the activation queue. //STRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0// check if ``data_1`` and ``data_2`` are slashable according to casper ffg rules. //STRING
HIGHspecrefs/functions.yml0// check if ``data_1`` and ``data_2`` are slashable according to casper ffg rules. //STRING
HIGHbeacon-chain/core/blocks/attester_slashing.go0// check if ``data_1`` and ``data_2`` are slashable according to casper ffg rules. //STRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0// check if ``indexed_attestation`` is not empty, has sorted and unique indices and has a valid aggregate signature. //STRING
HIGHspecrefs/functions.yml0// check if ``indexed_attestation`` is not empty, has sorted and unique indices and has a valid aggregate signature. //STRING
HIGHbeacon-chain/core/blocks/attestation.go0// check if ``indexed_attestation`` is not empty, has sorted and unique indices and has a valid aggregate signature. //STRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0// return the shuffled index corresponding to ``seed`` (and ``index_count``). //STRING
HIGHspecrefs/functions.yml0// return the shuffled index corresponding to ``seed`` (and ``index_count``). //STRING
HIGHbeacon-chain/core/helpers/shuffle.go0// return the shuffled index corresponding to ``seed`` (and ``index_count``). //STRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0// return from ``indices`` a random index sampled by effective balance. //STRING
HIGHspecrefs/functions.yml0// return from ``indices`` a random index sampled by effective balance. //STRING
HIGHbeacon-chain/core/helpers/validators.go0// return from ``indices`` a random index sampled by effective balance. //STRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0// return the committee corresponding to ``indices``, ``seed``, ``index``, and committee ``count``. //STRING
HIGHspecrefs/functions.yml0// return the committee corresponding to ``indices``, ``seed``, ``index``, and committee ``count``. //STRING
HIGHbeacon-chain/core/helpers/beacon_committee.go0// return the committee corresponding to ``indices``, ``seed``, ``index``, and committee ``count``. //STRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0// return the epoch during which validator activations and exits initiated in ``epoch`` take effect. //STRING
HIGHspecrefs/functions.yml0// return the epoch during which validator activations and exits initiated in ``epoch`` take effect. //STRING
HIGHbeacon-chain/core/helpers/validators.go0// return the epoch during which validator activations and exits initiated in ``epoch`` take effect. //STRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0// return the 32-byte fork data root for the ``current_version`` and ``genesis_validators_root``. // this is used primarSTRING
HIGHspecrefs/functions.yml0// return the 32-byte fork data root for the ``current_version`` and ``genesis_validators_root``. // this is used primarSTRING
HIGHbeacon-chain/core/signing/signing_root.go0// return the 32-byte fork data root for the ``current_version`` and ``genesis_validators_root``. // this is used primarSTRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0// return the domain for the ``domain_type`` and ``fork_version``. //STRING
HIGHspecrefs/functions.yml0// return the domain for the ``domain_type`` and ``fork_version``. //STRING
HIGHbeacon-chain/core/signing/signing_root.go0// return the domain for the ``domain_type`` and ``fork_version``. //STRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0// return the signing root for the corresponding signing data. //STRING
HIGHspecrefs/functions.yml0// return the signing root for the corresponding signing data. //STRING
HIGHbeacon-chain/core/signing/signing_root.go0// return the signing root for the corresponding signing data. //STRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0` // return the previous epoch (unless the current epoch is ``genesis_epoch``). //STRING
HIGHspecrefs/functions.yml0` // return the previous epoch (unless the current epoch is ``genesis_epoch``). //STRING
HIGHbeacon-chain/core/time/slot_epoch.go0` // return the previous epoch (unless the current epoch is ``genesis_epoch``). //STRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0// return the block root at the start of a recent ``epoch``. //STRING
HIGHspecrefs/functions.yml0// return the block root at the start of a recent ``epoch``. //STRING
HIGHbeacon-chain/core/helpers/block.go0// return the block root at the start of a recent ``epoch``. //STRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0// return the sequence of active validator indices at ``epoch``. //STRING
HIGHspecrefs/functions.yml0// return the sequence of active validator indices at ``epoch``. //STRING
HIGHbeacon-chain/core/helpers/validators.go0// return the sequence of active validator indices at ``epoch``. //STRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0// return the churn limit for the current epoch. //STRING
HIGHspecrefs/functions.yml0// return the churn limit for the current epoch. //STRING
HIGHbeacon-chain/core/helpers/validators.go0// return the churn limit for the current epoch. //STRING
HIGHbeacon-chain/core/helpers/validator_churn.go0// return the churn limit for the current epoch. //STRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0// return the number of committees in each slot for the given ``epoch``. //STRING
HIGHspecrefs/functions.yml0// return the number of committees in each slot for the given ``epoch``. //STRING
HIGHbeacon-chain/core/helpers/beacon_committee.go0// return the number of committees in each slot for the given ``epoch``. //STRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0// return the beacon committee at ``slot`` for ``index``. //STRING
HIGHspecrefs/functions.yml0// return the beacon committee at ``slot`` for ``index``. //STRING
HIGHbeacon-chain/core/helpers/beacon_committee.go0// return the beacon committee at ``slot`` for ``index``. //STRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0// return the beacon proposer index at the current slot. //STRING
HIGHspecrefs/functions.yml0// return the beacon proposer index at the current slot. //STRING
HIGHbeacon-chain/core/helpers/validators.go0// return the beacon proposer index at the current slot. //STRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0return the combined effective balance of the ``indices``. ``effective_balance_increment`` gwei minimum to avoid divisionSTRING
HIGHbeacon-chain/core/helpers/rewards_penalties.go0return the combined effective balance of the ``indices``. ``effective_balance_increment`` gwei minimum to avoid divisionSTRING
HIGHspecrefs/functions.yml0return the combined effective balance of the ``indices``. ``effective_balance_increment`` gwei minimum to avoid divisionSTRING
HIGHtools/specs-checker/data/specs/phase0/beacon-chain.md0// return the combined effective balance of the active validators. // note: ``get_total_balance`` returns ``effective_baSTRING
HIGHspecrefs/functions.yml0// return the combined effective balance of the active validators. // note: ``get_total_balance`` returns ``effective_baSTRING
16 more matches not shown…
Over-Commented Block347 hits · 346 pts
SeverityFileLineSnippetContext
LOWprysm.sh1#!/bin/bashCOMMENT
LOWcmd/defaults.go1// Copyright 2016 The go-ethereum AuthorsCOMMENT
LOWcrypto/keystore/key.go1// Copyright 2014 The go-ethereum AuthorsCOMMENT
LOWcrypto/keystore/utils.go1// Copyright 2014 The go-ethereum AuthorsCOMMENT
LOWcrypto/keystore/keystore.go1// Copyright 2014 The go-ethereum AuthorsCOMMENT
LOWcrypto/bls/blst/doc.go1// Package blst implements a go-wrapper around a library implementing theCOMMENT
LOWcrypto/bls/blst/signature.go101 return wrappedSigs, nilCOMMENT
LOWcrypto/bls/blst/signature.go121//COMMENT
LOWtools/interop/split-keys/main.go1// Package main provides a tool named split-keys which allows for generating any number of Ethereum validator keysCOMMENT
LOWtools/ssztrace/main.go1// Command ssztrace emits a merkleization trace (flat g -> root map, or nestedCOMMENT
LOWtools/cross-toolchain/configs/cc/cc_wrapper.sh1#!/bin/bashCOMMENT
LOWvalidator/accounts/doc.go1// Package accounts defines a new model for accounts management in Prysm, using bestCOMMENT
LOWvalidator/db/kv/import.go121 }COMMENT
LOWvalidator/db/kv/import.go161 }COMMENT
LOWvalidator/db/kv/schema.go41 // ProposerSettings stores the encoded proposer settings fileCOMMENT
LOWvalidator/slashing-protection-history/doc.go1// Package history defines methods to parse, import, and export slashing protection dataCOMMENT
LOWvalidator/client/validator.go361 }COMMENT
LOWvalidator/package/validator.yaml1# Configuration file for Prysm validatorCOMMENT
LOWvalidator/package/validator.yaml21# graffiti-file: Path to Yaml file containing advanced graffiti settings. See https://docs.prylabs.network/docs/prysm-usCOMMENT
LOWvalidator/keymanager/remote-web3signer/keymanager.go41 KeyFilePath stringCOMMENT
LOWconfig/params/testdata/e2e_config.yaml1# e2e configCOMMENT
LOWnetwork/auth.go21// To use this transport, initialize a new &http.Client{} from the standard libraryCOMMENT
LOWasync/event/subscription.go1// Copyright 2016 The go-ethereum AuthorsCOMMENT
LOWasync/event/feed.go1// Copyright 2016 The go-ethereum AuthorsCOMMENT
LOWasync/event/subscription_test.go1// Copyright 2016 The go-ethereum AuthorsCOMMENT
LOWasync/event/example_scope_test.go1// Copyright 2016 The go-ethereum AuthorsCOMMENT
LOWasync/event/example_scope_test.go121COMMENT
LOWasync/event/example_subscription_test.go1// Copyright 2016 The go-ethereum AuthorsCOMMENT
LOWio/file/fileutil_test.go1// Copyright 2015 The go-ethereum AuthorsCOMMENT
LOWruntime/interop/generate_genesis_state.go201// The specification is as follows:COMMENT
LOWruntime/debug/debug.go1// Package debug defines useful profiling utils that came originally with go-ethereum.COMMENT
LOWhack/update-lighthouse.sh1#!/bin/bashCOMMENT
LOWhack/update-go-spectest.sh1#!/bin/bashCOMMENT
LOWhack/upload-github-release-asset.sh1#!/usr/bin/env bashCOMMENT
LOWhack/build_and_upload_docker.sh21 //cmd/validator:push_oci_image \COMMENT
LOWhack/check-bazel-drift.sh81# is the known-benign protoc version header change between this Bazel outputCOMMENT
LOWencoding/ssz/equality/deep_equal.go21var protoMessageType = reflect.TypeFor[proto.Message]()COMMENT
LOWencoding/ssz/equality/deep_equal.go281//COMMENT
LOWencoding/ssz/equality/deep_equal.go301// if they are equal using Go's == operator.COMMENT
LOWencoding/ssz/query/proof_collector.go21 fastssz "github.com/prysmaticlabs/fastssz"COMMENT
LOWencoding/ssz/query/proof_collector.go161// of visited nodes.COMMENT
LOWencoding/ssz/query/proof_collector.go241//COMMENT
LOWencoding/ssz/query/proof_collector.go301// Proof collection: merkleize() is called for composite elements; merkleizeVectorAndCollect collects required siblings COMMENT
LOWencoding/ssz/query/proof_collector.go361 if err := g.Wait(); err != nil {COMMENT
LOWencoding/ssz/query/proof_collector.go461COMMENT
LOWencoding/ssz/query/proof_collector.go521// merkleizeBitlist computes the Merkle root of an SSZ bitlist by merkleizing its data chunks and mixing in the bit lengCOMMENT
LOWencoding/ssz/query/proof_collector.go601 pc.collectSibling(gindex, elements[idx])COMMENT
LOWbeacon-chain/core/blocks/header.go21//COMMENT
LOWbeacon-chain/core/blocks/header.go61 // Verify proposer signature.COMMENT
LOWbeacon-chain/core/blocks/header.go81// # Verify that the block is newer than latest block headerCOMMENT
LOWbeacon-chain/core/blocks/withdrawals.go61// validator = state.validators[address_change.validator_index]COMMENT
LOWbeacon-chain/core/blocks/withdrawals.go121}COMMENT
LOWbeacon-chain/core/blocks/withdrawals.go141// # Update the next withdrawal index if this block contained withdrawalsCOMMENT
LOWbeacon-chain/core/blocks/attester_slashing.go21// on each processed beacon block to slash attesters based onCOMMENT
LOWbeacon-chain/core/blocks/attester_slashing.go181// def is_slashable_attestation_data(data_1: AttestationData, data_2: AttestationData) -> bool:COMMENT
LOWbeacon-chain/core/blocks/proposer_slashing.go21var ErrCouldNotVerifyBlockHeader = errors.New("could not verify beacon block header")COMMENT
LOWbeacon-chain/core/blocks/attestation.go241COMMENT
LOWbeacon-chain/core/blocks/payload.go181//COMMENT
LOWbeacon-chain/core/blocks/exit.go21COMMENT
LOWbeacon-chain/core/blocks/exit.go81 }COMMENT
287 more matches not shown…
Hyper-Verbose Identifiers460 hits · 342 pts
SeverityFileLineSnippetContext
LOW…s/specs-checker/data/specs/phase0/weak-subjectivity.md2def compute_weak_subjectivity_period(state: BeaconState) -> uint64:CODE
LOW…s/specs-checker/data/specs/phase0/weak-subjectivity.md35def is_within_weak_subjectivity_period(store: Store, ws_state: BeaconState, ws_checkpoint: Checkpoint) -> bool:CODE
LOW⚡tools/specs-checker/data/specs/phase0/beacon-chain.md522def get_matching_source_attestations(state: BeaconState, epoch: Epoch) -> Sequence[PendingAttestation]:CODE
LOW⚡tools/specs-checker/data/specs/phase0/beacon-chain.md527def get_matching_target_attestations(state: BeaconState, epoch: Epoch) -> Sequence[PendingAttestation]:CODE
LOW⚡tools/specs-checker/data/specs/phase0/beacon-chain.md534def get_matching_head_attestations(state: BeaconState, epoch: Epoch) -> Sequence[PendingAttestation]:CODE
LOW⚡tools/specs-checker/data/specs/phase0/beacon-chain.md541def get_unslashed_attesting_indices(state: BeaconState,CODE
LOW⚡tools/specs-checker/data/specs/phase0/beacon-chain.md819def process_randao_mixes_reset(state: BeaconState) -> None:CODE
LOW⚡tools/specs-checker/data/specs/phase0/beacon-chain.md826def process_historical_roots_update(state: BeaconState) -> None:CODE
LOW⚡tools/specs-checker/data/specs/phase0/beacon-chain.md834def process_participation_record_updates(state: BeaconState) -> None:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md35def is_eligible_for_activation_queue(validator: Validator) -> bool:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md45def is_eligible_for_activation(state: BeaconState, validator: Validator) -> bool:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md64def is_slashable_attestation_data(data_1: AttestationData, data_2: AttestationData) -> bool:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md76def is_valid_indexed_attestation(state: BeaconState, indexed_attestation: IndexedAttestation) -> bool:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md164def compute_start_slot_at_epoch(epoch: Epoch) -> Slot:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md171def compute_activation_exit_epoch(epoch: Epoch) -> Epoch:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md257def get_active_validator_indices(state: BeaconState, epoch: Epoch) -> Sequence[ValidatorIndex]:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md264def get_validator_churn_limit(state: BeaconState) -> uint64:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md280def get_committee_count_per_slot(state: BeaconState, epoch: Epoch) -> uint64:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md304def get_beacon_proposer_index(state: BeaconState) -> ValidatorIndex:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md557def process_justification_and_finalization(state: BeaconState) -> None:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md570def weigh_justification_and_finalization(state: BeaconState,CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md626def get_eligible_validator_indices(state: BeaconState) -> Sequence[ValidatorIndex]:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md634def get_attestation_component_deltas(state: BeaconState,CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md684def get_inclusion_delay_deltas(state: BeaconState) -> Tuple[Sequence[Gwei], Sequence[Gwei]]:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md704def get_inactivity_penalty_deltas(state: BeaconState) -> Tuple[Sequence[Gwei], Sequence[Gwei]]:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md748def process_rewards_and_penalties(state: BeaconState) -> None:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md799def process_effective_balance_updates(state: BeaconState) -> None:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md902def process_proposer_slashing(state: BeaconState, proposer_slashing: ProposerSlashing) -> None:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md924def process_attester_slashing(state: BeaconState, attester_slashing: AttesterSlashing) -> None:CODE
LOWtools/specs-checker/data/specs/phase0/beacon-chain.md968def get_validator_from_deposit(state: BeaconState, deposit: Deposit) -> Validator:CODE
LOWtools/specs-checker/data/specs/phase0/fork-choice.md28def compute_slots_since_epoch_start(slot: Slot) -> int:CODE
LOWtools/specs-checker/data/specs/phase0/fork-choice.md43def get_latest_attesting_balance(store: Store, root: Root) -> Gwei:CODE
LOWtools/specs-checker/data/specs/phase0/fork-choice.md116def should_update_justified_checkpoint(store: Store, new_justified_checkpoint: Checkpoint) -> bool:CODE
LOWtools/specs-checker/data/specs/phase0/fork-choice.md162def store_target_checkpoint_state(store: Store, target: Checkpoint) -> None:CODE
LOWtools/specs-checker/data/specs/phase0/validator.md2def check_if_validator_active(state: BeaconState, validator_index: ValidatorIndex) -> bool:CODE
LOWtools/specs-checker/data/specs/phase0/validator.md98def get_attestation_signature(state: BeaconState, attestation_data: AttestationData, privkey: int) -> BLSSignature:CODE
LOWtools/specs-checker/data/specs/phase0/validator.md104def compute_subnet_for_attestation(committees_per_slot: uint64, slot: Slot, committee_index: CommitteeIndex) -> uint64:CODE
LOWtools/specs-checker/data/specs/phase0/validator.md143def get_aggregate_and_proof_signature(state: BeaconState,CODE
LOWtools/specs-checker/data/ssz/merkle-proofs.md123def concat_generalized_indices(*indices: GeneralizedIndex) -> GeneralizedIndex:CODE
LOW⚡tools/specs-checker/data/ssz/merkle-proofs.md134def get_generalized_index_length(index: GeneralizedIndex) -> int:CODE
LOW⚡tools/specs-checker/data/ssz/merkle-proofs.md141def get_generalized_index_bit(index: GeneralizedIndex, position: int) -> bool:CODE
LOW⚡tools/specs-checker/data/ssz/merkle-proofs.md148def generalized_index_sibling(index: GeneralizedIndex) -> GeneralizedIndex:CODE
LOWtools/specs-checker/data/ssz/merkle-proofs.md211def calculate_multi_merkle_root(leaves: Sequence[Bytes32],CODE
LOWbeacon-chain/core/blocks/withdrawals.go59// def process_bls_to_execution_change(state: BeaconState, signed_address_change: SignedBLSToExecutionChange) -> None:COMMENT
LOWbeacon-chain/core/blocks/attester_slashing.go26// def process_attester_slashing(state: BeaconState, attester_slashing: AttesterSlashing) -> None:COMMENT
LOWbeacon-chain/core/blocks/attester_slashing.go181// def is_slashable_attestation_data(data_1: AttestationData, data_2: AttestationData) -> bool:COMMENT
LOWbeacon-chain/core/blocks/proposer_slashing.go29// def process_proposer_slashing(state: BeaconState, proposer_slashing: ProposerSlashing) -> None:COMMENT
LOWbeacon-chain/core/blocks/attestation.go246// def is_valid_indexed_attestation(state: BeaconState, indexed_attestation: IndexedAttestation) -> bool:COMMENT
LOWbeacon-chain/core/blocks/payload.go30// def is_merge_transition_complete(state: BeaconState) -> bool:COMMENT
LOWbeacon-chain/core/blocks/payload.go183// def process_execution_payload(state: BeaconState, payload: ExecutionPayload, execution_engine: ExecutionEngine) -> NoCOMMENT
LOWbeacon-chain/core/electra/validator.go17// def switch_to_compounding_validator(state: BeaconState, index: ValidatorIndex) -> None:COMMENT
LOWbeacon-chain/core/electra/validator.go42// def queue_excess_active_balance(state: BeaconState, index: ValidatorIndex) -> None:COMMENT
LOWbeacon-chain/core/electra/validator.go87// def queue_entire_balance_and_reset_validator(state: BeaconState, index: ValidatorIndex) -> None:COMMENT
LOWbeacon-chain/core/electra/deposits.go162// def is_valid_deposit_signature(pubkey: BLSPubkey, withdrawal_credentials: Bytes32, amount: uint64, signature: BLSSignCOMMENT
LOWbeacon-chain/core/electra/deposits.go470// def add_validator_to_registry(state: BeaconState, pubkey: BLSPubkey, withdrawal_credentials: Bytes32, amount: uint64)COMMENT
LOWbeacon-chain/core/electra/deposits.go508// def get_validator_from_deposit(pubkey: BLSPubkey, withdrawal_credentials: Bytes32, amount: uint64) -> Validator:COMMENT
LOWbeacon-chain/core/electra/effective_balance_updates.go15// def process_effective_balance_updates(state: BeaconState) -> None:COMMENT
LOWbeacon-chain/core/electra/churn.go18// def compute_consolidation_epoch_and_update_churn(state: BeaconState, consolidation_balance: Gwei) -> Epoch:COMMENT
LOWbeacon-chain/core/electra/consolidations.go22// def process_pending_consolidations(state: BeaconState) -> None:COMMENT
LOWbeacon-chain/core/electra/consolidations.go97// def is_valid_switch_to_compounding_request(COMMENT
400 more matches not shown…
Hallucination Indicators13 hits · 130 pts
SeverityFileLineSnippetContext
CRITICAL…tor/client/beacon-api/submit_signed_aggregate_proof.go34 attestationDataRoot, err := in.SignedAggregateAndProof.Message.Aggregate.Data.HashTreeRoot()CODE
CRITICAL…tor/client/beacon-api/submit_signed_aggregate_proof.go61 attestationDataRoot, err := in.SignedAggregateAndProof.Message.Aggregate.Data.HashTreeRoot()CODE
CRITICALtesting/util/lightclient.go225 signatureBlock.Block.Body.SyncAggregate.SyncCommitteeBits.SetBitAt(i, true)CODE
CRITICALtesting/util/lightclient.go366 signatureBlock.Block.Body.SyncAggregate.SyncCommitteeBits.SetBitAt(i, true)CODE
CRITICALtesting/util/lightclient.go397 signatureBlock.Block.Body.SyncAggregate.SyncCommitteeBits.SetBitAt(i, true)CODE
CRITICALtesting/util/lightclient.go543 signatureBlock.Block.Body.SyncAggregate.SyncCommitteeBits.SetBitAt(i, true)CODE
CRITICALtesting/util/lightclient.go574 signatureBlock.Block.Body.SyncAggregate.SyncCommitteeBits.SetBitAt(i, true)CODE
CRITICALtesting/util/lightclient.go721 signatureBlock.Message.Body.SyncAggregate.SyncCommitteeBits.SetBitAt(i, true)CODE
CRITICALtesting/util/lightclient.go752 signatureBlock.Block.Body.SyncAggregate.SyncCommitteeBits.SetBitAt(i, true)CODE
CRITICALtesting/util/lightclient.go899 signatureBlock.Message.Body.SyncAggregate.SyncCommitteeBits.SetBitAt(i, true)CODE
CRITICALtesting/util/lightclient.go930 signatureBlock.Block.Body.SyncAggregate.SyncCommitteeBits.SetBitAt(i, true)CODE
CRITICALtesting/util/lightclient.go1077 signatureBlock.Message.Body.SyncAggregate.SyncCommitteeBits.SetBitAt(i, true)CODE
CRITICALtesting/util/lightclient.go1108 signatureBlock.Block.Body.SyncAggregate.SyncCommitteeBits.SetBitAt(i, true)CODE
AI Slop Vocabulary19 hits · 57 pts
SeverityFileLineSnippetContext
MEDIUMtools/analyzers/properpermissions/analyzer.go4// to utilize shared/file as the canonical solution.COMMENT
MEDIUMtools/keystores/main.go253 // then utilize the public key directly from the private key.COMMENT
MEDIUMvalidator/keymanager/local/import.go152 // then utilize the public key directly from the private key.COMMENT
MEDIUMhack/update-lighthouse.sh12# For each target-triple the e2e harness supports, the matching release asset isCOMMENT
MEDIUMencoding/ssz/helpers.go52// BitwiseMerkleize - given ordered BYTES_PER_CHUNK-byte chunks, if necessary utilizeCOMMENT
MEDIUMbeacon-chain/core/signing/signing_root.go202 // utilize custom block hashing functionCOMMENT
MEDIUMbeacon-chain/core/helpers/shuffle.go22// We utilize 'swap or not' shuffling in this implementation; we are allocating the memory with the seed that staysCOMMENT
MEDIUMbeacon-chain/core/helpers/shuffle.go124// We utilize 'swap or not' shuffling in this implementation; we are allocating the memory with the seed that staysCOMMENT
MEDIUMbeacon-chain/p2p/topics.go99// and it uses strings in order to leverage golangs string interning for memory efficiency.COMMENT
MEDIUMbeacon-chain/slasher/params.go11// To properly access the element at epoch `e` for a validator index `i`, we leverage helperCOMMENT
MEDIUMbeacon-chain/sync/initial-sync/blocks_fetcher_utils.go70// data anyway, so code that relies on this function must be robust enough to re-request, if no progressCOMMENT
MEDIUMbeacon-chain/rpc/eth/events/events_test.go1286 // level (rather than an exact message) keeps the guard robust if the message is reworded.COMMENT
MEDIUMtesting/endtoend/evaluators/builder.go91 // since they both utilize the same EL.COMMENT
MEDIUMtesting/endtoend/evaluators/builder.go139 // since they both utilize the same EL.COMMENT
MEDIUMtesting/endtoend/kurtosis/playbooks/metrics.yaml11 # Overridden at schedule time by the Go harness (see RegisterPlaybooks).COMMENT
MEDIUM…/kurtosis/playbooks/validators-sync-participation.yaml11 # Overridden at schedule time by the Go harness (see RegisterPlaybooks).COMMENT
MEDIUM…ndtoend/kurtosis/playbooks/network-health-monitor.yaml18 # Overridden at schedule time by the Go harness (see RegisterPlaybooks).COMMENT
MEDIUM…ing/endtoend/kurtosis/playbooks/validators-active.yaml12 # Overridden at schedule time by the Go harness (see RegisterPlaybooks).COMMENT
MEDIUM.github/workflows/go.yml85 # fuzz leverage go tag based stubs at compile time.COMMENT
Structural Annotation Overuse32 hits · 57 pts
SeverityFileLineSnippetContext
LOW⚡validator/rpc/handlers_auth_test.go18 // Step 1: Create a temporary directoryCOMMENT
LOW⚡validator/rpc/handlers_auth_test.go21 // Step 2: Optionally create a temporary 'auth-token' fileCOMMENT
LOW⚡validator/rpc/handlers_auth_test.go39 // Step 4: Create an HTTP request and response recorderCOMMENT
LOW⚡validator/rpc/handlers_auth_test.go43 // Step 5: Call the Initialize functionCOMMENT
LOW⚡validator/rpc/handlers_auth_test.go48 // Step 6: Assert expectationsCOMMENT
LOWvalidator/client/wait_for_activation.go30 // Step 1: Fetch validating public keys.COMMENT
LOW⚡validator/client/wait_for_activation.go41 // Step 2: If no keys, wait for accounts change or context cancellation.COMMENT
LOW⚡validator/client/wait_for_activation.go51 // Step 3: update validator statuses in cache, waiting out a broken connection.COMMENT
LOW⚡validator/client/wait_for_activation.go64 // Step 4: Check and log validator statuses.COMMENT
LOW⚡validator/client/wait_for_activation.go69 // Step 5: If no active validators, wait for accounts change, context cancellation, or next epoch.COMMENT
LOWencoding/ssz/query/proof_collector.go273 // Step 1: Compute HTR for each subtree (field)COMMENT
LOWencoding/ssz/query/proof_collector.go290 // Step 2: Merkleize the field hashes into the container root,COMMENT
LOWbeacon-chain/cache/attestation.go238// NOTE: This function cannot be declared as a method on the AttestationCache because it is a generic function.COMMENT
LOWbeacon-chain/state/fieldtrie/doc.md186 // Step 1: Create a new field trie (owned mode).COMMENT
LOWbeacon-chain/state/fieldtrie/doc.md212 // Step 2: Compute the root of the trie (read-only).COMMENT
LOWbeacon-chain/state/fieldtrie/doc.md226 // Step 3: Copy the trie (lightweight, reference-shared copy).COMMENT
LOWbeacon-chain/state/fieldtrie/doc.md236 // Step 4: Recompute trieB with changed elements.COMMENT
LOWbeacon-chain/state/fieldtrie/doc.md267 // Step 5: GC trieB — one of the two original shared handles.COMMENT
LOWbeacon-chain/state/fieldtrie/doc.md279 // Step 6: GC trieC — the overlay is released.COMMENT
LOWbeacon-chain/state/fieldtrie/doc.md297 // Step 7: Recompute trieA in place (not shared anymore).COMMENT
LOWbeacon-chain/state/fieldtrie/doc.md313 // Step 8: GC trieA — final cleanup.COMMENT
LOWbeacon-chain/state/fieldtrie/field_trie_test.go788 // Step 1: Fork into an overlay with 3 leaf overrides (at the threshold, not above).COMMENT
LOWbeacon-chain/state/fieldtrie/field_trie_test.go801 // Step 2: Add 1 more override via recomputeOverlay. The check (len(levels[0]) > 3)COMMENT
LOWbeacon-chain/state/fieldtrie/field_trie_test.go813 // Step 3: Now len(levels[0]) = 4 > 3, which triggers promoteOverlay.COMMENT
LOW…acon-chain/forkchoice/doubly-linked-tree/gloas_test.go2125 // Step 1: Validator attests for block B at slot 100 (same slot as block) with payloadStatus=false.COMMENT
LOW⚡…acon-chain/forkchoice/doubly-linked-tree/gloas_test.go2137 // Step 2: Validator re-attests for the same block B but at slot 140 (new epoch, different slot).COMMENT
LOW⚡…acon-chain/forkchoice/doubly-linked-tree/gloas_test.go2143 // Step 3: updateBalances should detect the slot change and reprocess.COMMENT
LOW⚡…acon-chain/forkchoice/doubly-linked-tree/gloas_test.go2151 // Step 4: Validator switches vote to block C at slot 101.COMMENT
LOWbeacon-chain/sync/initial-sync/round_robin.go38// Step 1 - Sync to finalized epoch.COMMENT
LOWbeacon-chain/sync/initial-sync/round_robin.go41// Step 2 - Sync to head from finalized epoch.COMMENT
LOWbeacon-chain/sync/initial-sync/round_robin.go52 // Step 1 - Sync to end of finalized epoch.COMMENT
LOWbeacon-chain/sync/initial-sync/round_robin.go62 // Step 2 - sync to head from majority of peers (from no less than MinimumSyncPeers*2 peers)COMMENT
Decorative Section Separators15 hits · 56 pts
SeverityFileLineSnippetContext
MEDIUMconfig/params/testdata/e2e_config.yaml9# ---------------------------------------------------------------COMMENT
MEDIUMconfig/params/testdata/e2e_config.yaml19# ---------------------------------------------------------------COMMENT
MEDIUMconfig/params/testdata/e2e_config.yaml31# ---------------------------------------------------------------COMMENT
MEDIUMconfig/params/testdata/e2e_config.yaml60# ---------------------------------------------------------------COMMENT
MEDIUMconfig/params/testdata/e2e_config.yaml78# ---------------------------------------------------------------COMMENT
MEDIUM⚡config/params/testdata/e2e_config.yaml92# ---------------------------------------------------------------COMMENT
MEDIUM⚡config/params/testdata/e2e_config.yaml98# ---------------------------------------------------------------COMMENT
MEDIUM⚡config/params/testdata/e2e_config.yaml106# ---------------------------------------------------------------COMMENT
MEDIUM⚡config/params/testdata/e2e_config.yaml116# ---------------------------------------------------------------COMMENT
MEDIUM⚡config/params/testdata/e2e_config.yaml124# ---------------------------------------------------------------COMMENT
MEDIUM⚡config/params/testdata/e2e_config.yaml129# ---------------------------------------------------------------COMMENT
MEDIUM⚡config/params/testdata/e2e_config.yaml136# ---------------------------------------------------------------COMMENT
MEDIUMhack/upgrade-version.sh25# ====================COMMENT
MEDIUMhack/build_and_upload_docker.sh3# -----------------------------------------------------------------------------COMMENT
MEDIUMhack/build_and_upload_docker.sh8# -----------------------------------------------------------------------------COMMENT
Verbosity Indicators19 hits · 38 pts
SeverityFileLineSnippetContext
LOW⚡validator/rpc/handlers_auth_test.go18 // Step 1: Create a temporary directoryCOMMENT
LOW⚡validator/rpc/handlers_auth_test.go21 // Step 2: Optionally create a temporary 'auth-token' fileCOMMENT
LOW⚡validator/rpc/handlers_auth_test.go39 // Step 4: Create an HTTP request and response recorderCOMMENT
LOW⚡validator/rpc/handlers_auth_test.go43 // Step 5: Call the Initialize functionCOMMENT
LOW⚡validator/rpc/handlers_auth_test.go48 // Step 6: Assert expectationsCOMMENT
LOWvalidator/client/wait_for_activation.go30 // Step 1: Fetch validating public keys.COMMENT
LOW⚡validator/client/wait_for_activation.go41 // Step 2: If no keys, wait for accounts change or context cancellation.COMMENT
LOW⚡validator/client/wait_for_activation.go51 // Step 3: update validator statuses in cache, waiting out a broken connection.COMMENT
LOW⚡validator/client/wait_for_activation.go64 // Step 4: Check and log validator statuses.COMMENT
LOW⚡validator/client/wait_for_activation.go69 // Step 5: If no active validators, wait for accounts change, context cancellation, or next epoch.COMMENT
LOWencoding/ssz/query/proof_collector.go273 // Step 1: Compute HTR for each subtree (field)COMMENT
LOWencoding/ssz/query/proof_collector.go290 // Step 2: Merkleize the field hashes into the container root,COMMENT
LOWbeacon-chain/state/fieldtrie/field_trie_test.go788 // Step 1: Fork into an overlay with 3 leaf overrides (at the threshold, not above).COMMENT
LOWbeacon-chain/state/fieldtrie/field_trie_test.go801 // Step 2: Add 1 more override via recomputeOverlay. The check (len(levels[0]) > 3)COMMENT
LOWbeacon-chain/state/fieldtrie/field_trie_test.go813 // Step 3: Now len(levels[0]) = 4 > 3, which triggers promoteOverlay.COMMENT
LOW…acon-chain/forkchoice/doubly-linked-tree/gloas_test.go2125 // Step 1: Validator attests for block B at slot 100 (same slot as block) with payloadStatus=false.COMMENT
LOW⚡…acon-chain/forkchoice/doubly-linked-tree/gloas_test.go2137 // Step 2: Validator re-attests for the same block B but at slot 140 (new epoch, different slot).COMMENT
LOW⚡…acon-chain/forkchoice/doubly-linked-tree/gloas_test.go2143 // Step 3: updateBalances should detect the slot change and reprocess.COMMENT
LOW⚡…acon-chain/forkchoice/doubly-linked-tree/gloas_test.go2151 // Step 4: Validator switches vote to block C at slot 101.COMMENT
Redundant / Tautological Comments24 hits · 36 pts
SeverityFileLineSnippetContext
LOWbeacon-chain/core/electra/deposits.go214// # Check if deposit has been finalized, otherwise, stop processing.COMMENT
LOWbeacon-chain/core/electra/deposits.go218// # Check if number of processed deposits has not reached the limit, otherwise, stop processing.COMMENT
LOWbeacon-chain/core/electra/deposits.go238// # Check if deposit fits in the churn, otherwise, do no more deposit processing in this epoch.COMMENT
LOW⚡beacon-chain/blockchain/pow_block.go34// # Check if `pow_block` is availableCOMMENT
LOW⚡beacon-chain/blockchain/pow_block.go37// # Check if `pow_parent` is availableCOMMENT
LOW⚡beacon-chain/blockchain/pow_block.go39// # Check if `pow_block` is a valid terminal PoW blockCOMMENT
LOW⚡specrefs/functions.yml8899 # Check if blob data is availableCOMMENT
LOW⚡specrefs/functions.yml8909 # Check if this payload satisfies the inclusion list constraintsCOMMENT
LOW⚡specrefs/functions.yml16691 # Check if `pow_block` is availableCOMMENT
LOW⚡specrefs/functions.yml16694 # Check if `pow_parent` is availableCOMMENT
LOW⚡specrefs/functions.yml16696 # Check if `pow_block` is a valid terminal PoW blockCOMMENT
LOWspecrefs/functions.yml7069 # Check if the confirmed_root has current_epoch_observed_justified_checkpoint in its chainCOMMENT
LOWspecrefs/functions.yml8705 # Check if blob data is availableCOMMENT
LOWspecrefs/functions.yml8767 # Check if blob data is availableCOMMENT
LOWspecrefs/functions.yml8872 # Check if blob data is availableCOMMENT
LOWspecrefs/functions.yml11281 # Check if deposit has been finalized, otherwise, stop processing.COMMENT
LOWspecrefs/functions.yml11285 # Check if number of processed deposits has not reached the limit, otherwise, stop processing.COMMENT
LOWspecrefs/functions.yml11305 # Check if deposit fits in the churn, otherwise, do no more deposit processing in this epoch.COMMENT
LOWspecrefs/functions.yml11342 # Check if deposit has been finalized, otherwise, stop processing.COMMENT
LOWspecrefs/functions.yml11346 # Check if number of processed deposits has not reached the limit, otherwise, stop processing.COMMENT
LOWspecrefs/functions.yml11366 # Check if deposit fits in the churn, otherwise, do no more deposit processing in this epoch.COMMENT
LOWspecrefs/functions.yml11403 # Check if deposit has been finalized, otherwise, stop processing.COMMENT
LOWspecrefs/functions.yml11407 # Check if number of processed deposits has not reached the limit, otherwise, stop processing.COMMENT
LOWspecrefs/functions.yml11427 # Check if deposit fits in the churn, otherwise, do no more deposit processing in this epoch.COMMENT
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMvalidator/package/preinst.sh7# Create the service account, if neededCOMMENT
MEDIUMbeacon-chain/package/preinst.sh7# Create the service account, if neededCOMMENT
Fake / Example Data6 hits · 6 pts
SeverityFileLineSnippetContext
LOWtesting/assertions/assertions_test.go922 Email: "foo@bar.com",CODE
LOWtesting/assertions/assertions_test.go943 Email: "foo@bar.com",CODE
LOWapi/redact_test.go17 endpoint: "https://eth:fake-token-not-real@bn-lodestar.example.io",CODE
LOWapi/redact_test.go37 endpoint: "eth:fake-token-not-real@127.0.0.1:4000",CODE
LOWapi/redact_test.go71 endpoints: "https://eth:fake-token-not-real@bn-lodestar.example.io",CODE
LOWapi/rest/rest_handler_test.go22 const secret = "fake-token-not-real"CODE
Slop Phrases2 hits · 3 pts
SeverityFileLineSnippetContext
LOWtools/exploredb/main.go139 // don't forget to close it when ejecting out of this function.COMMENT
LOWtools/exploredb/main.go399 // don't forget to close it when ejecting out of this function.COMMENT
Example Usage Blocks2 hits · 3 pts
SeverityFileLineSnippetContext
LOWhack/update-lighthouse.sh8# Usage:COMMENT
LOWbeacon-chain/rpc/prysm/beacon/validator_count.go31// Example usage:COMMENT
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMbeacon-chain/confirmation/confirmation_test.go15// mockForkchoiceReader is a minimal mock of ForkchoiceReader for scaffold tests.COMMENT