Skip to content

AymaanPathan/Agent-OS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

65 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AgentOS β€” AI-Powered DevOps Automation

Build, run, and monitor intelligent operational workflows using AI agent orchestration and MCP tools β€” with enterprise-grade security powered by Archestra.


hero

What is AgentOS?

AgentOS is a DevOps-first platform where anyone β€” engineers, product managers, support teams β€” can build, run, and monitor AI-powered operational workflows without writing infrastructure code.

No DevOps experience needed. Drag and drop tools, chat with AI in plain English, or let autonomous agents investigate and fix incidents automatically.


Three Modes

Mode What You Do Example
πŸ”§ Runbook Mode Drag-and-drop workflow builder (like Zapier for containers) If container unhealthy β†’ restart β†’ send alert
πŸ“Š Monitor Mode Real-time dashboard with one-click actions Click "Restart Container" or "AI Fix Suggestion"
πŸ€– Agent Swarm Mode Chat with AI in natural language "Fix all unhealthy containers and notify me"

πŸ”§ Runbook Mode β€” Drag-and-Drop Workflow Builder

workflow

πŸ“Š Monitor Mode β€” Real-Time Container Dashboard

Agent-OS-monitor Monitor-2

πŸ€– Agent Swarm Mode β€” Natural Language Automation

Agent-1 Agent-2 Agent-3

Who Is This For?

  • Product Managers β€” Build workflows to restart services, send alerts, monitor uptime
  • Support Teams β€” Create automated incident response, get AI-powered troubleshooting
  • Developers β€” Manage test environments, analyze logs, deploy containers
  • Operations β€” Monitor production, implement self-healing, manage incidents

The Security Problem

A Simple Example: "Monitor my database"

What you think happens:

Check if database is healthy β†’ Alert me if there's a problem

What actually happens:

docker_logs        β†’  Reads container logs (passwords, API keys, connection strings inside)
ai_analyze         β†’  Sends your secrets to an external LLM
slack_notify       β†’  Your database password appears in a Slack channel

Result: Sensitive data exposed.

The Lethal Trifecta

Three innocent-looking tools become dangerous in sequence:

Step 1: READ          docker_logs, health_check        β†’ Accesses private data
Step 2: PROCESS       ai_analyze, execute_command      β†’ Handles the content
Step 3: EXFILTRATE    slack_notify, send_email         β†’ Sends it outside

Each tool is safe alone. Together, they form a complete data exfiltration chain.

Why Traditional Security Fails

  • Firewall rules don't inspect AI tool calls
  • Access controls are already granted to the AI
  • Workflows are built visually, not in code
  • Attackers bypass controls with clever prompts

You need security at the AI orchestration level β€” not the network level.


The Solution: Archestra Tool Policies

AgentOS integrates with Archestra β€” an agentic security engine that enforces policies before every tool executes, making data exfiltration structurally impossible regardless of what the AI decides.

Without Archestra:   docker_logs β†’ ai_analyze β†’ slack_notify   ❌ Secrets leaked

With Archestra:      docker_logs β†’ ai_analyze β†’ [BLOCKED] βœ‹   βœ… Exfiltration prevented

How Archestra Works

Every MCP tool call in AgentOS is routed through the Archestra Security Engine:

AgentOS workflow triggers tool call
        ↓
Archestra intercepts BEFORE execution
        ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Check: Tool Invocation Policy  β”‚  β†’ block_always / block_when_untrusted / allow
β”‚  Check: Data Context            β”‚  β†’ is this data trusted or untrusted?
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        ↓
  Block or Allow
        ↓
  Apply Trusted Data Policy       β†’ mark_as_untrusted / sanitize_with_dual_llm / allow
        ↓
  Log result

No AI prompt can bypass this. The policy engine is deterministic code, not an AI decision.


Archestra Policy Types

1. Tool Invocation Policies

Controls when a tool is allowed to run.

Policy Behavior Example Use
block_always Tool never executes docker_exec β€” shell injection risk
block_when_context_is_untrusted Blocked only when upstream data is untrusted slack_notify β€” safe manually, dangerous after docker_logs
allow Executes normally docker_status β€” read-only metadata

2. Trusted Data Policies

Controls how a tool's output is handled downstream.

Policy Behavior Example Use
mark_as_untrusted Flags output, restricts downstream tools docker_logs β€” may contain secrets
sanitize_with_dual_llm Two independent AIs verify before passing forward ai_analyze β€” prevent prompt injection
allow Output passes through unchanged docker_status β€” safe metadata only

Real-World Policy Examples

Example 1: Prevent Data Exfiltration

Problem: docker_logs contains secrets, slack_notify sends externally.

# Trusted Data Policy
tool: docker_logs
action: mark_as_untrusted
reason: Logs may contain secrets

# Tool Invocation Policy
tool: slack_notify
action: block_when_context_is_untrusted
reason: Prevent data leakage

What happens:

docker_logs runs          β†’ output marked UNTRUSTED
slack_notify attempts     β†’ Archestra detects UNTRUSTED context
                          β†’ BLOCKED
Error: "Cannot send untrusted data externally"

Example 2: Block Prompt Injection

Problem: Malicious content hidden inside container logs could hijack the AI.

tool: ai_analyze
action: sanitize_with_dual_llm
reason: Prevent prompt injection via log content

