T08 · Insecure Dependencies
- Location
SKILL.md:12- Finding
Unpinned Global Installation of a Third-Party npm Package
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This browser automation skill is mostly coherent, but it asks users to install a mutable global CLI and documents reusable authenticated browser state without enough safety guidance.
Review before installing. Use this only in an isolated workspace or disposable environment, pin and verify the agent-browser package version if possible, avoid running --with-deps with elevated privileges unless you understand the host changes, and treat saved state files such as auth.json as credentials: do not commit, share, or reuse them across unrelated tasks, and delete them when finished.
SKILL.md:12Unpinned Global Installation of a Third-Party npm Package
Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.
## Adding New Commands to the Skill
Update SKILL.md when the upstream CLI adds new commands.
- Keep the Installation section
- Add new commands in the correct category
- Include usage examples
Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.
agent-browser open # Navigate to page agent-browser snapshot -i # Get interactive elements with refs agent-browser click @e1 # Click element by ref agent-browser fill @e2 "text" # Fill input by ref agent-browser close # Close browser
The skill explicitly documents saving and loading authenticated browser state without warning that session files can contain cookies, tokens, and other credentials. In an agent context, this can lead to accidental persistence, reuse, or exfiltration of sensitive authentication material across tasks or users.
State save/load features enable session persistence, which can preserve authenticated cookies and local storage across runs. In an agent environment, this increases the risk of credential replay, cross-task contamination, and unauthorized access if the state file is exposed or reused improperly.
agent-browser state save auth.json # Save session state
agent-browser state load auth.json # Load saved state
The example normalizes reusing a saved authenticated state file (auth.json) across later sessions without any warning about secret handling. That makes unsafe persistence more likely in practice, especially for autonomous agents that may store artifacts in shared workspaces or logs.
agent-browser wait --url "/dashboard" agent-browser state save auth.json
agent-browser state load auth.json agent-browser open https://app.example.com/dashboard
The skill description advertises saving screenshots and PDFs to local paths such as path.png and output.pdf, which can modify the local filesystem. Although this behavior is part of the tool's purpose, the markdown does not include any caution about choosing safe output paths or avoiding accidental overwrites.