SecCrawler:自动化安全日报的利器
在网络安全领域,及时获取最新的安全资讯是每个安全研究人员的日常需求。SecCrawler 是一个专为安全研究人员设计的开源项目,它能够自动化地从多个知名安全社区和实验室博客中爬取每日安全日报,并通过多种机器人推送服务实时推送给用户。本文将详细介绍 SecCrawler 的项目特点、技术分析、应用场景以及如何安装和配置。
项目介绍
SecCrawler 是一个跨平台的爬虫和推送程序,旨在帮助安全研究人员自动化获取每日安全日报。它支持从先知社区、安全客、Seebug Paper、跳跳糖、奇安信攻防社区、棱角社区等多个安全社区爬取内容,并通过企业微信机器人、飞书机器人、钉钉机器人等多种推送服务将信息实时推送给用户。
项目技术分析
SecCrawler 使用 Go 语言开发,具有高效和跨平台的特性。它通过配置文件管理爬取的网站和推送机器人,支持定时任务和 API 调用。对于需要反爬措施的网站,如先知社区,SecCrawler 提供了使用 Selenium 调用浏览器渲染的解决方案,确保数据的准确获取。
项目及技术应用场景
SecCrawler 适用于以下场景:
- 安全研究人员:每日自动获取最新的安全资讯,节省手动搜索的时间。
- 企业安全团队:通过企业微信或钉钉等内部通讯工具,实时推送安全日报,提高团队的安全意识和响应速度。
- 安全社区运营:自动化整合多个社区的最新文章,提供给用户一站式阅读体验。
项目特点
- 多源爬取:支持从多个知名安全社区和实验室博客爬取内容。
- 多渠道推送:支持通过企业微信、飞书、钉钉等多种机器人推送服务实时推送信息。
- 定时任务:支持设置定时任务,每天自动运行爬取和推送。
- API 支持:提供 Web API,方便与其他工具集成。
- 易于配置:使用 YAML 格式的配置文件,简单易懂,方便用户自定义。
安装与配置
安装
你可以从 Releases 页面下载最新的 SecCrawler 二进制文件,或者从源码编译:
$ git clone https://github.com/Le0nsec/SecCrawler.git
$ cd SecCrawler
$ go build .
配置
SecCrawler 使用 YAML 格式的配置文件。首次使用时,可以使用 -init
参数生成默认配置文件:
$ ./SecCrawler -init
编辑生成的 config.yml
文件,设置爬取的网站和推送机器人相关配置。以下是配置文件模板注释:
# 设置Selenium使用的ChromeDriver路径,支持相对路径或绝对路径(如果不爬取先知社区可以不用设置)
ChromeDriver: ./chromedriver/linux64
Proxy:
ProxyUrl: http://127.0.0.1:7890 # 代理地址,支持http/https/socks协议
CrawlerProxyEnabled: false # 是否开启爬虫代理
BotProxyEnabled: false # 是否开启请求机器人代理
Cron:
enabled: false # 是否开启定时任务,开启后每天按照指定的时间爬取并推送
time: 11 # 设置定时任务每天整点爬取推送时间,范围 0 ~ 23(整数)
Api:
enabled: false # 是否开启API
debug: false # 是否开启Gin-DEBUG模式
host: 127.0.0.1
port: 8080
auth: auth_key_here # 请求api需要带上Authorization头
Crawler:
# 棱角社区
# https://forum.ywhack.com/forum-59-1.html
EdgeForum:
enabled: false
# 先知安全技术社区
# https://xz.aliyun.com/
XianZhi:
enabled: false
UseChromeDriver: true # 是否使用selenium调用浏览器爬取,设置为true需要指定ChromeDriver地址,为false需要指定没有反爬措施的自定义网址CustomRSSURL
CustomRSSURL: ""
# SeebugPaper