Skip to content

RFC: layered safety for always-on Bots (grants, action gates, visible channels, decision log) #386

Open

Description

@hsliuustc0106

Why

Second part of the secondary write-up discussed in #373 (Chinese summary of a podcast; not verified against the original). Its safety section matches FlyBot's direction: agents usually do not "turn evil"; they pursue the assigned goal and, along the way, find loopholes, open side channels, or game graders. You cannot fix that only by "forbid bad things". Parent: #361, related #373, #51, #56, #57, #153-style gates.

Four defense layers described (as a design vocabulary)

  1. Training-time alignment (model vendor; out of our control).
  2. Inference-time monitors: intent probes / classifiers that look before a dangerous step. Costly; pre-action.
  3. Action / permission mode: ignore intent, check whether the concrete action is within what the user granted (e.g. touching a DB without authorization is blocked).
  4. Identity and permission system: who may use which tool and which data.

Each layer backs up the next. FlyBot owns layers 3 and 4 plus visibility; layer 2 can be a pluggable check later.

Proposed FlyBot actions (discussion)

Other product ideas from the same write-up (low priority)

Acceptance for this RFC

  • Agreement on which layers FlyBot implements (3, 4, visibility) and what is out of scope (1, 2).
  • Child issues opened for: decision log, unexpected-channel detection, evaluator read-only guarantee.
  • No claim that any of the above is implemented.

Process

RFC only; implementation via OpenCode + Codex review.

Activity

  1. hsliuustc0106 commented on Oct 18, 2026

    @hsliuustc0106
    ContributorAuthor

    Children: #396 decision log, #397 unexpected side-channel detection, #398 graders and evidence read-only.

  2. hsliuustc0106 commented on Oct 19, 2026

    @hsliuustc0106
    ContributorAuthor

    Related: #408 multi-Bot × GitHub (decision card before PR/merge/force-push).

  3. added
    enhancementNew feature or request
    area:securityAuth, grants, approvals, secrets
    needs-humanThe agent loop stopped; a person must decide (reason in the last comment)
    on Oct 19, 2026
  4. Birfy commented on Oct 19, 2026

    @Birfy
    Collaborator

    Triage on main 7b9e90b, 2026-10-19 ~12:10 Asia/Shanghai: needs-human, not agent-ready. RFC; children #396/#397/#398. Question for the owner: which layer to build first, if any?

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

    area:securityAuth, grants, approvals, secretsenhancementNew feature or requestneeds-humanThe agent loop stopped; a person must decide (reason in the last comment)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions