agents/skills/injectable/l1/consensus-tx-identity-invariants/SKILL.md
L1 trigger - audits replay protection, transaction identity binding, and cross-layer uniqueness.
npx skillsauth add plamentsv/plamen consensus-tx-identity-invariantsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
L1 trigger:
CONSENSUSflag AND (txid,tx_hash,nonce,sequence,signature,message_iddetected across modules) Inject Into:depth-consensus-invariant,depth-state-traceLanguage: Go and Rust Finding prefix:[TXI-N]
Determine what uniquely identifies a transaction in each layer:
Tag: [TX-ID:DEFINITION]
For every submission path, ask what value changes to prevent replay and whether it is monotonic, chain-bound, and sender-bound. Flag replay surfaces on the same chain, across forks, or across layers.
Write the answer as a table:
| Tx Type | Replay-unique field | Sender-bound? | Chain-bound? | Expiry / bound | |---|---|---|---|---|
Tag: [TX-ID:REPLAY]
Mandatory enumeration:
Verify that the provided ID equals the hash of the signed content and that the signature covers the exact bytes later used for execution or persistence.
Questions:
Mandatory binding table:
| Object | Claimed ID field | Recomputed from | Signature covers | Persistence key | Mismatch possible? | |---|---|---|---|---|---|
Apply it to blocks, transactions, commitments, and any included commitment list. If a block/tx/commitment ID is accepted from peer input without recomputing it from the signed bytes, emit a finding.
Tag: [TX-ID:BINDING]
Trace the transaction through admission, mempool, consensus inclusion, execution, and indexing. All layers must agree on nonce / chain identifier / sender identity / canonical ID.
If a wrapper transaction carries an inner transaction or message, verify the wrapper ID is tied to the inner payload identity instead of being an unrelated field.
Tag: [TX-ID:CROSS-LAYER]
development
Prepare Solidity projects for a security audit — test coverage, test quality, NatSpec docs, code hygiene, dependency health, best-practice enforcement, deployment readiness, and project documentation checks. Generates a scored Audit Readiness Report and optionally runs static analysis. Trigger on: "prepare for audit", "audit readiness", "pre-audit check", "audit prep", "NatSpec check", or any request to review a Solidity codebase before a security review.
development
Launch the Plamen deterministic Web3 security audit pipeline
development
Run the Plamen smart-contract audit wizard in Codex
testing
Launch the Plamen deterministic L1 infrastructure audit pipeline