Skip to content

Security review

llms.txt lists every page for a coding agent.

  • Every role loomster creates is listed with its trust and grants, and you can bring your own for each (Security).
  • Loom never creates IAM; agents run only with roles an admin registered and tagged into a group. Per-agent roles scope credential providers to one agent.
  • The production tiers run tasks in private subnets with no public IP, offer Cognito MFA (optional by default, since Loom’s web app can’t answer an MFA challenge; LOOM_COGNITO_MFA=ON requires it), and turn on deletion protection for the pool and the database.
  • Secrets are encrypted on every tier, with no opt-out.
  • Destructive changes (upgrade, rotation, restore, teardown) stop at an approval recorded in git (Gated Ops).
  • Every pinned action in the workflows is checked against upstream by loom-audit.
  • The ALB accepts 0.0.0.0/0 by default, as in Loom’s template; narrow it with LOOM_ALB_INGRESS_CIDR.
  • The database accepts 10.0.0.0/8 by default; LOOM_DB_SOURCE_SG=true limits it to the ECS task security group.
  • Rows without a loom:group tag are visible to super-admins only (Loom v1.9.0); approval policies have no group.
  • loomster patches the vendored Loom twice: an opt-in Cognito endpoint used only by the local stack, and an IPv4 preference in Loom’s SSRF guard (Work with the local stack).

Read Security.

The backend/task-role claim runs the backend task role through the IAM policy simulator, and backend/deploy-agent deploys an agent through Loom as that role on AWS; both also break on purpose and are caught (Validation).

Tasks: Bring your own network and IAM, Create an execution role per agent, Rotate credentials, Recover from an IdP lockout.

Explanation: Gated Ops, Provision, reference or omit.

Reference: Security, CI providers, Claims.