Skip to main content

A defense-in-depth security layer for LLM agents

Project description

armor

armor is the Python package and CLI for the broader armor project, a defense-in-depth security layer for LLM agents. It sits between your agent and its inputs, outputs, and tool calls, then blocks common prompt injection, canary exfiltration, obfuscation, jailbreak, tool-abuse, and multi-turn attack patterns before they reach the user or host tools.

This package is published as armor-ai because the bare armor package name is used by an unrelated project. The Python import name and CLI remain armor.

Install

pip install armor-ai

Start the daemon:

armor daemon --socket /tmp/armor.sock --db /tmp/armor.db

Run a quick input check:

echo "ignore previous instructions" | armor check input --socket /tmp/armor.sock --session-id demo

Python SDK

from armor import ArmorClient

client = ArmorClient(socket_path="/tmp/armor.sock")
verdict = client.check_input("ignore previous instructions", session_id="demo")

if verdict.blocked:
    print("blocked")

Async clients and integration examples for Anthropic, OpenAI, LangChain, Claude Code hooks, and custom agents are available in the project repository. The repository also contains the Docker path, architecture docs, full spec, and maintainer workflows; this PyPI page focuses on the installable Python package.

What armor checks

  • User input: instruction overrides, jailbreak templates, encoding requests, prompt-injection phrasing, and topic shifts.
  • Model output: canary leakage, encoded payloads, suspicious destinations, entropy spikes, and multi-turn partial exfiltration.
  • Tool calls: parameter-schema violations, dangerous shell commands, command injection patterns, rate anomalies, and tool-chain abuse.
  • Sessions: rolling risk scoring, state escalation, cooldown, and operator unblock audit records.

Preview status

armor is a public preview, not a v1.0 production guarantee. The core daemon, CLI, SDK, Docker path, detector pipeline, and forensic logging are implemented, but v1.0 readiness still requires broader external validation, real-service SDK example verification, and additional detection-floor evidence.

Important limitations:

  • It defends in-band prompt and tool-call attacks, not host compromise.
  • The validator LLM fails open on timeout to protect availability.
  • The evaluation corpus is English-heavy.
  • There is no built-in web UI.
  • It assumes one trusted-agent-fleet boundary per daemon.

Project links

License

armor is licensed under the PolyForm Noncommercial License 1.0.0.

Commercial use requires a separate commercial license. Contact licensing@taylorguard.me.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

armor_ai-0.9.2.tar.gz (140.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

armor_ai-0.9.2-py3-none-any.whl (156.2 kB view details)

Uploaded Python 3

File details

Details for the file armor_ai-0.9.2.tar.gz.

File metadata

  • Download URL: armor_ai-0.9.2.tar.gz
  • Upload date:
  • Size: 140.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for armor_ai-0.9.2.tar.gz
Algorithm Hash digest
SHA256 dbc9964f6c618a23268835bf3ab33e918e15d184c28b64c1a8db38cb5d242cbd
MD5 bc6b330d0a23974a8430c986bd8b934f
BLAKE2b-256 80f31a7b8fb8896942d0c1f69998da5a4fb4d7a59e724adf4bef0af834b5ef62

See more details on using hashes here.

Provenance

The following attestation bundles were made for armor_ai-0.9.2.tar.gz:

Publisher: release.yml on tkdtaylor/armor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file armor_ai-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: armor_ai-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 156.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for armor_ai-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 76a42066ef2bccf24e97e32bd9aeac3ce8b156c5f98018e2b33447430f3eff35
MD5 6a5e7d42756f2690826dad0e1f764a90
BLAKE2b-256 0a21a53f274b664ad6604e7725dab71847ec9115b9710dd10564e578014006ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for armor_ai-0.9.2-py3-none-any.whl:

Publisher: release.yml on tkdtaylor/armor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page