langchain-security — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited langchain-security (Agent Skill) and scored it 91/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 1 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} is the classic direct prompt-injection phrasing. Placed in a skill body that the agent reads as trusted instructions, it tries to make the agent abandon its prior rules and follow whatever comes next — a full system-prompt override.
ignore/disregard/forget … previous instructions sentence.Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Add security scanning to LangChain.js applications using Weave Protocol.
npm install @weave_protocol/langchain @langchain/coreimport { WeaveSecurityCallback } from '@weave_protocol/langchain';
const callback = new WeaveSecurityCallback({
action: 'block', // block | warn | log
minSeverity: 'medium', // low | medium | high | critical
});
// Works with any LangChain component
const chain = new LLMChain({
llm,
prompt,
callbacks: [callback],
});import { createSecureTool, createHighRiskTool } from '@weave_protocol/langchain';
// Basic security scanning
const secureTool = createSecureTool(myTool, {
name: 'my-tool',
security: { action: 'block' },
});
// Require user approval
const approvedTool = createHighRiskTool(dangerousTool, async (input) => {
return await askUser(`Execute: ${input}?`);
});import { createSecureRetriever } from '@weave_protocol/langchain';
const secureRetriever = createSecureRetriever(vectorStore.asRetriever(), {
name: 'docs',
scanDocuments: true,
redactSensitive: true, // Auto-redact PII
});import {
createStrictSecurityCallback, // Blocks medium+
createWarningSecurityCallback, // Logs only
createProductionSecurityCallback // Blocks high+
} from '@weave_protocol/langchain';new WeaveSecurityCallback({
onSecurityEvent: (event) => {
if (event.threats.length > 0) {
logger.warn('Threat detected', {
category: event.threats[0].category,
mitreId: event.threats[0].mitreId,
});
}
},
});prompt_injection — Instruction override (T1059)jailbreak — DAN, developer mode (T1548)data_exfiltration — Markdown attacks (T1041)system_prompt_leak — Prompt extraction (T1082)pii — SSN, credit cards, emailssecret — API keysnew WeaveSecurityCallback(
{ action: 'block' },
{ mundEndpoint: 'http://localhost:3000' }
);~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.