New & open source · Find → Prove → Fix
Redefining Security with AI.
Proof, not pattern matching. Dual-engine AI security assessment: static AST threat modeling of agent source code (white-box) plus dynamic behavioral probing of live chat APIs (black-box). Runs entirely on your machine.
pip install nethricai
Security Scan & Proof Pipeline
Agent Code & Target Ingestion
Python AST maps agent structure, LLM call sites, and tool registrations.
Sink & Pattern Discovery
Traces taint paths to dangerous execution sinks (exec, subprocess) and exposed keys.
9 STRIDE Findings FlaggedBehavioral Probing Engine
Fires prompt injection, jailbreak, and system prompt extraction attacks at chat APIs.
4/4 Probes Proven BypassedUnified STRIDE Provenance
Maps Actor → Trust Boundary → Asset → Threat chains into interactive reports.
Risk Score 100/100 · Dashboard ReadyIntegrates with the modern devsecops stack
The problem
A scanner reports 247 issues. Nobody can tell you which twelve are actually exploitable.
Pattern matching finds candidates, not vulnerabilities. The triage cost lands on you — and the moment a tool starts writing patches from unverified findings, it will eventually patch the wrong thing and burn your trust permanently.
How it works
One pipeline: Scan → Prove → Report.
Dual-engine AI security assessment: static AST threat modeling of agent source code (white-box) plus dynamic behavioral probing of live chat APIs (black-box). Evaluated against STRIDE and aggregated into actionable reports.
White-Box
Python AST statically walks agent code, inspecting tool decorators, tracking taint flows to dangerous sinks, and mapping to STRIDE.
Zero-token local ASTBlack-Box
Dynamic adversarial prober attacks chat API endpoints with prompt injections, jailbreaks, and credential leak probes.
Behavioral verificationReport
Aggregates findings into a unified Actor → Trust Boundary provenance graph and serves an interactive local dashboard.
Actionable remediationnethricai scan -t examples/target.whitebox.yaml -m whitebox_static -o results/
Dual-Engine Assessment
Two assessment modes. One unified threat model.
AI agents cannot be secured from the outside alone. NethricAI unites deep static AST threat modeling of agent source code (white-box) with dynamic behavioral probing of live model endpoints (black-box) — producing actionable STRIDE threat matrices and verifiable proof chains.
White-Box Threat Modeling
Statically parses Python AI agent codebases using standard Python ast. Traces user input
flows, inspects tool decorators, flags dangerous execution sinks, and maps structural vulnerabilities
directly to STRIDE — with zero network calls, zero API token costs, and 100% local execution.
Agent AST Ingestion & Tool Inspection
Extracts LLM call sites (llm.invoke), registered tools (@tool), loop
constructs, and system prompt strings without executing untrusted code.
Taint Propagation & Dangerous Sink Tracing
Tracks user parameters flowing into dangerous primitives like exec(),
eval(), or subprocess.run() inside tools.
Automated STRIDE Threat Categorization
Maps code-level vulnerabilities directly into the six STRIDE threat classes with line numbers and remediation advisories.
sk-...) in source.
while True) driving recursive LLM
queries.
exec, subprocess)
invokable by AI.
nethricai scan -t examples/target.whitebox.yaml -m whitebox_static -o results/
Black-Box Security Probing
Dynamically probes live HTTP chat endpoints across multiple attack vectors. Uses provider-agnostic request templating and JSON pointer extraction to stress-test refusal guardrails against real-world prompt injection and jailbreak payloads.
Provider-Agnostic Request Templating
Works with OpenAI, Anthropic, Ollama, vLLM, or custom APIs via {{PROMPT}} template
injection and dynamic response_path resolution.
Multi-Vector Adversarial Payloads
Executes categorized probes targeting direct injection, persona jailbreaks (DAN), system prompt leakage, and data exfiltration.
Heuristic Refusal & Leak Verification
Evaluates response strings to confirm whether the model genuinely refused the attack or succumbed to instruction hijacking.
nethricai scan -t examples/target.mock.yaml -m prompt_injection -o results/
See in action
A full scan, from one command.
216 of 247 candidates did not survive verification. That is the point — the reported number is the number the tool can defend.
Why proof
Every finding traces back to why.
One unbroken chain per finding — threat model, detection, proof, patch, sandbox result — printed in the CLI and emitted as JSON. NTH-0417, end to end:
Architecture
Six stages, one threat model.
Compare
Pattern scanners report what matched. NethricAI reports what is reachable.
| NethricAI | Pattern SAST | Dependency SCA | |
|---|---|---|---|
| What it reports | Proven exploitable paths | Rule matches | Known-vulnerable versions |
| Core question | Can this be reached and exploited? | Does this pattern appear? | Is this version affected? |
| Proof artifact | PoC or reasoning chain | — | — |
| Drops unverified findings | Yes — 216 of 247 | — | — |
| Sandbox-validated fixes | Yes, gated on tests + exploit re-check | — | Version bump only |
| Runs locally | Yes, no telemetry | Varies | Varies |
Categories, not specific vendors — capabilities differ between products and change over time. Benchmark against your own toolchain before drawing conclusions.
Language support
One engine, expanding coverage.
Supported now
TypeScript · JavaScript · Python
Next up
Go · Java
On the roadmap
Ruby · PHP · C#
Fix classes in v1
Dependency bumps · Hardcoded secrets · Simple injection
Deferred to v2
Cloud config audit · DAST · Attack graphs · Runtime analysis
Prove what is exploitable in your own repository.
Runs entirely on your machine. No account, no telemetry.
pip install nethricai