[project] name = "agentic_security" version = "1.0.0" description = "Agentic LLM vulnerability scanner" authors = [{ name = "Alexander Miasoiedov", email = "msoedov@gmail.com" }] maintainers = [{ name = "Alexander Miasoiedov", email = "msoedov@gmail.com" }] license = "Apache-2.0" readme = "Readme.md" requires-python = ">=3.12,<4.0" keywords = [ "LLM vulnerability scanner", "llm security", "llm adversarial attacks", "prompt injection", "prompt leakage", "prompt injection attacks", "prompt leakage prevention", "llm vulnerabilities", "owasp-llm-top-10", ] dynamic = ["dependencies"] [project.urls] Homepage = "https://github.com/msoedov/agentic_security" Repository = "https://github.com/msoedov/agentic_security" Documentation = "https://github.com/msoedov/agentic_security/blob/main/README.md" [project.scripts] agentic_security = "agentic_security.__main__:main" [tool.poetry] packages = [{ include = "agentic_security", from = "." }] [tool.poetry.dependencies] fastapi = "^0.122.0" uvicorn = "^0.38.0" fire = "0.7.1" loguru = "^0.7.3" httpx = "^0.28.1" cache-to-disk = "^2.0.0" pandas = ">=1.4,<3.0" datasets = "^4.4.1" tabulate = ">=0.8.9,<0.10.0" colorama = "^0.4.4" matplotlib = "^3.10.7" pydantic = "^2.12.5" scikit-optimize = "^0.10.2" scikit-learn = "^1.7.2" numpy = ">=1.24.3,<3.0.0" jinja2 = "^3.1.4" python-multipart = "^0.0.27" tomli = "^2.3.0" rich = "^14.2.0" gTTS = "^2.5.4" sentry_sdk = "^2.46.0" orjson = "^3.11.4" pyfiglet = "^1.0.4" termcolor = "^3.2.0" # garak = { version = "*", optional = true } pytest-xdist = "^3.8.0" anthropic = "^0.102.0" openai = "^2.36.0" [tool.poetry.group.dev.dependencies] # Pytest pytest = "^9.0.3" pytest-asyncio = "^1.3.0" inline-snapshot = "^0.31.1" pytest-mock = "^3.15.1" # Rest black = ">=26.3.1,<27.0" mypy = "^1.19.0" pre-commit = "^4.5.0" huggingface-hub = "^1.1.6" # Docs mkdocs = ">=1.4.2" mkdocs-material = "^9.7.0" mkdocstrings = "^1.0.0" mkdocs-jupyter = ">=0.25.1" [tool.ruff] line-length = 120 [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.pytest.ini_options] addopts = "-m 'not slow'" # addopts = "--durations=5 -m 'not slow' -n 3" asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "function" markers = "slow: marks tests as slow"