<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Munagala Karthik</title>
    <description>The latest articles on DEV Community by Munagala Karthik (@karthiblip).</description>
    <link>https://dev.to/karthiblip</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3867759%2F773d6f9f-cf2d-4807-bb7e-80353236215b.jpeg</url>
      <title>DEV Community: Munagala Karthik</title>
      <link>https://dev.to/karthiblip</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/karthiblip"/>
    <language>en</language>
    <item>
      <title>Why LLM Engineering Is a Cloud Security Problem Nobody Is Talking About</title>
      <dc:creator>Munagala Karthik</dc:creator>
      <pubDate>Sat, 16 May 2026 03:05:14 +0000</pubDate>
      <link>https://dev.to/karthiblip/why-llm-engineering-is-a-cloud-security-problem-nobody-is-talking-about-5bjn</link>
      <guid>https://dev.to/karthiblip/why-llm-engineering-is-a-cloud-security-problem-nobody-is-talking-about-5bjn</guid>
      <description>&lt;p&gt;Everyone wants to be an LLM engineer right now.&lt;/p&gt;

&lt;p&gt;And I get it. The space is moving fast and the opportunities are real.&lt;/p&gt;

&lt;p&gt;But here is what most people getting into it are skipping.&lt;/p&gt;

&lt;p&gt;LLMs are powerful. They are also unpredictable; expensive to run and surprisingly easy to break if your infrastructure is not solid underneath them.&lt;/p&gt;

&lt;p&gt;Prompt injection is real. If your application takes user input and passes it directly to a model without sanitization; you have already built a vulnerability. Not a bug. A vulnerability.&lt;/p&gt;

&lt;p&gt;Your API keys are sitting in environment variables. Your model endpoints have no rate limiting. Your logs are capturing sensitive user inputs. Your cost per token is scaling faster than your revenue.&lt;/p&gt;

&lt;p&gt;These are not AI problems. These are cloud security and engineering problems that happen to live inside an AI product.&lt;/p&gt;

&lt;p&gt;The best LLM engineers I have seen are not just good at prompting. They understand IAM; secrets management; rate limiting; observability and cost controls. They treat the model like any other production service.&lt;/p&gt;

&lt;p&gt;Because it is.&lt;/p&gt;

&lt;p&gt;If you are building with LLMs and not thinking about security; you are not building a product. You are building a liability.&lt;/p&gt;

&lt;p&gt;Secure the infrastructure first. Then ship the intelligence.&lt;/p&gt;

</description>
      <category>devsecops</category>
      <category>cloudsecurity</category>
      <category>llm</category>
    </item>
    <item>
      <title>Zero Trust Is Not a Product — It Is a Discipline You Build</title>
      <dc:creator>Munagala Karthik</dc:creator>
      <pubDate>Mon, 11 May 2026 08:41:00 +0000</pubDate>
      <link>https://dev.to/karthiblip/zero-trust-is-not-a-product-it-is-a-discipline-you-build-56lg</link>
      <guid>https://dev.to/karthiblip/zero-trust-is-not-a-product-it-is-a-discipline-you-build-56lg</guid>
      <description>&lt;p&gt;Zero Trust is the most talked about security model in 2026.&lt;br&gt;
It is also the most misunderstood.&lt;br&gt;
Most teams think Zero Trust means adding MFA and calling it a day. It is not. MFA is one layer. Zero Trust is an entire mindset.&lt;br&gt;
Never trust. Always verify. Every single time.&lt;br&gt;
It means every user; every service; every machine; every API call is treated as a potential threat until proven otherwise. No free passes. No assumed trust based on network location or past logins.&lt;br&gt;
Here is what actual Zero Trust looks like in practice.&lt;br&gt;
Your developers cannot access production just because they are on the company network. Access is granted per request; per task; time limited and automatically revoked.&lt;br&gt;
Your service accounts have exactly the permissions they need for one job. Nothing more. The moment that job is done; access is gone.&lt;br&gt;
Your CI/CD pipeline is not trusted by default. Every deployment is verified; scanned and validated before it touches production.&lt;br&gt;
This is not paranoia. This is engineering.&lt;br&gt;
Most breaches in 2026 are not happening because attackers are breaking through walls. They are walking through doors that were left open by assumed trust.&lt;br&gt;
Stop assuming. Start verifying.&lt;br&gt;
Zero Trust is not a product you buy. It is a discipline you build.&lt;/p&gt;

