Metadata-Version: 2.5
Name: nuguard
Version: 0.9.15
Summary: AI application security — SBOM generation, vulnerability scanning, behavioral validation, and adversarial red-teaming for AI Agents
Project-URL: Homepage, https://github.com/NuGuardAI/nuguard
Project-URL: Repository, https://github.com/NuGuardAI/nuguard
Project-URL: Issues, https://github.com/NuGuardAI/nuguard/issues
Author-email: NuGuard <info@nuguard.ai>
License: Apache-2.0
License-File: LICENSE
Keywords: agent,ai,appsec,llm,prompt-injection,red-team,sbom,security
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Security
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: >=3.12
Requires-Dist: cyclonedx-bom>=7.2.2
Requires-Dist: httpx>=0.27
Requires-Dist: jsonschema>=4.23
Requires-Dist: litellm>=1.83.10
Requires-Dist: pathspec>=0.12
Requires-Dist: pydantic-settings>=2.3
Requires-Dist: pydantic>=2.7
Requires-Dist: python-dotenv>=1.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.0
Requires-Dist: structlog>=25.5.0
Requires-Dist: tree-sitter-go>=0.23
Requires-Dist: tree-sitter-javascript>=0.23
Requires-Dist: tree-sitter-typescript>=0.23
Requires-Dist: tree-sitter>=0.23
Requires-Dist: typer>=0.12
Requires-Dist: websockets>=12.0
Provides-Extra: browser
Requires-Dist: playwright>=1.45; extra == 'browser'
Requires-Dist: ruamel-yaml>=0.18; extra == 'browser'
Provides-Extra: dev
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pip>=26.1; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest>=9.0.3; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Provides-Extra: mcp
Requires-Dist: mcp>=1.0; extra == 'mcp'
Requires-Dist: python-multipart>=0.0.31; extra == 'mcp'
Requires-Dist: starlette>=1.3.1; extra == 'mcp'
Provides-Extra: secrets
Requires-Dist: cryptography>=42.0; extra == 'secrets'
Provides-Extra: smithery
Requires-Dist: mcp>=1.0; extra == 'smithery'
Requires-Dist: smithery>=0.2.4; extra == 'smithery'
Provides-Extra: spdx
Requires-Dist: pyshacl>=0.25; extra == 'spdx'
Requires-Dist: rdflib>=7.0; extra == 'spdx'
Description-Content-Type: text/markdown

<h1 align="center">nuguard</h1>

<p align="center">
  <strong>AI-SBOM generation, static analysis, and automated red-teaming / adversarial-attack-generation for AI agents and applications.</strong>
</p>

<p align="center">
  <a href="../LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-blue.svg" alt="License: Apache 2.0"></a>
  <a href="https://github.com/NuGuardAI/nuguard/actions/workflows/pr-tests.yml"><img src="https://github.com/NuGuardAI/nuguard/actions/workflows/pr-tests.yml/badge.svg?branch=Develop" alt="PR Tests"></a>
  <a href="https://pypi.org/project/nuguard/"><img src="https://img.shields.io/pypi/v/nuguard.svg" alt="PyPI"></a>
  <a href="https://pypi.org/project/nuguard/"><img src="https://img.shields.io/pypi/pyversions/nuguard.svg" alt="Python versions"></a>
  <a href="https://github.com/NuGuardAI/nuguard/stargazers"><img src="https://img.shields.io/github/stars/NuGuardAI/nuguard.svg?style=social" alt="GitHub Stars"></a>
</p>
<h2 align="center">Try NuGuard for free</h2>
<p align="center">
  Explore the hosted platform. No credit card required.<br><br>
  <a href="https://nuguard.ai/experience-platform"><img src="https://img.shields.io/badge/Start_Your_Free_Trial_→-15803d?style=for-the-badge" alt="Start your free trial"></a>
</p>
<p align="center">
  <a href="#what-it-does">What it does</a> ·
  <a href="#see-it-in-action">See it in action</a> ·
  <a href="#framework-coverage">Framework coverage</a> ·
  <a href="#comparison">Comparison</a> ·
  <a href="#getting-started">Getting started</a> ·
  <a href="https://nuguardai.github.io/nuguard/">Documentation</a> ·
  <a href="#faq">FAQ</a>
</p>

---

NuGuard is an open source AI application safety & security toolkit. It generates an AI Software Bill of Materials (AI-SBOM) for your agentic application, statically analyzes it for structural risk in the AI Stack and the software infrastructure. It then red-teams a sandboxed instance with a catalog of 100+ adversarial scenarios — prompt injection, tool abuse, data exfiltration, and more — so you find the issues before an attacker does. An automated judge evaluates the findings based on their impact and provides actionable remediation guidance.

