esoadamo/micro-cti

GitHub: esoadamo/micro-cti

聚合多平台网络安全微博的威胁情报搜索引擎,支持 IoC 自动提取和多格式导出。

Stars: 0 | Forks: 0

# uCTI.app MicroCTI 是一个仅记录网络安全相关帖子的微博搜索引擎,允许您同时搜索多个微博平台。 支持的来源: - Mastodon - Bluesky - Telegram - AirTable - Baserow - RSS ## 搜索语言 可以使用默认的全文搜索进行通用搜索。识别的搜索修饰符包括: - 括号:`(`, `)` 用于分组 - 逻辑运算符:`AND`, `OR` - 引号:`"explicit needed phrases"` 用于精确短语 - 加号 (`+`):包含关键词(例如 `+vulnerability`) - 减号 (`-`):排除关键词(例如 `-phishing`) 带有命令的自定义搜索语言: - `!strict` - 仅返回精确匹配(例如来自引号的内容) - `!from:YYYY-MM-DD` - 仅返回自此日期(含)起的帖子 - `!to:YYYY-MM-DD` - 仅返回至此日期(含)止的帖子 - `!min_score:0-100` - 仅返回分数高于或等于此值的帖子 - `!debug` - 启用调试模式 - `!distinct[:0-100]` - 根据指定的阈值过滤相似帖子(可选) - `!distinct_age:number_of_days` - 在 distinct 过滤期间对较旧的帖子施加额外的惩罚 - `!count:1-100` - 限制返回帖子的最大数量 - `!age:number_of_days` - 仅返回天数不超过此值的帖子 ## 搜索模式 默认搜索模式将查询直接发送到后端,并一次性返回整个结果网页。但是,还有另外三种搜索模式。假设您的搜索 URL 是 http://127.0.0.1/search/?q=my_query,那么您可以将 URL 更改为以下内容: - http://127.0.0.1/rss/?q=my_query 以 RSS feed 形式获取结果 - http://127.0.0.1/search/dynamic/?q=my_query 用于动态搜索模式(增量加载结果,适用于大型或慢速查询) - http://127.0.0.1/api/search?q=my_query 以 JSON 格式获取结果,用于程序化访问 ## IoC 导出 系统会自动从帖子中解析威胁指标,包括 IP 地址、域名、URL、文件哈希等。您可以通过在 URL 中将 `/search/` 替换为 `/ioc/` 来以多种格式导出 IoC: - **JSON 格式**:将 `/search/` 替换为 `/ioc/json/`。例如:http://127.0.0.1/ioc/json/?q=my_query - **CSV 格式**:将 `/search/` 替换为 `/ioc/csv/`。例如:http://127.0.0.1/ioc/csv/?q=my_query - **MISP feed**:将 `/search/` 替换为 `/ioc/misp/`。例如:http://127.0.0.1/ioc/misp/?q=my_query IoC 会被自动提取并根据相关性分数进行分类。可以运行 `job-parse-ioc.py` 脚本从所有可见帖子中解析 IoC。 ## 作业文件与调度 本项目包含多个用于数据摄取、维护和导出的作业脚本。以下是每个作业文件及其建议调度时间的摘要: - **job-ingest.py**:从所有来源获取帖子,将其摄取到数据库中,并生成标签。**每小时运行。** - **job-cache-expire.py**:从数据库中删除过期的搜索缓存条目。**每天运行。** - **job-data-export.py**:将所有帖子(带标签)导出为压缩的 JSONL 文件,用于备份或迁移。**每天运行。** - **job-data-import.py**:从备份文件将帖子导入数据库,包括标签。**必要时临时运行。** - **job-filter-tags.py**:通过删除名称过短/过长的标签来清理标签,并处理子标签。**每天运行。** - **job-parse-ioc.py**:从所有可见帖子中解析威胁指标。**必要时临时运行。** - **job-tag.py**:摄取所有帖子并为其生成标签。**必要时临时运行。** - **job-telegram-list-channels.py**:列出配置中当前包含/排除的所有 Telegram 频道。**必要时临时运行。** - **job-filter-posts.py**:扫描所有可见帖子并隐藏与网络安全无关的帖子。**必要时临时运行。** 有关每个脚本的用法和输出的更多详细信息,请参阅各个脚本。
标签:Bluesky, ESC4, IoC提取, IP地址, JSON, Mastodon, OSINT, RSS订阅, Telegram, TI, 可重复部署, 域名, 威胁情报, 安全运营, 开发者工具, 微博客, 情报收集, 情报自动化, 扫描框架, 指标共享, 搜索引擎, 数据展示, 数据泄露, 数据聚合, 文件哈希, 漏洞研究, 红队, 网络安全, 逆向工具, 隐私保护