
Security News
Happy Birthday, Shai-Hulud
It has been one year since Shai-Hulud made its first appearance on npm.
@fidacy/langchain
Advanced tools
Gate LangChain tool calls behind a signed Fidacy verdict. Wraps the tool itself, so a denied payment never executes: callbacks can only observe, this can stop.
Gate LangChain tool calls behind a signed Fidacy verdict. A denied payment never executes.
npm i @fidacy/langchain @langchain/core
import { guardTools } from "@fidacy/langchain";
const tools = guardTools([payTool, searchTool], { apiKey: process.env.FIDACY_ENGINE_API_KEY });
// payTool is now assessed before every call. searchTool is returned untouched.
Free engine key, no card: https://fidacy.com/claim
LangChain callbacks (handleToolStart and friends) are observational. They fire
around the call and cannot cancel it, so a guardrail built on them watches the
money leave. This replaces the tool's own execution path, which is the only place
that can actually stop a payment.
If the engine is unreachable, the key is wrong, or the request times out, the call is denied. A payment firewall that opens when it breaks is not a firewall.
review also blocks by default. Set reviewIsDeny: false to let it through.
guardTool throws FidacyDenied with the signed proof attached:
try {
await tools[0].invoke({ payee: "acme", amount: 5000 });
} catch (e) {
if (e instanceof FidacyDenied) {
e.decision; // "deny" | "review" | "unavailable"
e.verdict?.riskPayloadJws; // detached JWS, verify offline with @fidacy/verify
e.verdict?.assessmentId;
}
}
| Option | Default | What it does |
|---|---|---|
apiKey | FIDACY_ENGINE_API_KEY | Engine credential |
engineUrl | https://api.fidacy.com | Engine base URL |
client | built from apiKey | Bring your own @fidacy/sdk client |
isPayment | name heuristic | Which tools guardTools gates |
toMandate | payee/amount/currency + raw args | Build the mandate the engine assesses |
reviewIsDeny | true | Whether review blocks |
onDecision | none | Observe every decision, including approvals |
guardTool(tool, opts) gates one tool unconditionally. guardTools(list, opts)
gates only the ones isPayment matches and returns the rest by identity, so
non-payment tools carry no cost.
The wrapped tool keeps its name, description and schema, so the model sees no difference.
Apache-2.0 · https://fidacy.com
FAQs
The AI Agent Firewall for LangChain. Enforce signed authority before consequential tool calls. Free account-owned API key required.
The npm package @fidacy/langchain receives a total of 0 weekly downloads. As such, @fidacy/langchain popularity was classified as not popular.
We found that @fidacy/langchain demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
It has been one year since Shai-Hulud made its first appearance on npm.

Research
/Security News
Operators behind PolinRider used a compromised GitHub account to plant malware in four development versions of a Packagist package with 700,000+ downloads.

Security News
GitHub Actions now supports cache-mode, a least-privilege control on the Actions cache aimed at the cache poisoning technique behind recent compromises.