{"id":17318806,"url":"https://github.com/amadejpapez/applsec","last_synced_at":"2025-04-14T16:14:10.037Z","repository":{"id":37966351,"uuid":"335716345","full_name":"amadejpapez/ApplSec","owner":"amadejpapez","description":"Twitter / Mastodon / BlueSky bot refreshing Apple Security Page, so you don't have to! New updates, number of bugs, zero-days, betas, and more! 🍎🔒","archived":false,"fork":false,"pushed_at":"2025-04-02T17:32:47.000Z","size":5389,"stargazers_count":16,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-14T16:13:58.479Z","etag":null,"topics":["apple","bluesky-bot","bot","mastodon-bot","python","twitter-bot"],"latest_commit_sha":null,"homepage":"https://infosec.exchange/@ApplSec","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amadejpapez.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2021-02-03T18:22:07.000Z","updated_at":"2025-03-31T19:41:38.000Z","dependencies_parsed_at":"2023-10-11T00:27:48.307Z","dependency_job_id":"62f60d6a-4b1f-4f41-a23b-f6f1ff05a9d4","html_url":"https://github.com/amadejpapez/ApplSec","commit_stats":null,"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amadejpapez%2FApplSec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amadejpapez%2FApplSec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amadejpapez%2FApplSec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amadejpapez%2FApplSec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amadejpapez","download_url":"https://codeload.github.com/amadejpapez/ApplSec/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248914115,"owners_count":21182359,"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":["apple","bluesky-bot","bot","mastodon-bot","python","twitter-bot"],"created_at":"2024-10-15T13:21:06.942Z","updated_at":"2025-04-14T16:14:10.011Z","avatar_url":"https://github.com/amadejpapez.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eApplSec\u003c/h1\u003e\n\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\u003cb\u003eRefreshing Apple Security Page, so you don't have to! 🍎 🔐\u003c/b\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"images/ApplSec.png\" width=150\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cb\u003eOn Twitter 🐥 \u003ca href=\"https://twitter.com/applsec\"\u003e@applsec\u003c/a\u003e since February 6, 2021\u003c/b\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cb\u003eOn Mastodon 🐘 \u003ca href=\"https://infosec.exchange/@applsec\"\u003e@applsec@infosec.exchange\u003c/a\u003e since November 5, 2022\u003c/b\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cb\u003eOn Bluesky 🦋 \u003ca href=\"https://bsky.app/profile/applsec.bsky.social\"\u003e@applsec.bsky.social\u003c/a\u003e since December 10, 2024\u003c/b\u003e\u003c/p\u003e\n\n\n\u003cbr\u003e\n\n## 📣 What does it post?\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"images/img1.jpg\" width=340\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"images/img2.jpg\" width=340\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"images/img3.jpg\" width=340\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"images/img4.jpg\" width=340\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"images/img5.jpg\" width=340\u003e\u003c/p\u003e\n\n\u003cbr\u003e\n\n## 🦾 How does it work?\n\nThe bot starts by checking the [Apple Security Updates](https://support.apple.com/en-us/100100) page for new releases. It visits their security content pages while gathering how many security issues (CVEs) were fixed in each release, checking for zero-days, and more.\n\nIf Apple says \"no details yet\", it will save the release internally and post that information is not available yet. It will continue to check any pending releases and make the post when security content is available with the information it contains.\n\nTo stay up to date with beta cycles, the bot is checking the RSS feed of the [Apple Developer Releases](https://developer.apple.com/news/releases) page.\n\nOnce the new releases are gathered, it arranges their data into a post or a thread as needed and sends it to the respective social media API.\n\nThe bot is checking for changes regularly, almost hourly. It stores posted releases internally, so it can avoid and ignore them. This internal system contains the last few zero-days as well, so it can recognize when a zero-day is new or if it's just an additional update for a different operating system.\n\nEvery midnight, the bot scans previous security content pages to find any added or updated entries since the original posting. For example, on January 19th, 2022, Apple modified 25 of such pages, adding and updating entries on releases all the way back to two years ago.\n\nThe bot is frequently updated as new ideas appear and to keep up with any changes to Apple's website.\n\n\u003cbr\u003e\n\n## ✨ Acknowledgements\n\n- __[requests](https://github.com/psf/requests)__, for communication with Twitter/Mastodon/Bluesky API and for requests to Apple's website\n- __[lxml](https://github.com/lxml/lxml)__, for simplified HTML processing\n- __GitHub Actions__, for running the bot ❤️\n\n\u003cbr\u003e\n\n\u003chr\u003e\n\n_Not affiliated with Apple Inc._\n\n_Apple, iCloud, watchOS, tvOS and macOS are trademarks of Apple Inc., registered in the U.S. and other countries and regions._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famadejpapez%2Fapplsec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famadejpapez%2Fapplsec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famadejpapez%2Fapplsec/lists"}