cognis-digital/magicid

GitHub: cognis-digital/magicid

通过读取文件的 magic bytes 来识别其真实类型,检测并拦截扩展名与实际内容不匹配的文件。

Stars: 0 | Forks: 0

MAGICID # MAGICID ### 通过 magic bytes 识别真实文件类型(胜过扩展名) [![PyPI](https://img.shields.io/pypi/v/cognis-magicid.svg?color=6b46c1)](https://pypi.org/project/cognis-magicid/) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b83168e800082855.svg)](https://github.com/cognis-digital/magicid/actions) [![License: COCL 1.0](https://img.shields.io/badge/License-COCL%201.0-2b6cb0.svg)](LICENSE) [![Suite](https://img.shields.io/badge/Cognis-Neural%20Suite-6b46c1.svg)](https://github.com/cognis-digital) *Cognis Neural Suite 的一部分。*
``` pip install cognis-magicid magicid scan . # → prioritized findings in seconds ``` ## 用法 — 分步指南 1. **安装**(Python 3.8+,仅使用标准库): pip install magicid 2. **扫描文件**以通过 magic bytes 识别其真实类型(可捕获扩展名伪造): magicid scan uploads/*.png suspicious.pdf 当发现问题时(不匹配 / 未知 / 无法读取)退出码为 `1`,全部一致时为 `0`。 3. **递归遍历目录树**: magicid scan --recursive ./uploads 4. **将输出读取为 JSON 或生成 HTML 报告**: magicid --format json scan ./uploads | jq '.summary, .results[] | select(.severity=="high")' magicid --format html --out report.html scan ./uploads JSON 包含 `summary`(高/中/低/正常计数)和每个文件的 `results[]`。 5. **控制上传 pipeline / CI** — 阻断真实类型与其扩展名相矛盾的文件: magicid scan ./incoming/* || { echo "type-mismatch detected"; exit 1; } ## 目录 - [为什么选择 magicid?](#why) · [功能](#features) · [快速开始](#quick-start) · [示例](#example) · [架构](#architecture) · [AI stack](#ai-stack) · [对比](#how-it-compares) · [集成](#integrations) · [随处安装](#install-anywhere) · [相关项目](#related) · [贡献](#contributing) ## 为什么选择 magicid? 通过 magic bytes 识别真实文件类型(胜过扩展名)——无需搭建繁重的基础设施。 `magicid` 是单用途、可脚本化且支持自托管的:将其指向目标,以您的工作流已使用的格式(table · JSON · SARIF)获取优先级排序的结果,基于它控制 CI,并让代理通过 MCP 驱动它。
↑ 回到顶部
## 功能 - ✅ 识别 Bytes - ✅ 识别文件 - ✅ 扫描路径 - ✅ 运行于 Linux/macOS/Windows · Docker · devcontainer - ✅ 支持 Python, JavaScript, Go 和 Rust 的移植版本 (`ports/`)
↑ 回到顶部
## 快速开始 ``` pip install cognis-magicid magicid --version magicid scan . # scan current project magicid scan . --format json # machine-readable magicid scan . --fail-on high # CI gate (non-zero exit) ```
↑ 回到顶部
## 示例 ``` $ magicid scan . [HIGH ] MAG-001 example finding (./src/app.py) [MEDIUM ] MAG-002 another signal (./config.yaml) 2 findings · risk score 5 · 38ms ```
↑ 回到顶部
## 架构 ``` flowchart LR IN[input] --> P[magicid
analyze + score] P --> OUT[report] ```
↑ 回到顶部
## 从任何 AI stack 中使用它 `magicid` 与所有流行的 AI 使用方式兼容: - **MCP server** — `magicid mcp` (Claude Desktop, Cursor, Cognis.Studio, [uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet)) - **兼容 OpenAI / JSON** — 通过管道将 `magicid scan . --format json` 传入任何代理或 LLM - **LangChain · CrewAI · AutoGen · LlamaIndex** — 一行代码即可将 CLI/JSON 封装为工具 - **CI / 脚本** — 为非 AI pipeline 提供 exit code + SARIF
↑ 回到顶部
## 对比 | | **Cognis magicid** | 典型工具 | |---|:---:|:---:| | 支持自托管,无需账号 | ✅ | 视情况而定 | | 单一命令,零配置 | ✅ | ⚠️ | | 支持 CI 的 JSON + SARIF | ✅ | 视情况而定 | | MCP 原生 (AI agents) | ✅ | ❌ | | 多语言移植 (JS/Go/Rust) | ✅ | ❌ | | 开源许可 | ✅ COCL | 视情况而定 |
↑ 回到顶部
## 集成 接入您的技术栈:用于代码扫描的 **SARIF**,用于一切的 **JSON**,用于 AI agents 的 **MCP server** (`magicid mcp`),以及用于 SIEM/Slack/Jira 的 webhook 转发器。详见 [`docs/INTEGRATIONS.md`](docs/INTEGRATIONS.md)。
↑ 回到顶部
## 安装 — 各种方式,所有平台 ``` pip install "git+https://github.com/cognis-digital/magicid.git" # pip (works today) pipx install "git+https://github.com/cognis-digital/magicid.git" # isolated CLI uv tool install "git+https://github.com/cognis-digital/magicid.git" # uv pip install cognis-magicid # PyPI (when published) docker run --rm ghcr.io/cognis-digital/magicid:latest --help # Docker brew install cognis-digital/tap/magicid # Homebrew tap curl -fsSL https://raw.githubusercontent.com/cognis-digital/magicid/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/magicid` | [DEPLOY.md](docs/DEPLOY.md) (AWS/Azure/GCP/k8s) |
↑ 回到顶部
## 相关的 Cognis 工具 **探索套件 →** [🗂️ 全部 170+ 件工具](https://github.com/cognis-digital/cognis-neural-suite) · [⭐ awesome-cognis](https://github.com/cognis-digital/awesome-cognis) · [🔗 cognis-sources](https://github.com/cognis-digital/cognis-sources) · [🤖 uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet) · [🧠 engram](https://github.com/cognis-digital/engram)
↑ 回到顶部
## 互操作性 `{}` 与 300+ 工具的 Cognis 套件组合使用 — JSON 输入/输出以及共享的 兼容 OpenAI 的 `/v1` 主干。请参阅 **[INTEROP.md](INTEROP.md)** 获取 套件图谱、组合模式和参考技术栈。 ## License 源码可见,基于 **Cognis Open Collaboration License (COCL) v1.0** — 个人、内部评估、研究和教育用途免费;**商业 / 生产用途需要许可** (licensing@cognis.digital)。请参阅 [LICENSE](LICENSE)。
Cognis Digital · Cognis Neural Suite 中 170+ 工具之一 · Making Tomorrow Better Today
标签:DNS 反向解析, DNS 解析, GET 请求, 可视化界面, 数据可视化, 文件类型检测, 文件识别, 日志审计, 自动化集成, 请求拦截, 逆向工具, 魔法字节