DNS和邮件安全扫描服务

BasicSec MCP Server 是一个提供DNS和电子邮件安全扫描功能的服务器,支持批量处理和多种扫描模式,适用于AI助手集成和自动化安全分析。

  • by marlinkcyber
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 marlinkcyber/basicsec-mcp

使用说明

BasicSec MCP服务器

一种模型上下文协议(MCP)服务器,使用 基本安全 图书馆。

特性

  • MCP集成:为AI助手提供完整的模型上下文协议支持
  • DNS安全分析:SPF、DMARC、DNSSEC验证
  • 电子邮件安全检查:MX记录分析和SMTP测试
  • 批处理:高效扫描多个域
  • 被动和主动模式:在仅DNS或完整SMTP测试之间进行选择
  • 性能优化:设计用于在MCP超时限制内工作

安装

pip install basicsec-mcp

MCP服务器使用情况

运行服务器

basicsec-mcp

服务器将启动并监听默认接口上的MCP连接。

MCP工具可用

服务器提供以下MCP工具:

域扫描工具

  • passive_scan(domain, dns_timeout=5.0) -仅DNS安全扫描
  • active_scan(domain, dns_timeout=5.0, smtp_timeout=3.0, smtp_ports=[25,465,587]) -带SMTP测试的完整扫描
  • scan_multiple_domains(domains, scan_type="active", dns_timeout=3.0, smtp_timeout=2.0) -批量域扫描
  • quick_domain_check(domains, check_types=["live","mx","spf","dmarc"]) -快速批量检查

个人记录工具

  • get_mx_records(domain, timeout=5.0) -获取MX记录
  • get_spf_record(domain, timeout=5.0) -获取并验证SPF记录
  • get_dmarc_record(domain, timeout=5.0) -获取并验证DMARC记录
  • check_dnssec_status(domain, timeout=5.0) -检查DNSSEC状态
  • validate_dnssec_chain(domain, timeout=5.0) -验证DNSSEC信任链
  • test_smtp_connection(hostname, port=25, timeout=3.0) -测试SMTP连接

Claude桌面集成

添加到您的Claude Desktop配置中:

{
  "mcpServers": {
    "basicsec": {
      "command": "basicsec-mcp",
      "args": []
    }
  }
}

或者使用uvx:

{
  "mcpServers": {
    "basicsec": {
      "command": "uvx",
      "args": ["--refresh","basicsec-mcp"]
    }
  }
}

使用示例

通过MCP连接后,您可以通过AI助手使用这些工具:

"Scan example.com for email security issues"
-> Uses passive_scan() or active_scan()

"Check SPF and DMARC records for google.com"
-> Uses get_spf_record() and get_dmarc_record()

"Test SMTP connectivity for mail.example.com"
-> Uses test_smtp_connection()

"Quick check these domains: example.com, google.com, github.com"
-> Uses quick_domain_check()

已执行安全检查

DNS记录

  • MX记录:邮件服务器配置
  • SPF记录:发件人策略框架验证
  • DMARC 记录:基于域的消息身份验证
  • 域名系统安全扩展:DNS安全扩展状态和链验证

SMTP测试(活动扫描)

  • 连接测试:验证邮件服务器的可访问性
  • STARTTLS支持:检查加密能力
  • 多个端口:测试常用SMTP端口(25、465、587)

性能注意事项

MCP服务器针对响应性进行了优化:

  • 超时管理:减少批处理操作的超时时间
  • 域限制:批量大小的自动限制
  • 快速检查:最少的DNS查找可快速获得结果
  • 错误处理:故障时的优雅降级

配置

环境变量

  • BASICSEC_MCP_LOG_LEVEL:设置日志记录级别(调试、信息、警告、错误)
  • BASICSEC_MCP_DNS_TIMEOUT:默认DNS超时(秒)
  • BASICSEC_MCP_SMTP_TIMEOUT:默认SMTP超时时间(秒)

程序化使用

您还可以直接使用服务器组件:

from basicsec_mcp.server import passive_scan, active_scan

# Direct function calls
result = passive_scan("example.com")
print(f"SPF Valid: {result['spf_valid']}")

result = active_scan("example.com")
print(f"SMTP Working: {result['has_smtp_connection']}")

需求

  • Python 3.8+
  • 基本秒>=1.0.0
  • mcp>=1.0.0

发展

# Install development dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run server locally
python -m basicsec_mcp.server

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

安全考虑

此MCP服务器专为 仅用于防御安全分析:

✅ 允许的操作:

  • DNS记录查找
  • 标准SMTP协议测试
  • 公共安全记录验证

❌ 未执行:

  • 漏洞利用
  • 未经授权的访问尝试
  • 激进的扫描技术

始终确保您有扫描目标域的权限。

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 添加新功能的测试
  4. 确保MCP兼容性
  5. 提交拉取请求

相关项目