DevSecOps

Security defaults, pipeline hardening, and operational lessons from running production infrastructure under real adversary pressure.

RivasSec

Infrastructure. Security. Insight.

Field notes on infrastructure security, cloud hardening, Kubernetes, IAM, and OSINT by RivasSec.

Latest posts

IAM Blast Radius Is an Architecture Problem, Not a Policy Problem

Most IAM reviews start too late, after the account structure and trust boundaries are set. Least privilege isn't fewer actions; it's smaller failure domains.


Continue reading

The Discovery Layer Is Broken: Hiring as an Observability Problem

The senior engineering market has a routing failure, not a talent shortage: resumes and funnels index for keywords and discard the signal seniors depend on.


Continue reading

Bandit-Clean Pwnagotchi Plugins: How `subprocess` Goes From Risk to Routine

Hardening a Pwnagotchi plugin against Bandit B602/B603/B607: shutil.which() full paths, argv-list calls, input validation, and the nosec discipline.


Continue reading

TLS Has Three Jobs. Forget the Rest.

TLS gets easier when you stop walking the handshake and name what it's for. It does three jobs; anchor those and it becomes design, not memorization.


Continue reading

Adoption Is a Security Control: Notes from Paving a Road

A control developers route around isn't a control. Field notes on making the secure path the easy path: 40% less remediation time, 27% less pipeline latency.


Continue reading

IAM Roles That Fail Loud: Small Defaults, Big Difference

A small Pulumi library that treats IAM safety as a precondition: mandatory permissions boundary, no wildcard trust, no wildcard actions, every opt-out explicit.


Continue reading

The Trust Decay: Why Modern Hiring Has Become an Adversarial System

The tech hiring pipeline has shifted from talent discovery to risk mitigation. In 2026, the engineers who get hired are the ones who are hardest to doubt.


Continue reading

Elasticsearch Snapshot Verification, Minimal Privileges

Verify Elasticsearch snapshots without manage_snapshot: minimal API key, Prometheus-friendly script, and a public tools repo for hardened monitoring automation.


Continue reading

Taming the OOM Killer: Process Priorities on Linux

The Linux OOM Killer decides what dies under memory pressure. Protect sshd, mysqld, and other critical processes with oom_score_adj via a small script.


Continue reading

The 208.5-Day Kernel Bug: Uptime, Overflow, and Risk

A 2012 Linux kernel bug caused CPU lockups after 208.5 days of uptime due to an integer overflow in sched_clock(). RHEL 5/6 lesson: patch and observe uptime.


Continue reading