How dual LLM sanitization works:

docker_logs output β†’ LLM #1: "Check for malicious instructions"
                   β†’ LLM #2: "Verify independently"
                   β†’ Both agree: SAFE  β†’  passes through
                   β†’ Either flags: SUSPICIOUS  β†’  BLOCKED

Why two LLMs? A single AI can be fooled. Two independent models with different architectures create consensus that's extremely hard to bypass.


Example 3: Block Dangerous Shell Execution

tool: docker_exec
action: block_always
reason: Shell injection vulnerability

Any workflow attempting docker_exec is blocked before it runs β€” no exceptions, no overrides.


How Archestra Protects Each Mode

Runbook Mode

You drag:   docker_logs β†’ slack_notify

Execution:
  docker_logs runs          βœ…  output marked UNTRUSTED
  slack_notify attempts     ❌  BLOCKED by Archestra
  Error shown in UI:            "Policy violation β€” untrusted data cannot be sent externally"

Monitor Mode

Container goes unhealthy
You click "Send Alert"

Archestra checks:
  Source: docker_logs  β†’  UNTRUSTED
  Destination: slack_notify  β†’  blocked for untrusted context

Result: Alert displayed on screen only. No external data leak.

Agent Swarm Mode

You say: "Fix containers and notify me"

AI generates workflow and attempts execution.
Archestra blocks the notification step.
AI responds: "Containers fixed. Results shown on screen (data contains sensitive content)."

Policy Violation Logs

Every blocked attempt is logged with full context:

β›”  2 min ago
    Workflow: "Database Health Monitor"
    Tool: slack_notify
    Reason: Blocked β€” untrusted data context
    Source: docker_logs

β›”  15 min ago
    Workflow: "Auto-Restart Services"
    Tool: docker_exec
    Reason: Blocked β€” always blocked
    Attempted: restart service

⚠️  1 hour ago
    Workflow: "Log Analysis"
    Tool: ai_analyze
    Action: Sanitized β€” dual LLM applied
    Detected: Potential prompt injection attempt

Recommended Production Policies

# Block dangerous execution
docker_exec:   block_always
docker_run:    block_always

# Mark data sources as untrusted
docker_logs:   mark_as_untrusted + sanitize_with_dual_llm
health_check:  mark_as_untrusted

# Restrict external communication
slack_notify:   block_when_context_is_untrusted
email_send:     block_when_context_is_untrusted
webhook_post:   block_when_context_is_untrusted

# Allow safe read-only operations
docker_status:  allow
docker_list:    allow
docker_restart: allow  # with validation

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  AgentOS                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ Runbook  β”‚ β”‚ Monitor  β”‚ β”‚ Agent Swarm β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β”‚
β”‚              Workflow Execution Engine        β”‚
β”‚              MCP Tool Registry               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                  β”‚ Every tool call
                  ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              Archestra Security              β”‚
β”‚                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚         Agentic Security Engine      β”‚   β”‚
β”‚  β”‚  β€’ Intercept every MCP call          β”‚   β”‚
β”‚  β”‚  β€’ Check invocation policy           β”‚   β”‚
β”‚  β”‚  β€’ Check data trust context          β”‚   β”‚
β”‚  β”‚  β€’ Block or allow                    β”‚   β”‚
β”‚  β”‚  β€’ Mark output trust level           β”‚   β”‚
β”‚  β”‚  β€’ Sanitize with dual LLM if needed  β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚ Invocation   β”‚  β”‚  Trusted Data        β”‚ β”‚
β”‚  β”‚ Policies     β”‚  β”‚  Policies            β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                  β”‚
                  ↓
         Docker Containers

Getting Started

Total setup time: ~20 minutes

Step 1 β€” Enable Archestra (5 min)

Configure AgentOS to connect to the Archestra platform:

  • Set Archestra proxy URL
  • Add authentication token
  • Enable policy enforcement

Step 2 β€” Apply Basic Policies (10 min)

Set these essential policies through the Archestra dashboard:

  • Block external comms with untrusted data
  • Mark container logs as untrusted
  • Sanitize AI analysis outputs
  • Block shell execution tools

Step 3 β€” Test Protection (5 min)

Create a test workflow: docker_logs β†’ slack_notify and run it.

Expected result:

❌ Policy Violation
   Tool: slack_notify
   Reason: Cannot send untrusted data externally
   Your data stayed safe.

Step 4 β€” Monitor Violations (ongoing)

Review Archestra violation logs regularly to spot attack attempts, fix broken workflows, and tune policies.


Why Archestra Policies Work

Property Detail
Deterministic Rules enforced by code, not AI decisions
Platform-level Blocks before tool execution, not after
No bypass Even a compromised AI cannot override policies
Context-aware Tracks data trust through the entire workflow
Real-time Every tool call checked, every time
<1ms overhead No meaningful performance impact

Security Principles

  • Defense in Depth β€” Tool invocation policies + trusted data policies + dual LLM verification work together
  • Zero Trust β€” All container data and external data starts as untrusted; trust must be explicitly granted
  • Fail Secure β€” If policy check fails, if context is unclear, if sanitization fails β†’ block. Default to deny.

About

AI-powered DevOps automation platform with agent orchestration, real-time monitoring, and policy-based security to prevent data exfiltration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors