
터미널에서 실행되는 AI 보안 에이전트로, 로컬 도구, 런북 및 에이전트를 조정하여 승인된 AppSec, 펜테스트, OSINT 및 CTF 워크플로를 지속적인 작업 메모리와 증거 추적을 통해 수행합니다.
오픈소스 AI 보안 에이전트.
터미널에 보안 두뇌를 부여하세요.
로컬 도구, 에이전트, 런북, 발견 항목, 증거, 재생 및 보고서로 보안 워크플로우를 실행하세요.
npm install -g numasec
데모 | 왜 | 사용감 | 사용해보기 | 기능 | 명령어 | 아키텍처 | 로드맵
numasec은 터미널에서 실행되는 AI 보안 에이전트입니다.
이미 머신에 설치된 도구를 사용하며, 보안 런북을 따르고, 사이버 에이전트 간 전환하고, 작업 컨텍스트를 유지하며, 발견 항목을 추적하고, 증거를 저장하고, 작업을 보고서로 전환하는 데 도움을 줍니다.
쉘, 브라우저, HTTP 요청, 스캐너, 권고사항, 노트 및 보고서 사이에서 활동하는 사람들을 위해 만들어졌습니다.
이미 가지고 있는 워크플로우를 위한 보안 에이전트입니다.
보안 작업은 한 곳에서 깔끔하게 이루어지지 않습니다.
터미널 명령어, 브라우저 작업, HTTP 요청, 로컬 도구, 스캐너, 권고사항, 노트, 스크린샷, 발견 항목 및 보고서 사이를 이동합니다.
AI가 도움이 될 수 있지만, 그 워크플로우 내에서 작동할 때만 가능합니다.
numasec은 모델에 채팅 상자 대신 보안 작업 공간을 제공합니다. 작업이 진행되는 동안 대상, 범위, 도구, 런북, 발견 항목, 증거, 재생 및 보고서 상태를 함께 유지합니다.
목표는 간단합니다:
보안 작업을 더 빠르고, 더 날카롭고, 더 덜 흩어지게 만드는 것입니다.
numasec은 현재 승인된 AppSec 및 Pentest 워크플로우에서 가장 강력합니다. 다른 사이버 영역도 존재하거나 가능하지만, 아직 동일한 수준의 성숙도로 마케팅되지는 않습니다.
코딩 에이전트는 개발자의 작업 방식을 바꿨습니다.
코드를 읽고, 명령어를 실행하고, 파일을 편집하고, 테스트를 수행하며 개발 루프 안에 머뭅니다.
보안에도 동일한 변화가 필요하지만, 보안 작업에는 다른 제약 조건이 있습니다.
보안 에이전트는 대상을 알고, 범위 내에 머물며, 로컬 도구 체인을 사용하고, 발생한 일을 기억하며, 노이즈와 발견 항목을 분리하고, 나중에 유용한 출력을 생성할 수 있을 만큼의 컨텍스트를 유지해야 합니다.
이것이 numasec이 되고자 하는 것입니다:
터미널을 위한 오픈소스 AI 보안 에이전트.
테스트 중인 작업 공간 안에서 numasec을 열고, 올바른 보안 에이전트를 선택하고, 사용 가능한 로컬 도구를 확인한 후 런북을 시작하고 에이전트가 워크플로우를 진행하도록 도와주세요.
작업이 변경되면 자세를 전환하세요. 중요한 것이 있을 때는 발견 항목, 증거, 재생 및 보고서 컨텍스트를 쉘 히스토리, 스크린샷 및 노트에 흩뜨리지 말고 작업에 가까이 유지하세요.
그런 다음 나중에 다시 돌아와 처음부터 다시 시작하지 않고 재개하세요.
numasec은 터미널 에이전트처럼 시작되며, 보안 작업이 시작되면 작업 공간이 됩니다.
모델, 활성 에이전트, 명령 팔레트, 작업 디렉토리 및 프롬프트를 얻습니다. 요점은 터미널을 떠나는 것이 아니라 터미널을 더 똑똑하게 만드는 것입니다.
발견 항목은 채팅에 덤프되지 않습니다. 작업 내에 존재하며, 각각 상태, 심각도, 증거, 재생 상태 및 다음 작업을 가질 수 있으므로 에이전트가 맥락을 잃지 않고 계속 작업할 수 있습니다.
약한 신호는 약하게 남을 수 있습니다. 거부된 주장은 계속 표시됩니다. 보고 가능한 발견 항목은 증거가 필요합니다.
보안 작업은 형태가 변합니다. AppSec, Pentest, OSINT, CTF/랩 및 연구는 동일한 자세를 필요로 하지 않으므로, 작업이 변경될 때마다 하나의 일반 어시스턴트가 모든 곳에서 동일하게 작동하도록 강요하는 대신 에이전트를 전환할 수 있습니다.
작업은 지속 가능합니다. 이름을 지정하고, 이름을 변경하고, 재개하고, 내보낼 수 있습니다. 보안 워크플로우는 채팅이 종료되었다고 사라져서는 안 됩니다.
npm install -g numasec numasec
그런 다음 로컬 실습, CTF, 소유한 앱 또는 승인된 대상부터 시작하세요:```text
/doctor
/mode appsec
/runbook run appsec-web-triage http://localhost:3000
/share
numasec를 테스트 중인 작업 공간에서 실행하고 대상 범위를 명시적으로 유지하세요.
numasec은 보안 워크플로 안에서 AI 에이전트를 원하는 사람들을 위해 만들어졌습니다. 단순히 옆에 두는 것이 아닙니다.
numasec은 승인된 보안 작업을 위한 것입니다. 소유한 시스템, 랩, CTF 또는 테스트 권한이 있는 대상에서만 사용하세요.
numasec은 단순히 프롬프트와 도구만 있는 것이 아닙니다.
보안 워크플로를 연결 상태로 유지합니다: target, operation, posture, runbook, local tools, observations, findings, evidence, replay and report.```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 채팅** | 좋은 조언을 제공하지만 실제 작업과 분리됩니다. | 도구, 메모리 및 작업 상태를 포함한 터미널 워크플로우 내에서 실행됩니다. |
| **일반 코딩 에이전트** | 리포지토리와 테스트에는 훌륭하지만 보안 작업에 특화되지 않았습니다. | 보안 에이전트, 런북, 범위, 발견 항목, 증거, 재생 및 보고서를 추가합니다. |
| **스캐너 래퍼** | 빠른 출력, 약한 컨텍스트. | 도구 출력을 더 큰 작업의 일부로 전환합니다. |
| **수동 메모** | 유연하지만 모든 것이 분리됩니다. | 발견 항목, 증거, 재생 및 보고서를 연결 상태로 유지합니다. |
| **도구 서버** | 기능을 노출하지만 워크플로우와 메모리는 사용자에게 맡깁니다. | 도구 주변에 보안 워크플로우를 추가합니다. |
## 명령어
numasec은 키보드에서 빠르게 작업할 수 있도록 설계되었습니다: 작업 시작, 에이전트 전환, 워크플로우 실행, 도구 검사, opsec 강화, 작업 내보내기, 그리고 나중에 다시 돌아오기.```text
/doctor inspect local tool readiness
/mode appsec switch to the AppSec agent
/mode pentest switch to the Pentest agent
/agents open the agent switcher
/runbook list show available security workflows
/runbook run appsec-web-triage <target>
/runbook run web-surface <target>
/operations inspect, rename, resume or switch operations
/opsec strict tighten operation boundaries
/models switch provider or model
/share export the active operation bundle
/remediate <observation_id> turn an observation into remediation guidance
/pwn <target> create a scoped pentest operation for a target
npm install -g numasec numasec
### Bun```bash
bun add -g numasec
numasec
docker run -it --rm -v "$PWD:/work" -w /work francescostabile/numasec:latest
### 소스에서```bash
git clone https://github.com/FrancescoStabile/numasec.git
cd numasec
bun install
cd packages/numasec
bun run build
numasec는 기존 도구를 대체하려 하지 않습니다.
에이전트가 이미 보유한 환경(쉘, 파일, 브라우저, HTTP, 스캐너, 증거, 보고서, 지식 및 작업 공간 상태)을 통제된 방식으로 사용하고 추론할 수 있도록 합니다.
에이전트는 유용한 소수의 보안 표면을 봅니다:
bash, read, write, edit, apply_patch, grep, globhttp_request, browser, scanner, appsec_proberunbook, pwn_bootstrap, scope, opsec, , knowledge는 선호되는 사이버 연구 표면입니다. 취약점 인텔리전스, 패키지 권고, 방법론, 트레이드크래프트, 익스플로잇 신호 및 설치된 도구 문서를 하나의 출처 인식 브로커를 통해 라우팅합니다.
nginx 1.18.0, OpenSSH_8.2p1 또는 npm:[email protected]과 같은 관찰된 구성 요소의 경우, 가능성과 적용 가능성을 분리하고, 사용 가능한 경우 KEV/EPSS로 보강하며, 인텔리전스를 결과로 전환하지 않고 안전한 다음 조치를 제안합니다.
cve는 CVE 스타일 조회를 위한 호환성 별칭으로 남아 있습니다. 새로운 사이버 연구는 knowledge를 사용해야 합니다.
로컬 도구는 numasec을 더 강하게 만듭니다. 다음이 설치된 경우 에이전트가 이를 사용하거나 추론할 수 있습니다:```bash
apt install nmap sqlmap ffuf gobuster nikto nuclei trivy checksec
brew install nmap sqlmap ffuf gobuster nikto nuclei trivy checksec
`/doctor`를 사용하여 현재 머신에서 사용 가능하거나, 저하되었거나, 누락된 사항을 확인하세요.
## 모델 및 제공업체
신뢰하는 모델을 가져오세요. numasec은 모델에 구애받지 않으며 선택한 모델을 보안 워크플로우(터미널, 도구, 에이전트, 런북, 운영 메모리, 조사 결과, 증거, 보고서)로 감쌉니다.
지원되는 제공업체군은 OpenAI, Anthropic, Google, xAI, Bedrock, OpenRouter, Ollama, Vercel AI Gateway, OpenAI 호환 엔드포인트, 그리고 로컬 모델 스택을 통해 지원되는 기타 제공업체를 포함합니다.
핵심은 하나의 모델이 마법처럼 보안을 해결한다는 것이 아닙니다. 핵심은 좋은 모델이 올바른 보안 환경에서 작동할 때 훨씬 더 유용해진다는 점입니다.
## 아키텍처
numasec은 모델을 보안 워크플로우로 감쌉니다. 모델은 추론하고 행동할 수 있습니다; numasec은 그 주변의 운영(도구, 런북, 이벤트, 사실, 증거, 재생, 조사 결과, 산출물)을 유지합니다.```mermaid
flowchart TB
operator["Operator"] --> console["Terminal console"]
console --> control["Permissioned / auto execution"]
control --> agents["Cyber agents"]
agents --> runbooks["Runbooks"]
subgraph tool_layer["Tool layer"]
browser["Browser"]
http["HTTP"]
scanner["Scanner"]
shell["Shell"]
knowledge["Knowledge broker"]
vault["Vault"]
end
runbooks --> browser
runbooks --> http
runbooks --> scanner
runbooks --> shell
runbooks --> knowledge
runbooks --> vault
subgraph kernel["Cyber operation kernel"]
ledger["Ledger"]
facts["Facts"]
relations["Relations"]
evidence["Evidence"]
replay["Replay"]
workflow["Workflow"]
end
browser --> evidence
http --> evidence
scanner --> evidence
shell --> evidence
knowledge --> facts
vault --> facts
ledger --> facts
facts --> relations
evidence --> replay
facts --> workflow
facts --> lifecycle["Finding lifecycle"]
relations --> lifecycle
replay --> lifecycle
workflow --> deliverables["Reports / share bundles / remediation"]
lifecycle --> deliverables
classDef top fill:#04130d,stroke:#00ff88,color:#eafff4,stroke-width:2px;
classDef tool fill:#061014,stroke:#00c2ff,color:#eaf9ff,stroke-width:1.5px;
classDef state fill:#0b0f0a,stroke:#7affb2,color:#eafff4,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 operator,console,control,agents,runbooks top;
class browser,http,scanner,shell,knowledge,vault tool;
class ledger,facts,relations,workflow state;
class evidence,replay,deliverables proofNode;
class lifecycle findingNode;
작업은 이벤트, 사실, 관계, 증거, 재생 아티팩트, 워크플로 상태 및 인도물로 저장됩니다.
numasec.md는 파생된 컨텍스트 팩으로 존재할 수 있습니다. 모델 방향을 잡는 데 도움을 주지만, 진실의 원천은 아닙니다.
보안 작업에는 지저분한 중간 상태가 있습니다. 무언가가 사실이 아니더라도 흥미로워 보일 수 있습니다. 보고서로 준비되지 않은 상태에서 관찰될 수 있습니다. 검증되었다가 나중에 오래된 정보가 될 수도 있습니다.
numasec는 모든 것을 채팅 출력으로 평탄화하는 대신 이러한 상태를 시각적으로 유지합니다.```mermaid
flowchart LR
candidate["Candidate
suspicion"] --> observed["Observed
evidence-backed signal"]
observed --> verified["Verified
promoted with proof semantics"]
verified --> reportable["Reportable
evidence + replay/exemption"]
candidate --> rejected["Rejected
ruled out"]
observed --> stale["Stale
no longer trusted"]
verified --> stale
classDef weak fill:#12170c,stroke:#d6ff66,color:#f8ffd8,stroke-width:1.5px; classDef proof fill:#061014,stroke:#00c2ff,color:#eaf9ff,stroke-width:1.5px; classDef report fill:#04130d,stroke:#00ff88,color:#eafff4,stroke-width:2px; classDef stop fill:#190808,stroke:#ff5f6d,color:#fff0f0,stroke-width:1.5px;
class candidate weak; class observed,verified proof; class reportable report; class rejected,stale stop;
The model is allowed to explore. The workflow is not allowed to pretend every idea is a finding.
### Runbooks instead of random tool spam
보안 에이전트는 워크플로 없이 도구를 호출할 수 있을 때 시끄러워집니다. numasec은 runbook을 사용하여 에이전트가 인식 가능한 작업 형태, 즉 표면 매핑, AppSec 트라이지, 범위가 지정된 침투 테스트 작업 및 향후 도메인별 워크플로를 통해 이동하도록 합니다.
현재 가장 강력한 것:
- `appsec-web-triage`
- `web-surface`
- `pwn` / 침투 테스트 스타터 워크플로
성숙도 레이블이 지정된 표면:
- 저장소 AppSec 트라이지
- API 및 인증 표면 작업
- 네트워크 표면 작업
- OSINT 대상 작업
- CTF 및 랩 워크플로
- 클라우드, 컨테이너, IaC 및 바이너리 트라이지
## Built to avoid AI security slop
numasec은 간단한 규칙을 중심으로 구축되었습니다: **에이전트는 더 빠르게 움직이는 데 도움을 줄 수 있지만, 워크플로는 과도하게 주장하지 않도록 해야 합니다.**
그렇기 때문에 numasec은 범위, 운영 상태, 결과, 증거, 재생 및 보고서 출력을 추적합니다.
성숙한 초점:
- AppSec
- Pentest
다른 사이버 표면이 존재하거나 계획되어 있지만, 아직 동등하게 성숙한 것으로 마케팅되지는 않습니다.
numasec은 인증, 운영자 판단, 수동 검토 또는 전문 도구를 대체한다고 주장하지 않습니다.
그 정직함은 마케팅 겸손이 아닙니다. 그것은 제품의 일부입니다. 보안 도구는 확신과 증거를 혼동할 때 신뢰를 잃습니다.
## Roadmap
장기적인 비전은 간단합니다: **커뮤니티와 함께 성장할 수 있는 오픈소스 AI 보안 에이전트.**
단기적으로 numasec은 집중을 유지합니다:
- 더 나은 AppSec 워크플로
- 더 나은 침투 테스트 워크플로
- 더 강력한 로컬 도구 어댑터
- 더 나은 증거 및 재생 캡처
- 더 깔끔한 보고서 생성
- 더 유용한 에이전트
- 더 나은 운영 공유
- 더 명확한 성숙도 레이블
장기적으로:
- 출처가 있는 OSINT 워크플로
- CTF 및 랩 워크플로
- 클라우드, 컨테이너 및 IaC 트라이지
- 팀 운영
- 검토 및 인계
- 더 풍부한 지식 팩
- 커뮤니티 runbook
규칙은 동일합니다: 모든 성숙한 도메인은 단순한 프롬프트가 아닌 실제 워크플로 지원이 필요합니다.
## Documentation
- [운영](https://github.com/francescostabile/numasec/blob/HEAD/docs/OPERATIONS.md)
- [도구 참조](https://github.com/francescostabile/numasec/blob/HEAD/docs/TOOLS.md)
- [운영 파일 형식](https://github.com/francescostabile/numasec/blob/HEAD/docs/NUMASEC_FILE_FORMAT.md)
- [변경 로그](https://github.com/francescostabile/numasec/blob/HEAD/CHANGELOG.md)
- [기여](https://github.com/francescostabile/numasec/blob/HEAD/CONTRIBUTING.md)
- [보안](https://github.com/francescostabile/numasec/blob/HEAD/SECURITY.md)
## Development```bash
bun install
bun typecheck
cd packages/numasec
bun test --timeout 30000
bun run build
AppSec 및 Pentest 벤치마크는 로컬/수동 릴리스 신뢰성 도구입니다:```bash cd packages/numasec bun run bench:cyber --domain appsec bun run bench:cyber --domain pentest
패키지 테스트를 저장소 루트에서 실행하지 마세요. numasec는 Bun-first 패키지 로컬 워크플로우를 사용합니다.
## 기여하기
가장 가치 있는 기여는 numasec을 더 나은 운영자로 만드는 것입니다:
- 명확한 범위와 증명 의미론을 갖춘 런북;
- 도구 출력을 출처 기반 사실로 변환하는 파서;
- 실제 보안 도구를 위한 어댑터;
- 위조하기 어려운 벤치마크 시나리오;
- 과장 주장을 줄이는 보고서 템플릿;
- 압박 상황에서 운영을 더 쉽게 읽을 수 있도록 TUI 개선.
변경 사항이 확인된 보안 주장을 생성하는 경우 증거가 필요합니다. 발견 사항이 보고 가능한 경우 재현 또는 구조화된 면제가 필요합니다.
## 커뮤니티
가장 좋은 피드백은 "멋진 프로젝트"가 아닙니다.
가장 좋은 피드백은:
- 이와 같은 승인된 워크플로우에서 시도해봤습니다
- 이 부분이 저를 더 빠르게 만들었습니다
- 이 부분이 방해가 되었습니다
- 이 도구가 더 잘 지원되어야 합니다
- 이 런북이 있어야 합니다
- 이 발견 흐름이 잘못 느껴졌습니다
- 이 보고서 출력이 유용하거나 쓸모없었습니다
버그, 워크플로우 피드백, 런북 아이디어, 어댑터 및 릴리스 질문은 GitHub 이슈와 토론을 사용해주세요.
예제는 승인된 것, 실험실 기반 또는 안전하게 익명화된 것으로 유지해주세요.
## numasec의 방향성 잡기
numasec은 초기 단계이지만 방향은 분명합니다:
**터미널에 상주하는 AI 에이전트로 보안 작업을 더 빠르고, 더 선명하며, 덜 분산되게 만드는 것.**
그것이 유용하다고 느껴진다면, 저장소에 별표를 눌러주시고 승인된 워크플로우에서 시도해보고 어디에서 문제가 발생하는지 알려주세요.
## 라이선스
[GNU Affero General Public License v3.0 or later](https://github.com/francescostabile/numasec/blob/HEAD/LICENSE). 승인된 보안 작업, 연구, 교육 및 방어 운영에 numasec을 사용하세요.
<p align="center">
<a href="https://www.linkedin.com/in/francesco-stabile-dev">Francesco Stabile</a> 제작
| <a href="https://x.com/Francesco_Sta">@Francesco_Sta</a>
<br/><sub>numasec이 도움이 되었다면, <a href="https://github.com/FrancescoStabile/numasec/stargazers">별표를 남기고</a> 워크플로우를 공유해주세요.</sub>
</p>
| 기능 | 제공하는 것 |
|---|
| AI 보안 에이전트 | 별도의 채팅 창이 아닌 터미널 내에서 작동하는 모델입니다. |
| 로컬 도구 | numasec은 컴퓨터에 설치된 도구를 사용하며, 사용 가능하거나 누락되거나 저하된 도구를 보여줍니다. |
| 런북 | 무작위 도구 호출 대신 실제 작업을 통해 에이전트가 지속적으로 진행할 수 있게 하는 보안 워크플로입니다. |
| 에이전트 | TAB으로 AppSec, 침투 테스트, OSINT, CTF/랩 및 연구 스타일 작업 간 전환합니다. |
| 작업 메모리 | 대상, 범위, 활동, 발견, 증거, 재연 및 보고서 상태를 함께 유지합니다. |
| 발견 워크플로 | 보안 신호가 약한 아이디어에서 유용한 발견으로 발전하는 과정을 추적합니다. |
| 증거 및 재연 | 중요한 작업을 이해하고 검증하며 재현하는 데 필요한 자료를 보관합니다. |
| 사이버 지식 | 취약점 인텔리전스, 권고사항, 방법론 및 도구 문서를 워크플로에 통합합니다. |
| 보고서 | 작업이 끝난 후 모든 것을 재구성하는 대신 작업 중에 산출물을 생성합니다. |
| 공유 번들 | 검토, 재개 또는 인계가 가능하도록 작업을 내보냅니다. |
autonomyidentityevidence, observation, finding, report, share, remediateknowledge, methodology, cvedoctor, workspace, vault, net, crypto, analyze