Skip to content

No alert, and a status that sees what happened to the machine - #58

Merged
andrin-n-dream merged 1 commit into
masterfrom
workmachine
Sep 18, 2026
Merged

andrin-n-dream merged 1 commit into
masterfrom
workmachine

Conversation

@andrin-n-dream

Copy link
Copy Markdown
Contributor

The email alert is removed

It promised you'd find out within a minute when anyone else touched the machine.
Measured against real audit entries (a throwaway disk and VM, snapshotted and
then attached), it caught almost none of what it named:

  • A snapshot of the data disk is logged against the disk (gce_disk,
    disk_id, no instance id). The alert matched only the VM's instance id.
  • The data disk attached to someone else's VM is logged against their VM;
    ours appears only in request.source, which the alert didn't read.
  • After recreate the VM has a new instance id and the alert was never
    refreshed — it skipped a policy that already existed — so it watched a machine
    that no longer existed.
  • The ssh logging the README once promised was never switched on.

What it caught was a changed startup script or a reset. A promise to mail you is
worse than none when the mail doesn't come, and making it keep that promise needs
a second identity to test with and a permission change in the project. destroy
still removes the policy that older machines carry.

status keeps the other half, and now answers it

It had the same filter and the same blind spots. It asks by name now — the
VM, the data disk, and the data disk inside someone else's attach request — which
survives a rebuild and finds the disk wherever it turns up, and it lists whatever
anyone else did rather than guessing a list of verbs. A permission change on the
project is included (that's how someone grants themselves ssh); Google's own
compute-system account, which takes the scheduled snapshots, is not.

Measured on the probe's audit entries: read as if by someone else, all six
events listed once each — including the snapshot and attach the old filter
couldn't see — and read as the one who did them, none.

🤖 Generated with Claude Code

**The email alert is gone.** It promised you would find out within a minute
when anyone else touched the machine, and measured against real audit entries
it caught almost none of what it named:

  - a snapshot of the data disk is logged against the *disk* -- `gce_disk`,
    `disk_id`, no instance id -- and the alert matched only the VM's id;
  - the data disk attached to somebody else's VM is logged against *their* VM,
    with ours only in `request.source`, which the alert did not read;
  - `recreate` gives the VM a new instance id, and the alert was never
    refreshed -- it skipped a policy that already existed -- so after one
    rebuild it watched a machine that no longer existed;
  - and the ssh logging the README once promised was never switched on.

What it did catch was a changed startup script or a reset. A promise to mail
you is worse than none when the mail does not come, and making it keep that
promise needs a second identity to test with and a permission change in the
project. It can come back when that is worth doing. `destroy` still removes the
policy a machine from before this carries, since nothing else would.

**`status` keeps the other half, and now answers it.** It had the same filter
and the same blind spots. It asks by *name* now -- the VM, the data disk, and
the data disk named inside somebody else's attach request -- which survives a
rebuild and finds the disk wherever it turns up, and it lists whatever anyone
else did rather than guessing at a list of verbs. A permission change on the
project is in it, because that is how somebody grants themselves ssh; Google's
own compute-system account is not, because it takes the scheduled snapshots and
nobody can act as it.

Measured on the audit entries of a throwaway disk and VM, snapshotted and then
attached: read as if by somebody else, all six events listed once each --
including the snapshot and the attach the old filter could not see -- and read
as the one who did them, none.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@andrin-n-dream
andrin-n-dream merged commit b134929 into master Sep 18, 2026
1 check passed
@andrin-n-dream
andrin-n-dream deleted the workmachine branch September 18, 2026 21:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant