Skip to content

Kernel-enforced agent controls, package-install blocking and Security history - #5

Merged
abhiabhijit merged 1 commit into
mainfrom
first-light
Oct 9, 2026
Merged

abhiabhijit merged 1 commit into
mainfrom
first-light

Conversation

@abhiabhijit

Copy link
Copy Markdown
Collaborator

What this adds

  • Kernel controls for agent trees:
    • admin tools, work outside the agent, instruction files
    • per-agent approved programs and hosts, with hostnames resolved to IPs by DNS learning
  • Agents can't install packages (new, on by default):
    • The kernel stops an agent's package manager before it runs. The daemon refuses installs (npm install, npx, pip install, uv add, cargo install, …) and resumes everything else (npm test, npm run).
    • The agent is told why on its stderr.
  • Package managers are never mistaken for agents: npm i openclaw is npm, not OpenClaw.
  • Discovery lists every agent, including Hermes Agent and OpenClaw.
  • Live commentary (text): what each agent is doing and what was refused, in plain words; per-session transcript in Sessions.
  • Security history (was Threats):
    • every refusal in the last 24 hours, none hidden, with the full path of refused files
    • actions: Change rule (password-gated) and Mark reviewed

Fixes

  • A directory rule no longer blocks a file name everywhere.
  • A worker thread exiting no longer untags its agent.
  • opencode is enforced and narrated.
  • Terminate works.
  • polkit errors are clear.

Testing

  • Workspace tests pass (daemon: 347). The eBPF object builds and loads cleanly under the verifier.
  • Checked by hand on Ubuntu 26.04 (kernel 7.0):
    • npm install, npx and python -m pip install from an agent are refused.
    • npm test from an agent runs.
    • A person's own npm install works.
    • Refused file opens record the full path.

@abhiabhijit
abhiabhijit merged commit 302dcb3 into main Oct 9, 2026
4 checks passed
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.

2 participants