Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Glasseye AI OS

Autonomous AI Security Research Operating System

Production-grade framework for autonomous AI agents conducting security research and bug bounty hunting.

🎯 Features

  • Self-Monitoring & Health Checks - Real-time system health monitoring with automatic recovery
  • Task Orchestration Engine - Parallel task execution with dependencies and priority queuing
  • Agent Lifecycle Management - Automatic spawning, version control, and health checks
  • Resource Allocation - CPU/memory management with quota enforcement
  • Security Sandbox - Docker-based isolated execution environments
  • Plugin Architecture - Dynamic loading and hot-swapping of capabilities
  • Event-Driven Messaging - Redis pub/sub for agent communication

🚀 Quick Start

Installation

cd /home/x/GlassseyeOS
pip install -e .

Configuration

# Initialize configuration
glasseye init

# Edit .env file with your settings
cp .env.example .env
nano .env

Running

# Start Glasseye OS
glasseye start

# Check system health
glasseye health

# Check status
glasseye status

📁 Architecture

GlassseyeOS/
├── glasseye_os/              # Core OS package
│   ├── core/
│   │   ├── monitoring/       # Health & metrics
│   │   ├── orchestration/    # Task orchestration
│   │   ├── agents/           # Agent lifecycle
│   │   ├── resources/        # Resource management
│   │   ├── sandbox/          # Security sandbox
│   │   ├── plugins/          # Plugin system
│   │   ├── messaging/        # Message bus
│   │   ├── config.py         # Configuration
│   │   ├── logging.py        # Structured logging
│   │   └── system.py         # Main OS class
│   └── cli.py                # CLI interface
├── agents/                   # Agent implementations
├── config/                   # Configuration files
├── docs/                     # Documentation
├── tests/                    # Test suite
└── data/                     # Runtime data
    ├── logs/                 # Log files
    ├── state/                # Persistent state
    └── cache/                # Cache data

🔧 Components

Health Monitoring

from glasseye_os.core.monitoring.health import HealthMonitor

monitor = HealthMonitor(
    cpu_threshold=90.0,
    memory_threshold=90.0,
    check_interval=30
)
await monitor.start()
report = monitor.get_health_report()

Task Orchestration

from glasseye_os.core.orchestration.tasks import TaskOrchestrator, TaskPriority

orchestrator = TaskOrchestrator(max_concurrent_tasks=50)
await orchestrator.start()

task_id = orchestrator.submit_task(
    my_async_function,
    arg1, arg2,
    name="my_task",
    priority=TaskPriority.HIGH,
    timeout=3600
)

Agent Management

from glasseye_os.core.agents.lifecycle import AgentRegistry, Agent

registry = AgentRegistry(max_agents=10)
await registry.start()

agent = MyAgent()
agent_id = await registry.register_agent(agent)

Resource Allocation

from glasseye_os.core.resources import ResourceManager, ResourceType

manager = ResourceManager(cpu_limit=80.0, memory_limit=80.0)

allocation_id = await manager.allocate(
    agent_id="agent-123",
    resource_type=ResourceType.CPU,
    amount=10.0
)

Message Bus

from glasseye_os.core.messaging import MessageBus

bus = MessageBus()
await bus.start()

# Subscribe
async def handler(message):
    print(f"Received: {message.data}")

await bus.subscribe("security-findings", handler)

# Publish
await bus.publish("security-findings", {
    "severity": "high",
    "finding": "SQL injection detected"
})

Sandbox Execution

from glasseye_os.core.sandbox import SandboxManager, SandboxConfig

manager = SandboxManager(max_sandboxes=10)

sandbox = await manager.create_sandbox(
    agent_id="agent-123",
    config=SandboxConfig(
        image="python:3.11-slim",
        memory_limit="512m",
        network_mode="none"
    )
)

await sandbox.start()
result = await sandbox.execute(["python", "script.py"])
await sandbox.destroy()

🔌 Plugin Development

from glasseye_os.core.plugins import Plugin, PluginMetadata

class MyPlugin(Plugin):
    metadata = PluginMetadata(
        name="my-plugin",
        version="1.0.0",
        description="Custom plugin",
        author="Your Name",
        capabilities=["analysis", "reporting"]
    )
    
    async def initialize(self):
        await super().initialize()
        # Plugin initialization logic
    
    async def shutdown(self):
        # Cleanup logic
        await super().shutdown()

🧪 Testing

# Run tests
pytest tests/

# Run with coverage
pytest --cov=glasseye_os tests/

# Run specific test
pytest tests/unit/test_health.py

📊 Monitoring

Prometheus metrics exposed on port 9090:

  • glasseye_cpu_usage_percent
  • glasseye_memory_usage_percent
  • glasseye_active_agents
  • glasseye_tasks_queued
  • glasseye_tasks_running

🔒 Security

  • Docker-based sandboxing with network isolation
  • Resource quotas and rate limiting
  • Comprehensive audit logging
  • Read-only filesystems in sandboxes
  • Configurable security policies

📝 Configuration

See .env.example for all configuration options:

# System limits
MAX_AGENTS=10
MAX_CONCURRENT_TASKS=50
MAX_CPU_PERCENT=80
MAX_MEMORY_PERCENT=80

# Security
SANDBOX_ENABLED=true
NETWORK_ISOLATION=true
AUDIT_LOG_ENABLED=true

# Task settings
TASK_TIMEOUT=3600
RETRY_MAX_ATTEMPTS=3

🤝 Contributing

This is production-grade code designed for GitHub acquisition quality. Contributions should maintain:

  • Clean, documented code
  • Comprehensive error handling
  • Extensive logging
  • Unit tests
  • Type hints

📄 License

Copyright 2025 Glasseye Team

🔗 Documentation

See docs/ARCHITECTURE.md for detailed architecture documentation.

About

Glasseye AI OS — Autonomous AI Security Research Operating System with full agent lifecycle, orchestration, and monitoring

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages