GitHub Dev Days 2026 — 30-minute session
This repository contains a comprehensive Marp presentation on implementing defence-in-depth security controls for AI-assisted development environments.
Learn how to build a secure, production-ready development environment for Copilot-assisted development by implementing five layers of security controls:
- Layer 1: Pre-commit hooks — Secret detection (detect-secrets + gitleaks), code formatting, dependency scanning
- Layer 2: Devcontainer hardening — Docker-in-Docker isolation, Linux capability restrictions, security options
- Layer 3: Static analysis — Build-time Roslyn analyzers, CodeQL SAST, GitHub Code Security quality gates
- Layer 4: CI/CD supply chain security — Trivy vulnerability scanning, SBOM generation, container image signing
- Layer 5: AI configuration —
.github/copilot-instructions.mdconstraints, MCP servers, anti-hallucination guards, client data handling
Online: https://greven145.github.io/github-devdays-presentation/
Local (requires Marp CLI):
npm install -g @marp-team/marp-cli
marp slides/presentation.md --serverThen open http://localhost:8080 in your browser.
# HTML version
marp slides/presentation.md --html --output presentation.html
# PDF version
marp slides/presentation.md --pdf --output presentation.pdf- 37 slides with full speaker notes
- ~30 minutes of content (adjust pacing to your audience)
- GitHub-branded theme (Primer colour palette)
- Reference to working sample repo (
Greven145/secure-copilot-devenv)
- Problem statement — Why AI without guardrails is risky
- Five layers of defence — Deep dives into each control layer
- Architecture overview — Visual defense-in-depth model
- What we learned — Four key lessons from production experience
- Demo walkthrough — The sample repo scaffolding
- Quick-start checklist — Your first 30 minutes
- Takeaways — Key insights and resources
This presentation references Greven145/secure-copilot-devenv — a complete reference implementation.
What's included:
- Security-hardened
.devcontainer/(DinD, cap-drop, pinned versions) - Complete
.pre-commit-config.yaml(gitleaks, zizmor, actionlint, detect-secrets) .github/copilot-instructions.mdwith AI constraints and anti-hallucination guards- Minimal
.NET 10MCP server with comprehensive tests - Full CI/CD workflows (build, CodeQL, Trivy, DAST)
- GitHub Actions security linting
The sample repo is not a tutorial. It's a production-ready scaffold. Fork it. Adapt it to your stack. Go.
Each slide includes detailed speaker notes (visible in presenter mode). Notes include:
- Context and rationale for each decision
- Real production incidents that motivated the controls
- Trade-offs and trade-offs considered
- Example code snippets and commands
- Recommendations and next steps
To view speaker notes:
- In browser: Open in presenter mode (press
Pin Marp server) - In PDF: Notes are included in the PDF (see notes pages)
- In Markdown: Look for
<!-- comment -->sections
The presentation is built in Marp, a markdown-based slideshow framework. You can:
- Edit slides: Modify
slides/presentation.md - Change theme: Update
slides/theme.css(currently uses GitHub Primer palette) - Add diagrams: Include Mermaid diagrams or images in
slides/
- Node.js 20+ (for Marp CLI)
- Git (to clone the sample repo)
- Docker (optional, to build the sample devcontainer)
This presentation and sample code are provided as-is for educational and internal use.
- Pre-commit framework: https://pre-commit.com
- gitleaks: https://github.com/zricethezav/gitleaks
- detect-secrets: https://github.com/Yelp/detect-secrets
- Trivy: https://github.com/aquasecurity/trivy
- CodeQL: https://codeql.github.com
- Marp: https://marp.app
- ModelContextProtocol: https://modelcontextprotocol.io
Open an issue or reach out after the session.
🔐 Build secure. Ship fast.