A comprehensive Python SNMP library supporting v1/v2c/v3 with authentication and privacy protocols
84
{
"context": "This criteria evaluates how effectively the engineer uses pysnmp's SNMPv3 User-based Security Model (USM) to implement authentication and privacy. The focus is on correct usage of USM configuration, authentication protocols, privacy protocols, and appropriate security level handling.",
"type": "weighted_checklist",
"checklist": [
{
"name": "UsmUserData usage",
"description": "Uses pysnmp's UsmUserData class to configure SNMPv3 user credentials with username, authentication, and privacy parameters",
"max_score": 20
},
{
"name": "Authentication protocols",
"description": "Correctly implements authentication protocol mapping using appropriate pysnmp authentication classes (usmHMACMD5AuthProtocol, usmHMACSHAAuthProtocol, usmHMACSHA224AuthProtocol, usmHMACSHA256AuthProtocol, usmHMACSHA384AuthProtocol, usmHMACSHA512AuthProtocol, or usmNoAuthProtocol)",
"max_score": 25
},
{
"name": "Privacy protocols",
"description": "Correctly implements privacy protocol mapping using appropriate pysnmp privacy classes (usmDESPrivProtocol, usm3DESEDEPrivProtocol, usmAesCfb128Protocol, usmAesCfb192Protocol, usmAesCfb256Protocol, or usmNoPrivProtocol)",
"max_score": 25
},
{
"name": "SNMP GET operation",
"description": "Uses pysnmp's getCmd or similar hlapi function to perform SNMPv3 GET operations with the configured USM credentials to retrieve the system description OID",
"max_score": 15
},
{
"name": "Security level handling",
"description": "Correctly handles different security levels (noAuthNoPriv, authNoPriv, authPriv) based on the combination of authentication and privacy protocols specified",
"max_score": 10
},
{
"name": "Error handling",
"description": "Properly handles and reports errorIndication values returned by pysnmp operations (e.g., authentication failures, timeouts, connection errors)",
"max_score": 5
}
]
}Install with Tessl CLI
npx tessl i tessl/pypi-pysnmpevals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10