Skip to content

[P3][Tier-2] authorize? defaults to not is_nil(actor) — unsafe for non-LiveView callers (audit B6) #155

Description

@ty13r

Severity: P3 (security posture — unsafe default) · Tier-2 (Pascal review)
Co-maintained repo (Pascal = architect).
Location: lib/ash_ui/runtime/resource_access.ex:546

build_resolved sets authorize?: Map.get(context, :authorize?, not is_nil(actor)). In-repo LiveView contexts set authorize?: true explicitly, so production paths are covered, but the default is unsafe for any new caller that forgets it: no actor ⇒ no authorization on reads/writes.

Fix: default to true; require explicit authorize?: false for trusted system reads.

2026-05-28 cross-repo review — see ariston-ui docs/audits/cross-repo-review-2026-05-28.md (finding B6).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions