Select the node and run:

1m_list = getAllExtraAttributes()
2print( m_list )


01import maya.cmds as cmds
02import maya.OpenMaya as OpenMaya
03 
04def getMObjectFromSelection():
05    m_selectionList = OpenMaya.MSelectionList()
06    OpenMaya.MGlobal.getActiveSelectionList( m_selectionList )
07    m_node = OpenMaya.MObject()
08    try:                         
09        m_selectionList.getDependNode( 0, m_node )
10        if ( m_node.isNull() ): return None
11    except:
12        return None
13    return m_node
14     
15def getAllExtraAttributes():
16    m_result = []
17    m_obj         = getMObjectFromSelection()
18    m_workMFnDep  = OpenMaya.MFnDependencyNode()
19    m_workMDagMod = OpenMaya.MDagModifier()
20    if ( m_obj ):
21        m_objFn    = OpenMaya.MFnDependencyNode()
22        m_objFn.setObject( m_obj ) # get function set from MObject
23        m_objRef = m_workMFnDep.create( m_objFn.typeName() ) # Create reference MObject of the given type
24        # -- get the list --   
25        m_result = getAttrListDifference( m_obj,m_objRef )
26        # --
27        m_workMDagMod.deleteNode( m_objRef ) # set node to delete
28        m_workMDagMod.doIt() # execute delete operation
29    return m_result
30         
31def getAttrListDifference( m_obj, m_objRef ):
32    m_objFn    = OpenMaya.MFnDependencyNode()
33    m_objRefFn = OpenMaya.MFnDependencyNode()
34    m_objFn.setObject( m_obj )
35    m_objRefFn.setObject( m_objRef )
36    m_result = []
37    if ( m_objFn.attributeCount() > m_objRefFn.attributeCount() ):
38        for i in range( m_objRefFn.attributeCount(), m_objFn.attributeCount()  ):
39            m_atrr = m_objFn.attribute(i)
40            m_fnAttr = OpenMaya.MFnAttribute( m_atrr )
41            m_result.append( m_fnAttr.name() )     
42    return m_result

How you can use it:

1m_list = getAllExtraAttributes()
2print( m_list )