Portfan
БесплатноНе проверенSummarize and diff nmap XML into prioritized, attackable findings
Описание
Summarize and diff nmap XML into prioritized, attackable findings
README
PORTFAN
Summarize and diff nmap XML into prioritized, attackable findings
PyPI CI License: COCL 1.0 Suite
Part of the Cognis Neural Suite.
pip install cognis-portfan
portfan scan . # → prioritized findings in seconds
🔎 Example output
Real, reproducible output from the tool — runs offline:
$ portfan-emit --version
portfan 0.1.0
$ portfan-emit --help
usage: portfan [-h] [--version] [--format {table,json}] {triage,diff} ...
Summarize and diff nmap XML into prioritized triage findings (defensive
analysis only — no scanning, no network).
positional arguments:
{triage,diff}
triage Summarize one nmap XML scan.
diff Diff two nmap XML scans.
options:
-h, --help show this help message and exit
--version show program's version number and exit
--format {table,json}
Output format (default: table).
Blocks above are real
portfanoutput — reproduce them from a clone.
Sample result format (illustrative values — run on your own data for real findings):
{
"findings": [
{
"id": "1234567890",
"title": "Suspicious Activity Detected",
"description": "Anomalous network traffic detected from IP 192.168.1.100",
"severity": "high",
"created": "2023-02-20T14:30:00Z"
}
]
}
Usage — step by step
Install the CLI (Python 3.9+):
pip install git+https://github.com/cognis-digital/portfan.gitRun an nmap scan that emits XML, then triage it into prioritized findings:
nmap -oX scan.xml -sV target.example.com portfan triage scan.xmlGet machine-readable output for dashboards or tickets:
portfan --format json triage scan.xml > findings.jsonDiff a new scan against a baseline to surface newly exposed services:
portfan diff baseline.xml scan.xmlTrack exposure drift in CI:
- name: port exposure diff run: | pip install git+https://github.com/cognis-digital/portfan.git portfan --format json diff baseline.xml scan.xml
Contents
- Why portfan? · Features · Quick start · Example · Architecture · AI stack · How it compares · Integrations · Install anywhere · Related · Contributing
Why portfan?
turn raw scans into a triage list
portfan is single-purpose, scriptable, and self-hostable: point it at a target, get prioritized results in the format your workflow already speaks (table · JSON · SARIF), gate CI on it, and let agents drive it over MCP.
Features
- ✅ Score Service
- ✅ Parse Nmap Xml
- ✅ Summarize
- ✅ Diff Reports
- ✅ Runs on Linux/macOS/Windows · Docker · devcontainer
- ✅ Ports in Python, JavaScript, Go, and Rust (
ports/)
Quick start
pip install cognis-portfan
portfan --version
portfan scan . # scan current project
portfan scan . --format json # machine-readable
portfan scan . --fail-on high # CI gate (non-zero exit)
Example
$ portfan scan .
[HIGH ] POR-001 example finding (./src/app.py)
[MEDIUM ] POR-002 another signal (./config.yaml)
2 findings · risk score 5 · 38ms
Architecture
flowchart LR
IN[capture / scan] --> P[portfan<br/>parse + map]
P --> OUT[report]
Use it from any AI stack
portfan is interoperable with every popular way of using AI:
- MCP server —
portfan mcp(Claude Desktop, Cursor, Cognis.Studio, uncensored-fleet) - OpenAI-compatible / JSON — pipe
portfan scan . --format jsoninto any agent or LLM - LangChain · CrewAI · AutoGen · LlamaIndex — wrap the CLI/JSON as a tool in one line
- CI / scripts — exit codes + SARIF for non-AI pipelines
How it compares
| Cognis portfan | nmap | |
|---|---|---|
| Self-hostable, no account | ✅ | varies |
| Single command, zero config | ✅ | ⚠️ |
| JSON + SARIF for CI | ✅ | varies |
| MCP-native (AI agents) | ✅ | ❌ |
| Polyglot ports (JS/Go/Rust) | ✅ | ❌ |
| Open license | ✅ COCL | varies |
Built in the spirit of nmap, re-framed the Cognis way. Missing a credit? Open a PR.
Integrations
Pipes into your stack: SARIF for code-scanning, JSON for anything, an MCP server (portfan mcp) for AI agents, and a webhook forwarder for SIEM/Slack/Jira. See docs/INTEGRATIONS.md.
Install — every way, every platform
pip install "git+https://github.com/cognis-digital/portfan.git" # pip (works today)
pipx install "git+https://github.com/cognis-digital/portfan.git" # isolated CLI
uv tool install "git+https://github.com/cognis-digital/portfan.git" # uv
pip install cognis-portfan # PyPI (when published)
docker run --rm ghcr.io/cognis-digital/portfan:latest --help # Docker
brew install cognis-digital/tap/portfan # Homebrew tap
curl -fsSL https://raw.githubusercontent.com/cognis-digital/portfan/main/install.sh | sh
| Linux | macOS | Windows | Docker | Cloud |
|---|---|---|---|---|
scripts/setup-linux.sh |
scripts/setup-macos.sh |
scripts/setup-windows.ps1 |
docker run ghcr.io/cognis-digital/portfan |
DEPLOY.md (AWS/Azure/GCP/k8s) |
Related Cognis tools
- subhunt — Aggregate & dedupe subdomain enumeration from multiple sources
- dirsight — Analyze web content-discovery output (ffuf/gobuster) into ranked endpoints
- jwtinspect — Decode JWTs and lint for alg=none, weak secrets, and missing claims
- corsaudit — Detect permissive/misconfigured CORS from headers or a config
- headerscan — Grade HTTP security headers (CSP/HSTS/XFO) A-F from a response dump
- ssltriage — Grade TLS config (protocols/ciphers/expiry) from openssl/sslyze output
Explore the suite → 🗂️ all 170+ tools · ⭐ awesome-cognis · 🔗 cognis-sources · 🤖 uncensored-fleet · 🧠 engram
Contributing
PRs, new rules, and demo scenarios are welcome under the collaboration-pull model — see CONTRIBUTING.md and SECURITY.md.
⭐ If
portfansaved you time, star it — it genuinely helps others find it.
Interoperability
{} composes with the 300+ tool Cognis suite — JSON in/out and a shared
OpenAI-compatible /v1 backbone. See INTEROP.md for the
suite map, composition patterns, and reference stacks.
License
Source-available under the Cognis Open Collaboration License (COCL) v1.0 — free for personal, internal-evaluation, research, and educational use; commercial / production use requires a license ([email protected]). See LICENSE.
Установка Portfan
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/cognis-digital/portfanFAQ
Portfan MCP бесплатный?
Да, Portfan MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Portfan?
Нет, Portfan работает без API-ключей и переменных окружения.
Portfan — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Portfan в Claude Desktop, Claude Code или Cursor?
Открой Portfan на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
автор: duxiaohuiSupabase
Database, auth and storage
автор: SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Portfan with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
