|
> WEEKLY RECON · #010 · 2026-06-23 · READ ONLINE
Blind Spots.
|
You defend what you can see. Three stories this week each take away a piece of that. Attackers turn your cloud logs off and then read the pipeline for their own recon. A GCP field your detection keys on shows up in the console and never reaches your SIEM. And Azure ransomware writes a log line that reads exactly like a normal upload.
|
// attack
🎯 Attack of the Week: blinding the cloud logs, then reading themHow it runs. You land a role with rights over the logging plane, and you have options before you touch anything noisy. Call The same rights cut the other way. The permissions that create and reconfigure trails, the ones that go beyond stopping them, let you stand up a fresh trail or a logging sink that ships to a bucket you own, or repoint the existing trail's Ship This Week.
|
|
// defender
🔧 Defender's Corner: check that your GCP detections survive exportVerify the field your GCP audit-logging detections depend on reaches your SIEM at all. Art Ukshini at Permiso, "Mind the Gap: GCP serviceData in Logs Explorer vs. Exported Logs" [2026-06-16] documents a gap that turns a working detection into a blind one.
For your engineer: take your top GCP detections, find each that reads a The same failure shows up in AWS. Know what you lose before you move CloudTrail off Lake. AWS deprecated CloudTrail Lake for new customers on June 1 and points you to CloudWatch instead. Aidan Steele, "CloudTrail in CloudWatch isn't very good" [2026-06-19] ran the migration and found the CloudWatch destination drops enrichment the trail and Lake carried. Lake enriched events with resource tags and global condition keys, and that enrichment is gone in CloudWatch, so a rule scoped on a tag or an |
|
// rule
🚨 Rule of the Week: catch the ransomware that logs like a normal writeJonah Feldman at Datadog Security Labs, "Holding blobs for ransom: Four methods for Azure Storage ransomware" [2026-06-15] names the detection gap directly: Azure resource logs don't capture the You can't key on the header, so key on the behavior around it. Alert when one principal overwrites a large number of existing blobs in a short window, and raise the severity when that burst pairs with control-plane moves that lock the data: a new encryption scope, a storage account default-encryption (CMK) change, or a Key Vault key or vault deleted minutes after the writes. The bulk-overwrite-then-delete-the-key shape is the ransom, even when each individual |
|
// agent
🤖 Agent Bench: hand the first audit pass to an agentThe blind spots above live in your logs. The other one is in code you depend on and have never read. Reading a dependency's source for injection and unsafe deserialization by hand is slow, so it rarely gets done. An agent can run the first pass and hand you somewhere to start. Treat that pass as a head start, and verify everything it claims before you act on it. Scope the target precisely: the repo URL, the exact commit SHA or release version, the language and framework, and the paths to exclude. An undefined target gives you an undefined audit. Ask the agent to hunt the code-audit classes: injection, auth bypass, SSRF, path traversal, and unsafe deserialization. Run secrets-in-code as a separate deterministic scan, since a grep-based scanner beats a reading pass for that. For every hit, require a source-to-sink trace: the reachable entrypoint, the attacker-controlled input, and the guard conditions the model believes are missing. A finding without that trace is a guess. What you walk away with: a ranked list you can turn into a disclosure draft after your own validation, once the false positives are stripped. This is the oss-security-audit workflow, built for cloud security OSS. Honest caveat: agents over-report, and severity inflation is the least of it. They fabricate reachability, invent control flow, and miss the mitigating check three lines up. Your verification is the gate. Try it this week: pick one dependency in your stack you have never read. Pin the version, run the audit, and verify the top finding's source-to-sink trace yourself. |
|
// radar
📡 Also on the RadarKatie Knowles at Datadog Security Labs, "Entra Agent ID: The blueprint blast radius" [2026-06-11]. Entra's new agent-identity model hangs many identities off one object. A blueprint is an app registration for AI agents, and it is the single trusted source of authentication for everything beneath it: a blueprint principal in each tenant, up to 250 agent identities per tenant under that, plus optional agent users. Add one credential to the blueprint and you can mint tokens that impersonate any identity it anchors, through a |
|
// roles
💼 Recon RolesSenior Security Engineer (AI Platform) · Chainguard A brand-new individual-contributor role that reads less like infrastructure security and more like governing the AI tooling the rest of the company runs on. The scope: administer Claude and ChatGPT at the org level, manage console settings through Git, run API key lifecycle, build anomaly detection for AI spend by team, write MCP servers and agentic tooling in Python or TypeScript, and keep sensitive data out of prompts. Five-plus years and hands-on enterprise Claude or ChatGPT administration expected, on GCP. The US listing posts $130,000 to $160,000 USD, modest for a senior security title at a company with Chainguard's name; the Canada listing shows no range. Worth a look if AI platform posture is the job you want before every org writes the same req. US + Canada remote. Verified open as of Mon 2026-06-22. Apply: US or Canada Roles can close anytime. No affiliation or payment. Found one already closed? Reply and tell me. The cloud doesn't hide things from you out of malice. The defaults do it: a deprecated field that stops at the console, a header that never reaches a log, a logging plane any sufficiently privileged role can switch off. Assume your visibility has holes, then go find which detection breaks when the one field you counted on never arrives. Know someone who'd want this in their inbox? Forward it to them. Full post with source links: defensive.works/recon/issue-10 |
Until next Tuesday,
R.K.
|
// end of issue 010 Sponsored content may appear below. Not part of Weekly Recon editorial. |