</description>
      <category>cloudsecurity</category>
      <category>zerotrust</category>
      <category>devsecops</category>
    </item>
    <item>
      <title>OCI Wouldn't Let Me Delete My KMS Keys — So I Stopped Trying to Delete Them</title>
      <dc:creator>Munagala Karthik</dc:creator>
      <pubDate>Thu, 07 May 2026 04:30:00 +0000</pubDate>
      <link>https://dev.to/karthiblip/oci-wouldnt-let-me-delete-my-kms-keys-so-i-stopped-trying-to-delete-them-345b</link>
      <guid>https://dev.to/karthiblip/oci-wouldnt-let-me-delete-my-kms-keys-so-i-stopped-trying-to-delete-them-345b</guid>
      <description>&lt;p&gt;The obvious solution is not always the right one.&lt;br&gt;
When we hit a problem in OCI where KMS keys were refusing to delete; the obvious move was to force delete them. Try harder. Debug the script. Fix the error.&lt;br&gt;
We tried that. It kept failing.&lt;br&gt;
So we stopped and asked a different question.&lt;br&gt;
What if we stop trying to delete them where they are; and move them somewhere else first?&lt;br&gt;
We wrote a script that moves the keys to a separate isolated compartment. No active resources. No dependencies. Clean environment. Then we delete them there.&lt;br&gt;
It worked immediately.&lt;br&gt;
Same problem. Different angle. Completely different result.&lt;br&gt;
This is something I keep learning over and over in cloud engineering. When something is not working; the answer is rarely to push harder in the same direction. Sometimes you need to zoom out; question your assumptions and ask what else is possible.&lt;br&gt;
The cloud does not always behave the way you expect. Neither do real problems.&lt;br&gt;
The engineers who solve hard problems fastest are not the ones who know the most commands. They are the ones who think differently when the obvious path is blocked.&lt;br&gt;
When the door is locked; look for the window.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>oci</category>
      <category>cloudsecurity</category>
    </item>
    <item>
      <title>Attackers Are Not Breaking In Anymore — They Are Logging In as Your Machines</title>
      <dc:creator>Munagala Karthik</dc:creator>
      <pubDate>Mon, 04 May 2026 08:40:31 +0000</pubDate>
      <link>https://dev.to/karthiblip/attackers-are-not-breaking-in-anymore-they-are-logging-in-as-your-machines-4h9c</link>
      <guid>https://dev.to/karthiblip/attackers-are-not-breaking-in-anymore-they-are-logging-in-as-your-machines-4h9c</guid>
      <description>&lt;p&gt;We spend so much time securing human identities in the cloud.&lt;br&gt;
MFA. Strong passwords. Role based access. All important.&lt;br&gt;
But here is what most teams are missing completely.&lt;br&gt;
Machine identities now outnumber human identities by 82 to 1.&lt;br&gt;
Every service account. Every AI agent. Every API. Every Lambda function calling another service. Every container pulling from a registry. Every automated pipeline running in your CI/CD.&lt;br&gt;
All of them have credentials. All of them have permissions. Most of them are never audited.&lt;br&gt;
And attackers know this.&lt;br&gt;
A compromised service account with standing admin privileges is a dream entry point. No MFA to bypass. No human to notice the login alert. Just silent; persistent access.&lt;br&gt;
I started treating every machine identity in our environment the same way I treat human identities.&lt;br&gt;
Least privilege. Regular audits. Automatic rotation of credentials. Immediate revocation when no longer needed.&lt;br&gt;
It sounds obvious. But most teams are not doing it.&lt;br&gt;
The identity perimeter is not just your employees anymore. It is everything in your environment that has a credential.&lt;br&gt;
Secure the machines. Not just the people.&lt;/p&gt;

</description>
      <category>cloudsecurity</category>
      <category>devsecops</category>
      <category>iam</category>
    </item>
    <item>
      <title>Two clouds. Two KMS services. Same goal; very different experience.</title>
      <dc:creator>Munagala Karthik</dc:creator>
      <pubDate>Thu, 30 Apr 2026 04:43:03 +0000</pubDate>
      <link>https://dev.to/karthiblip/two-clouds-two-kms-services-same-goal-very-different-experience-142a</link>
      <guid>https://dev.to/karthiblip/two-clouds-two-kms-services-same-goal-very-different-experience-142a</guid>
      <description>&lt;p&gt;Two clouds. Two KMS services. Same goal; very different experience.&lt;br&gt;
I work across AWS and OCI daily so I get to compare these things firsthand.&lt;br&gt;
AWS KMS feels mature. You create a key, attach a policy, integrate with S3, Lambda, EBS in minutes. IAM controls everything. It just works.&lt;br&gt;
OCI Vault is powerful but the setup feels heavier. Key management, secret management and vaults are separate concepts you need to understand before you start. It takes more planning upfront.&lt;br&gt;
A few real differences I noticed;&lt;br&gt;
AWS KMS integrates natively with almost every AWS service out of the box. OCI Vault requires more manual wiring to connect with other OCI services.&lt;br&gt;
AWS gives you automatic key rotation with one toggle. OCI supports rotation but the process needs more configuration.&lt;br&gt;
AWS KMS pricing is per API call. OCI Vault pricing is per key version stored; different mental model for cost planning.&lt;br&gt;
Neither is better. They just think differently.&lt;br&gt;
AWS optimizes for speed and simplicity. OCI optimizes for control and structure.&lt;br&gt;
Know which one you are working with before you start designing your encryption strategy.&lt;/p&gt;

</description>
      <category>cloudsecurity</category>
      <category>aws</category>
      <category>oci</category>
    </item>
    <item>
      <title>OCI Service Limits, What You Need to Know Before You Start Building</title>
      <dc:creator>Munagala Karthik</dc:creator>
      <pubDate>Sun, 26 Apr 2026 16:25:55 +0000</pubDate>
      <link>https://dev.to/karthiblip/oci-service-limits-what-you-need-to-know-before-you-start-building-50hm</link>
      <guid>https://dev.to/karthiblip/oci-service-limits-what-you-need-to-know-before-you-start-building-50hm</guid>
      <description>&lt;p&gt;Have you ever been surprised by cloud limits in the middle of a deployment?&lt;br&gt;
One thing I didn't expect when working on OCI was how limit-aware you need to be.&lt;br&gt;
Coming from AWS where most things just work within generous defaults, OCI taught me to plan differently.&lt;br&gt;
Need more than 2 identity domains? You'll need to upgrade your account and submit a request. Need more VM capacity? Same process; submit and wait for approval.&lt;br&gt;
It's not a bad thing honestly. It just means you need to think ahead.&lt;br&gt;
In AWS I never thought about limits until I hit them. In OCI I learned to check limits before I even start building.&lt;br&gt;
Every resource has a ceiling. And raising that ceiling requires a conversation with Oracle first.&lt;br&gt;
Once I changed my mindset from "just deploy and figure it out" to "plan your limits before you start", working in OCI became much smoother.&lt;br&gt;
OCI is powerful. But it rewards engineers who plan ahead, not those who move fast and fix later.&lt;br&gt;
Know your limits before your deployment does.&lt;/p&gt;

</description>
      <category>oci</category>
      <category>cloudsecurity</category>
      <category>devops</category>
    </item>
    <item>
      <title>Why Your AI Prompts Are Getting Generic Answers (And How to Fix It)</title>
      <dc:creator>Munagala Karthik</dc:creator>
      <pubDate>Thu, 23 Apr 2026 13:23:19 +0000</pubDate>
      <link>https://dev.to/karthiblip/why-your-ai-prompts-are-getting-generic-answers-and-how-to-fix-it-2572</link>
      <guid>https://dev.to/karthiblip/why-your-ai-prompts-are-getting-generic-answers-and-how-to-fix-it-2572</guid>
      <description>&lt;p&gt;Most engineers treat AI like a search engine.&lt;br&gt;
