
Helping folk do security things with @elastic. Views are my own. Creator of https://xitter.cf/t.co/FY2IQ2eAhe, https://xitter.cf/t.co/aDuzYgUuYw, https://xitter.cf/t.co/qz9J8Kb0v3 and https://xitter.cf/t.co/eiiVHgqb5G
Parker, CO
Joined April 2009
- Tweets1.5K
- Following536
- Followers1.2K
- Likes3K
The @huggingface team did an incredible job with this write up and the incident replay. The detail was excellent, nothing was spared. Thank you for setting a (hopefully) new standard on these reports here!
huggingface.co/blog/agent-in…
huggingface-anatomy-of-front…
It inspired me enough to take the detail they provided and create a script to emulate the behaviors and events for anyone wishing to replay them in @elastic security. Also highlighted which detections/preventions would have helped here, as well as some examples of other detections too.
More details below:
hf-incident.threatsearch.io
github.com/jamesspi/hf-incid…
Have fun, and please feel free to contribute in the repo!
Thank you again, Hugging Face, for the reports and detail!
James retweeted
wp2shell PoCs went public within hours of disclosure, and we are seeing active exploitation.
Pre-auth RCE in WordPress Core. No plugins required.
CVE-2026-63030 and CVE-2026-60137.
We ran the Icex0 PoC end-to-end with Elastic Defend.
On the host, every run ends the same way.
The web server writes PHP under wp-content/plugins/, then spawns a shell.
4 rules caught it:
- Payload Execution by Web Server: EDR, kills the shell on launch
- PHP File Creation in WordPress Plugin Directory: catches the drop before execution
- Suspicious Command Execution via Web Server: flags discovery commands from the web parent
- Unusual Command Execution via Web Server: alerts on command lines the host has never run
The PoC self-cleans after running.
A missing plugin folder doesn't mean a clean host.
Patch to 7.0.2 or 6.9.5. Hunt the IOCs while tooling is still stock.
Full rule walkthrough, process lineage, and Attack Discovery correlation: go.es.io/4wW8NpB
James retweeted
7 trojanized repos targeting developers. Zero detections across every AV vendor.
Elastic Security Labs is tracking a new Contagious Interview campaign (REF9403) where DPRK-aligned actors distribute fake coding challenges through Slack job postings.
The repos masquerade as real Next.js e-commerce projects. The code was copied from a legitimate template called GoCart. The difference is steganography.
Base64 payload fragments are hidden inside HTML comments in SVG flag images. A script reassembles them alphabetically, decodes with a custom function, and runs on server start.
What deploys:
- Credential stealer targeting 25 crypto wallet extensions plus browser login data
- File stealer scanning for .env, .pem, .ssh, .aws, documents, images, shell history, and source code
- Socket. IO RAT providing real-time interactive shell access
- Clipboard stealer polling every 500ms, plus a Windows dropper downloading 3 disguised executables from the C2
Full analysis from Elastic Security Labs by @danielstepanic : go.es.io/4fqEhgp
James retweeted
We tracked a new activity cluster targeting Mexican banking customers.
Elastic Security Labs discovered REF6045, an operator-assisted banking fraud campaign targeting customers of Mexican banks, fintechs, and cryptocurrency platforms through ClickFix fake-CAPTCHA lures.
The operation exhibits a reliance on AI-generated code and suffers from significant operational security (OPSEC) failures that exposed their infrastructure and their toolkit.
The toolkit gives operators a full fraud workflow from:
•Vishing overlay: lock the screen behind a fake bank warning
•Browser redirect: paste a phishing URL via automated keystrokes
•Clipboard swap: replace CLABE or card numbers mid-transfer
•Remote access: install Remote Utilities for hands-on takeover
Research by @k33b0i and @soolidsnakee.
Full analysis from Elastic Security Labs: go.es.io/4eP6VZF
James retweeted
new detection content for Kubernetes covering a variety of techniques using k8 audit logs:
github.com/elastic/detection…
Built something new to showcase what's possible with @elastic's Workflow and Agent Builder capabilities in 9.4.
Lurelit - an agentic screenshot analyzer for phishing and smishing attempts. Entirely powered by an Elastic workflow, end-to-end.
Upload a screenshot of a suspicious message. The workflow handles the rest:
AI vision analysis extracts IOCs and classifies the threat
VirusTotal and urlscan.io enrich every URL and domain
Automated ES|QL hunting across your Elastic environment
Human-in-the-loop gates before proceeding with hunts
Token consumption tracking with per-model cost breakdowns
It demonstrates Workflows GA, Agent Builder's new skills framework, the connector framework, the consumption API, and human-in-the-loop steps with conditional triggers.
The workflow is 700+ lines of configuration. I didn't write a single line. The natural language workflow authoring skill built the entire thing.
Code, docs, bootstrapping UI, and sample data included.
lurelit.ai | github.com/jamesspi/lurelit
Agent Builder in Elastic 9.4 cuts token costs by up to 40%.
Not by truncating context, but by enabling agents to manage it independently.
Four mechanisms do the work:
• Dynamic skill loading: instructions load only when needed, not all at once
• Conversation context store: large result sets stay out of the prompt until required
• Selective compaction: long conversations compress without losing what matters
• OAuth connectors: query Google Drive, Salesforce, Slack without copying data
In internal testing, dynamic skills alone cut input token usage by 21 to 39%.
Top snippets retrieval added another 27 to 34% reduction.
Context window stays stable past 30 turns.
Without this, it balloons to max size by turn twelve.
Elastic 9.4 is now available, bringing new advancements across the Elasticsearch Platform.
Key new features:
• Elastic Workflows GA, scripted automation and agentic reasoning enable AI agents to act on their findings
• Elastic Agent Builder enhancements optimize context, transforming agents from open-ended prompts into controlled, action-driven systems
• Native Prometheus and PromQL support, with significant TSDB efficiency improvements, position Elastic Observability as a compelling alternative to competing metrics solutions and enable a single platform across logs, metrics, and traces
Transform data into answers, actions, and outcomes.
Learn more: go.es.io/4tZVi7q
James retweeted
We have identified a novel social engineering campaign abusing Obsidian, the popular note taking app, to deliver a previously undocumented RAT #PHANTOMPULSE and it’s loader #PHANTOMPULL targeting individuals in finance and crypto.
The attack never exploits a vulnerability. It abuses Obsidian's own plugin ecosystem to execute code the moment a victim opens a shared vault.
Full analysis: go.es.io/4cld0dB
James retweeted
We open sourced the tool used to detect the Axios supply chain compromise! I built it Friday after a red eye home from RSAC. Also, wrote up the full story, including the hectic moments after that first critical alert
github.com/elastic/supply-ch…
James retweeted
‼️ Meet the guy almost everyone loves for alerting the axios devs about the supply chain attack.
He built a supply chain monitoring system last week, and was alerted within minutes of the axios compromise.
The world should be thanking Elastic Security's finest:
Joe @dez_
James retweeted
ElasticSecurityLabs detects the Axios npm supply chain attack across Linux, Windows & macOS.
Our behavioral detections caught it without relying on static indicators.
Full malware analysis dropping soon: go.es.io/488UwvJ
Elastic Cloud Hosted on AWS GovCloud (US) achieves FedRAMP® High authorization, continuing our team’s longstanding commitment to the highest levels of security and efficiency for sensitive government data.
go.es.io/4s4cVAS
James retweeted
We are working it, sharing what we know as of now - gist.github.com/joe-desimone…
Replying to @npmjs
@npmjs @GHSecurityLab there is an active supply chain attack on [email protected] which pulls in a malicious package published today - [email protected] - someone took over a maintainer account for Axios
James retweeted
APT confirmation used to take hours. Now it takes 4 minutes.
Attack Discovery correlates alerts into a single narrative.
A workflow triggers the agent.
The agent:
• Looks up the hash on VirusTotal
• Runs ES|QL queries across your logs
• Finds the on-call analyst
• Creates a case
• Opens a Slack incident channel
All before you read the threat intel report.
James retweeted
Step right up! 📢 We’re serving up a Windows kernel exploit that never goes stale. 🍿 Forget patches, this forever-day is popping off and it's here to stay. Grab a bucket and watch the show! elastic.co/security-labs/imm…
James retweeted
**OFFICIAL** EDR Tier List for 2026! Based on nothing but the people in chat, vibes, guests, opinions and limited experience. Thanks to @EmericNasi @ShitSecure @_JohnHammond and @domchell for jumping in a guests to help me out this time around!
James retweeted
A chat and demo with James Spiteri to see just how easy it is now to spin up Elastic -- and with several options completely free! youtu.be/7Z2zObdhN-Q
































