원클릭으로
gossip-cache-invariance
L1 trigger - audits message and seen caches for write-after-validate ordering, eviction safety, and duplicate handling.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
L1 trigger - audits message and seen caches for write-after-validate ordering, eviction safety, and duplicate handling.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | gossip-cache-invariance |
| description | L1 trigger - audits message and seen caches for write-after-validate ordering, eviction safety, and duplicate handling. |
L1 trigger:
P2Pflag AND (seen_cache,message_cache,tx_cache,gossipsub,pubsub,dedup,seen_chunksdetected) Inject Into:depth-network-surface,depth-consensus-invariantLanguage: Go and Rust Finding prefix:[GCI-N]
For each attacker-controlled cache key, prove the ordering between cache write and integrity/authenticity validation. Cache insertion before validation is a poisoning primitive.
Tag: [GOSSIP-CACHE:ORDER]
Check whether duplicate suppression is keyed on canonical content, the right topic/partition, and enough sender identity. Look for cases where legitimate messages are suppressed or malicious messages can be replayed after eviction.
Tag: [GOSSIP-CACHE:DUPLICATES]
Under burst traffic or memory pressure:
Tag: [GOSSIP-CACHE:EVICTION]
Verify the key includes the right tuple of topic / partition / chain / message identity. Flag collisions where distinct messages alias to the same cache key.
Tag: [GOSSIP-CACHE:KEY]
State the resulting invariant failure explicitly:
For each receive-and-rebroadcast path:
If a cache miss multiplies traffic or work across peers, record it as an amplification finding rather than a simple duplicate-handling bug.
Tag: [GOSSIP-CACHE:AMPLIFICATION]
When a chunk / block / attestation cache is indexed by a property derived from the canonical chain (slot, epoch, partition id, shard id), a reorg can move the canonical chain underneath entries that are no longer valid for the new chain but still satisfy the cache key.
Check:
{piece_id, partition_id} tuple the
full cache key, or is partition_id inferred from head and therefore
mutable? If inferred, a reorg silently re-labels cached pieces.Tag: [GOSSIP-CACHE:REORG-POISON:{cache}:{scenario}]. Severity defaults
to High when the cache influences consensus weight or censors a legitimate
message class; Medium when it only amplifies work.
Protocol Type Trigger NAMED_EXTERNAL_PROTOCOL (detected when recon finds import/interface for an identifiable external protocol — not standard libraries). Researches known integration hazards of the target protocol.
Trigger Pattern Always required for DAML audits - Inject Into Breadth agents, depth-state-trace, depth-external
Trigger Pattern Always required for DAML audits - Inject Into Breadth agents, depth-state-trace, depth-edge-case
Trigger Pattern Always required for DAML audits - Inject Into Breadth agents, depth-external, depth-edge-case
Trigger Pattern Always required for DAML audits (self-skips if no template defines a key) - Inject Into Breadth agents, depth-state-trace
Trigger Pattern MONETARY_PARAMETER flag (fee, rate, emission, cap, bps as template fields) - Inject Into Breadth agents (merged via M4 hierarchy)