Closes #2112

📑 Description

This PR adds a new SNMP provider that enables Keep to receive and process SNMP traps from network devices, converting them into actionable Keep alerts.

Key Features Implemented:

  • Support for SNMPv1, SNMPv2c, and SNMPv3 protocols
  • Authentication and encryption for SNMPv3 (MD5/SHA auth, DES/AES privacy)
  • Automatic severity mapping for standard SNMP traps
  • Configurable listening address and port
  • Rich alert context with system information and trap variables
  • Comprehensive error handling and validation
  • Added pysnmp-lextudio dependency for SNMP protocol support
  • Complete documentation with usage examples

The provider automatically maps standard SNMP traps (coldStart, warmStart, linkDown, linkUp, authenticationFailure, etc.) to appropriate alert severities and extracts meaningful information like system name, uptime, and interface details.

✅ Checks

  • My pull request adheres to the code style of this project
  • My code requires changes to the documentation
  • I have updated the documentation as required
  • All the tests have passed

ℹ Additional Information

Dependencies Added:

  • pysnmp-lextudio = "^6.3.0" - Modern SNMP library for Python with asyncio support

Configuration Example:

# Basic SNMPv1/v2c setup
authentication:
listen_address: "0.0.0.0"
listen_port: 162
community_string: "public"
# Advanced SNMPv3 setup
authentication:
listen_address: "0.0.0.0"
listen_port: 162
community_string: "public"
security_name: "snmpuser"
auth_protocol: "SHA"
auth_key: "authpassword123"
priv_protocol: "AES"
priv_key: "privpassword123"

Testing:

The provider has been tested with various SNMP trap types and includes comprehensive error handling for production use. Test scripts are provided in the codebase for validation.

Breaking Changes:

None - this is a new provider addition that doesn’t affect existing functionality.

Files Added:

  • keep/providers/snmp_provider/snmp_provider.py - Main provider implementation
  • keep/providers/snmp_provider/init.py - Package initialization
  • keep/providers/snmp_provider/README.md - Comprehensive documentation

/claim #2112

Claim

Total prize pool $200
Total paid $0
Status Pending
Submitted July 23, 2025
Last updated July 23, 2025

Contributors

RI

Rishi Mondal

@MAVRICK-1

100%

Sponsors

KE

Keep (YC W23)

@keephq

$200