Skip to content

The work

Public tools spanning offensive operations, AWS detection engineering, and LLM security.

01

Sentinel Forge

2026

AWS Cloud Detection & Response Lab

Result

Unifies CloudTrail, GuardDuty, and Security Hub findings into a single event model with playbook-driven incident summaries.

Problem

Cloud security teams often have the telemetry they need, but not the connective tissue that turns raw events into a usable incident story. The hard part is not collecting data. It is normalizing it, correlating it, explaining why a detection fired, and giving an analyst a next step that does not waste time.

Approach

Ingests CloudTrail, GuardDuty, and Security Hub samples, normalizes them into a common event model, runs defensive detections, correlates suspicious activity, and generates analyst-ready findings, timelines, and manager summaries.

Highlights

  • Root account usage
  • Console login without MFA
  • Privileged AssumeRole
  • CloudTrail tampering
  • Public sensitive port exposure
  • GuardDuty plus CloudTrail corroboration

$ sentinel-forge replay-findings

[*] Loading sample corpus: CloudTrail, GuardDuty, Security Hub
[*] Normalizing AWS-native telemetry into common event model
[*] Running defensive detections against YAML rule registry
 
Finding | CloudTrail tampering
ops-analyst -> StopLogging -> org-trail
severity: HIGH | confidence: 90
 
Finding | Privileged role assumption
ops-analyst -> AssumeRole -> OrganizationAccountAccessRole
severity: MEDIUM | confidence: 75
 
[+] Incident summary: 7 findings, 3 principals, highest severity HIGH
02

Aegis

2026

AI Exploitation & Guardrail Inspection Suite

Result

Maps OWASP LLM Top 10 detections to YAML payloads and produces SIEM-ready JSON and HTML findings.

Problem

LLM applications are often deployed without rigorous security testing against prompt injection or sensitive data leakage. Traditional scanners aren't built for the non-deterministic nature of model responses.

Approach

A scanner that probes LLM endpoints with specialized payloads and runs the responses through YAML-defined detectors mapped to the OWASP Top 10 for LLMs.

Highlights

  • Prompt injection (direct/indirect)
  • Sensitive data disclosure (PII, secrets)
  • Output handling (XSS, SQLi injection)
  • Jailbreak detection
  • Resource abuse & token exhaustion
  • SIEM-ready JSON logging

$ aegis scan -t https://api.openai.com/v1/chat/completions -p openai

[*] Initializing LLM connector: openai (gpt-4o-mini)
[*] Loading 42 injection payloads from YAML registry
[*] Running 12 concurrent scanners...
 
Vulnerability | Prompt Injection (Direct)
Confidence: 100% | Category: LLM01
Evidence: Payload "Ignore all previous instructions..." succeeded
 
Finding | Sensitive Data Leakage
Matched pattern: aws_arn (Confidence: 0.95)
Detail: arn:aws:iam::123456789012:user/admin found in response
 
[+] Scan complete: 3 critical, 1 medium findings. Report: aegis_report.html
03

Domino

2026

AWS IAM Privilege Escalation Path Prover

Result

Models IAM principals and resources as a directed graph and proves multi-step privilege escalation paths across service boundaries.

Problem

Cloud security scanners find misconfigurations in isolation. They don't tell you which 5 of those 200 findings chain together into an actual account compromise path.

Approach

Models IAM principals and resources as a directed graph. Finds multi-step privilege escalation paths across service boundaries by matching chains against 12+ built-in attack tactics.

Highlights

  • PassRole + Lambda/EC2/Glue
  • IMDS credential theft
  • Confused Deputy via S3 triggers
  • IAM policy self-escalation
  • Lambda code hijack
  • Policy version rollback

$ domino --demo

[*] Loading IAM snapshot: prod-account.json
[*] Building principal-resource graph: 47 nodes, 183 edges
[*] Matching against YAML attack tactics...
 
Path 1 | Severity: CRITICAL (score: 9.2)
dev-lambda-role
-> iam:PassRole -> prod-admin-role
-> lambda:UpdateFunctionCode -> exfil-lambda
-> sts:AssumeRole -> prod-admin-role
Tactics: PassRole+Lambda, Lambda code hijack
 
[+] Scan complete: 2 exploitable paths found across 47 principals
04

Malforge

2026

Shellcode Encryption & Multi-Format Payload Generator

Result

Stackable encryption layers plus AMSI and ETW patching templates across 9+ output formats for OSEP-style payload development.

Problem

Static shellcode runners are easily detected. Manual encryption and evasion patching is tedious and error-prone during OSEP-style engagements.

Approach

An advanced generator that applies stackable encryption layers (XOR, AES, RC4) and runtime evasion patches (AMSI/ETW) to shellcode using a standardized Jinja2 template engine.

Highlights

  • Stackable encryption (XOR, AES, RC4, Caesar)
  • AMSI & ETW runtime patching
  • 9+ Output formats (EXE, DLL, VBA, HTA, PS1, JS, MSBuild)
  • RW -> RX memory allocation safety
  • Randomized namespaces and class names
  • SQLite tracking of generated payloads

$ malforge -i sc.bin -f exe -e xor,aes --amsi

[*] Loading shellcode: sc.bin (510 bytes)
[*] Applying encryption chain: XOR -> AES-256-CBC
[*] Generating decryption stub (auto-reversed)
[*] Patching AMSI: AmsiScanBuffer -> NOP
[*] Patching ETW: EtwEventWrite -> RET
[*] Memory: VirtualAlloc(RW) -> VirtualProtect(RX)
[*] Randomizing namespace: MfKx9mVp.RL2Tn4wR
[+] Output: payload_a7f2c1.cs (ready to compile)
[+] Metadata: Persisted in ~/.malforge/malforge.db
05

Ollama-Claude

2026

Hardware-Aware Bridge from Ollama to Claude Code

Result

One command provisions a local LLM that fits the available GPU and wires it to Claude Code on Linux, macOS, Windows, and WSL2.

Problem

Running Claude Code against a local model means picking a quantization that fits your VRAM, configuring environment variables, and verifying both ends agree on the protocol. The setup gap is what stops most people from trying it.

Approach

Detects GPU, CPU, and RAM, picks a model that fits the available memory, downloads it via Ollama, and writes the Claude Code environment variables. The installer verifies the release tarball against the SHA256SUMS asset before extracting.

Highlights

  • Hardware detection (GPU, VRAM, system RAM)
  • Model selection that fits available memory
  • Cross-platform installer (Linux, macOS, Windows, WSL2)
  • SHA256-verified release tarball
  • Idempotent re-runs (safe to re-install)
  • Zero Python dependencies (pure shell)

$ curl -fsSL ollama-claude.sh | bash

[*] Detecting hardware: GPU=RTX 4080 (16GB), RAM=32GB
[*] Verifying tarball: SHA256 matches SHA256SUMS
[*] Selecting model: qwen2.5-coder:14b-q4 (fits 16GB VRAM)
[*] Pulling via Ollama...
[*] Writing ~/.claude/settings.json env vars
 
[+] Local model ready: ollama serve on :11434
[+] Claude Code wired: ANTHROPIC_BASE_URL set
[+] Run 'claude' to verify