Security #

ompjob runs an AI agent unattended, with administrator privileges, and with tool approval disabled. Read this before installing it.

What the threat model actually is #

PropertyConsequence
Jobs run via a Scheduled Task with RunLevel: HighestThe agent has full local administrator rights.
Jobs run omp --auto-approveEvery tool call the agent makes is approved automatically. No human gate.
The broker auto-answers extension confirmationsAn extension asking "are you sure?" gets yes even with nobody attached.
LogonType: S4U + AtStartup triggerAn interrupted job is revived after reboot and resumed, unattended.
The control pipe has a default DACLAny local process able to open \\.\pipe\ompjob-<name> can inject instructions into that elevated agent.
Transcripts are plaintexttranscript.jsonl, render.log, inbox.jsonl and status.json contain the full conversation, unencrypted, under your job root.

Only run ompjob on a machine you fully control, whose local accounts you trust, and whose contents you would be willing to hand to a script.

Reducing the blast radius #

New-ScheduledTaskPrincipal call in ompjob.ps1 and remove -RunLevel Highest. Everything else keeps working; S4U is what provides logon independence, not the elevation.

meant to touch.

icacls if other accounts exist on the machine.

removes the task and the AtStartup trigger with it.

Full teardown #

ompjob stop <name>
ompjob rm   <name>          # unregisters the task, deletes the run directory

# verify nothing is left behind
Get-ScheduledTask -TaskName 'ompjob-*'
[IO.Directory]::GetFiles('\\.\pipe\') -like '*ompjob-*'

Then remove the function ompjob line from your PowerShell $PROFILE.

Reporting a vulnerability #

Open a GitHub issue, or use GitHub's private vulnerability reporting on this repository. Please do not include transcripts or prompts in a public report -- they routinely contain source code and credentials.