Files
A-Team-Security-Infra-Agent…/distribution/README.md
nogueiraguh abf248d714 feat: distribution package v1.0 — OCIR-based deployment without source code
- distribution/: public release package (docker-compose + terraform VM + README v1.0)
- docker-compose.yml pulls pre-built images from OCIR (no build, no source code)
- terraform/: VM stack (ARM Free Tier, LB+WAF+SSL, conditional DNS/Let's Encrypt)
- Removed terraform-oke/ and k8s/ from git (private, .gitignore)
2026-04-02 13:46:28 -03:00

6.5 KiB

AI Agent

AI Agent — Infrastructure & Security Engineer

Oracle Cloud Infrastructure — CIS Foundations Benchmark 3.0 — AI-Powered Compliance Platform

Version OCI Docker Terraform


Overview

AI Agent is a self-hosted web application that automates CIS Oracle Cloud Infrastructure Foundations Benchmark 3.0 compliance checks, powered by OCI Generative AI for intelligent analysis and MCP (Model Context Protocol) for extensible task execution.

The platform runs as pre-built Docker containers — no source code required.


Features

  • AI Chat Agent with RAG (Retrieval-Augmented Generation) + MCP Tool Use
  • Terraform Agent for AI-powered IaC generation (plan/apply/destroy)
  • OCI Account Explorer — 36 resource types, KPI dashboard, start/stop actions
  • OCI CLI Terminal — web terminal with Tab autocomplete, OCID auto-lookup
  • CIS Compliance Reports — 48 CIS + 11 OBP checks, PDF/DOCX export
  • Compliance Report — professional Oracle-format assessment with RAG remediation
  • OCI Services Status — auto-detect security services + OCI Health (49 regions)
  • Embeddings & Knowledge Base — CIS PDF chunker, ADB vector store
  • Oracle IAM OIDC — SSO via Oracle Identity Domains
  • Security — JWT + TOTP MFA + RBAC (3 roles) + Fernet encryption + WAF
  • i18n — Portuguese, English, Spanish

Quick Start (Docker Compose)

Prerequisites

  • Docker and Docker Compose
  • Access to the OCI Container Registry (OCIR) with pull credentials

1. Configure

cp .env.example .env

Edit .env:

OCIR_REGION=us-ashburn-1
OCIR_NAMESPACE=your_namespace
APP_SECRET=<generate with: openssl rand -hex 64>

2. Login to OCIR

docker login ${OCIR_REGION}.ocir.io

Username: <namespace>/<username> (or <namespace>/oracleidentitycloudservice/<email>) Password: Auth Token (generate in OCI Console > Profile > Auth Tokens)

3. Run

docker compose up -d

4. Access

Open http://localhost:8080

The initial admin password is generated automatically and displayed in the backend logs:

docker compose logs backend | grep "password"

You will be prompted to change the password on first login.


Deploy on OCI (Terraform)

For production deployment on Oracle Cloud Infrastructure with Load Balancer, WAF, and SSL.

Architecture

Internet --> WAF --> Load Balancer (HTTPS 443)
                          |
                     Private Subnet
                          |
                   Compute Instance (ARM, Free Tier eligible)
                     +-- Backend container (FastAPI)
                     +-- Frontend container (nginx)
                     +-- Block Volume (/data)

Setup

cd terraform
cp terraform.tfvars.example terraform.tfvars

Edit terraform.tfvars with your OCI credentials and configuration.

Deploy

terraform init
terraform plan
terraform apply

Resources Created

Resource Description
VCN Virtual Cloud Network with public/private subnets
Compute VM.Standard.A1.Flex (ARM, Free Tier eligible)
Block Volume 50GB persistent storage for /data
Load Balancer Flexible 10-100 Mbps with SSL
WAF OWASP protection (XSS, SQLi, path traversal)
OCIR 2 private container repositories
DNS Conditional — OCI DNS Zone + A record (when domain configured)

Outputs

After terraform apply:

terraform output load_balancer_ip    # Public IP
terraform output app_url             # https://<IP>
terraform output ocir_backend_url    # OCIR image URL

Configuration Guide

Step 1 — OCI Credentials

Navigate to OCI Credentials and add your tenancy details:

Field Description
Tenancy Name Friendly name
OCID Tenancy ocid1.tenancy.oc1..xxxxx
OCID User ocid1.user.oc1..xxxxx
Fingerprint aa:bb:cc:dd:...
Region us-ashburn-1
Private Key .pem file

Step 2 — GenAI Model

Select an OCI credential, choose a model from the catalog, and adjust parameters.

Step 3 — ADB Vector (Optional)

For RAG-powered chat, configure an Autonomous Database with vector tables.

Step 4 — MCP Servers (Optional)

Register MCP servers for extended tool use in the Chat Agent.


OCI IAM Policies

Allow group <group-name> to use generative-ai-family in compartment <compartment-name>
Allow group <group-name> to read all-resources in tenancy
Allow group <group-name> to inspect compartments in tenancy
Allow group <group-name> to inspect autonomous-databases in compartment <compartment-name>
Allow group <group-name> to read virtual-network-family in compartment <compartment-name>
Allow group <group-name> to read instance-family in compartment <compartment-name>
Allow group <group-name> to read objectstorage-namespaces in tenancy
Allow group <group-name> to read buckets in compartment <compartment-name>

Environment Variables

Variable Required Default Description
OCIR_REGION Yes OCI region (e.g., us-ashburn-1)
OCIR_NAMESPACE Yes OCIR namespace
APP_SECRET Yes 64-byte hex key for JWT/encryption
JWT_EXPIRY_HOURS No 12 Token expiry
PORT No 8080 Frontend port
CORS_ORIGINS No Allowed origins (comma-separated)
TZ No America/Sao_Paulo Timezone

Troubleshooting

Cannot pull images from OCIR: Verify your docker login credentials and that the OCIR repositories exist in your namespace.

Backend health check fails: Check logs: docker compose logs backend. Ensure APP_SECRET is set.

ADB connection fails: Ensure the wallet ZIP is uploaded and the DSN matches a service in tnsnames.ora.

GenAI returns 401/403: Verify the IAM policy for generative-ai-family exists for your user/group.


License

MIT


Built for Oracle Cloud Infrastructure security compliance