开源 AI 安全代理。
为你的终端赋予安全大脑。
使用本地工具、代理、剧本、发现、证据、回放和报告运行安全工作流。
npm install -g numasec
演示 | 为什么 | 感受 | 尝试 | 功能 | 命令 | 架构 | 路线图
numasec 是一个运行在终端中的 AI 安全代理。
它使用你机器上已安装的工具,遵循安全剧本,在多个网络代理之间切换,保持操作上下文活跃,跟踪发现,存储证据,并帮助将工作转化为报告。
它是为那些已经在 shell、浏览器、HTTP 请求、扫描器、公告、笔记和报告之间工作的人构建的。
为你已有的工作流而设的安全代理。
安全工作不会在一个干净的地方发生。
你在终端命令、浏览器操作、HTTP 请求、本地工具、扫描器、公告、笔记、截图、发现和报告之间切换。
AI 可以提供帮助,但前提是它存在于那个工作流之中。
numasec 为模型提供了一个安全工作区,而不仅仅是一个聊天框。它在工作进行中保持目标、范围、工具、剧本、发现、证据、回放和报告状态在一起。
目标很简单:
让安全工作感觉更快、更敏锐、更不分散。
numasec 目前最适用于授权的应用安全和渗透测试工作流。其他网络领域也存在或可能,但它们尚未被宣传为同样成熟。
编码代理改变了开发者的工作方式。
它们读取代码、运行命令、编辑文件、执行测试,并停留在开发循环中。
安全需要同样的转变,但安全工作有不同的约束。
安全代理需要了解目标、保持在范围内、使用本地工具链、记住发生的情况、将噪声与发现分开,并保留足够的上下文以便稍后产生有用的输出。
这正是 numasec 试图成为的:
终端的开源 AI 安全代理。
在你正在测试的工作区中打开 numasec,选择合适的安全代理,检查可用本地工具,然后启动剧本,让代理帮助你完成工作流。
当工作发生变化时,切换模式。当某件事重要时,将发现、证据、回放和报告上下文保留在操作附近,而不是分散在 shell 历史、截图和笔记中。
然后稍后回来,无需从头开始即可继续。
numasec 像终端代理一样启动,然后安全工作开始,它变成了一个工作区。
你会获得模型、当前代理、命令面板、工作目录和提示符。重点不是离开你的终端,而是让终端更智能。
发现不会丢入聊天中:它们存在于操作中,每个发现都可以携带状态、严重性、证据、回放状态和下一步操作,这样代理就可以在不丢失线索的情况下继续工作。
弱信号可以保持弱。被拒绝的声明仍然可见。可报告的发现需要证据。
安全工作形态会变化。应用安全、渗透测试、开源情报、CTF/实验室和研究不需要相同的姿态,因此你可以在工作变化时切换代理,而不是强迫一个通用助手在所有地方以相同方式行事。
操作是持久的。命名、重命名、恢复和导出。安全工作流不应因为聊天结束而消失。
npm install -g numasec numasec
然后从一个本地实验室、CTF、自己拥有的应用或授权的目标开始:```text
/doctor
/mode appsec
/runbook run appsec-web-triage http://localhost:3000
/share
从要测试的工作区运行 numasec,并将目标范围明确。
| 能力 | 它带给你什么 |
|---|---|
| AI 安全代理 | 一个在你的终端内工作而非单独聊天窗口的模型。 |
| 本地工具 | numasec 使用你机器上已安装的工具,并显示哪些可用、缺失或降级。 |
| 操作手册 | 安全工作流,让代理在真实任务中持续行动,而非随意调用工具。 |
| 代理 | 使用 TAB 切换姿态,适用于 AppSec、渗透测试、OSINT、CTF/实验室和研究型工作。 |
| 操作记忆 | 将目标、范围、活动、发现结果、证据、回放和报告状态保持在一起。 |
| 发现结果工作流 | 跟踪安全信号,从模糊想法演变为有用发现结果。 |
| 证据与回放 | 保存理解、验证和重现重要工作所需的材料。 |
| 网络安全知识 | 将漏洞情报、公告、方法论和工具文档引入工作流。 |
| 报告 | 从操作中生成交付物,而非最后才重建一切。 |
| 共享包 | 导出工作,以便审查、恢复或移交。 |
numasec 面向那些希望将 AI 代理融入安全工作流、而非与其并行工作的人。
numasec 仅用于授权安全测试。只能在你拥有所有权、实验室、CTF 或已获测试许可的目标上使用。
numasec 不仅仅是一个带工具的提示。
它将安全工作流连接起来:目标、操作、姿态、操作手册、本地工具、观察结果、发现结果、证据、回放和报告。```mermaid flowchart LR target["Target"] --> operation["Operation"] operation --> posture["Scope + opsec + autonomy"] posture --> runbook["Runbook"] runbook --> tools["Local cyber tools"]
tools --> evidence["Evidence"] evidence --> observations["Observations"] observations --> findings["Findings"] findings --> proof["Replay / proof"] proof --> report["Report"]
operation -. source of truth .-> kernel["Cyber kernel"] kernel --> evidence kernel --> findings kernel --> report
classDef primary fill:#04130d,stroke:#00ff88,color:#eafff4,stroke-width:2px; classDef secondary fill:#061014,stroke:#00c2ff,color:#eaf9ff,stroke-width:1.5px; classDef proofNode fill:#151104,stroke:#ffcc66,color:#fff7df,stroke-width:1.5px; classDef findingNode fill:#190808,stroke:#ff5f6d,color:#fff0f0,stroke-width:1.5px;
class target,operation,posture,runbook,tools primary; class evidence,observations,kernel secondary; class proof,report proofNode; class findings findingNode;
重要部分:操作不仅仅存在于聊天中。numasec 会持久记录工作,以便代理可以继续,操作员可以审查,报告可以基于实际发生的情况生成。
## numasec 的不同之处
大多数 AI 安全工具会陷入两个陷阱之一:要么只会聊天,要么只是工具的包装器。numasec 试图做不同的事情:在代理工作的同时保持工作流的活跃。
| 对比 | 通常情况 | numasec 的做法 |
| --- | --- | --- |
| **通用 AI 聊天** | 给出很好的建议,但脱离实际工作。 | 在终端工作流中运行,集成工具、记忆和操作状态。 |
| **通用编码代理** | 擅长仓库和测试,但并非为安全工作设计。 | 增加安全代理、剧本、范围、发现、证据、重放和报告。 |
| **扫描器包装器** | 输出快,上下文弱。 | 将工具输出转化为更大操作的一部分。 |
| **手动笔记** | 灵活,但一切都会脱节。 | 保持发现、证据、重放和报告连贯。 |
| **工具服务器** | 暴露能力,但将工作流和记忆留给用户。 | 在工具周围增加安全工作流。 |
## 命令