## What It Does

<p align="center">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="../documentation/docs/assets/what-it-does-dark.svg">
    <img src="../documentation/docs/assets/what-it-does-light.svg" alt="AI SBOM: Agents, Tools, API End Points, Models. Analyze: static risk scan, OWASP/MITRE mapping. Policy: Application's Intended Behavior. Behavior: Functional tests, allowed topics. Red-team: 100+ adversarial scenarios, sandboxed. Data exfil findings. Remediate: fixes for specific application components. Export: text, JSON, Markdown, SARIF." width="920">
  </picture>
</p>

## See It In Action

A real scan of a live fintech agent — Pinnacle Bank Assistant — walking through all five NuGuard stages: AI-SBOM, Cognitive Policy, Static Analysis, Behavior, and Red-Team. No mocks, no slides — real findings, including a live transcript of the agent leaking another customer's flagged fraud transactions on a routine question.

<p align="center">
  <a href="../documentation/docs/pinnacle-bank-demo.html">
    <img src="../documentation/docs/assets/pinnacle-bank-demo.gif" alt="Animated walkthrough of the NuGuard pipeline against Pinnacle Bank Assistant: SBOM discovery (159 nodes), Cognitive Policy (19 controls, 4 enforcement gaps), Static Analysis (621 findings), Behavior testing (risk score 59.8/100), and Red-Team (risk score 40.3/100, 37 findings, including a cross-account data leak)." width="1000">
  </a>
</p>

[**→ Open the interactive demo**](../documentation/docs/pinnacle-bank-demo.html) — scroll through the full walkthrough yourself.

## Framework Coverage

NuGuard uses framework-aware adapters and structured configuration parsers to map the AI application stack into one evidence-backed AI-SBOM.

| Area | High-level coverage |
|---|---|
| **Languages** | Python, TypeScript/JavaScript, Go, C#, and Java, plus structured configuration and infrastructure formats |
| **AI and agentic stack** | Major agent frameworks, model-provider SDKs, MCP servers/clients, prompts, tools, guardrails, auth, and API endpoints |
| **Low-code / no-code** | n8n, Langflow, Flowise, Microsoft Copilot Studio, and Sparkflows exports |
| **Cloud and delivery** | AWS, Azure, Google Cloud, Kubernetes, Helm, Docker, Terraform, CloudFormation, Bicep, Deployment Manager, and GitHub Actions |
| **Data layer** | Relational, document, key-value, vector, search, warehouse, and object-storage technologies |

