Security Posture · node9 documentation

Security Posture

A one-command scorecard for how exposed this machine is to a compromised agent — and the exact command to fix each finding.

What it answers
“If the agent on this box got prompt-injected right now, how much damage could it do — and what’s the single highest-leverage thing I can do about it?” node9 posture grades isolation, egress, secrets on disk, privilege, network exposure, supply chain, and whether node9 is actually in-path.

Commands

Run the scorecard
# Print the scorecard for the agent on this host
node9 posture

# Send a redacted snapshot to your dashboard (fleet view)
node9 posture --ship
The shipped snapshot carries only the score, tiers, and generic plain-language findings — never file paths, secret values, or ports.

How the score works

The score starts at 100 and reflects what’s still open. Genuine exposures (an unenforced egress, secrets node9 isn’t blocking) deduct by severity. The hardening levers node9 offers but you haven’t turned on (running unsandboxed, an exposed database) deduct a fixed headroom weight. A sub-100 score isn’t a failure — it’s hardening you can choose to close, each with its own flexibility tradeoff.

🟢 ON NOWYour floor
What node9 is already enforcing — DLP, egress gating, the approval gate, privilege. These need no setup and don’t cost you points.
🔒 AVAILABLETurn on to harden
Levers node9 offers (sandbox the agent, enable a db-shield). Each shows a +N score gain and the gain / cost tradeoff so you choose by how much flexibility you need.
🧱 YOUR PARTOS-level
Things node9 can detect but only you can fix (a database port bound to 0.0.0.0). These don’t lower node9’s grade — they’re yours to weigh.

What it checks

CheckWhat it looks for
SecretsPlaintext credentials / keys reachable on disk
EgressWhether node9 restricts where the agent can send data (covered when locked or approval-gated; also credited by the sandbox kernel wall)
Approval gateDestructive commands are reliably reviewed/blocked
Privilegesudo / privilege-escalation is gated
IsolationThe agent runs in a container or loose on the host — the biggest single hardening lever (node9 sandbox run)
Network exposureServices reachable on 0.0.0.0; db-shields reduce the node9-addressable part
Supply chainRisky install / postinstall scripts
CoverageWhether node9’s hooks are actually wired in-path
Closing the loop
The Isolation finding’s top fix is node9 sandbox run <agent> — running it jails the agent in a container with a kernel egress wall, which posture then credits. The scorecard finds the gap, the command closes it, and a re-scan shows the score climb.