CSL-Core
CSL-Core
❤️ 我们的贡献者!
CSL-Core (Chimera Specification Language) 是一个用于 AI 智能体的确定性安全层。在 .csl 文件中编写规则,使用 Z3 进行数学验证,并在运行时强制执行——完全在模型之外。LLM 永远看不到这些规则,但它绝对无法违反它们。
pip install csl-core最初为 Project Chimera 构建,现已开源,适用于任何 AI 系统。
为什么选择它?
prompt = """You are a helpful assistant. IMPORTANT RULES:
- Never transfer more than $1000 for junior users
- Never send PII to external emails
- Never query the secrets table"""仅靠提示词(Prompt)是不够的。LLM 容易受到提示词注入攻击,规则往往是概率性的(99% ≠ 100%),且在出现问题时缺乏审计追踪。
CSL-Core 彻底改变了这一点:规则存在于模型之外的已编译、经 Z3 验证的策略文件中。强制执行是确定性的——而不是一种建议。
快速入门(60 秒)
1. 编写策略
创建 my_policy.csl:
CONFIG {
ENFORCEMENT_MODE: BLOCK
CHECK_LOGICAL_CONSISTENCY: TRUE
}
DOMAIN MyGuard {
VARIABLES {
action: {"READ", "WRITE", "DELETE"}
user_level: 0..5
}
STATE_CONSTRAINT strict_delete {
WHEN action == "DELETE"
THEN user_level >= 4
}
}2. 验证与测试 (CLI)
# Compile + Z3 formal verification
cslcore verify my_policy.csl
# Test a scenario
cslcore simulate my_policy.csl --input '{"action": "DELETE", "user_level": 2}'
# → BLOCKED: Constraint 'strict_delete' violated.
# Interactive REPL
cslcore repl my_policy.csl3. 在 Python 中使用
from chimera_core import load_guard
guard = load_guard("my_policy.csl")
result = guard.verify({"action": "READ", "user_level": 1})
print(result.allowed) # True
result = guard.verify({"action": "DELETE", "user_level": 2})
print(result.allowed) # False基准测试:对抗性攻击防御能力
我们针对 4 个前沿 LLM,使用 22 种对抗性攻击和 15 种合法操作,对比了基于提示词的安全规则与 CSL-Core 的强制执行效果:
方法 | 拦截攻击数 | 绕过率 | 通过合法操作数 | 延迟 |
GPT-4.1 (提示词规则) | 10/22 (45%) | 55% | 15/15 (100%) | ~850ms |
GPT-4o (提示词规则) | 15/22 (68%) | 32% | 15/15 (100%) | ~620ms |
Claude Sonnet 4 (提示词规则) | 19/22 (86%) | 14% | 15/15 (100%) | ~480ms |
Gemini 2.0 Flash (提示词规则) | 11/22 (50%) | 50% | 15/15 (100%) | ~410ms |
CSL-Core (确定性) | 22/22 (100%) | 0% | 15/15 (100%) | ~0.84ms |
为什么是 100%? 因为强制执行发生在模型之外。提示词注入攻击无效,因为根本没有可供注入的目标。攻击类别包括:直接指令覆盖、角色扮演越狱、编码技巧、多轮升级、工具名称欺骗等。
完整方法论:
benchmarks/
LangChain 集成
只需 3 行代码即可保护任何 LangChain 智能体——无需更改提示词,无需微调:
from chimera_core import load_guard
from chimera_core.plugins.langchain import guard_tools
from langchain_classic.agents import AgentExecutor, create_tool_calling_agent
guard = load_guard("agent_policy.csl")
# Wrap tools — enforcement is automatic
safe_tools = guard_tools(
tools=[search_tool, transfer_tool, delete_tool],
guard=guard,
inject={"user_role": "JUNIOR", "environment": "prod"}, # LLM can't override these
tool_field="tool" # Auto-inject tool name
)
agent = create_tool_calling_agent(llm, safe_tools, prompt)
executor = AgentExecutor(agent=agent, tools=safe_tools)每个工具调用在执行前都会被拦截。如果策略禁止,工具就不会运行。就是这么简单。
上下文注入
传入 LLM 无法覆盖 的运行时上下文——如用户角色、环境、速率限制:
safe_tools = guard_tools(
tools=tools,
guard=guard,
inject={
"user_role": current_user.role, # From your auth system
"environment": os.getenv("ENV"), # prod/dev/staging
"rate_limit_remaining": quota.remaining # Dynamic limits
}
)LCEL 链保护
from chimera_core.plugins.langchain import gate
chain = (
{"query": RunnablePassthrough()}
| gate(guard, inject={"user_role": "USER"}) # Policy checkpoint
| prompt | llm | StrOutputParser()
)CLI 工具
CLI 是一个完整的策略开发环境——无需编写 Python 即可测试、调试和部署。
verify — 编译 + Z3 证明
cslcore verify my_policy.csl
# ⚙️ Compiling Domain: MyGuard
# • Validating Syntax... ✅ OK
# ├── Verifying Logic Model (Z3 Engine)... ✅ Mathematically Consistent
# • Generating IR... ✅ OKsimulate — 测试场景
# Single input
cslcore simulate policy.csl --input '{"action": "DELETE", "user_level": 2}'
# Batch testing from file
cslcore simulate policy.csl --input-file test_cases.json --dashboard
# CI/CD: JSON output
cslcore simulate policy.csl --input-file tests.json --json --quietrepl — 交互式开发
cslcore repl my_policy.csl --dashboard
cslcore> {"action": "DELETE", "user_level": 2}
🛡️ BLOCKED: Constraint 'strict_delete' violated.
cslcore> {"action": "DELETE", "user_level": 5}
✅ ALLOWEDformal — TLA⁺ 模型检查
cslcore formal my_policy.csl针对您的策略运行官方 TLC 模型检查器 (java -jar tla2tools.jar)。TLC 会穷举探索抽象状态空间中的每一个可达状态,并证明每个时序属性都成立——或者返回一个具体的反例追踪,指出破坏不变性的确切状态。
╔══════════════════════════════════════════════════════════════════════════════╗
║ TLA⁺ FORMAL VERIFICATION ENGINE ║
║ Chimera Specification Language · Temporal Logic of Actions ║
║ ║
║ ⚡ REAL TLC · java -jar tla2tools.jar · Exhaustive Model Checking ║
║ TLC2 Version 2026.03.31.154134 (rev: becec35) · pid 48146 · 1 ║
║ worker(s) ║
╚══════════════════════════════════════════════════════════════════════════════╝
Variable Domain Cardinality
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
agent_tier {"STANDARD", "PREMIUM"} |2|
task_type {"READ", "WRITE", "ANALYZE"} |3|
risk_score 0..5 |6|
├─ □(no_destructive_ops) ✅ HOLDS [288 states 349ms]
├─ □(no_production_access) ✅ HOLDS [288 states 349ms]
├─ □(bounded_risk) ✅ HOLDS [288 states 349ms]
└─ Proof hash: 17dd1564897d242fc045a3a884a52bbb… ✅
╔══════════════ TLA⁺ VERIFICATION COMPLETE — ALL PROPERTIES HOLD ══════════════╗
║ ✅ Domain: AIAgentSafetyDemo · ⬡ 144 states · ⏱ 1047ms ║
╚══════════════════════════════════════════════════════════════════════════════╝通过在 CONFIG 中添加一行即可在任何策略中启用:
CONFIG {
ENFORCEMENT_MODE: BLOCK
ENABLE_FORMAL_VERIFICATION: TRUE // ← triggers cslcore formal automatically
}或者独立运行:
cslcore formal policy.csl # real TLC (Java required, JAR auto-downloaded)
cslcore formal policy.csl --mock # Python BFS fallback (no Java needed)
cslcore formal policy.csl --timeout 120
cslcore formal policy.csl --export-tla ./specs/ # save .tla + .cfg for TLA+ Toolbox没有 Java 环境? CSL-Core 会自动回退到 Python BFS 模型检查器。横幅会清晰标注运行的是哪个引擎。JAR 文件在首次使用时会自动下载(约 4MB,来自官方 TLA+ GitHub 发布版)。
CI/CD 流水线
# GitHub Actions
- name: Verify policies
run: |
for policy in policies/*.csl; do
cslcore verify "$policy" || exit 1
doneMCP 服务器 (Claude Desktop / Cursor / VS Code)
直接从您的 AI 助手编写、验证和强制执行安全策略——无需代码。
pip install "csl-core[mcp]"添加到 Claude Desktop 配置 (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"csl-core": {
"command": "uv",
"args": ["run", "--with", "csl-core[mcp]", "csl-core-mcp"]
}
}
}工具 | 功能 |
| Z3 形式化验证——在编译时捕获矛盾 |
| 针对 JSON 输入测试策略——返回 ALLOWED/BLOCKED |
| 任何 CSL 策略的人类可读摘要 |
| 根据纯英文描述生成 CSL 模板 |
您: “帮我写一个安全策略,防止未经管理员批准的 5000 美元以上的转账”
Claude: scaffold_policy → 您编辑 → verify_policy 捕获矛盾 → 您修复 → simulate_policy 确认生效
架构
┌──────────────────────────────────────────────────────────┐
│ 1. COMPILER .csl → AST → IR → Compiled Artifact │
│ Syntax validation, semantic checks, functor gen │
├──────────────────────────────────────────────────────────┤
│ 2. Z3 VERIFIER Theorem Prover — Static Analysis │
│ Contradiction detection, reachability, rule shadowing │
│ ⚠️ If verification fails → policy will NOT compile │
├──────────────────────────────────────────────────────────┤
│ 3. TLA⁺ VERIFIER Model Checker — Temporal Safety │
│ Exhaustive state-space exploration via TLC │
│ Predicate abstraction for large numeric domains │
│ Counterexample traces + automated fix suggestions │
│ (opt-in: ENABLE_FORMAL_VERIFICATION: TRUE) │
├──────────────────────────────────────────────────────────┤
│ 4. RUNTIME Deterministic Policy Enforcement │
│ Fail-closed, zero dependencies, <1ms latency │
└──────────────────────────────────────────────────────────┘繁重的计算在编译时完成一次。运行时仅进行纯粹的评估。
生产环境应用
正在使用 CSL-Core?请告诉我们,我们将把您加入列表。
策略示例
示例 | 领域 | 关键特性 |
AI 安全 | RBAC, PII 保护, 工具权限 | |
金融 | 风险评分, VIP 等级, 制裁 | |
Web3 | 多签, 时间锁, 紧急绕过 | |
形式化方法 | TLA⁺ 模型检查——所有属性成立 | |
形式化方法 | TLA⁺ 反例追踪 + 修复建议 |
python examples/run_examples.py # Run all with test suites
python examples/run_examples.py banking # Run specific exampleAPI 参考
from chimera_core import load_guard, RuntimeConfig
# Load + compile + verify
guard = load_guard("policy.csl")
# With custom config
guard = load_guard("policy.csl", config=RuntimeConfig(
raise_on_block=False, # Return result instead of raising
collect_all_violations=True, # Report all violations, not just first
missing_key_behavior="block" # "block", "warn", or "ignore"
))
# Verify
result = guard.verify({"action": "DELETE", "user_level": 2})
print(result.allowed) # False
print(result.violations) # ['strict_delete']完整文档:入门指南 · 语法规范 · CLI 参考 · 设计哲学
路线图
✅ 已完成: 核心语言与解析器 · Z3 验证 · 故障关闭运行时 · LangChain 集成 · CLI (verify, simulate, repl, formal) · MCP 服务器 · 基于真实 TLC 的 TLA⁺ 模型检查 · 谓词抽象 · 反例分析 · Chimera v1.7.0 生产部署
🚧 进行中: 策略版本控制 · LangGraph 集成
🔮 计划中: LlamaIndex & AutoGen · 多策略组合 · 热重载 · 策略市场 · 云端模板
🔒 企业级 (研究中): 因果推理 · 多租户
贡献
欢迎贡献!从 good first issue 开始,或查看 CONTRIBUTING.md。
高影响力领域: 真实世界的策略示例 · 框架集成 · 基于 Web 的策略编辑器 · 测试覆盖率
许可证
Apache 2.0 (开放核心模型)。完整的语言、编译器、Z3 验证器、运行时、CLI、MCP 服务器及所有示例均为开源。详见 LICENSE。
由 Chimera Protocol 用 ❤️ 构建 · Issues · Discussions · Email
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Chimera-Protocol/csl-core'
If you have feedback or need assistance with the MCP directory API, please join our Discord server