@nuketk1809/agentshield
v1.0.0
Published
AgentShield SDK — Scan content for prompt injection before your AI agent acts on it
Maintainers
Readme
agentshield
Scan content for prompt injection before your AI agent acts on it. Returns a 0-100 trust score with threat details.
Install
npm install agentshieldQuick Start
import { AgentShield } from "agentshield";
const shield = new AgentShield("as_live_your_api_key");
// Scan text content
const result = await shield.scan("some web content your agent fetched");
if (result.score < 80) {
console.log("Blocked:", result.verdict, result.threats);
} else {
agent.proceed();
}Scan a URL
const result = await shield.scanUrl("https://example.com/page");
// AgentShield fetches the page and scans it for youQuick Check
// Returns true/false — no need to inspect the full result
if (await shield.isSafe(content)) {
agent.proceed();
}
// Custom threshold (default is 80)
if (await shield.isSafe(content, 50)) {
// More permissive
}Response
{
"score": 40,
"verdict": "risky",
"threats": [
{
"type": "role_hijacking",
"description": "Attempt to override system role or persona",
"severity": "high"
}
],
"latency_ms": 251
}Configuration
const shield = new AgentShield({
apiKey: "as_live_...",
baseUrl: "https://your-custom-domain.com", // optional
timeout: 5000, // optional, default 10s
});Error Handling
import { AgentShield, AgentShieldError } from "agentshield";
try {
const result = await shield.scan(content);
} catch (err) {
if (err instanceof AgentShieldError) {
console.log(err.status); // 401, 429, etc.
console.log(err.message); // "Invalid API key"
}
}API
| Method | Description |
|--------|-------------|
| shield.scan(content) | Scan text content |
| shield.scanUrl(url) | Fetch URL and scan |
| shield.isSafe(content, threshold?) | Quick boolean check |
| shield.isUrlSafe(url, threshold?) | Quick boolean check for URL |
Get an API Key
Sign up free at agentshield-three.vercel.app — 1,000 scans/month, no credit card.
