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:
Mr. The Plague
2026-07-16 16:02:06 -04:00
commit 5291b7e6a2
49 changed files with 3663 additions and 0 deletions
+63
View File
@@ -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"]