Skip to content
hannctl
PDF

case-studies multi-csp-asset-automation README.md

Multi-cloud asset and audit automation GitHub ↗

Personal project · released Nov 2026 PF-05 · Multi-cloud · Python Role: Design and implementation
  • Python
  • boto3
  • Google Cloud SDK
  • Tencent Cloud SDK
  • Google Sheets
  • Slack
  • Telegram
  • AWS
  • GCP
  • Tencent
3
Clouds covered by the public code
7
Collectors by resource type
49
Audit actions tracked (16 alert immediately)

A Python tool that collects assets, permissions, and audit logs from AWS, GCP, and Tencent Cloud into one schema, and alerts on risky events.

Scale: 3 clouds · 7 collectors · 49 audit actions

Overview

  • Problem

    Each cloud returns the same concept in a different shape. Comparing permissions or firewalls meant reading three formats by hand.

  • Approach

    Each account is reached through a cross-account role such as STS AssumeRole. Seven collectors, one per resource type, feed a single data class per resource. Output goes to Google Sheets and CSV, and 16 critical events alert Slack and Telegram immediately based on critical_events.yaml.

  • Result

    The production tool behind this code checked four clouds including Azure every day before dawn, removed several days of manual month-end review, and together with Terraform defaults and CI gates helped raise the remediation rate from 60% to over 85%.

  • What I learned

    When running several clouds together, the biggest cost was not collecting data but people lining up different formats by hand. Collection differs per cloud, but normalizing the results into one data class per resource lets permissions or firewalls be compared in the same columns, and adding a cloud means adding a collector. Keeping the critical event list as data (critical_events.yaml) instead of code mattered too: a security reviewer can read and change the rules without reading Python, and rule changes never mix with code changes. Some paths were verified only with mocks, not live accounts, which taught me that how far automation can be trusted is set by how much of it was actually checked.

DESIGN.md — Design and implementation →
notes.md — Related notes →

© 2026 Kim JunHyun · Built with Astro · The infrastructure behind this site is code too

↑↓ move · Enter open · Esc close

Choose a theme

Click a badge to switch to that theme on the same content. Dragging only swings it.

Back to the front page →