Metadata-Version: 2.4
Name: iss-agent-kit
Version: 0.1.1
Summary: Комплект подключения ИИ-агента к контуру допустимости действий и ГОСТ-журналу (ИБ 3.0): mcp-sentinel + iss-ledger-117 одним импортом
Author-email: АНО «НИИ системного синтеза» <info@isslab.ru>
License: Apache-2.0
Project-URL: Homepage, https://isslab.ru
Project-URL: Documentation, https://isslab.ru/cyber/
Project-URL: Repository, https://git.isslab.ru/isslab/iss-agent-kit
Keywords: mcp,ai-agents,security-gateway,circuit-breaker,gost,streebog,fstec-117,audit-ledger,cybersecurity
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Topic :: Security
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: mcp-sentinel>=1.1.1
Requires-Dist: iss-ledger-117>=1.1.1
Dynamic: license-file

# iss-agent-kit: комплект подключения ИИ-агента к контуру допустимости действий (ИБ 3.0)

[![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Python: 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/)

*Разработка: АНО «НИИ системного синтеза» (Лаборатория системного синтеза / ISS Lab)*
*Официальный сайт*: [https://isslab.ru](https://isslab.ru) · *Страница кибербезопасности*: [https://isslab.ru/cyber/](https://isslab.ru/cyber/)
*Репозиторий*: [https://git.isslab.ru/isslab/iss-agent-kit](https://git.isslab.ru/isslab/iss-agent-kit)

---

## Что это

`iss-agent-kit` — тонкий фасад поверх двух пакетов «ИБ 3.0»: `mcp-sentinel` (детерминированная
проверка вызовов инструментов и их результатов) и `iss-ledger-117` (неизменяемый криптографический
журнал по ГОСТ Р 34.11-2012). Вместо ручной сборки `MCPSentinel` и `IssLedger117` в каждом ИИ-агенте
— один класс `AgentGuard` и один импорт.

## Установка

Пакет тянет `mcp-sentinel` и `iss-ledger-117` как зависимости. Для изолированного контура скачайте
файлы `.whl` всех трёх пакетов и ставьте без сети:
```bash
pip install --no-index --find-links ./wheels iss-agent-kit
```
С доступом в сеть:
```bash
pip install --find-links https://isslab.ru/wp-content/uploads/iss-utils/ iss-agent-kit
```
Из исходников:
```bash
git clone https://git.isslab.ru/isslab/iss-ledger-117.git
git clone https://git.isslab.ru/isslab/mcp-sentinel.git
git clone https://git.isslab.ru/isslab/iss-agent-kit.git
pip install ./iss-ledger-117 ./mcp-sentinel ./iss-agent-kit
```

## Подключение

```python
from iss_agent_kit import AgentGuard

guard = AgentGuard(ledger_path="audit_gost.jsonl")
verdict = guard.check("sql_query", {"query": "SELECT id FROM users WHERE id = 1;"})
```

## Пример с декоратором

```python
from iss_agent_kit import ActionBlocked, AgentGuard

guard = AgentGuard(ledger_path="audit_gost.jsonl", agent_id="claude-code")


@guard.tool("sql_query")
def sql_query(query: str):
    return db.execute(query)


try:
    rows = sql_query(query="SELECT id FROM users WHERE id = 1;")
except ActionBlocked as e:
    # e.stage — "call" (заблокирован сам вызов) или "result" (заблокирован ответ)
    # e.reason, e.details — обоснование вердикта (причина отказа)
    ...
```

Проверка целостности журнала:
```python
is_valid, count, msg = guard.verify_ledger()
```

## Границы

Реализация хеш-функции соответствует контрольным примерам ГОСТ Р 34.11-2012 (RFC 6986), но не
является сертифицированным средством криптографической защиты информации.

## Лицензия

Apache-2.0, см. [LICENSE](LICENSE).

## Смежные репозитории

- [iss-ledger-117](https://git.isslab.ru/isslab/iss-ledger-117) — неизменяемый криптографический журнал ГОСТ Р 34.11-2012
- [mcp-sentinel](https://git.isslab.ru/isslab/mcp-sentinel) — шлюз допустимости действий и Circuit Breaker для MCP

---
**АНО «НИИ системного синтеза»**
Официальный сайт: [isslab.ru](https://isslab.ru)
