mirror of
https://github.com/SquidSec/SquidC5
synced 2026-08-09 12:22:26 +00:00
Initial SquidSeC2 release: lightweight AI-native C2 framework
Security-first C2 with scoped tokens, restricted MCP for external AI, sandboxed Admin AI, policy engine, audit trail, listeners, tasking, and Docker deployment. Includes pytest suite and GitHub Actions CI.
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
[build-system]
|
||||
requires = ["setuptools>=68", "wheel"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "squidsec2"
|
||||
version = "0.1.0"
|
||||
description = "SquidSeC2 — lightweight, security-first, AI-native C2 for authorized red team operations"
|
||||
readme = "README.md"
|
||||
license = { text = "MIT" }
|
||||
requires-python = ">=3.11"
|
||||
authors = [{ name = "SquidSeC2 Contributors" }]
|
||||
keywords = ["c2", "red-team", "penetration-testing", "mcp", "security"]
|
||||
classifiers = [
|
||||
"Development Status :: 3 - Alpha",
|
||||
"Intended Audience :: Information Technology",
|
||||
"License :: OSI Approved :: MIT License",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"Topic :: Security",
|
||||
]
|
||||
dependencies = [
|
||||
"fastapi>=0.115.0",
|
||||
"uvicorn[standard]>=0.32.0",
|
||||
"pydantic>=2.9.0",
|
||||
"pydantic-settings>=2.6.0",
|
||||
"httpx>=0.27.0",
|
||||
"aiosqlite>=0.20.0",
|
||||
"python-multipart>=0.0.12",
|
||||
"cryptography>=43.0.0",
|
||||
"mcp>=1.0.0",
|
||||
"sse-starlette>=2.1.0",
|
||||
"orjson>=3.10.0",
|
||||
]
|
||||
|
||||
[project.optional-dependencies]
|
||||
dev = [
|
||||
"pytest>=8.3.0",
|
||||
"pytest-asyncio>=0.24.0",
|
||||
"pytest-cov>=5.0.0",
|
||||
"httpx>=0.27.0",
|
||||
"ruff>=0.7.0",
|
||||
"mypy>=1.13.0",
|
||||
]
|
||||
|
||||
[project.scripts]
|
||||
squidsec2 = "squidsec2.main:cli"
|
||||
|
||||
[tool.setuptools.packages.find]
|
||||
where = ["src"]
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
asyncio_mode = "auto"
|
||||
testpaths = ["tests"]
|
||||
pythonpath = ["src"]
|
||||
|
||||
[tool.ruff]
|
||||
line-length = 120
|
||||
target-version = "py311"
|
||||
|
||||
[tool.ruff.lint]
|
||||
select = ["E", "F", "I", "W", "UP"]
|
||||
ignore = ["E501"]
|
||||
Reference in New Issue
Block a user