Судя по всему, программисты Facebook очень любят пользоваться Pastebin в повседневной работе. Один из пользователей по имени Натан Малкольм (Nathan Malcolm) совершенно случайно при поиске технической информации в Google нашёл множество листингов с кодом, который предполагалось держать в секрете.
Из найденных случайно фрагментов — вывод командной строки с никами разработчиков Facebook, названиями служебных серверов, структурой директорий на служебных серверах, где лежат рабочие библиотеки. Дальнейший целенаправленный поиск дал ещё больше интересных результатов. Служебные логи Facebook показывают, какие программы разработчики используют для юнит-тестов (PHP Unit), какие у них системы контроля версий (Git, а также эксперименты с Mercurial).
Нашёлся и исходный код. Например, фрагмент файла flib/core/db/queryf.php.
Index: flib/core/db/queryf.php
===================================================================
--- flib/core/db/queryf.php
+++ flib/core/db/queryf.php
@@ -1104,11 +1104,12 @@
* @author rmcelroy
*/
function mysql_query_all($sql, $ok_sql, $conn, $params) {
+ FBTraceDB::rqsend($ok_sql);
switch (SQLQueryType::parse($sql)) {
case SQLQueryType::READ:
$t_start = microtime(true);
$result = mysql_query_read($ok_sql, $conn);
$t_end = microtime(true);
$t_delta = $t_end - $t_start;
if ($t_delta > ProfilingThresholds::$queryReadDuration) {
ProfilingThresholds::recordDurationError('mysql.queryReadDuration',
Это далеко не единственный фрагмент, найденный на Pastebin. Упорный Натан Малкольм нашёл даже пароль, предположительно принадлежащий Марку Цукербергу.
Host: 10.21.209.92 (Private IP)
Database Name: insights
User: mark
Password: e5p0nd4
Почему Цукербергу? Дело в том, что в юности он был членом еврейского братства Alpha Epsilon Pi, на их гербе был изображён девиз "ESPONDA". Впрочем, это может быть какой-то другой Марк из еврейского братства, мало ли таких.
Все найденные фрагменты кода можно скачать по ссылке facebook_source_code.zip (пароль: sintheticlabs.com).
По мнению экспертов, утечка фрагментов исходного кода несёт определённый риск для безопасности Facebook, поскольку в этом коде могут быть ошибки, которые злоумышленник захочет использовать. С другой стороны, это хороший шанс для нормальных хакеров найти баги и получить заслуженное вознаграждение, сообщив в Facebook.