Skip to content

Security: nurujjamanpollob/autonomous-shell-eaze-editor-plugin

Security

SECURITY.md

Security Policy

⚠️ Important Notice

The Autonomous Shell Plugin grants AI agents direct access to your system's shell. By design, this is a powerful capability that comes with inherent risk. This document outlines the security mechanisms built into the plugin and provides recommendations for safe usage.


Supported Versions

Version Supported
1.0.x ✅ Active support

Reporting a Vulnerability

If you discover a security vulnerability, please do NOT open a public issue. Instead:

  1. Email: Send a detailed report to the repository owner via GitHub's private vulnerability reporting feature, or contact @nurujjamanpollob directly.
  2. Include:
    • Description of the vulnerability
    • Steps to reproduce
    • Potential impact
    • Suggested fix (if any)
  3. Response time: We aim to acknowledge reports within 48 hours and provide a fix or mitigation within 7 days for critical issues.

Built-in Security Features

Command Safety Filter

The plugin includes a configurable command filter that intercepts all commands before execution:

Mode Behavior
Blacklist (default) Commands in the list are blocked; everything else is allowed.
Whitelist Only commands in the list are allowed; everything else is blocked.

How it works:

Input command: "rm -rf /important/data"
Extracted base command: "rm"

Blacklist mode + "rm" in list → BLOCKED
Whitelist mode + "rm" NOT in list → BLOCKED

Note: The filter checks the first word of the command (the base command). Arguments are not filtered. This means rm would be blocked, but a creative bypass like a script alias may not be caught. The filter is a defense-in-depth measure, not a complete sandbox.

Recommended Blacklist

For general use, we recommend blacklisting these commands at minimum:

rm, mkfs, dd, format, shutdown, reboot, poweroff, halt, init,
fdisk, parted, mount, umount, chmod 777, chown, passwd, userdel,
curl | sh, wget | sh

Security Recommendations

1. Principle of Least Privilege

  • Never run Eaze Editor as root (Linux/macOS) or Administrator (Windows) unless absolutely required.
  • The AI agent inherits the permissions of the editor process. Running as root means the AI can rm -rf /.

2. Use Whitelist Mode in Production

For shared or production environments, switch to Whitelist mode and explicitly allow only the commands the AI needs:

git, ls, cat, echo, pwd, cd, mkdir, node, npm, python, pip, java, gradle

3. Enable the Safety Filter

The filter is disabled by default to avoid blocking legitimate use during initial setup. Enable it as soon as you've configured your command list.

4. Set Appropriate Timeouts

Configure the Global Timeout to prevent runaway commands from consuming resources indefinitely. The default is 1 minute, but adjust based on your workflow.

5. Monitor Active Sessions

Periodically use list_shell_sessions (or check the editor's plugin status) to ensure there are no orphaned sessions running processes you're not aware of.

6. Terminate Sessions When Done

Always call terminate_shell_session when finished. Orphaned sessions may leave background processes running that consume CPU, memory, and potentially hold file locks.


Threat Model

Threat Mitigation Residual Risk
AI runs destructive command (rm -rf /) Command Safety Filter (blacklist/whitelist) Filter only checks base command; creative bypasses possible
Command runs indefinitely, consuming resources Global Timeout (configurable) Async commands aren't subject to the sync timeout
Orphaned sessions leak resources terminate_shell_session / clear_all_shell_sessions Requires the AI (or user) to remember to clean up
Sensitive data exposed via command output Token Optimization reduces repeated exposure Output is still returned to the AI model
AI escalates privileges via sudo Blacklist sudo User must configure the blacklist
Plugin JAR tampered with Verify checksums from official releases N/A if building from source

What This Plugin Does NOT Provide

  • Sandboxing — Commands run directly on the host system with the editor's permissions. There is no container or VM isolation.
  • Network filtering — The plugin does not restrict network access from executed commands.
  • Output sanitization — Command output is returned as-is to the AI model. Sensitive data (passwords, tokens, keys) in command output will be visible to the AI.
  • Audit logging — While the plugin logs tool invocations via PluginApi.info(), it does not maintain a persistent audit trail.

Security Changelog

Date Version Change
2026-01-01 1.0.0 Initial release with blacklist/whitelist command filter

If you have questions about security, please open a GitHub Discussion or contact the maintainer.

There aren't any published security advisories