kapsl Index
Docs Releases

elixir

4 tools · 1 release line

Elixir programming language for the Erlang VM. Each tool carries its own sandbox boundary — they are not the same.

kapsl elixir
kapsl elixirc
kapsl iex
kapsl mix

Release lines we maintain · the project decides these

findings shown are the whole project at that line

Tag Resolves to Lifecycle Updated Findings What the tag promises
  • stable — floats, carries security updates
  • unstable — tracks pre-releases, may break
  • eol — frozen, upstream is done

Tools in this project · pick one to inspect

capabilities differ between them

Tool Capabilities Seccomp Findings Image Description
showing elixir elixirc iex mix from elixir@latest → 1.20.3 stable

Findings

clean

identical on amd64, arm64 — one table describes both

No known findings in this image at the last scan.

These are the findings of elixir, which ships every tool in this project. kapsl reports and gates; it never edits an image to clear a finding.

Composition

default + env, bash, basename, cat, cut, dirname, mkdir, printf, readlink, sed
runtime erl
composes erl, env, bash, basename, cat, cut, dirname, mkdir, printf, readlink, sed

Some tools are only useful composed: a pip-installed CLI needs python as its runtime, bash pulls in coreutils. kapsl resolves that for you — -e git,python:flake8 composes explicitly.

Composition

default + env, bash, basename, cat, cut, dirname, mkdir, printf, readlink, sed
runtime erl
composes erl, env, bash, basename, cat, cut, dirname, mkdir, printf, readlink, sed

Some tools are only useful composed: a pip-installed CLI needs python as its runtime, bash pulls in coreutils. kapsl resolves that for you — -e git,python:flake8 composes explicitly.

Composition

default + env, bash, basename, cat, cut, dirname, mkdir, printf, readlink, sed
runtime erl
composes erl, env, bash, basename, cat, cut, dirname, mkdir, printf, readlink, sed

Some tools are only useful composed: a pip-installed CLI needs python as its runtime, bash pulls in coreutils. kapsl resolves that for you — -e git,python:flake8 composes explicitly.

Composition

default + elixir, env, bash, git, basename, cat, cut, dirname, mkdir, printf, readlink, sed
runtime erl
composes erl, elixir, env, bash, git, basename, cat, cut, dirname, mkdir, printf, readlink, sed

Some tools are only useful composed: a pip-installed CLI needs python as its runtime, bash pulls in coreutils. kapsl resolves that for you — -e git,python:flake8 composes explicitly.

Image

image ghcr.io/kapsl-sh/elixir:1.20.3
digest
platforms
size 16 MB unpacked · 1 layer
base scratch
signed cosign · verified
last scan

Sandbox boundary

elixir

capabilities

rw

Filled is granted to every invocation; the rest need --cap at the point of use.

seccomp tier

per tool

default

The syscall filter applied to this tool's entry point. Tools sharing an image do not share a tier.

dotfiles mapped in

read-only unless noted

none

env passed through

2 forwarded

ELIXIR_EDITORELIXIR_ERL_OPTIONS

Nothing else crosses in. No AWS_*, no SSH_AUTH_SOCK unless you ask.

env set by kapsl

none

none

per-subcommand

no overrides

Every invocation gets the same boundary. Where a tool needs more for one subcommand only, kapsl scopes it there rather than granting it everywhere.

Sandbox boundary

elixirc

capabilities

rw

Filled is granted to every invocation; the rest need --cap at the point of use.

seccomp tier

per tool

default

The syscall filter applied to this tool's entry point. Tools sharing an image do not share a tier.

dotfiles mapped in

read-only unless noted

none

env passed through

1 forwarded

ELIXIR_ERL_OPTIONS

Nothing else crosses in. No AWS_*, no SSH_AUTH_SOCK unless you ask.

env set by kapsl

none

none

per-subcommand

no overrides

Every invocation gets the same boundary. Where a tool needs more for one subcommand only, kapsl scopes it there rather than granting it everywhere.

Sandbox boundary

iex

capabilities

rw

Filled is granted to every invocation; the rest need --cap at the point of use.

seccomp tier

per tool

default

The syscall filter applied to this tool's entry point. Tools sharing an image do not share a tier.

dotfiles mapped in

read-only unless noted

  • ~/.cache/erlang-history · writable
  • ~/.iex.exs

env passed through

2 forwarded

ELIXIR_EDITORELIXIR_ERL_OPTIONS

Nothing else crosses in. No AWS_*, no SSH_AUTH_SOCK unless you ask.

env set by kapsl

none

none

per-subcommand

no overrides

Every invocation gets the same boundary. Where a tool needs more for one subcommand only, kapsl scopes it there rather than granting it everywhere.

Sandbox boundary

mix

capabilities

netrw

Filled is granted to every invocation, outlined to some and not others — see per-subcommand below; the rest need --cap at the point of use.

seccomp tier

per tool

default

The syscall filter applied to this tool's entry point. Tools sharing an image do not share a tier.

dotfiles mapped in

read-only unless noted

  • ~/.mix · writable
  • ~/.hex · writable

env passed through

8 forwarded

ELIXIR_ERL_OPTIONSHEX_API_KEYHEX_MIRRORHEX_OFFLINEMIX_DEBUGMIX_ENVMIX_QUIETMIX_TARGET

Nothing else crosses in. No AWS_*, no SSH_AUTH_SOCK unless you ask.

env set by kapsl

none

none

per-subcommand

grants differ

archive.install + net
deps.get + net
deps.update + net
escript.install + net
hex.audit + net
hex.info + net
hex.outdated + net
hex.publish + net
hex.search + net
local.hex + net
local.public_keys + net
local.rebar + net

Where a tool needs more for one subcommand only, kapsl scopes it there rather than granting it everywhere. Where it needs less, kapsl takes it away there too.

Provenance

Every image ships a full SBOM and a signed build attestation. Nothing here is a claim you have to take on trust.

0 findings across this project at latest. Counted once per advisory across every image the project builds.