Type a question; hope for a good answer; get frustrated when it's generic.&lt;br&gt;
That's not how it works.&lt;br&gt;
AI responds to context. The more specific you are, the better the output. Think of it like briefing a new team member who knows everything, but has no idea about your environment.&lt;br&gt;
Here is what changed my results completely.&lt;br&gt;
Give it a role; "You are a cloud security engineer working on AWS" instantly shifts the tone and depth of the response.&lt;br&gt;
Give it context; mention the service, the environment, the constraint. "Write an IAM policy for a Lambda function that only reads from one S3 bucket" beats "write an IAM policy" every single time.&lt;br&gt;
Give it a format; tell it exactly what you want back, a policy document, a checklist, a Terraform block. Be specific.&lt;br&gt;
Tell it what to avoid; "no broad permissions, no wildcards, follow least privilege" saves you from cleaning up a messy output.&lt;br&gt;
I now use this for IAM policies, security checklists, Terraform reviews, incident response drafts and boto3 scripts.&lt;br&gt;
Same AI, better prompts, completely different results.&lt;br&gt;
Prompt engineering is not a skill for AI people. It is a skill for anyone who wants to stop wasting time.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>promptengineering</category>
    </item>
    <item>
      <title>I Gave a Service Account Full Admin Access, Here's What Happened Next</title>
      <dc:creator>Munagala Karthik</dc:creator>
      <pubDate>Sun, 19 Apr 2026 15:54:53 +0000</pubDate>
      <link>https://dev.to/karthiblip/i-gave-a-service-account-full-admin-access-heres-what-happened-next-1342</link>
      <guid>https://dev.to/karthiblip/i-gave-a-service-account-full-admin-access-heres-what-happened-next-1342</guid>
      <description>&lt;p&gt;I gave a service account full admin access once.&lt;br&gt;
Just to get things working quickly. I told myself I'd restrict it later.&lt;br&gt;
Later never came.&lt;br&gt;
Three months passed. That service account was still sitting there with more permissions than it needed. Quietly. Invisibly. A ticking time box nobody was watching.&lt;br&gt;
This is how most cloud environments get messy. Not from big mistakes. From small shortcuts that never get cleaned up.&lt;br&gt;
The "I'll fix it later" culture in cloud security is more dangerous than any misconfiguration.&lt;br&gt;
Because later feels responsible in the moment. You acknowledged the problem. You just didn't solve it.&lt;br&gt;
What actually helped me was treating every temporary fix like a bug. Log it. Track it. Set a deadline.&lt;br&gt;
If it doesn't have a deadline it doesn't exist.&lt;br&gt;
Don't let your shortcuts outlive your memory of why you made them.&lt;/p&gt;

</description>
      <category>cloudsecurity</category>
      <category>aws</category>
    </item>
    <item>
      <title>CloudTrail Is Not Just a Log, It's Your AWS Security Camera</title>
      <dc:creator>Munagala Karthik</dc:creator>
      <pubDate>Wed, 15 Apr 2026 03:26:45 +0000</pubDate>
      <link>https://dev.to/karthiblip/cloudtrail-is-not-just-a-log-its-your-aws-security-camera-4dc9</link>
      <guid>https://dev.to/karthiblip/cloudtrail-is-not-just-a-log-its-your-aws-security-camera-4dc9</guid>
      <description>&lt;p&gt;Nobody told me AWS CloudTrail was this important until something went wrong.&lt;br&gt;
An unexpected API call showed up in our environment. No one on the team claimed it.&lt;br&gt;
That one moment changed how I think about cloud monitoring forever.&lt;br&gt;
Before that I treated CloudTrail like a checkbox. Enabled it because best practices said so. Never actually looked at the logs.&lt;br&gt;
After that I started treating it like a security camera. Always on. Always watching. And you better know how to read what it's recording.&lt;br&gt;
The fix wasn't complicated. Set up proper log filtering. Created alerts for suspicious API calls. Made it a habit to review weekly.&lt;br&gt;
But the lesson hit hard.&lt;br&gt;
Enabling a security tool is not the same as using it. Most breaches don't happen because the tool wasn't there. They happen because nobody was watching.&lt;br&gt;
Turn it on. Then actually look at it.&lt;/p&gt;

