├── .github └── workflows │ ├── claude-code-review.yml │ ├── claude.yml │ ├── lint.yml │ └── release.yml ├── .gitignore ├── .golangci.yml ├── .goreleaser.yaml ├── .pre-commit-config.yaml ├── CODEOWNERS ├── LICENSE ├── README.md ├── cmd └── attacknet │ └── main.go ├── docs ├── DOCUMENTATION.md └── attacknet.svg ├── go.mod ├── go.sum ├── network-configs ├── default.yaml ├── devnet-12.yaml ├── plan │ ├── clock-skew-nethermind.yaml │ ├── network-latency-reth.yaml │ ├── packet-drop-geth.yaml │ └── restart-resillience-reth.yaml └── reth.yaml ├── pkg ├── artifacts │ └── artifacts.go ├── chaos-mesh │ ├── client.go │ ├── pods.go │ └── session.go ├── exploration │ └── explore.go ├── grafana.go ├── health │ ├── checker.go │ ├── ethereum │ │ ├── beacon_rpc.go │ │ ├── consensus.go │ │ ├── execution_rpc.go │ │ ├── network_checker.go │ │ └── util.go │ └── types │ │ └── types.go ├── kubernetes │ ├── kubernetes.go │ ├── port_forward.go │ ├── types.go │ └── utils.go ├── kurtosis │ └── kurtosis.go ├── plan │ ├── config.go │ ├── file.go │ ├── network │ │ ├── clients.go │ │ ├── consensus.go │ │ ├── execution.go │ │ ├── network_builder.go │ │ └── types.go │ ├── plan.go │ ├── serialization.go │ ├── suite │ │ ├── faults.go │ │ ├── step_builder.go │ │ ├── suite_builder.go │ │ ├── targeting.go │ │ ├── targeting_test.go │ │ ├── test_builder.go │ │ └── types.go │ └── types.go ├── project │ ├── config.go │ └── project.go ├── runtime.go ├── runtime │ └── runtime.go ├── test_executor │ ├── executor.go │ └── types.go └── types │ └── config.go ├── planner-configs ├── clock-skew-nethermind.yaml ├── clock-skew-reth.yaml ├── clock-skew.yaml ├── io-latency-reth.yaml ├── network-latency-reth.yaml ├── network-packet-drop-geth.yaml └── restart-resillience-reth.yaml ├── terraform ├── chaos-mesh.tf ├── digitalocean.tf ├── main.tf ├── provider.tf └── terraform.tf └── test-suites ├── clock-skew.yaml ├── cpu-stress.yaml ├── io-fault.yaml ├── io-latency.yaml ├── io-mistake.yaml ├── kernel-fault.yaml ├── memory-stress.yaml ├── network-bandwidth.yaml ├── network-latency.yaml ├── network-split.yaml ├── packet-corruption.yaml ├── packet-drop.yaml ├── plan ├── clock-skew-nethermind.yaml ├── network-latency-reth.yaml ├── packet-drop-geth.yaml └── restart-resillience-reth.yaml ├── pod-kill.yaml ├── pod-restart.yaml └── suite.yaml /.github/workflows/claude-code-review.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/.github/workflows/claude-code-review.yml -------------------------------------------------------------------------------- /.github/workflows/claude.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/.github/workflows/claude.yml -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/.github/workflows/lint.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/.gitignore -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/.golangci.yml -------------------------------------------------------------------------------- /.goreleaser.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/.goreleaser.yaml -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/CODEOWNERS -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/README.md -------------------------------------------------------------------------------- /cmd/attacknet/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/cmd/attacknet/main.go -------------------------------------------------------------------------------- /docs/DOCUMENTATION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/docs/DOCUMENTATION.md -------------------------------------------------------------------------------- /docs/attacknet.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/docs/attacknet.svg -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/go.sum -------------------------------------------------------------------------------- /network-configs/default.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/network-configs/default.yaml -------------------------------------------------------------------------------- /network-configs/devnet-12.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/network-configs/devnet-12.yaml -------------------------------------------------------------------------------- /network-configs/plan/clock-skew-nethermind.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/network-configs/plan/clock-skew-nethermind.yaml -------------------------------------------------------------------------------- /network-configs/plan/network-latency-reth.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/network-configs/plan/network-latency-reth.yaml -------------------------------------------------------------------------------- /network-configs/plan/packet-drop-geth.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/network-configs/plan/packet-drop-geth.yaml -------------------------------------------------------------------------------- /network-configs/plan/restart-resillience-reth.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/network-configs/plan/restart-resillience-reth.yaml -------------------------------------------------------------------------------- /network-configs/reth.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/network-configs/reth.yaml -------------------------------------------------------------------------------- /pkg/artifacts/artifacts.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/artifacts/artifacts.go -------------------------------------------------------------------------------- /pkg/chaos-mesh/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/chaos-mesh/client.go -------------------------------------------------------------------------------- /pkg/chaos-mesh/pods.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/chaos-mesh/pods.go -------------------------------------------------------------------------------- /pkg/chaos-mesh/session.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/chaos-mesh/session.go -------------------------------------------------------------------------------- /pkg/exploration/explore.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/exploration/explore.go -------------------------------------------------------------------------------- /pkg/grafana.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/grafana.go -------------------------------------------------------------------------------- /pkg/health/checker.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/health/checker.go -------------------------------------------------------------------------------- /pkg/health/ethereum/beacon_rpc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/health/ethereum/beacon_rpc.go -------------------------------------------------------------------------------- /pkg/health/ethereum/consensus.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/health/ethereum/consensus.go -------------------------------------------------------------------------------- /pkg/health/ethereum/execution_rpc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/health/ethereum/execution_rpc.go -------------------------------------------------------------------------------- /pkg/health/ethereum/network_checker.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/health/ethereum/network_checker.go -------------------------------------------------------------------------------- /pkg/health/ethereum/util.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/health/ethereum/util.go -------------------------------------------------------------------------------- /pkg/health/types/types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/health/types/types.go -------------------------------------------------------------------------------- /pkg/kubernetes/kubernetes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/kubernetes/kubernetes.go -------------------------------------------------------------------------------- /pkg/kubernetes/port_forward.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/kubernetes/port_forward.go -------------------------------------------------------------------------------- /pkg/kubernetes/types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/kubernetes/types.go -------------------------------------------------------------------------------- /pkg/kubernetes/utils.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/kubernetes/utils.go -------------------------------------------------------------------------------- /pkg/kurtosis/kurtosis.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/kurtosis/kurtosis.go -------------------------------------------------------------------------------- /pkg/plan/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/plan/config.go -------------------------------------------------------------------------------- /pkg/plan/file.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/plan/file.go -------------------------------------------------------------------------------- /pkg/plan/network/clients.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/plan/network/clients.go -------------------------------------------------------------------------------- /pkg/plan/network/consensus.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/plan/network/consensus.go -------------------------------------------------------------------------------- /pkg/plan/network/execution.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/plan/network/execution.go -------------------------------------------------------------------------------- /pkg/plan/network/network_builder.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/plan/network/network_builder.go -------------------------------------------------------------------------------- /pkg/plan/network/types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/plan/network/types.go -------------------------------------------------------------------------------- /pkg/plan/plan.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/plan/plan.go -------------------------------------------------------------------------------- /pkg/plan/serialization.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/plan/serialization.go -------------------------------------------------------------------------------- /pkg/plan/suite/faults.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/plan/suite/faults.go -------------------------------------------------------------------------------- /pkg/plan/suite/step_builder.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/plan/suite/step_builder.go -------------------------------------------------------------------------------- /pkg/plan/suite/suite_builder.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/plan/suite/suite_builder.go -------------------------------------------------------------------------------- /pkg/plan/suite/targeting.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/plan/suite/targeting.go -------------------------------------------------------------------------------- /pkg/plan/suite/targeting_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/plan/suite/targeting_test.go -------------------------------------------------------------------------------- /pkg/plan/suite/test_builder.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/plan/suite/test_builder.go -------------------------------------------------------------------------------- /pkg/plan/suite/types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/plan/suite/types.go -------------------------------------------------------------------------------- /pkg/plan/types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/plan/types.go -------------------------------------------------------------------------------- /pkg/project/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/project/config.go -------------------------------------------------------------------------------- /pkg/project/project.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/project/project.go -------------------------------------------------------------------------------- /pkg/runtime.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/runtime.go -------------------------------------------------------------------------------- /pkg/runtime/runtime.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/runtime/runtime.go -------------------------------------------------------------------------------- /pkg/test_executor/executor.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/test_executor/executor.go -------------------------------------------------------------------------------- /pkg/test_executor/types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/test_executor/types.go -------------------------------------------------------------------------------- /pkg/types/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/pkg/types/config.go -------------------------------------------------------------------------------- /planner-configs/clock-skew-nethermind.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/planner-configs/clock-skew-nethermind.yaml -------------------------------------------------------------------------------- /planner-configs/clock-skew-reth.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/planner-configs/clock-skew-reth.yaml -------------------------------------------------------------------------------- /planner-configs/clock-skew.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/planner-configs/clock-skew.yaml -------------------------------------------------------------------------------- /planner-configs/io-latency-reth.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/planner-configs/io-latency-reth.yaml -------------------------------------------------------------------------------- /planner-configs/network-latency-reth.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/planner-configs/network-latency-reth.yaml -------------------------------------------------------------------------------- /planner-configs/network-packet-drop-geth.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/planner-configs/network-packet-drop-geth.yaml -------------------------------------------------------------------------------- /planner-configs/restart-resillience-reth.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/planner-configs/restart-resillience-reth.yaml -------------------------------------------------------------------------------- /terraform/chaos-mesh.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/terraform/chaos-mesh.tf -------------------------------------------------------------------------------- /terraform/digitalocean.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/terraform/digitalocean.tf -------------------------------------------------------------------------------- /terraform/main.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/terraform/main.tf -------------------------------------------------------------------------------- /terraform/provider.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/terraform/provider.tf -------------------------------------------------------------------------------- /terraform/terraform.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/terraform/terraform.tf -------------------------------------------------------------------------------- /test-suites/clock-skew.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/clock-skew.yaml -------------------------------------------------------------------------------- /test-suites/cpu-stress.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/cpu-stress.yaml -------------------------------------------------------------------------------- /test-suites/io-fault.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/io-fault.yaml -------------------------------------------------------------------------------- /test-suites/io-latency.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/io-latency.yaml -------------------------------------------------------------------------------- /test-suites/io-mistake.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/io-mistake.yaml -------------------------------------------------------------------------------- /test-suites/kernel-fault.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/kernel-fault.yaml -------------------------------------------------------------------------------- /test-suites/memory-stress.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/memory-stress.yaml -------------------------------------------------------------------------------- /test-suites/network-bandwidth.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/network-bandwidth.yaml -------------------------------------------------------------------------------- /test-suites/network-latency.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/network-latency.yaml -------------------------------------------------------------------------------- /test-suites/network-split.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/network-split.yaml -------------------------------------------------------------------------------- /test-suites/packet-corruption.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/packet-corruption.yaml -------------------------------------------------------------------------------- /test-suites/packet-drop.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/packet-drop.yaml -------------------------------------------------------------------------------- /test-suites/plan/clock-skew-nethermind.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/plan/clock-skew-nethermind.yaml -------------------------------------------------------------------------------- /test-suites/plan/network-latency-reth.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/plan/network-latency-reth.yaml -------------------------------------------------------------------------------- /test-suites/plan/packet-drop-geth.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/plan/packet-drop-geth.yaml -------------------------------------------------------------------------------- /test-suites/plan/restart-resillience-reth.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/plan/restart-resillience-reth.yaml -------------------------------------------------------------------------------- /test-suites/pod-kill.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/pod-kill.yaml -------------------------------------------------------------------------------- /test-suites/pod-restart.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/pod-restart.yaml -------------------------------------------------------------------------------- /test-suites/suite.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crytic/attacknet/HEAD/test-suites/suite.yaml --------------------------------------------------------------------------------