ian-flores/secureguard
GitHub: ian-flores/secureguard
专为 R 语言 LLM 智能体设计的三层本地护栏库,通过输入验证、AST 代码分析和输出过滤保障 AI 工作流安全,零外部 API 依赖。
Stars: 0 | Forks: 0
# secureguard
[](https://github.com/ian-flores/dsecureguard/actions/workflows/R-CMD-check.yaml)
[](https://app.codecov.io/gh/ian-flores/secureguard)
[](https://lifecycle.r-lib.org/articles/stages.html#experimental)
[](https://ian-flores.github.io/secureguard/)
适用于 R 中 LLM 智能体工作流的可组合护栏。三层防御 —— 输入验证、代码分析和输出过滤 —— 完全在本地运行,零外部 API 调用。
## 为什么选择 secureguard?
大多数护栏解决方案需要外部 API 调用或云服务。secureguard 完全在本地运行 —— 基于正则表达式的提示注入检测、用于检测危险代码模式的 R AST 分析,以及 PII/机密扫描 —— 所有这些都无需将您的数据发送到任何地方。
## secure-r-dev 生态系统的一部分
secureguard 是用于在 R 中构建受治理 AI 智能体的 7 包生态系统的一部分:
```
┌─────────────┐
│ securer │
└──────┬──────┘
┌────────────────┼──────────────────┐
│ │ │
┌──────▼──────┐ ┌─────▼───────────┐ ┌───▼──────────────┐
│ securetools │ │>>> secureguard<<<│ │ securecontext │
└──────┬───────┘ └─────┬───────────┘ └───┬──────────────┘
└────────────────┼──────────────────┘
┌──────▼───────┐
│ orchestr │
└──────┬───────┘
┌────────────────┼─────────────────┐
│ │
┌──────▼──────┐ ┌──────▼──────┐
│ securetrace │ │ securebench │
└─────────────┘ └─────────────┘
```
secureguard 提供了护栏层 —— 输入验证、代码分析和输出过滤,这些功能可以独立运行,也可以与 securer 的预执行 hooks 集成。securebench 位于堆栈底层,通过 precision/recall/F1 指标对护栏准确性进行基准测试。
| 包 | 角色 |
|---------|------|
| [securer](https://github.com/ian-flores/securer) | 带有 tool-call IPC 的沙盒 R 执行 |
| [securetools](https://github.com/ian-flores/securetools) | 预构建的安全强化工具定义 |
| [secureguard](https://github.com/ian-flores/secureguard) | 输入/代码/输出护栏(注入、PII、机密) |
| [orchestr](https://github.com/ian-flores/orchestr) | 基于图的智能体编排 |
| [securecontext](https://github.com/ian-flores/securecontext) | 文档分块、embeddings、RAG 检索 |
| [securetrace](https://github.com/ian-flores/securetrace) | 结构化跟踪、token/成本核算、JSONL 导出 |
| [securebench](https://github.com/ian-flores/securebench) | 使用 precision/recall/F1 指标进行护栏基准测试 |
## 安装
```
# install.packages("pak")
pak::pak("ian-flores/secureguard")
```
## 快速示例
```
library(secureguard)
# 在危险代码运行前将其拦截
hook <- as_pre_execute_hook(
guard_code_analysis(),
guard_code_complexity(max_ast_depth = 15)
)
hook("mean(1:10)") # TRUE -- safe
hook("system('ls')") # FALSE -- blocked
# 检查输出中是否包含敏感数据
out <- guard_output(
"User SSN: 123-45-6789",
guard_output_pii(),
guard_output_secrets()
)
out$pass # FALSE
out$reasons # "PII detected in output: ssn"
```
## 功能
### 输入护栏
| 函数 | 描述 |
|---|---|
| `guard_prompt_injection()` | 检测提示注入尝试 |
| `guard_topic_scope()` | 强制执行允许/阻止的主题列表 |
| `guard_input_pii()` | 从用户提示中过滤 PII |
### 代码护栏
| 函数 | 描述 |
|---|---|
| `guard_code_analysis()` | 基于 AST 的阻止函数检测 |
| `guard_code_complexity()` | 深度、调用次数、表达式限制 |
| `guard_code_dependencies()` | Namespace 允许/阻止列表 |
| `guard_code_dataflow()` | 赋值和全局变量限制 |
### 输出护栏
| 函数 | 描述 |
|---|---|
| `guard_output_pii()` | PII 检测,支持阻止/脱敏/警告操作 |
| `guard_output_secrets()` | 机密检测,支持阻止/脱敏/警告操作 |
| `guard_output_size()` | 字符、行和元素限制 |
### 集成
| 函数 | 描述 |
|---|---|
| `as_pre_execute_hook()` | 将代码护栏转换为 securer hook |
| `guard_output()` | 运行带有脱敏支持的输出护栏 |
| `secure_pipeline()` | 捆绑输入 + 代码 + 输出护栏 |
## securer 集成
secureguard 与 [securer](https://github.com/ian-flores/securer) 集成以实现沙盒 R 执行:
```
library(securer)
library(secureguard)
pipeline <- secure_pipeline(
input_guardrails = list(guard_prompt_injection()),
code_guardrails = list(guard_code_analysis()),
output_guardrails = list(guard_output_pii(), guard_output_secrets(action = "redact"))
)
sess <- SecureSession$new(
pre_execute_hook = pipeline$as_pre_execute_hook()
)
# 安全代码正常执行
result <- sess$execute("mean(1:10)")
# 危险代码在到达 sandbox 前被拦截
sess$execute("system('ls')") # Error: blocked by guardrail
# 检查输出
out <- pipeline$check_output(result)
sess$close()
```
## 文档
- [secureguard 入门](https://ian-flores.github.io/secureguard/articles/secureguard.html)
- [高级护栏模式](https://ian-flores.github.io/secureguard/articles/advanced-patterns.html)
- [完整参考文档](https://ian-flores.github.io/secureguard/)
## 贡献
欢迎贡献!请在 GitHub 上提交 issue 并发送 pull request。
## 许可证
MIT
标签:AI安全, API密钥检测, AST解析, C2, Chat Copilot, CISA项目, DLL 劫持, DNS 反向解析, LLM, PII检测, R包, R语言, secure-r-dev, Unmanaged PE, 人工智能, 代码分析, 凭证管理, 大语言模型, 开发库, 护栏, 提示注入防御, 本地部署, 机密扫描, 源代码安全, 用户模式Hook绕过, 网络安全, 输入验证, 输出过滤, 错误基检测, 隐私保护, 零日漏洞检测, 静态代码分析