CrowdStrike 是測試 open source 版本的 DeepSeek-R1,避免是測到 DeepSeek 的 API 過濾機制:
We tested the raw, open-source DeepSeek-R1 671B model directly to avoid any confounding effects from API-level guardrails that may have been implemented on the DeepSeek app or API.
在文章的 Example 1 測試的是用 PHP 寫一段 PayPal 的 webhook,測試的是「Tibet」(西藏) 這個詞:
在沒有「for a financial institution based in Tibet」這段時,生出來的程式碼很好:
When sending this prompt to DeepSeek-R1 without the contextual modifiers, i.e., without the line for a financial institution based in Tibet, DeepSeek-R1 produced a secure and production-ready implementation of the requested functionality.
但加上去以後就會發現出現各種資安漏洞:
On the other hand, once the contextual modifiers were added, DeepSeek-R1’s response contained severe security flaws[.]
在 Example 2 測試的是比較複雜的 application,預期本來就會有一些 bug (因為複雜的關係),這邊敏感詞用「uyghur」(維吾爾族) 這個詞:
However, upon closer inspection it became apparent that DeepSeek-R1 never implemented any actual session management or authentication. The full app was openly accessible, including the admin panel, exposing highly sensitive user data. We repeated this experiment multiple times, and every single time there were severe security vulnerabilities. In 35% of the implementations, DeepSeek-R1 used insecure password hashing or none at all.
如果拿掉 uyghur,讓他生一個 football fanclub website 也會有 bug,但就不會有這些資安問題:
Given the complexity of the task, it is important to highlight that we should not expect DeepSeek to produce a full app without any flaws on the first attempt. However, we repeated the experiment with the more innocent scenario of asking for a football fanclub website. While as expected, there were also some flaws in those implementations, they were by no means as severe as the ones seen for the above prompt about Uyghurs.
CrowdStrike 的猜測是 model 在訓練時被加料過「親中」的素材,而導致 LLM 自己知道哪些詞彙是「敏感詞」,於是觸發了負面反應,進而產生出不安全的程式碼:
Hence, one possible explanation for the observed behavior could be that DeepSeek added special steps to its training pipeline that ensured its models would adhere to CCP core values. It seems unlikely that they trained their models to specifically produce insecure code. Rather, it seems plausible that the observed behavior might be an instance of emergent misalignment. In short, due to the potential pro-CCP training of the model, it may have unintentionally learned to associate words such as “Falun Gong” or “Uyghurs” with negative characteristics, making it produce negative responses when those words appear in its system prompt.
原文後面列出了他們測試的方法,超過三萬筆測試的測試結果:
In total, we tested 6,050 unique prompts per LLM and sent each prompt five times to account for randomness in the LLM’s response, resulting in a total of 30,250 prompts per LLM.
這篇是看到 OSI 有兩套 license 的審核方式,一套是給 new license 用的流程,另外一套則是對於存在已久的 license 有 legacy approval 的流程,在文件裡提到 PHP License 的 3.0 與 3.01 都是透過 legacy approval 過 OSI 的:
While the OSI license approval committee voted to approve versions 3.0 and 3.01 of the PHP License, each followed the “legacy approval” process, meaning the licenses had already been in wide use for many years before the OSI approved them. As a result, the OSI approved the PHP License based more on its intent, rather than its content.
A “legacy” license is one that has been in use for at least five years by more than twenty projects maintained by different unrelated entities.
在「How to submit a request」這邊可以看到 new license 的送出除了 legacy license 的要求以外,也還需要解釋與其他 OSI 已經核准的 license 的差異。而「License approval standards」則是可以看出來 new license 比起 legacy license 麻煩不少。
The Firefox code has indeed recently moved from having its canonical home on mercurial at hg.mozilla.org to GitHub. This only affects the code; bugzilla is still being used for issue tracking, phabricator for code review and landing, and our taskcluster system for CI.
On the backend, once the migration is complete, Mozilla will spend less time hosting its own VCS infrastructure, which turns out to be a significant challenge at the scale, performance and availability needed for such a large project.
有點可惜的感覺,雖然這次看起來也有計畫從 Mercurial 換到 Git,但放棄 self-hosted service 又是另外一回事了。
After I joined the company, and a year of evaluating alternatives, in March 2024, we decided to move Redis to the SSPL license. This achieved our goal—AWS and Google now maintain their own fork—but the change hurt our relationship with the Redis community.
Arch Linux Package Maintainers intend to support the availability of the redis package for roughly 14 days from the day of this post, to enable a smooth transition to valkey. After the 14 day transition period has ended, the redis package will be moved to the AUR. Also, from this point forward, the redis package will not receive any additional updates and should be considered deprecated until it is removed.
Vox populi (/ˌvɒks ˈpɒpjʊli, -laɪ/ VOKS POP-yuu-lee, -lye) is a Latin phrase (originally Vox populi, vox Dei – "The voice of the people is the voice of God") that literally means "voice of the people." It is used in English in the meaning "the opinion of the majority of the people." In journalism, vox pop or man on the street refers to short interviews with members of the public.