beta pre production code
Pre-release
Pre-release
Key Fixes Applied
| Issue | Location | Fix |
|---|---|---|
| Undefined config | ai-agents-env.nix:1 | Added proper module signature { config, pkgs, lib, ... }: |
| Conflicting GPU packages | ai-agents-env.nix:59-62 | Unified hardware.graphics.extraPackages assignment |
| Port count bug | port_scanner.py | Created count_ports_in_spec() that handles ranges properly |
| No file locking | lab-controller.py | Added file_lock() context manager with fcntl |
| Unsandboxed verification | lab-controller.py | Added SandboxedVerifier class with resource limits |
| Memory-inefficient log reading | log_analyzer.py | Implemented streaming _tail_file() generator |
| Empty SSH keys | ai-agents-env.nix | Added sshAuthorizedKeys option with proper wiring |
Project Structure
ai-agents-lab/
├── flake.nix # Complete Nix flake with packages
├── README.md # Documentation
├── modules/
│ └── ai-agents-env.nix # NixOS module (280 lines)
├── packages/lab-controller/
│ └── lab-controller.py # CLI tool (850 lines)
└── agent-tools/
├── __init__.py # Package exports
├── base.py # Base classes (370 lines)
├── registry.py # Tool registry (220 lines)
└── tools/
├── port_scanner.py # Port scanning
├── web_request.py # HTTP requests
├── dns_lookup.py # DNS queries
├── service_detector.py # Service detection
└── log_analyzer.py # Log analysis
Usage
# Enter development environment nix developStudent workflow
lab-ctl student list
lab-ctl student start lab-01-recon
lab-ctl student chat red "scan the target for open ports"
lab-ctl student verifyTest tools directly
agent-tool-list
agent-tool-test port_scanner --target=10.0.0.103 --ports=22,80,443