Please do NOT report security vulnerabilities through public GitHub issues.
Instead, use one of these channels:
- GitHub Security Advisory (preferred): Go to the repository -> Security -> Advisories -> "Report a vulnerability"
- Email: security@impertio.ai
- Description of the vulnerability
- Steps to reproduce (or proof-of-concept)
- Affected component (oa-cli, Visual Canvas, bridge server, etc.)
- Potential impact
- Any suggested mitigations
- Acknowledgment: Within 3 business days
- Initial assessment: Within 7 business days
- Fix or mitigation: Depends on severity — critical issues are prioritized
This security policy covers:
oa-cliPython package (agent orchestration)- Visual Canvas (TypeScript monorepo — frontend, backend, packages)
- Flask bridge server (
bridge.py) - VS Code extension (
packages/vscode-extension)
Never commit credentials to the repository.
Open-Agents uses the following credential management patterns:
- Claude subscription: Managed by Claude Code CLI (
~/.claude/) - API keys: Stored in
.envfiles (always in.gitignore) - Agent workspaces: Temporary directories (
/tmp/oa-agent-*) — never persisted to git
If you accidentally commit credentials:
- Revoke the credential immediately (GitHub, Anthropic, etc.)
- Use
git filter-branchor GitHub's secret scanning remediation tools - Force-push a new clean commit
- Python (oa-cli):
pip auditchecks for known vulnerabilities - Node.js (packages/):
npm audit/pnpm auditfor dependency security - CI/CD: GitHub Actions runs security checks on every push
If you discover a vulnerability in a dependency:
- Check if a patch is available
- If yes: create a PR updating the dependency
- If no: report directly to the dependency maintainers
- If critical: open a GitHub Security Advisory describing the issue
- Regular dependency updates are made via
dependabot(auto-PRs) - Major updates are reviewed manually for breaking changes
- Security patches are prioritized
Open-Agents uses safe defaults:
| Component | Default Behavior | Notes |
|---|---|---|
| Agent workspace | Isolated tmpdir | No access to other agent workspaces |
| tmux session | Restricted permissions | Other users cannot attach |
| API keys | From CLI subscription | Not stored in orchestrator state |
| File permissions | 0700 (user only) | Workspace directory is user-private |
| Model selection | Sonnet (balanced) | Users can override to Opus or Haiku |
| Bash execution | Restricted | Optional blocklists in Visual Canvas |
If you use Open-Agents in production:
- Keep agents isolated: Run on dedicated machines/containers
- Monitor workspace cleanup: Use
oa cleanregularly to remove old workspaces - Audit agent logs: Review
oa collect <name>andoa statusregularly - Rotate credentials: If agents interact with external APIs, rotate tokens periodically
- Network security: If using web UI, keep it on localhost or behind authentication
- Update regularly: Stay on the latest version for security patches
| Role | Contact |
|---|---|
| Security Lead | Freek Heijting (Open-Agents maintainer) |
| Impertio Studio B.V. | security@impertio.ai |
For non-public inquiries: submit via GitHub Security Advisory (preferred) or email.
| Version | Date | Notes |
|---|---|---|
| 1.1 | 2026-03-02 | Added responsible disclosure section, fixed oa logs -> oa collect |
| 1.0 | 2026-03-02 | Initial security policy |
Open-Agents aims to comply with:
- OWASP Top 10 (mitigation where applicable)
- CWE/CAPEC common vulnerability patterns
- Python/Node.js security standards
Last updated: 2026-03-02