{"id":15057777,"url":"https://github.com/megamansec/ccbot","last_synced_at":"2025-04-13T05:45:41.707Z","repository":{"id":210138740,"uuid":"721243032","full_name":"MegaManSec/CCBot","owner":"MegaManSec","description":"Python3 script to periodically check and parse https://chromereleases.googleblog.com/ for any vulnerability announcements for Chrome/Chromium Desktop.","archived":false,"fork":false,"pushed_at":"2025-04-11T08:06:28.000Z","size":47,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-13T05:45:36.603Z","etag":null,"topics":["chromium","security"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MegaManSec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2023-11-20T16:43:21.000Z","updated_at":"2025-04-11T08:06:31.000Z","dependencies_parsed_at":"2023-12-04T19:44:40.590Z","dependency_job_id":"5c1231aa-b17f-481c-bae5-8c4b1936c655","html_url":"https://github.com/MegaManSec/CCBot","commit_stats":null,"previous_names":["megamansec/ccbot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MegaManSec%2FCCBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MegaManSec%2FCCBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MegaManSec%2FCCBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MegaManSec%2FCCBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MegaManSec","download_url":"https://codeload.github.com/MegaManSec/CCBot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248670518,"owners_count":21142901,"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","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":["chromium","security"],"created_at":"2024-09-24T22:11:42.513Z","updated_at":"2025-04-13T05:45:41.702Z","avatar_url":"https://github.com/MegaManSec.png","language":"Python","readme":"# Chrome Checker Bot\n\nChrome Checker Bot, also known as Chrome/Chromium Vulnerability Checker. This Python script monitors the Google Chrome release page for any announced vulnerabilities in Chrome/Chromium.\nIt utilizes the Google Chrome Releases RSS feed to fetch the latest updates and checks for security-related content. If security issues are detected, it sends a formatted message to a specified Slack channel using a webhook.\n\n## Prerequisites\n- Python 3.x\n- `feedparser` library (`pip install feedparser`)\n- `beautifulsoup4` library (`pip install beautifulsoup4`)\n- `requests` library (`pip install requests`)\n\n## Configuration\nBefore running the script, ensure you set up the following configurations in the script:\n\n- `SLACK_WEBHOOK`: Set your Slack webhook URL as an environment variable.\n- `RSS_URL`: Google Chrome Releases RSS feed URL.\n- `REFRESH_INTERVAL_SECONDS`: Time interval for checking updates in seconds.\n\n## Functionality\n\nThe script performs the following tasks:\n\n1. Fetches the latest entries from the Google Chrome Releases RSS feed.\n2. Filters entries based on specified tags (`Desktop Update`, `Stable updates`).\n3. Extracts security-related content from the entry's description or the linked URL.\n4. Formats and sends a Slack message if security issues are detected.\n\n## Slack Message Format\nThe Slack message includes the following information for each security issue:\n\n- **Timestamp**: Time of the release.\n- **URL**: Link to the release details.\n- **Security Issues**: List of security issues, including severity, CVE number, and description.\n\n## Notes\n- The script runs indefinitely, periodically checking for updates based on the refresh interval.\n- If a security-related article is found without specific CVEs, it still notifies Slack for manual verification.\n- The script employs regex patterns for extracting security content, adapting to potential variations in the HTML structure.\n\n## Manual Usage\n\nYou can run the script in your terminal with the following instructions.\n\n### Usage\n1. Set up a Python virtual environment and install the required libraries:\n\n    ```bash\n    python3 -m venv .\n    ./bin/pip install --upgrade pip\n    ./bin/pip install -r requirements.txt\n    ```\n\n2. Set up the Slack webhook URL as an environment variable:\n\n    ```bash\n    export SLACK_WEBHOOK_URL='your_slack_webhook_url'\n    ```\n\n3. Run the script:\n\n    ```bash\n    ./bin/python ccbot.py\n    ```\n## Installation\n\nA Debian-based installation script, [install.sh](install.sh), is provided. When run as root, this script:\n\n1. Creates (if necessary) a Python virtual environment in `/opt/ccbot`.\n2. Installs the required packages into that virtual environment.\n3. Copies **ccbot.py** to `/usr/local/bin/ccbot.py`.\n4. Installs and enables a systemd service (`/etc/systemd/system/ccbot.service`) that runs **ccbot** in the background.\n5. Configures logging to `/var/log/ccbot.log` and `/var/log/ccbot_error.log`.\n6. Sets up log rotation in `/etc/logrotate.d/ccbot`.\n\nYou may optionally pass a single argument to `install.sh` to define the `SLACK_WEBHOOK_URL` environment variable used by the script:\n\n```bash\nsudo ./install.sh \"https://hooks.slack.com/services/[...]\"\nccbot has been installed, the service is started, and log rotation is set up.\n```\n\nIf you don’t provide a URL, you can manually edit /etc/systemd/system/ccbot.service later to set or change the webhook URL.\n\n## License\nThis project is licensed under [GPL3.0](/LICENSE).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmegamansec%2Fccbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmegamansec%2Fccbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmegamansec%2Fccbot/lists"}