Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
simrun
command
Command simrun is the ASP server: a web server with an embedded SvelteKit frontend that runs attack simulations and verifies expected security alerts.
|
Command simrun is the ASP server: a web server with an embedded SvelteKit frontend that runs attack simulations and verifies expected security alerts. |
|
internal
|
|
|
cloud/aws
Package awsauth provides AWS cross-account role assumption for simrun.
|
Package awsauth provides AWS cross-account role assumption for simrun. |
|
cloud/azure
Package azureauth provides Azure Workload Identity Federation for simrun.
|
Package azureauth provides Azure Workload Identity Federation for simrun. |
|
cloud/gcp
Package gcpauth provides GCP Workload Identity Federation for simrun.
|
Package gcpauth provides GCP Workload Identity Federation for simrun. |
|
cloud/k8s
Package k8sconfig generates kubeconfig files for Kubernetes clusters using CSP CLI tools (aws, gcloud, az).
|
Package k8sconfig generates kubeconfig files for Kubernetes clusters using CSP CLI tools (aws, gcloud, az). |
|
collectors
Package collectors gathers related logs from a SIEM after a simulation runs.
|
Package collectors gathers related logs from a SIEM after a simulation runs. |
|
config
Package config holds simrun's configuration types: env-only Bootstrap, DB-backed AppConfig, and the in-memory pack shapes used by the parser and runner.
|
Package config holds simrun's configuration types: env-only Bootstrap, DB-backed AppConfig, and the in-memory pack shapes used by the parser and runner. |
|
connectors/elastic
Package elastic is a minimal client for the Elastic Security detection-engine API, used to validate Elastic connectors.
|
Package elastic is a minimal client for the Elastic Security detection-engine API, used to validate Elastic connectors. |
|
credentials
Package credentials resolves per-connector credentials into the environment- variable maps consumed by detonators and CLI tools.
|
Package credentials resolves per-connector credentials into the environment- variable maps consumed by detonators and CLI tools. |
|
crypto
Package crypto provides AES-256-GCM encryption for secret values stored in the database.
|
Package crypto provides AES-256-GCM encryption for secret values stored in the database. |
|
db
Package db is the PostgreSQL persistence layer (pgx), running embedded migrations on startup.
|
Package db is the PostgreSQL persistence layer (pgx), running embedded migrations on startup. |
|
detonators
Package detonators executes attack simulations, via simulation packs or the AWS CLI.
|
Package detonators executes attack simulations, via simulation packs or the AWS CLI. |
|
envutil
Package envutil provides helpers for threaded environment variable management.
|
Package envutil provides helpers for threaded environment variable management. |
|
injectors
Package injectors writes log documents directly into a SIEM, bypassing detonation.
|
Package injectors writes log documents directly into a SIEM, bypassing detonation. |
|
matchers
Package matchers verifies that the security alerts expected by a scenario were generated after a simulation.
|
Package matchers verifies that the security alerts expected by a scenario were generated after a simulation. |
|
matchers/datadog
Package datadog matches expected Datadog security signals.
|
Package datadog matches expected Datadog security signals. |
|
matchers/elastic
Package elastic matches expected Elastic Security detection alerts.
|
Package elastic matches expected Elastic Security detection alerts. |
|
packs/executor
Package executor handles pack protocol communication using PackRunners.
|
Package executor handles pack protocol communication using PackRunners. |
|
packs/locks
Package locks provides a process-global keyed mutex used to serialize mutating filesystem operations on a single pack's cache directory.
|
Package locks provides a process-global keyed mutex used to serialize mutating filesystem operations on a single pack's cache directory. |
|
packs/resolver
Package resolver provides pack binary resolution and caching.
|
Package resolver provides pack binary resolution and caching. |
|
packs/runner
Package runner builds and runs pack binaries (local, uploaded, or remote) behind a common interface.
|
Package runner builds and runs pack binaries (local, uploaded, or remote) behind a common interface. |
|
packs/terraform
Package terraform provides programmatic Terraform execution using terraform-exec.
|
Package terraform provides programmatic Terraform execution using terraform-exec. |
|
parser
Package parser turns YAML scenario files into Scenario objects.
|
Package parser turns YAML scenario files into Scenario objects. |
|
results
Package results defines the shared run and scenario result types and a parallel scenario executor.
|
Package results defines the shared run and scenario result types and a parallel scenario executor. |
|
runner
Package runner is the scenario execution engine: it detonates or injects, polls for the expected alerts, and optionally collects related logs.
|
Package runner is the scenario execution engine: it detonates or injects, polls for the expected alerts, and optionally collects related logs. |
|
testutil/fakes
Package fakes provides in-memory implementations of every db.*Store interface.
|
Package fakes provides in-memory implementations of every db.*Store interface. |
|
testutil/testserver
Package testserver provides a one-line setup for HTTP-handler tests.
|
Package testserver provides a one-line setup for HTTP-handler tests. |
|
version
Package version holds build version information for simrun.
|
Package version holds build version information for simrun. |
|
web
Package web implements the REST API, WebSocket hub, and embedded-frontend HTTP server.
|
Package web implements the REST API, WebSocket hub, and embedded-frontend HTTP server. |
|
web/auth
Package auth provides Google OAuth login and session-cookie middleware for the web API.
|
Package auth provides Google OAuth login and session-cookie middleware for the web API. |
|
Package pack is the SDK for building simrun simulation packs — standalone binaries that simrun invokes over a JSON stdin/stdout protocol to detonate attacks and report results.
|
Package pack is the SDK for building simrun simulation packs — standalone binaries that simrun invokes over a JSON stdin/stdout protocol to detonate attacks and report results. |
|
aws
Package aws provides AWS SDK helpers for simulation packs.
|
Package aws provides AWS SDK helpers for simulation packs. |
|
azure
Package azure provides Azure SDK helpers for simulation packs.
|
Package azure provides Azure SDK helpers for simulation packs. |
|
gcp
Package gcp provides GCP SDK helpers for simulation packs.
|
Package gcp provides GCP SDK helpers for simulation packs. |
Click to show internal directories.
Click to hide internal directories.