File size: 1,585 Bytes
6c59ea7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "llm-security-scanner"
version = "0.1.0"
description = "Security-test any LLM endpoint and generate a governance package (vulnerability report + NIST AI RMF / ISO 42001 model card + risk register)."
readme = "README.md"
requires-python = ">=3.9"
license = { text = "MIT" }
authors = [{ name = "Laela Zorana" }]
keywords = [
    "llm",
    "security",
    "ai-safety",
    "red-teaming",
    "prompt-injection",
    "ai-governance",
    "nist-ai-rmf",
    "iso-42001",
]
classifiers = [
    "Programming Language :: Python :: 3",
    "License :: OSI Approved :: MIT License",
    "Operating System :: OS Independent",
    "Topic :: Security",
    "Intended Audience :: Developers",
]
dependencies = [
    "PyYAML>=6.0",
    "Jinja2>=3.1",
]

[project.optional-dependencies]
# Real-provider backend. Optional: the scanner runs fully offline without it.
openai = ["openai>=1.0"]
# Web report viewer / landing demo. Optional: the CLI + reports work without it.
viewer = ["fastapi>=0.110", "uvicorn>=0.27"]
dev = ["pytest>=7.0", "fastapi>=0.110", "httpx>=0.27"]

[project.scripts]
llm-scan = "llm_security_scanner.cli:main"

[project.urls]
Homepage = "https://github.com/LaelaZorana/llm-security-scanner"
Repository = "https://github.com/LaelaZorana/llm-security-scanner"

[tool.setuptools.packages.find]
where = ["src"]

[tool.setuptools.package-data]
llm_security_scanner = ["probes/*.yaml", "templates/*.j2"]

[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-q"