See the [Supported Technologies documentation](https://nuguardai.github.io/nuguard/doc.html?page=supported-technologies) for the detailed language, framework, SDK, platform, Kubernetes, and datastore matrix.

## Comparison

<p align="center">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="../documentation/docs/assets/comparison-dark.svg">
    <img src="../documentation/docs/assets/comparison-light.svg" alt="Capability comparison cards. NuGuard: AI-SBOM generation, supply-chain analysis, policy engine, adaptive multi-turn attacks, OWASP LLM Top 10 mapping, auto remediation — all six. Garak: adaptive multi-turn attacks only. Promptfoo: adaptive multi-turn attacks and OWASP LLM Top 10 mapping." width="700">
  </picture>
</p>

## Getting Started

Install, then generate an SBOM, statically analyze it, and red-team a live target:

```bash
pip install nuguard

nuguard init --target <your-app-url>
nuguard sbom generate --source <path-to-your-app> --output app.sbom.json
nuguard analyze --sbom app.sbom.json --format markdown
nuguard redteam --config nuguard.yaml --format markdown --output reports/redteam.md
```

### 🚀 Ready to run NuGuard?

Installation, the full CLI surface, and the configuration reference — all in one guide.

[![Read the Quick Start guide](https://img.shields.io/badge/→_Read_the_Quick_Start_Guide-111111?style=for-the-badge)](../documentation/docs/quick-start.md)


### 🤖 Using Claude Code?

Install the NuGuard plugin and run SBOM, analysis, behavior, and red-team scans directly from Claude Code or Claude Desktop.

[![Read the Plugin Guide](https://img.shields.io/badge/→_Read_the_Plugin_Guide-111111?style=for-the-badge)](../documentation/docs/plugin-guide.md)


### 🔧 Using Smithery?

NuGuard is available as a **Smithery Skill** — install it once and use it from any MCP-compatible client (Claude Desktop, Claude Code, Cursor, and more).

```bash
# Option A — pip (recommended)
pip install "nuguard[mcp]"
python -m nuguard.mcp   # starts the MCP server over stdio

# Option B — uvx (no install needed)
uvx --from "nuguard[mcp]" nuguard-mcp
```

Or search for **nuguard** on [smithery.ai](https://smithery.ai) and click Install — Smithery configures your MCP client automatically, prompting for your `LITELLM_API_KEY` and other options.

[![smithery badge](https://smithery.ai/badge/nuguard)](https://smithery.ai/server/nuguard)


### 🎯 Need to pentest a live target?

Nuclei-backed, bounded conventional pentest — explicit authorization required.

[![Read the Cloud Pentesting Guide](https://img.shields.io/badge/→_Read_the_Cloud_Pentesting_Guide-111111?style=for-the-badge)](../documentation/docs/cloud-pentesting.md)

## Hosted Version

> **Running NuGuard at organizational scale?** The managed SaaS adds what a CISO or VP Engineering needs on top of everything in this repo — no infra to stand up or maintain.

<table align="center">
<tr>
<td align="center" width="120">
<img src="../documentation/docs/assets/logo-sm.png" alt="NuGuard.ai" width="72">
</td>
<td>

### [NuGuard.ai](http://nuguard.ai) — Managed SaaS for Security & Engineering Leaders

- 🔐 **RBAC** — role-based access across teams and business units
- 📊 **Executive dashboards** — risk posture and risk trends, board-ready
- 📋 **Audit-ready reports** — compliance-mapped to OWASP & MITRE ATLAS plus support for EU AI Act, NIST, etc.
- 🔗 **Enterprise integrations** — ServiceNow AI Control Tower, AWS Security Hub, and more
- 🛟 **Managed support** — dedicated onboarding and SLAs

**Free trial available — no credit card required.**

[![Start Free Trial →](https://img.shields.io/badge/Start_Free_Trial_→-15803d?style=for-the-badge)](https://nuguard.ai/experience-platform)

</td>
</tr>
</table>

## Contributing

### 🤝 Want to contribute?

Dev setup, running tests and lint, and the pull request process are covered in the Contributing guide.

[![Read the Contributing guide](https://img.shields.io/badge/→_Read_the_Contributing_Guide-111111?style=for-the-badge)](CONTRIBUTING.md)

Release publication is managed by repository maintainers. See
[Governance](../documentation/GOVERNANCE.md) for ownership and the
[release runbook](../documentation/releasing.md) for the maintained procedure.

## Repo Notes

- The repository currently contains example applications under `tests/apps/`
- LLM-assisted features depend on provider credentials being available via environment variables

## FAQ

**I have some questions, how do I reach out to folks behind this repo?**
You can contact us at [oss@nuguard.ai](mailto:oss@nuguard.ai)
For bug reporting, use the [issues](https://github.com/nuguard-ai/nuguard/issues) page on GitHub.

**Do I need a live app to do a security assessment?**
No. `nuguard sbom` + `nuguard analyze` find structural and supply-chain risks based on the SBOM (no source code or running application required). 
`nuguard behavior` and `nuguard redteam` need a running target typically in a sandbox.

**Which LLM providers are supported for LLM-assisted features?**
Configured via the `llm` section of `nuguard.yaml`; provider credentials are read from environment variables. Lite LLM is used to abstract any llm provider.
For redteam scenarios, an LLM with adversarial content tolerance is required to generate attack payloads effectively. The SaaS version of nuguard provides a pre-configured LLM for this purpose, ensuring consistent and reliable red-team assessments.

**What if I don't want to run all redteam scenarios?**
Filter by profile (CI, Standard, Full), and configure destructive or non-destructive scenarios. Alternatively, set `enabled: false` per scenario in a catalog exported with `nuguard redteam catalog-export`.

## License

[Apache 2.0](../LICENSE).

---

<sub>
<strong>Docs:</strong>
<a href="https://nuguardai.github.io/nuguard/">Published documentation</a> ·
<a href="../documentation/docs/quick-start.md">Getting started / Quick start</a> ·
<a href="../documentation/docs/supported-technologies.md">Supported technologies</a> ·
<a href="../documentation/docs/cli-reference.md">CLI reference</a> ·
<a href="../documentation/docs/policy-engine-guide.md">Policy engine</a> ·
<a href="../documentation/docs/static-analysis-guide.md">Static analysis</a> ·
<a href="../documentation/docs/redteam-guide.md">Red-team Guide</a> ·
<a href="../documentation/docs/cloud-pentesting.md">Cloud Pentesting</a> ·
<a href="../documentation/docs/plugin-guide.md">Claude plugin</a> ·
<a href="../documentation/docs/troubleshooting.md">Troubleshooting</a> ·
<a href="SECURITY.md">Security</a> ·
<a href="CONTRIBUTING.md">Contributing</a> ·
<a href="../documentation/GOVERNANCE.md">Governance</a>
</sub>
