{"id":31820475,"url":"https://github.com/gruz0/web3safe","last_synced_at":"2025-10-11T12:50:22.378Z","repository":{"id":239644723,"uuid":"798247613","full_name":"gruz0/web3safe","owner":"gruz0","description":"WIP: A set of tools to stay safe while working on Web3 projects","archived":false,"fork":false,"pushed_at":"2024-05-19T00:54:16.000Z","size":40,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-06-19T15:09:16.405Z","etag":null,"topics":["cli","degen","dotenv-parser","security-tools","shell-environment","web3","yaml-parser"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gruz0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-09T11:51:36.000Z","updated_at":"2024-05-19T00:53:28.000Z","dependencies_parsed_at":"2024-06-19T15:08:15.295Z","dependency_job_id":null,"html_url":"https://github.com/gruz0/web3safe","commit_stats":null,"previous_names":["gruz0/web3safe"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/gruz0/web3safe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gruz0%2Fweb3safe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gruz0%2Fweb3safe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gruz0%2Fweb3safe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gruz0%2Fweb3safe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gruz0","download_url":"https://codeload.github.com/gruz0/web3safe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gruz0%2Fweb3safe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279007193,"owners_count":26084249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","degen","dotenv-parser","security-tools","shell-environment","web3","yaml-parser"],"created_at":"2025-10-11T12:50:14.745Z","updated_at":"2025-10-11T12:50:22.362Z","avatar_url":"https://github.com/gruz0.png","language":"Go","readme":"# Web3Safe\n\nWeb3Safe is a set of command-line tools designed to protect your development\nenvironment by analyzing shell environment variables and .env (dotenv) files\nfor any sensitive information, such as `PRIVATE_KEY`, `MNEMONIC`, and many\nother variables that can be stolen by malware or degens.\n\n## Personal Story\n\nWeb3Safe was created from a personal experience that showed how important it\nis to keep our data safe while working on projects.\n\nLong story short: one day, I got a message on LinkedIn asking for help with a\nweb3 app. I was excited to help and started working on it right away.\n\nBut then something unexpected happened. The project had hidden obfuscated code\nthat secretly looked through all my files, including sensitive ones like .env\nfiles. Before I knew it, I lost access to my wallet and tokens.\n\nThat's why I made Web3Safe. It's a tool that helps developers like us keep our\nwork safe. With Web3Safe, you can check your computer for any problems with\nyour environment variables and make sure your projects stay secure.\n\n## Features\n\n- Analyzes shell environment variables for sensitive information.\n- Scans .env files for sensitive data such as passwords, API keys, and other confidential information.\n- Scans all keys in YAML files for sensitive data for sensitive information.\n- Provides customizable and extendable rules.\n- Supports exclusion of certain files from the analysis.\n\n## Getting Started\n\n### Installation\n\nWeb3Safe is a command-line tool written in Go. To install it, follow these steps:\n\n1. Clone the repository:\n   ```\n   git clone https://github.com/gruz0/web3safe.git\n   ```\n2. Build the apps:\n   ```\n   cd web3safe\n   make build\n   ```\n\n3. App will be placed inside `bin` directory:\n   ```\n   web3safe\n   ```\n\n### Docker\n\nTBD\n\n## Usage\n\n### Create a new configuration file\n\n```sh\nweb3safe config -create [-config \"/path/to/config.yml\"] [-force]\n```\n\n### Print the default config (or a given config) to your terminal\n\n```sh\nweb3safe config -print [-config \"/path/to/config.yml\"]\n```\n\n### Analyze shell ENV variables\n\nThis tool scans the current user's shell environment variables and display any\nsensitive information found.\n\n```sh\nweb3safe shellenv [-config \"/path/to/config.yml\"]\n```\n\nExample:\n\n```sh\n$ MNEMONIC=test web3safe shellenv\n\nShell ENV has a sensitive variable: MNEMONIC\n```\n\n### Analyze dotenv (.env) files\n\n```sh\nweb3safe dotenv [-config \"/path/to/config.yml\"]\n```\n\nYou can also customize the analysis by providing additional flags:\n\n- `-dir`: Path to the directory to scan\n- `-recursive`: If set, the directory will be scanned recursively\n- `-file`: Path to the file to scan\n\nExample:\n\n```sh\n$ web3safe dotenv -dir . -recursive\n\nsamples/.env:5: found sensitive variable MNEMONIC_WORDS\nsamples/.env:7: found sensitive variable private_key\nsamples/.env.export:1: found sensitive variable PRIVATE_KEY\nsamples/.env.export:2: found sensitive variable BINANCE_ACCOUNT_PRIVATE_KEY\n```\n\n### Analyze YAML files\n\n```sh\nweb3safe yaml [-config \"/path/to/config.yml\"]\n```\n\nYou can also customize the analysis by providing additional flags:\n\n- `-dir`: Path to the directory to scan\n- `-recursive`: If set, the directory will be scanned recursively\n- `-file`: Path to the file to scan\n\nExample:\n\n```sh\n$ web3safe yaml -dir . -recursive\n\nsamples/config.yml: found sensitive key \"PASSWORD\" in .nested.inside.PASSWORD\nsamples/config.yml: found sensitive key \"MNEMONIC\" in .nested.inside.MNEMONIC\nsamples/playbook.yml: found sensitive key \"password\" in [0].password\nsamples/playbook.yml: found sensitive key \"mnemonic\" in [0].env.mnemonic\n```\n\n## Contributing\n\nContributions to Web3Safe are welcome! If you encounter any bugs, issues, or\nhave suggestions for improvement, please open an issue on GitHub or submit a\npull request with your changes.\n\n## License\n\nWeb3Safe is licensed under the MIT License. Feel free to use, modify,\nand distribute the code for both commercial and non-commercial purposes.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgruz0%2Fweb3safe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgruz0%2Fweb3safe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgruz0%2Fweb3safe/lists"}