GitXplorerGitXplorer
g

envprotecc

public
6 stars
1 forks
4 issues

Commits

List of commits on branch master.
Unverified
9672eb791be4be1573b2ee9cfcbbd0f09bc29ce2

feat: removed unnecessary stub files

ggasharova committed 4 years ago
Verified
d098ba804dffdbb6c2c914477cc329c33daa96b6

Merge pull request #23 from angelinag/analyze-command

ggasharova committed 4 years ago
Unverified
5a88041961fe977587cc25458ca45f845a821e7b

feat: added protecc analyze command

SSaif807380 committed 4 years ago
Verified
8b066bb9281337ed161180442e857f51783134a6

Merge pull request #20 from angelinag/updating-init-command

ggasharova committed 4 years ago
Unverified
711ff48968ca2535d14a6ca99842ec054e7357e1

fix: added stub files

SSaif807380 committed 4 years ago
Unverified
d0422f43c8b9c649579d4b9137264794849af10e

fix: updated init command to generate stubs and .pyre_configuration

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.