</description>
      <category>cloudcomputing</category>
      <category>aws</category>
    </item>
    <item>
      <title>Vibe Coders</title>
      <dc:creator>Munagala Karthik</dc:creator>
      <pubDate>Sun, 12 Apr 2026 06:45:59 +0000</pubDate>
      <link>https://dev.to/karthiblip/vibe-coders-1ib3</link>
      <guid>https://dev.to/karthiblip/vibe-coders-1ib3</guid>
      <description>&lt;p&gt;Vibe coding is fun until it isn't.&lt;br&gt;
You're flying through features. AI is writing everything. It feels like a superpower.&lt;br&gt;
Then you hit the context limit.&lt;br&gt;
The model forgets what it built. Starts contradicting itself. Code breaks in ways that make no sense. And suddenly you're spending more time fixing AI mistakes than you would have spent just writing it yourself.&lt;br&gt;
I've been there.&lt;br&gt;
The problem isn't vibe coding itself. The problem is depending on it completely.&lt;br&gt;
If you don't understand what the code is doing you can't fix it when the AI loses the plot. And it will lose the plot.&lt;br&gt;
Use it as a tool. Not a replacement for thinking.&lt;br&gt;
Let AI handle the boilerplate. You handle the logic. You review every line. You stay in control.&lt;br&gt;
The engineers who will win with AI are not the ones who prompt the best. They're the ones who know enough to catch when the AI is wrong.&lt;br&gt;
Don't outsource your understanding. That's the one thing AI can't give back to you.&lt;/p&gt;

&lt;h1&gt;
  
  
  DevOps #CloudSecurity
&lt;/h1&gt;

</description>
      <category>vibecoding</category>
    </item>
    <item>
      <title>Things kept breaking in my OCI lab… until I fixed IAM</title>
      <dc:creator>Munagala Karthik</dc:creator>
      <pubDate>Wed, 08 Apr 2026 12:35:03 +0000</pubDate>
      <link>https://dev.to/karthiblip/things-kept-breaking-in-my-oci-lab-until-i-fixed-iam-3d78</link>
      <guid>https://dev.to/karthiblip/things-kept-breaking-in-my-oci-lab-until-i-fixed-iam-3d78</guid>
      <description>&lt;p&gt;Things kept breaking, and it wasn’t because I wrote bad code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It was IAM.&lt;/strong&gt;&lt;br&gt;
I was setting up a cloud lab in OCI and everything looked fine on the surface, instances, networking, policies.&lt;br&gt;
But every time I tried to launch or manage resources, something failed.&lt;/p&gt;

&lt;p&gt;Not loudly. Just enough to slow everything down.&lt;br&gt;
At first, I assumed it was a config issue.&lt;/p&gt;

&lt;p&gt;So I kept switching between tasks, checking networking, then compute, then scripts.&lt;/p&gt;

&lt;p&gt;That made it worse.&lt;br&gt;
I wasn’t losing time… I was losing context.&lt;/p&gt;

&lt;p&gt;What finally worked was slowing down and tracing the failure properly.&lt;br&gt;
I started reading the exact error messages and mapping them back to IAM policies.&lt;br&gt;
That’s when I finally saw it.&lt;/p&gt;

&lt;p&gt;A small missing permission:&lt;br&gt;
Allow group  to read instance-images in tenancy&lt;br&gt;
Once I added it, everything started working instantly.&lt;br&gt;
No changes to code. No changes to architecture.&lt;br&gt;
Just IAM.&lt;br&gt;
&lt;strong&gt;Nothing else changed.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The biggest lesson?&lt;br&gt;
Most cloud failures aren’t about what you built, they’re about what you forgot to allow.&lt;/p&gt;

&lt;p&gt;If something feels randomly broken in the cloud, start with IAM first.&lt;/p&gt;

&lt;h1&gt;
  
  
  CloudSecurity #IAM #OCI
&lt;/h1&gt;

</description>
      <category>cloudsecurity</category>
      <category>iam</category>
      <category>oci</category>
    </item>
  </channel>
</rss>
