DEV Community

RESK
RESK

Posted on

Secure Your TypeScript LLM Pipeline with resk-llm-ts: 11 Threat Detectors in One npm Package

Links:


If you expose an LLM endpoint in your TypeScript backend, every user request is a potential attack vector. Prompt injections, jailbreak attempts, PII leaks, and exfiltration of system prompts all happen through the same text input you pass to your model.

The Problem

Instruction-based filters like "ignore previous instructions" do not work. Models follow user instructions by design. You need a structural defense at the middleware layer — before the request reaches your AI provider.

Enter resk-llm-ts

resk-llm-ts is an open source TypeScript library that sits between your API route and your LLM call. It inspects every input with 11 independent threat detectors and blocks malicious content before your model ever sees it.

Here is a minimal Express example:

import express from 'express';
import { createInjectionDetector } from 'resk-llm-ts';

const app = express();
app.use(express.json());

const injectionCheck = createInjectionDetector();

app.post('/chat', async (req, res) => {
  const result = await injectionCheck.analyze(req.body.message);

  if (result.flagged) {
    return res.status(400).json({
      error: 'Content blocked',
      reason: result.categories.join(', ')
    });
  }

  // Safe to call your LLM
  const reply = await callOpenAI(req.body.message);
  res.json({ reply });
});
Enter fullscreen mode Exit fullscreen mode

The 11 Detectors

Each detector is an independent module you can enable or disable:

  1. Injection Detector — catches prompt injection and jailbreak patterns
  2. PII Scanner — finds emails, SSNs, credit cards, phone numbers
  3. Exfiltration Guard — detects system prompt extraction attempts
  4. Code Detector — spots hidden code execution or SQL injection in prompts
  5. URL Safety — validates links for phishing and malware
  6. Toxicity Filter — flags abusive, hateful, or harmful content
  7. Sensitive Topic Guard — blocks conversations on disallowed subjects
  8. Language Enforcer — restricts model output to permitted languages
  9. Relevancy Checker — ensures user input stays on topic for your use case
  10. Redact Engine — auto-redacts secrets from logs and traces
  11. Pattern Blocker — custom regex rules for your specific blocking needs

Middleware Support

resk-llm-ts plugs into your framework of choice:

// Express middleware
import { protectLLMEndpoint } from 'resk-llm-ts/express';
app.use('/api/chat', protectLLMEndpoint());

// Hono middleware
import { llmSecurity } from 'resk-llm-ts/hono';
app.use('/api/chat', llmSecurity());

// OpenAI-compatible wrapper
import { SecurityWrapper } from 'resk-llm-ts';
const secureOpenAI = new SecurityWrapper(openai);
const response = await secureOpenAI.chat.completions.create({ ... });
Enter fullscreen mode Exit fullscreen mode

Installation

npm install resk-llm-ts
Enter fullscreen mode Exit fullscreen mode

Requires Node.js 18+. No external dependencies beyond TypeScript 5.x.

Why This Matters

70% of organizations lack AI governance according to PwC. Most rely on brittle prompt engineering as their only defense. resk-llm-ts gives you structural security at the gateway — before a single token reaches your LLM provider.

The library is GPL-3.0 open source, built and maintained by RESK Security.

Check it out, star the repo, and let me know what you think in the comments. What threat patterns do you see most in your AI applications?

👉 npm install resk-llm-ts
👉 https://github.com/Resk-Security/resk-llm-ts
👉 https://resk.fr

Top comments (0)