Check that while Runtime.getProperties call on proxy object no user defined trap will be executed.
Testing regular Proxy
{
    id : <messageId>
    result : {
        result : {
            className : Object
            description : Proxy
            objectId : <objectId>
            preview : {
                description : Proxy
                overflow : false
                properties : [
                    [0] : {
                        name : a
                        type : number
                        value : 1
                    }
                ]
                subtype : proxy
                type : object
            }
            subtype : proxy
            type : object
        }
    }
}
{
    id : <messageId>
    result : {
        internalProperties : [
            [0] : {
                name : [[Handler]]
                value : {
                    className : Object
                    description : Object
                    objectId : <objectId>
                    type : object
                }
            }
            [1] : {
                name : [[Target]]
                value : {
                    className : Object
                    description : Object
                    objectId : <objectId>
                    type : object
                }
            }
            [2] : {
                name : [[IsRevoked]]
                value : {
                    type : boolean
                    value : false
                }
            }
            [3] : {
                name : [[StableObjectId]]
                value : <StablectObjectId>
            }
        ]
        result : [
        ]
    }
}
Testing revocable Proxy
{
    id : <messageId>
    result : {
        result : {
            className : Object
            description : Proxy
            objectId : <objectId>
            preview : {
                description : Proxy
                overflow : false
                properties : [
                    [0] : {
                        name : a
                        type : number
                        value : 1
                    }
                ]
                subtype : proxy
                type : object
            }
            subtype : proxy
            type : object
        }
    }
}
{
    id : <messageId>
    result : {
        internalProperties : [
            [0] : {
                name : [[Handler]]
                value : {
                    className : Object
                    description : Object
                    objectId : <objectId>
                    type : object
                }
            }
            [1] : {
                name : [[Target]]
                value : {
                    className : Object
                    description : Object
                    objectId : <objectId>
                    type : object
                }
            }
            [2] : {
                name : [[IsRevoked]]
                value : {
                    type : boolean
                    value : false
                }
            }
            [3] : {
                name : [[StableObjectId]]
                value : <StablectObjectId>
            }
        ]
        result : [
        ]
    }
}
{
    id : <messageId>
    result : {
        result : {
            className : Object
            description : Proxy
            objectId : <objectId>
            preview : {
                description : Proxy
                overflow : false
                properties : [
                ]
                subtype : proxy
                type : object
            }
            subtype : proxy
            type : object
        }
    }
}
{
    id : <messageId>
    result : {
        internalProperties : [
            [0] : {
                name : [[Handler]]
                value : {
                    subtype : null
                    type : object
                    value : null
                }
            }
            [1] : {
                name : [[Target]]
                value : {
                    subtype : null
                    type : object
                    value : null
                }
            }
            [2] : {
                name : [[IsRevoked]]
                value : {
                    type : boolean
                    value : true
                }
            }
            [3] : {
                name : [[StableObjectId]]
                value : <StablectObjectId>
            }
        ]
        result : [
        ]
    }
}
Checking counter
{
    id : <messageId>
    result : {
        result : {
            description : 0
            type : number
            value : 0
        }
    }
}
