Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/docbleach/DocBleach
:shower: Sanitising your documents, one threat at a time. — Content Disarm & Reconstruction Software
https://github.com/docbleach/DocBleach
content-disarm-reconstruct java office pdf security security-tools threat
Last synced: 3 months ago
JSON representation
:shower: Sanitising your documents, one threat at a time. — Content Disarm & Reconstruction Software
- Host: GitHub
- URL: https://github.com/docbleach/DocBleach
- Owner: docbleach
- License: mit
- Archived: true
- Created: 2017-03-29T16:55:02.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-09-18T08:12:53.000Z (over 1 year ago)
- Last Synced: 2024-08-03T09:02:44.671Z (7 months ago)
- Topics: content-disarm-reconstruct, java, office, pdf, security, security-tools, threat
- Language: Java
- Homepage:
- Size: 385 KB
- Stars: 146
- Watchers: 12
- Forks: 34
- Open Issues: 42
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- venom - `DocBleach` - An open-source Content Disarm & Reconstruct software sanitizing Office, PDF and RTF Documents. (Analysis Tools)
README
![]()
DocBleach is an advanced Content Disarm and Reconstruction software.
Its objective is to remove misbehaving dynamic content from your Office
files, or everything that could be a threat to the safety of your computer.[![Build Status][travis_img]][travis_link]
Let's assume your job involves working with files from external sources, for
instance reading resumes from unknown applicants. You receive for example a .doc
file, your anti-virus doesn't detect it as harmful, and you decide to open it
anyway. You get infected.
You can use DocBleach to sanitize this document: chances are you don't get
infected, because the dynamic content isn't run.# Howto's
To build DocBleach, use Maven:
```bash
$ mvn clean package
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10.696 s
[INFO] Finished at: 2016-12-19T17:36:10+01:00
[INFO] Final Memory: 29M/234M
[INFO] ------------------------------------------------------------------------
```
The final jar is stored in `cli/target/docbleach.jar`.To use DocBleach, you may either use the [Web Interface][webI] or run it in CLI:
```bash
java -jar docbleach.jar -in unsafe_document.doc -out safe_doc.doc
```The input file may be a relative/absolute path, an URI (think: http:// link),
or a dash (`-`).The output file may be a relative/absolute path, or a dash (`-`).
If a dash is given, the input will be taken from stdin, and the output will be
sent to stdout.DocBleach's information (removed threats, errors, ...) are sent to stderr.
[Advanced usage][wiki-adv-usage]
## Get the sources
```bash
git clone https://github.com/docbleach/DocBleach.git
cd DocBleach
mvn install
# Import it as a Maven project in your favorite IDE
```You've developed a new cool feature ? Fixed an annoying bug ? We'd be happy
to hear from you !## Run the tests
The tests run with JUnit 5, which is perfectly integrated in Maven.
To run tests, just run `mvn test`. You should get something similar to this:```
[INFO] Scanning for projects...
...
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Dec 19, 2016 5:33:54 PM org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry loadTestEngines
INFO: Discovered TestEngines with IDs: [junit-jupiter]
Running org.docbleach.bleach.PdfBleachTest
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.246 sec - in org.docbleach.bleach.PdfBleachTest
Running org.docbleach.bleach.OLE2BleachTestResults :
Tests run: 13, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.252 s
[INFO] Finished at: 2016-12-19T17:33:55+01:00
[INFO] Final Memory: 19M/211M
[INFO] ------------------------------------------------------------------------
```BUILD SUCCESS confirms that all the tests were run successfuly.
# Related links
* [:wrench: How to Contribute][contribute]
* [:beetle: Reporting bugs][issues]
* [:gem: Download latest version][release-page]
* [:mag_right: Wiki][wiki]# Releases
The releases are available as Windows executables that don't depend on Java, thanks
to the Excelsior Jet technology.[](https://www.excelsiorjet.com/)
## License
See [LICENSE][license].
# Project Status
Don't expect the code base to change everyday, but feel free to contribute: new ideas are more than
welcome, and threats evolve - so should we.Some things would be awesome, though:
- Adding a way to configure bleaches
- Write tests!
- Writing more content to show and explain how the sanitation process works, why it works.
- Adding more stats![release-page]: https://github.com/docbleach/docbleach/releases
[webI]: https://github.com/docbleach/DocBleach-Web
[travis_img]: https://api.travis-ci.org/docbleach/DocBleach.svg?branch=master
[travis_link]: https://travis-ci.org/docbleach/DocBleach
[issues]: https://github.com/docbleach/DocBleach/issues
[contribute]: https://github.com/docbleach/DocBleach/blob/master/CONTRIBUTING.md
[license]: https://github.com/docbleach/DocBleach/blob/master/LICENSE
[wiki]: https://github.com/docbleach/DocBleach/wiki
[wiki-adv-usage]: https://github.com/docbleach/DocBleach/wiki/Advanced-usage