Skip to content

Inject alarm omits Table III's target-was-benign condition; minor alarm-name inconsistencies (policy/alarms.py) #4

Description

@sotomayorlucas

At commit 992f27ad25e52a63d98567f479fde50c90e0cbac, the inject block in policy/alarms.py fires on itag(s.tags()) < tau_s_i alone (there is a # Problem comment nearby, so this may already be known). MORSE's Table III (S&P 2020) additionally conditions the Inject alarm on the target subject having a benign subject tag.

Semantically, the omission changes the alarm's class: with the target condition it is a contrast-style predicate (additional suspicion on the target can switch it off); without it, a pure threshold on the injector. This matters if CAPTAIN's alarm behavior is compared against MORSE's.

Two minor naming nits in the same file: the emitted alarm name is "Inject" while alarm_types (line 40) declares "Injection"; and "RemoveIndicator" is emitted from the remove branch but is not declared in alarm_types.

We have not measured any impact on evaluation results — flagging for fidelity. Found during a formal-methods fidelity audit of MORSE-style tag semantics.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions