Metadata-Version: 2.4
Name: agentsentinel-autogen
Version: 0.1.0
Summary: Security scanner for AutoGen multi-agent conversations — powered by AgentSentinel on SingularityNET
Author-email: Mohamed Hasni <medhasni760@gmail.com>
License: MIT
Project-URL: Homepage, https://huggingface.co/spaces/Ha1235/NeuralSentinel-landing
Project-URL: Repository, https://github.com/neuralsentinel/agentsentinel-autogen
Project-URL: Documentation, https://marketplace.singularitynet.io/servicedetails/org/neuralsentinel/service/agentsentinel-scanner/tab/0
Keywords: autogen,llm-security,ai-security,multi-agent,agentsentinel,singularitynet,eu-ai-act
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Security
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: grpcio>=1.50.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pyautogen>=0.2.0; extra == "dev"

# agentsentinel-autogen

**Security scanner for AutoGen multi-agent conversations.**  
Powered by [AgentSentinel](https://marketplace.singularitynet.io/servicedetails/org/neuralsentinel/service/agentsentinel-scanner/tab/0) on SingularityNET mainnet.

## Install

```bash
pip install agentsentinel-autogen
```

## Quick Start

```python
from autogen import AssistantAgent, UserProxyAgent
from agentsentinel_autogen import scan_agents, SecurityAudit

assistant = AssistantAgent(
    name="assistant",
    llm_config={"model": "gpt-4", "api_key": "..."}
)
user_proxy = UserProxyAgent(
    name="user_proxy",
    human_input_mode="NEVER",
    code_execution_config={"use_docker": False}
)

# Scan before running conversation
report = scan_agents([assistant, user_proxy])
report.print()

# Raise SecurityError on CRITICAL findings
SecurityAudit([assistant, user_proxy], block_on="CRITICAL").scan()

# Then run conversation normally
user_proxy.initiate_chat(assistant, message="Write a report")
```

## What It Checks

- **AGT04** — `human_input_mode="NEVER"` — no human oversight
- **AGT08** — High `max_consecutive_auto_reply` — resource exhaustion
- **AGT02** — Code execution without Docker isolation
- **AGT02** — Shell/exec functions registered to agents
- **AGT03** — Instruction override in system message
- **AGT05** — Credentials in agent config

## GroupChat Support

```python
from autogen import GroupChat, GroupChatManager
from agentsentinel_autogen import scan_agents

gc = GroupChat(agents=[a1, a2, a3], messages=[], max_round=50)
report = scan_agents([a1, a2, a3], group_chat=gc)
report.print()
```

## Links

- [AgentSentinel on SingularityNET](https://marketplace.singularitynet.io/servicedetails/org/neuralsentinel/service/agentsentinel-scanner/tab/0)
- Contact: medhasni760@gmail.com

MIT License — © 2026 NeuralSentinel
