Metadata-Version: 2.5
Name: skill-sentry-cli
Version: 2.0.0
Summary: A context-aware firewall for the agent skill supply chain with Poisoned Well active defense.
Project-URL: Homepage, https://github.com/EmberPhantom/SkillSentry
Project-URL: Source, https://github.com/EmberPhantom/SkillSentry
Project-URL: Issues, https://github.com/EmberPhantom/SkillSentry/issues
Project-URL: Changelog, https://github.com/EmberPhantom/SkillSentry/blob/main/docs/CHANGELOG.md
Author: Team SkillSentry
License: MIT
License-File: LICENSE
Keywords: agent-skills,local-llm,sandbox,security,supply-chain
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Security
Requires-Python: >=3.11
Requires-Dist: docker<8.0,>=7.0
Requires-Dist: fastapi<1.0,>=0.115
Requires-Dist: httpx<1.0,>=0.27
Requires-Dist: jinja2<4.0,>=3.1
Requires-Dist: pillow<13.0,>=10.0
Requires-Dist: pydantic<3.0,>=2.9
Requires-Dist: python-frontmatter<2.0,>=1.1
Requires-Dist: pyyaml<7.0,>=6.0.1
Requires-Dist: rich<15.0,>=13.7
Requires-Dist: typer<1.0,>=0.16
Requires-Dist: uvicorn[standard]<1.0,>=0.30
Requires-Dist: watchdog<7.0,>=4.0
Provides-Extra: dev
Requires-Dist: hypothesis<7.0,>=6.100; extra == 'dev'
Requires-Dist: jsonschema<5.0,>=4.22; extra == 'dev'
Requires-Dist: pytest-asyncio<2.0,>=0.23; extra == 'dev'
Requires-Dist: pytest-cov<8.0,>=5.0; extra == 'dev'
Requires-Dist: pytest<9.0,>=8.2; extra == 'dev'
Requires-Dist: respx<1.0,>=0.21; extra == 'dev'
Requires-Dist: ruff<1.0,>=0.6; extra == 'dev'
Provides-Extra: laya
Requires-Dist: laya<0.5,>=0.4.17; extra == 'laya'
Description-Content-Type: text/markdown

# SkillSentry

**Audit agent skills before you install them.** SkillSentry checks a skill's text and scripts, runs its entrypoint inside a locked-down Docker sandbox, and returns one verdict: `SAFE`, `SUSPICIOUS`, `MALICIOUS`, or `UNSCANNED` when the scan could not finish. Analysis runs on your machine through a local model, and nothing is uploaded.

## Install

```bash
pipx install skill-sentry-cli        # or: python -m pip install skill-sentry-cli
skill-sentry-cli setup              # checks Docker and the local model, builds the sandbox
skill-sentry-cli doctor             # confirms the setup is ready
```

Requirements: Python 3.11 to 3.13, Docker (for the sandbox), and [Ollama](https://ollama.com) for the local model. `skill-sentry-cli doctor` tells you the exact command for anything missing.

## First scan

```bash
skill-sentry-cli scan path/to/my-skill
skill-sentry-cli scan path/to/skills-folder --format sarif --sarif-out results.sarif
```

Exit codes: `0` below the gate, `1` at or above it, `2` a usage error, `3` an operational error. The default gate is `--fail-on suspicious`.

## Documentation

- [User guide](https://github.com/EmberPhantom/SkillSentry/blob/main/docs/16-user-guide.md): install, first scans, reports, dashboard, CI, troubleshooting.
- [CLI reference](https://github.com/EmberPhantom/SkillSentry/blob/main/docs/07-cli-reference.md)
- [Security model](https://github.com/EmberPhantom/SkillSentry/blob/main/docs/04-security.md)
- [Source and issues](https://github.com/EmberPhantom/SkillSentry)

MIT licensed.
