This University work consists of an in-depth study and a fully working privacy-oriented, open-source, lightweight browser extension that allows to verify Fake news' titles and AI synthetic images.
It is inspired by the earlier paper ConvNet frameworks for multi-modal fake news detection, which uses trusted sources and polarity analysis for fake news detection.
The study this work is based on is now available as a Paper https://link.springer.com/chapter/10.1007/978-3-031-73997-2_11
Thus
@raffaele-aurucci, @LukaszG92, @YuriBrandi.
Contributions are very much appreciated. Please well describe your changes inside your PR to make it easier to understand them.
If you encounter any problem or bug that is unrelated with your own machine, please report it and open a new issue with replicable steps.
Angelia consist of 4 main modules:
- A Sentiment Analysis module
- A Tokenization module
- A Title Extraction module
- A Reliability Evaluation module
- The extension extracts the title, and tokenizes it to facilitate News search via the API.
- Each result is filtered by hostname through a list of TNS (Trusted News Sites).
- The sentiment of the original title is compared to the one of the filtered news, this allows the polarity of news' titles to be compared.
The reliability evaluation module is in continuous development. At the moment, the polarity of each news is compared and a negativity score is given, which results in a textual outcome (e.g. Likely Fake, Trustable ...). When faced with negative-polarity comparisons, the extensions utilizes heuristics found in our studies, for instance it checks for words of disagreement such as "No, ..." Or "Fake ...".
The sentiment analysis module is powered by the Pyodide interpreter, customized and lightened to the bare minimum to offer a fast and serverless experience. All the libraries come already included in the extension and no external resource is fetched.
Finally, Angelia comes with an experimental functionality to detect AI synthetic images inside web pages. In this case the extension has 3 main modules:
- Image's Format Evaluation module
- Converter Image's Format module
- AI Image Detector module
- The extension extracts all images from the active HTML page and relative URLs.
- Executes a request for each image's URL using a free, no-log-policy Proxy.
- Each image format is checked by MIME type and sent via BLOB format to the SDXL Detector Model using the Hugging Face API.
- If the image format is invalid for classification, the extension draws it for rasterization into an HTML page using a canvas and converts all in image/png. Next it obtains a new BLOB from this new images and their URLs, ready to be sent to the Hugging Face model.
Note: False positives might sometimes occur, therefore please manually double-check an image before judging its authenticity.
Since it is still in an early stage development, at the moment Angelia is still not available in the Extensions store. But we plan to migrate to Manifest v3 and to port the work to Chromium browsers soon.
Simply Download the .zip in the Releases section, alternatively you can clone this repo.
Then:
-
The extensions uses the Brave Search API to look for news, please remember to insert a subscription token in
Angelia/angelia_extension/js/message_handler.js(line 18) to make the API calls work. Getting an API token is fairly simple and also free https://brave.com/search/api/. -
Angelia also uses the Hugging Face API to detect AI images inside news, please remember to insert a subscription token in
Angelia/angelia_extension/js/images_handler.js(line 79) to make the API calls work (you can skip this step if not interested in this feature) As for Brave, an Hugging Face API token is also free to get https://huggingface.co/docs/api-inference.
Please feel free to try implementing different APIs and let us know :).
Finally go to about:debugging in your Firefox (or Firefox-based) browser and add the extension from Angelia/angelia_extension/manifest.json.
This repository borrows partially from CNNDetection and GANImageDetection repositories.
This project is distributed under the GNU General Public License v3.




