Links:
- npm: https://www.npmjs.com/package/resk-llm-ts
- GitHub: https://github.com/Resk-Security/resk-llm-ts
- Web: https://resk.fr
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 });
});
The 11 Detectors
Each detector is an independent module you can enable or disable:
- Injection Detector — catches prompt injection and jailbreak patterns
- PII Scanner — finds emails, SSNs, credit cards, phone numbers
- Exfiltration Guard — detects system prompt extraction attempts
- Code Detector — spots hidden code execution or SQL injection in prompts
- URL Safety — validates links for phishing and malware
- Toxicity Filter — flags abusive, hateful, or harmful content
- Sensitive Topic Guard — blocks conversations on disallowed subjects
- Language Enforcer — restricts model output to permitted languages
- Relevancy Checker — ensures user input stays on topic for your use case
- Redact Engine — auto-redacts secrets from logs and traces
- 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({ ... });
Installation
npm install resk-llm-ts
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)