COMPARISONS
How node9 compares
Two short tables: what governs an agent while it works, and what a scanner finds in a repository before anything runs. Under each is a link to the full comparison, with every cell measured against each tool’s own source and documentation.
Governing agents while they work
| Capability | node9 | agentsh | pipelock | HOL Guard | numbat |
|---|---|---|---|---|---|
| Credential jailreads of ~/.ssh, ~/.aws and .env blocked from install | Yes | Partly | Yes | Partly | No |
| DLP: secrets and PIIin tool calls and tool output, before anything leaves | Yes | Partly | Yes | Partly | Partly |
| Human approval gatea risky action waits for a person | Yes | Yes | Yes | Yes | No |
| Egress allowlistoutbound traffic only to approved hosts | Yes | Yes | Yes | No | No |
| SSRFcloud metadata and link-local addresses blocked | Yes | Yes | Yes | No | Partly |
| Canary credentialsdecoy keys that give away a read or a leak | Yes | No | Yes | No | No |
| Cost managementwhat the agents spent, in money, per provider | Yes | No | Partly | No | No |
| Repo scan and badgeworkflows, MCP servers and instruction files, before anyone runs them | Yes | No | Partly | Partly | No |
| Sandboxthe agent runs contained | Partly | Yes | Yes | Yes | No |
| One-command setupnode9 init wires every agent; you keep typing claude | Yes | No | Partly | Yes | Partly |
Hover a cell for the detail. – means the tool does not look at this. Row-by-row detail for agentsh and pipelock
Scanning a repository before anything runs
| Capability | node9 | Snyk | pipelock | Scorecard | HOL Guard | zizmor |
|---|---|---|---|---|---|---|
| Hijackable agent workflowsa stranger's issue or PR text reaching an agent that holds secrets | Yes | No | No | Partly | Partly | Partly |
| Secrets the agent can reachfrom the job or machine it runs on | Yes | No | No | Partly | Partly | Partly |
| Agent tool permissionswhat the agent is allowed to run | Yes | Partly | No | – | Partly | – |
| Hooks that fetch and run remote codea committed agent hook that pulls a script at run time | Yes | No | No | – | Partly | – |
| MCP serversunpinned, or holding a secret in the config | Yes | Partly | No | Partly | Partly | – |
| Poisoned instruction filesCLAUDE.md, AGENTS.md, .cursorrules carrying a payload | Yes | No | Partly | – | No | – |
| Skills, subagents and slash commandsthe files an agent loads on demand | Yes | Yes | Yes | – | Yes | – |
| PR gatefails only on what the pull request introduced | Yes | No | Partly | No | No | No |
| Live badge for any public repositoryshows the latest result and updates after a push | Yes | No | Partly | Yes | No | No |
Hover a cell for the detail. – means the tool does not look at this. Row-by-row detail for Snyk, pipelock and Scorecard
Every cell is measured against the other tool's own source or documentation, at the version named on the page. Where node9 does not cover something, the row says so and stays in the table.