Skip to content

What You'll Build ​

The AIRS MLOps Lab is a hands-on workshop where you build, deploy, and secure a real ML pipeline. You fine-tune an open-source language model into a cybersecurity advisor, deploy it on Google Cloud, and then systematically secure the pipeline using Palo Alto Networks AI Runtime Security (AIRS).

This is not a passive tutorial. You work with Claude Code as your development partner and mentor. Claude has been configured specifically for this lab -- it knows the codebase, paces its explanations, and uses Socratic questioning to build your understanding.

Prerequisites ​

Before starting the lab, ensure you have:

  • GCP Project -- with owner rights, Vertex AI and Cloud Run APIs enabled
  • AIRS License -- access to a Prisma AIRS tenant with Strata Cloud Manager credentials
  • Claude Code -- installed and configured
  • GitHub Account -- with gh CLI authenticated
  • Python 3.12+ -- with uv for dependency management
  • HuggingFace Account -- for exploring models and datasets

Your instructor will provide GCP project details and AIRS credentials during the setup session.

The Pipeline ​

You'll build a 3-gate CI/CD pipeline that scans ML models at every stage:

Gate 1 scans the base model before training, fine-tunes it with LoRA on Vertex AI, and creates a provenance manifest.

Gate 2 merges the LoRA adapter with the base model, scans the merged artifact, and publishes to GCS.

Gate 3 verifies the manifest chain, performs a final scan, deploys the model to a Vertex AI GPU endpoint with vLLM, and deploys the FastAPI app to Cloud Run.

The Architecture ​

The deployed application uses a decoupled architecture -- the model runs on GPU infrastructure, the app runs on lightweight infrastructure:

No model weights in the Cloud Run container. No GPU. No ML dependencies at runtime. Cloud Run handles the web layer; Vertex AI handles inference on dedicated GPU hardware.

The Three-Act Structure ​

The workshop is organized into three acts with a presentation break between Acts 1 and 2.

Act 1: Build It (Modules 0-3) ​

Build a complete ML pipeline from scratch. By the end, you'll have a live cybersecurity advisor -- trained, merged, published, and deployed. No security scans in place yet. That's intentional.

ModuleFocusTime
Module 0: SetupEnvironment, GCP, GitHub, AIRS credentials~30 min
Module 1: ML FundamentalsHuggingFace, formats, datasets, platforms~45 min
Module 2: Train Your ModelGate 1, LoRA fine-tuning, Vertex AI~30 min + wait
Module 3: Deploy & ServeGate 2+3, merge, publish, deploy, live app~30 min + wait

Presentation Break ​

Instructor-led session: AIRS value proposition, real-world attacks, customer scenarios.

Act 2: Understand Security (Module 4) ​

Deep dive into AIRS Model Security. Set up access, run scans, explore policies.

ModuleFocusTime
Module 4: AIRS Deep DiveSCM, SDK, scanning, security groups, HF integration~1-1.5 hr

Act 3: Secure It (Modules 5-7) ​

Secure the pipeline you built. Explore what AIRS catches and what it doesn't.

ModuleFocusTime
Module 5: Integrate AIRSPipeline scanning, manifest verification, labeling~1-1.5 hr
Module 6: The Threat ZooPickle bombs, Keras traps, format risks~1 hr
Module 7: Gaps & PoisoningData poisoning, behavioral backdoors, defense in depth~45 min-1 hr

Project Structure ​

prisma-airs-mlops-lab/
├── .github/
│   ├── workflows/              # CI/CD pipeline (3 gates + app deploy)
│   └── pipeline-config.yaml    # Your GCP project and bucket config
├── src/airs_mlops_lab/
│   └── serving/                # FastAPI app + Vertex AI inference client
├── airs/
│   ├── scan_model.py           # AIRS scanning CLI
│   └── poisoning_demo/         # Data poisoning proof-of-concept
├── model-tuning/
│   ├── train_advisor.py        # LoRA fine-tuning script
│   └── merge_adapter.py        # Adapter merge for deployment
├── scripts/
│   └── manifest.py             # Model provenance tracking CLI
├── lab/
│   └── .progress.json          # Your progress (tracked automatically)
├── CLAUDE.md                   # Claude Code mentor configuration
└── Dockerfile                  # Cloud Run app (thin client, no model)

Next Step ​

Ready to set up? Head to the Student Setup Guide to create your repo and launch Claude Code.

Built with Claude Code