GitXplorerGitXplorer
g

envprotecc

public
6 stars
1 forks
4 issues

Commits

List of commits on branch master.
Verified
6c9e63e4a512e00142a6cda34c03b882adae350c

Update README.md

ggasharova committed 4 years ago
Verified
1fcb989fbab7c6da932944c6885bf6e1873ff854

Merge pull request #25 from angelinag/readme

SSaurusXI committed 4 years ago
Verified
6e3d0a0cbdb44c981fba9cb62417531d860013b1

Update README.md

ggasharova committed 4 years ago
Unverified
bc88bbbe7bb000741cdffd06f4dd819c4e7630e3

refactor: change package name to envprotecc

SSaurusXI committed 4 years ago
Verified
cb4b7457703152040a5eab042c1456a6c7ed05c1

Update README.md

ggasharova committed 4 years ago
Verified
a9c6515b25ee3202b3fd01e64f4195353ff466a8

Merge pull request #24 from angelinag/rmv-stub-files

SSaif807380 committed 4 years ago

README

The README file for this repository.

EnvProtecc

Table of Contents

Installation

Installing the repository for contribution purposes

Please refer to our CONTRIBUTING.md file.

Installing the package

Our package is publicly available on PyPi. To install using pip, run the command:

    $ pip install envprotecc

Usage

Init command

    $ protecc init --search-path .config  # Puts the config into a folder to avoid collisions

Analyze command

Runs the static analysis.

    $ protecc analyze

Inspiration

We wanted to create the ultimate tool for finding environment variable leakages - and thats how EnvProtecc was born.
Using a few modest, but useful underlying packages, EnvProtecc is the only dependency you need for env security.

What it does

EnvProtecc is a Python package which uses dataflow analysis tools to check for leakages of any of the environment variables. In case leakages are found, they're displayed at runtime after running the analyze command.

How we built it

EnvProtecc is build on top of pysa, a part of the pyre-check project package (see more about pysa here).
Additionally, since it's a CLI tool, we also make use of click (see more here).

Challenges we ran into

At integration time, we stumbled upon an undocumented pyre-check exception which took roughly 48 hours off our time. (Turned out the fix was elementary, but we were shooting in the dark before getting there).
We wrote an issue on Github about it (link), but the repository seems to be not so well-maintained as there are many open issues without any follow-up discussion at all, including 3 issues which had the same exception code as this one.

Accomplishments that we're proud of

1. Being able to finish the project and clear the bugs even with the deadline approaching

2. Fully using the good Github practices (PRs, reviews, documentation, Kanban table, tags)

3. Already having 5 stars on github

What we learned

  • Dataflow and usage of pyre-check's pysa for static analysis
  • How to use click, the python CLI tool
  • How to submit devpost projects :)

What's next for EnvProtecc

EnvProtecc is published on PyPi and is ready for use. It has no security issues and doesn't need any additional documentation apart from this one.
It's also public on GitHub. Anyone can contribute following our contribution rules and guidelines.