llm

A security review for applications that use a language model, such as a chatbot or an automated agent. It examines prompts, outside text supplied to the model, model-connected tools, and the way model output is used.

In plain words
What is it for?
Use it to inspect chat endpoints, model calls, prompt construction, document or web-page context, agent loops, tool definitions, and output handling.
Why use it?
It helps find cases where untrusted text can change the model’s instructions, where the model can perform actions beyond the user’s authority, or where its output is treated as safe code or markup.

Skill for Claude CodeCodex

Part of the websec plugin — 36 skills, 2 agents shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/emre-guler/websec/llm
Any agent
npx skills add emre-guler/websec --skill llm
Clone the repo
git clone --depth 1 https://github.com/emre-guler/websec

Made for: Claude Code, Codex.

Or install websec, the plugin that ships this one along with the rest of its 36 skills, 2 agents.

Per session 85 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,623 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00085 $0.05623
Opus 5 $0.00043 $0.02812
Sonnet 5 $0.00017 $0.01125
Haiku 4.5 $0.00009 $0.00562

Measured 3d ago against content hash f3797135d449, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

llm scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/llm/SKILL.md · 168 lines

How it starts

The opening of the file, as written. The whole thing — 168 lines — stays where its author put it; the contents beside it link to each section on GitHub.

LLM Integration Detection

Overview

An application that embeds a language model gives a server-side component authority that the caller does not have: the model reads a prompt, may invoke functions on the user's behalf, and returns text the application often renders or acts on. The flaw is not in the model — it is in the three code paths around it. Untrusted text is concatenated into the prompt with nothing separating instructions from data, so the model cannot tell developer intent from attacker text. Tools are registered with more authority than the caller, so persuading the model to call one crosses a boundary the caller could not cross directly. And model output is passed onward without encoding, so whatever the model emits executes wherever it lands. Structurally this mirrors request forgery: a privileged intermediary is coerced into acting against systems it can reach and the attacker cannot. The attacker is either a direct chat user or a third party who plants text in content the model later ingests — a review, a document, a profile field, a fetched page — which reaches other users' sessions. This skill finds these by locating every prompt assembly site, tool definition, and output consumer, checking each in parallel, and merging the results into <output_dir>/llm-results.md.

What it is NOT

  • The classic class at the sink (/websec:os-command-injection, /websec:sql-injection, /websec:path-traversal, /websec:ssrf, /websec:ssti): when a tool argument reaches a shell, a query, a file path, a template, or an outbound request unvalidated, the finding belongs to that skill; the model is the delivery channel. Judge here whether the tool should exist, what authority it holds, and whether the argument is treated as untrusted — then name the sibling class and the sink in the finding.
  • Cross-site scripting (/websec:xss): model output written unescaped into a page is XSS reached through an unusual source. Judge the output path here — whether the application encodes for the destination context and whether an attacker can steer the output — and cross-reference /websec:xss for the rendering fix.
  • Access control (/websec:access-control): if a tool's backing API is missing authorization for direct callers too, that is an access-control gap. It is judged here when the API is reachable only through the model and relies on the prompt to gate who may use it.
  • Information disclosure (/websec:information-disclosure): secrets in configuration or logs belong there. Secrets placed in a system prompt or retrieval context that any caller can elicit are judged here.
  • Training-data poisoning and extraction of memorised training data: real risks, but not decidable from application source. Note the data source and any unscrubbed corpus in one line under "Also observed" rather than classifying it.
  • Not a finding: a model integration with no privileged tool, no sensitive context, and no dangerous output consumer — prompt injection with nothing to reach is not an impact; a refusal or guardrail observed in a system prompt, which is not a control; output whose only consumer is a text pane that already escapes it.

Read the full file on GitHub · 168 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 168 lines · 85 tokens per session scan A f3797135d449

Subscribe to this mod's changes

llm is a skill published in the GitHub repository emre-guler/websec (2 stars, last pushed 6d ago), licensed MIT. It adds 85 tokens to every session and 5,623 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

AI/ML Attack Surface

This skill should be used when the user asks about "AI security", "ML pipeline attacks", "prompt injection", "model deserialization", "unsafe model loading", "Jupyter injection", "LLM security", or needs to identify AI/ML-specific vulnerabilities in codebases that use machine learning frameworks.

allsmog/vuln-scout · 67 tokens

coff0xc-ai-agent-rag

Use when / 当用户请求 Agent、RAG、LLM、Prompt、embedding、向量数据库、LangChain/AutoGen、tool calling、多模型编排、记忆/缓存、评测、观测、成本、失败恢复或可落地 AI 助手。交付架构、工具 schema、检索引用、eval 和降级。手动触发:使用 coff0xc-ai-agent-rag。.

Coff0xc/coffee-skill · 99 tokens

arize-prompt-optimization

Optimizes, improves, and debugs LLM prompts using production trace data, evaluations, and annotations. Extracts prompts from spans, gathers performance signal, and runs a data-driven optimization loop using the ax CLI. Use when the user mentions optimize prompt, improve prompt, make AI respond better, improve output…

JustineDevs/premortem · 81 tokens

arize-prompts

INVOKE THIS SKILL for Arize Prompt Hub and ax prompts workflows: author or import templates and save (Workflows A–B), label/promote (C), or list/get/edit/delete/duplicate (D). Use when the user mentions ax prompts, Prompt Hub, creating/editing/saving a prompt, {variable} placeholders, or production/staging labels. For…

JustineDevs/premortem · 110 tokens

context-fundamentals

This skill should be used to explain or reason about the foundational concepts of context engineering: what context is, the anatomy of a context window, how attention mechanics work, the U-shaped attention curve, why context quality matters more than quantity, and the mental models needed to interpret every other…

muratcankoylan/Agent-Skills-for-Context-Engineering · 125 tokens

enhance-prompt

Transforms vague UI ideas into polished, Stitch-optimized prompts. Enhances specificity, adds UI/UX keywords, injects design system context, and structures output for better generation results.

google-labs-code/stitch-skills · 41 tokens