Skip to content

eralpsahin/unravel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unravel

Deanonymize anonymous posters on Piazza Q&A.




How does it work?

Unravel uses Piazza's API to deduce anonymous posters on Piazza classes. Keeping track of the class statistics, one can deduce the identity by just comparing two class statistics records taken before and after an anonymous post.

Unravel diffs two user statistics data of a given class. Each user in the first statistics gets compared with itself on the second statistics. If a difference is found, Unravel proceeds to diffing posts data of the class to find what was updated by the user.

It then prints out to stdout the change in posts data combined with the user info whose statistics were changed.

{'name': 'User 1', 'email': '[email protected]'} {'cid': 24, 'content': '<p>Create a follow up.</p>', 'diff_type': 'followup', 'time': '2019-08-11T16:06:50Z'}

Fields in the result

  • cid: the CID of the modified post.
  • Content: Text change made by the anonymous user.
  • time: Change time.
  • diff_type: Categorizes the change made by the anonymous user. Can be one of the following:
'post_add' # New post added.
's_answer' # Student answer added.
's_answer_update' # Student answer updated.
'followup' # Created new follow up discussion entry.
'feedback' # Created new reply to a follow up discussion.

Usage

python unravel.py -u piazza_username -p piazza_password -c piazza_class_id
  • For command-line argument descriptions: python unravel.py -h
Piazza Post Deanonymzer.

optional arguments:
  -h, --help   show this help message and exit

Piazza Authentication:
  -u email     Piazza account email
  -p password  Piazza account password
  -c class_id  Class id from piazza.com/class/{class_id}

This is a work in progress, definitely buggy, proof of concept application. Any feedback is appreciated!

Releases

No releases published

Packages

No packages published

Languages