Duck Apps
📈 Analytical overview of Telegram channel Duck Apps
Channel Duck Apps (@duck_detector) in the English language segment is an active participant. Currently, the community unites 16 868 subscribers, ranking 7 665 in the Technologies & Applications category.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 16 868 subscribers.
According to the latest data from 02 November, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 1 833 over the last 30 days and by 34 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 19.77%. Within the first 24 hours after publication, content typically collects 13.13% reactions from the total number of subscribers.
- Post reach: On average, each post receives 3 329 views. Within the first day, a publication typically gains 2 211 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 10.
- Thematic interests: Content is focused on key topics such as detector, duck, detection, vmp, fu*k.
📝 Description and content policy
Channel description not provided.
Thanks to the high frequency of updates (latest data received on 03 November, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
feat: attest release ZIPs and publish SPDX inventories Generate validated SPDX inventories from pinned application lockfiles, embedded components and delivered archive contents. Preserve Cargo source revisions and hashes, and gate missing dependency evidence or mismatched payloads.Author: eltavine Branch: main@8d6a247 GitHub Action: Open run Corresponding GPLv3 source
build(deps): bump @lucide/vue in /ui in the webui-minor group (#53) Bumps the webui-minor group in /ui with 1 update: [@lucide/vue](https://github.com/lucide-icons/lucide/tree/HEAD/packages/vue).Author: dependabot[bot] Branch: main@f4e23fc GitHub Action: Open run Corresponding GPLv3 source
fix: resolve Device Faker activation through root companion (#54) * fix: resolve Device Faker activation through root companionAuthor: SkyQiQiQwQ Branch: main@947bad2 GitHub Action: Open run Corresponding GPLv3 source
feat: embed community device presets Add 207 offline device presets with source provenance, model search, brand filtering and editable identity fields. Preserve missing values and show supplied fingerprint conflicts before loading a profile.Author: eltavine Branch: main@811649a GitHub Action: Open run Corresponding GPLv3 source
chore(deps): bump com.autonomousapps:dependency-analysis-gradle-plugin (#435)
Author: dependabot[bot]
Branch: main
Action: #275
Build duration: 8m 52s
Signature: verified by Eltavinefix: release Device Faker transaction locks explicitly End write and boot lock ownership when the transaction guard is dropped, even when a forked child retains an inherited descriptor. This prevents completed boot attempts from causing later recovery to return boot_in_progress.Author: eltavine Branch: main@55fb085 GitHub Action: Open run Corresponding GPLv3 source
fix: warn on undeclared dependency licenses during packaging Keep Device Faker and its pinned dependencies intact. Report recorded missing license declarations as a warning while retaining strict checks for malformed metadata, original notices, artifact hashes and corresponding source.Author: eltavine Branch: main@e01da3c GitHub Action: Open run Corresponding GPLv3 source Module ZIP size: 87.96 MiB. This exceeds Telegram Bot's 50 MB upload limit. Download the module from GitHub Releases instead. duck-toolbox-0.2.1-Stable-135-canary.zip
/proc/thread-self/attr/current 的 context 解析时序差异,借助 App Zygote 的 PROCESS__SETCURRENT 权限,向自身线程的 attr/current 写入两种长度相同的无效输入,分别记录内核拒绝写入所需的时间:
A:u:r:selinux_hide_probe_invalid:s0 B:\n:r:selinux_hide_probe_invalid:s0(首字节换成换行符)然后小潼在测试过程中发现,在 SELinux Hide OFF 的情况下,A 的耗 时通常小于 B,也就是 A-B < 0ns,但是当 SELinux Hide ON 的情况下,A-B > 0ns,出现了可以通过多次配对采样观察到的时序差异喵 小潼去看了下 AOSP 的 selinux_setprocattr源码点这里喵 和 context 解析源码点这里喵 这部分,发现 A 会进入 SID 转换,但是因为 type 查找失败提前返回 EINVAL,而 B 因为首字节是换行符,会跳过 context 转换,进入
prepare_creds,最后通过 abort_creds 返回 EINVAL 喵
问题就在于 #3877 修改后的 SELinux Hide 实现中,A 的 context 转换路径会执行两次 kmemdup_nul,同时还涉及备份策略与原始策略的解析,而 B 会直接跳过这些操作,小潼怀疑这些额外开销改变了 A/B 两条路径的相对耗时,从而产生了可观测的时序特征喵
相关检测实现已经放在 Duck Detector 里面了:检测实现点这里喵
KernelSU 这边的话,小潼后来也尝试修复了这个问题,提交了 #3936,在原本双策略交错解析的基础上,改成复用同一份 context 缓冲区,避免两次 kmemdup_nul() 带来的额外开销,同时修复了原始策略 context 校验的问题,并补充了 SID 同步在策略更新时的重试处理喵
目前 #3936 已经合并了喵,也就是说此前发现的这条时序侧信道路径已经有了对应的修复。不过时序侧信道本身比较依赖设备、内核以及调度环境,所以这里也不能直接认为所有设备上的时序差异都已经完全消失喵 T﹏T
最后也感谢 5ec1cff 佬的指导,以及参与讨论和修复的各位佬喵,谢谢你们喵~fix: validate Linux executables and preserve configuration draftsAuthor: eltavine Branch: main@f48b975 GitHub Action: Open run Corresponding GPLv3 source
