QA視角看數(shù)據(jù)匿名化

本文首發(fā)于【林子的空間


數(shù)據(jù)匿名化哥捕,是數(shù)據(jù)安全相關(guān)的實(shí)踐。目前從網(wǎng)上能找到的內(nèi)容主要是關(guān)于匿名化的實(shí)現(xiàn)技術(shù)。最近万俗,筆者在項(xiàng)目中以QA和用戶的雙重身份接觸到了數(shù)據(jù)匿名化卤妒,決定跟大家分享一下這段經(jīng)歷帽揪,從QA的視角來聊聊數(shù)據(jù)匿名化弥鹦。

數(shù)據(jù)匿名化及其實(shí)現(xiàn)概述

在聊項(xiàng)目經(jīng)歷之前蕾哟,還是有必要大概介紹一下數(shù)據(jù)匿名化。

數(shù)據(jù)匿名化是指從數(shù)據(jù)集中將個(gè)人身份信息(Personal Identification Information, PII)清除/脫敏沪斟,讓人無法識(shí)別數(shù)據(jù)所描述/關(guān)聯(lián)的主體支示,以實(shí)現(xiàn)保護(hù)隱私的目的刊橘。

很多場景下需要使用和處理生產(chǎn)環(huán)境的真實(shí)數(shù)據(jù),比如:以測試颂鸿、培訓(xùn)促绵、數(shù)據(jù)對(duì)外發(fā)布、數(shù)據(jù)分析等為目的的場景嘴纺。但生產(chǎn)環(huán)境的真實(shí)數(shù)據(jù)包含個(gè)人身份信息败晴,由于隱私保護(hù)需要,不能直接使用栽渴。這個(gè)時(shí)候數(shù)據(jù)匿名化很有必要位衩。

實(shí)現(xiàn)數(shù)據(jù)匿名化的操作(參考Wikipedia)常見的有五種類型:泛化(Generalization),抑制(Suppression)熔萧,解剖(Anatomization)糖驴,置換(Permutation)和擾動(dòng)(Perturbation)。具體的實(shí)現(xiàn)技術(shù)細(xì)節(jié)不是QA視角關(guān)注的重點(diǎn)佛致,本文不做展開贮缕,對(duì)此感興趣的朋友請(qǐng)自行研究學(xué)習(xí)。下表列舉一些簡單的數(shù)據(jù)匿名化例子:

數(shù)據(jù)匿名化方法 方法詳情 方法示例
取整 數(shù)值或日期數(shù)據(jù)的取整 15:25:25 => 15:00:00
屏蔽 屏蔽部分?jǐn)?shù)據(jù)俺榆,如電話號(hào)碼感昼、身份證號(hào)碼等 187****1234
截?cái)?/td> 數(shù)據(jù)部分截?cái)?/td> 0086-10-88888888 => 0086-10
替換 使用替換表對(duì)敏感數(shù)據(jù)進(jìn)行替換 IBM=>1, HP=>2, MS=>3
哈希 將數(shù)據(jù)映射為固定長度的字符串 IBM=>a23d, HP=>1fc2
重排 將數(shù)據(jù)庫的某一列值進(jìn)行重排 81,87,85 => 87,85,81
保留格式加密(FPE) 明文和密文格式不變 18712345678 => 18587654321

數(shù)據(jù)匿名化后需要關(guān)注以下幾個(gè)方面:

  1. 安全性:之所以要將數(shù)據(jù)匿名化,為的就是保護(hù)個(gè)人隱私罐脊,是從數(shù)據(jù)安全性角度考慮的定嗓。因此,安全性是數(shù)據(jù)匿名化后需要著重考慮的關(guān)鍵點(diǎn)萍桌。
  2. 可用性:數(shù)據(jù)匿名化肯定是有其目的用途的宵溅,不管是應(yīng)用于前面提到的哪個(gè)場景,都需要保證匿名化后的數(shù)據(jù)是滿足需求的上炎,也就是數(shù)據(jù)可用性恃逻。
  3. 可用性和安全性的平衡:如果數(shù)據(jù)匿名化做的很徹底,完全識(shí)別不出原來數(shù)據(jù)的面目藕施,定會(huì)影響到數(shù)據(jù)的可用性寇损,因此,可用性和安全性是相互制衡的兩個(gè)方面裳食,唯有根據(jù)實(shí)際需求保持好兩者的平衡才能真正發(fā)揮作用矛市。

數(shù)據(jù)匿名化的項(xiàng)目實(shí)踐

這不是一個(gè)大數(shù)據(jù)項(xiàng)目,數(shù)據(jù)分析(雖有必要但)不是重點(diǎn)诲祸;這是一個(gè)普通的企業(yè)管理系統(tǒng)和用戶系統(tǒng)浊吏,有著大量的用戶數(shù)據(jù)憨愉,而且數(shù)據(jù)機(jī)密程度要求比較高。下面來看為什么要在項(xiàng)目內(nèi)做數(shù)據(jù)匿名化卿捎,以及項(xiàng)目的數(shù)據(jù)匿名化是怎么做的配紫、有哪些坑。

項(xiàng)目痛點(diǎn)驅(qū)動(dòng)數(shù)據(jù)匿名化

1 - 項(xiàng)目痛點(diǎn)

生產(chǎn)環(huán)境缺陷較多是困擾客戶和開發(fā)團(tuán)隊(duì)的問題午阵,是項(xiàng)目迫切需要解決的痛點(diǎn)躺孝。

生產(chǎn)環(huán)境數(shù)據(jù)機(jī)密性要求較高,數(shù)據(jù)可訪問權(quán)限受限底桂,測試環(huán)境的數(shù)據(jù)量和復(fù)雜度都無法和生產(chǎn)環(huán)境相比植袍。這種環(huán)境數(shù)據(jù)的差異性使得生產(chǎn)環(huán)境缺陷的診斷定位非常困難,也很難在測試環(huán)境提前發(fā)現(xiàn)可能引起的生產(chǎn)環(huán)境問題籽懦。雖然從缺陷分析于个、缺陷響應(yīng)機(jī)制、增加日志監(jiān)控等方面做了很多工作暮顺,但還是會(huì)有很多缺陷在生產(chǎn)環(huán)境出現(xiàn)厅篓,而且總會(huì)冒出一些稀奇古怪的新的缺陷類型來。

于是捶码,團(tuán)隊(duì)跟客戶討論最終決定采用數(shù)據(jù)匿名化技術(shù)將生產(chǎn)環(huán)境數(shù)據(jù)匿名化后用于測試羽氮,以盡早暴露生產(chǎn)環(huán)境問題,同時(shí)幫助更方便生產(chǎn)環(huán)境問題的診斷定位惫恼。

項(xiàng)目的數(shù)據(jù)匿名化流程

項(xiàng)目的數(shù)據(jù)匿名化實(shí)踐主要經(jīng)歷以下四個(gè)階段:分析設(shè)計(jì)档押、落地實(shí)施、測試確認(rèn)和交付使用祈纯。

這里主要是為了方便描述令宿,分成了四個(gè)看似獨(dú)立的階段,其實(shí)每個(gè)階段之間的分界線不是那么清晰的腕窥,實(shí)際操作過程中有反復(fù)和疊加的情況存在粒没,如下圖中虛線所示。例如:在落地實(shí)施階段發(fā)現(xiàn)有些分析做的不夠或者設(shè)計(jì)不合理油昂,需要返回重新分析和設(shè)計(jì)革娄;在測試確認(rèn)階段發(fā)現(xiàn)有的數(shù)據(jù)匿名化有問題,需要返回重走實(shí)施流程執(zhí)行優(yōu)化的匿名化方案等冕碟。

2 - 數(shù)據(jù)匿名化實(shí)踐流程

1. 分析設(shè)計(jì)

要實(shí)現(xiàn)數(shù)據(jù)匿名化首先要搞清楚需要脫敏的數(shù)據(jù),以及如何對(duì)數(shù)據(jù)進(jìn)行脫敏匆浙,這就是對(duì)應(yīng)到分析設(shè)計(jì)階段的兩個(gè)主要任務(wù):定義PII信息和制定數(shù)據(jù)匿名化策略安寺。這部分由業(yè)務(wù)、開發(fā)和測試等多個(gè)角色合作完成首尼。

定義PII信息

定義PII信息主要是根據(jù)業(yè)務(wù)需求分析出系統(tǒng)中的哪些數(shù)據(jù)是不能對(duì)外公開需要脫敏的挑庶,以確定數(shù)據(jù)脫敏的范圍言秸。常見的PII信息可能有:個(gè)人身份信息(姓名、身份證號(hào)迎捺、電話號(hào)碼举畸、職業(yè)、薪水等)凳枝、部門信息抄沮、簽署的協(xié)議內(nèi)容等。

除了基本的個(gè)人信息外岖瑰,不同的業(yè)務(wù)領(lǐng)域或客戶對(duì)機(jī)密信息的定義也會(huì)有區(qū)別叛买。數(shù)據(jù)脫敏范圍一定要根據(jù)具體的業(yè)務(wù)需求來確定。

制定數(shù)據(jù)匿名化策略

確定了脫敏范圍蹋订,接下來就是確定詳細(xì)的脫敏方式率挣,選擇合適的工具,也就是制定數(shù)據(jù)匿名化策略露戒。

首先是工具選型椒功。項(xiàng)目選擇的是Tonic,之所以選擇這個(gè)工具很大部分原因是客戶提出來的智什,當(dāng)然這個(gè)工具也是很強(qiáng)大的蛾茉。作為QA,并沒有親密接觸到這個(gè)工具撩鹿,在此也就不多展開谦炬,更多關(guān)于工具的詳情,請(qǐng)自行研究對(duì)比节沦。

然后是根據(jù)工具以及系統(tǒng)PII數(shù)據(jù)的存儲(chǔ)特點(diǎn)键思,確定最終可以實(shí)現(xiàn)脫敏的數(shù)據(jù)范圍。比如甫贯,項(xiàng)目中的不同類數(shù)據(jù)有不同的方案:

  • 直接以數(shù)值形式存儲(chǔ)在DB里的PII數(shù)據(jù)吼鳞,可以對(duì)其進(jìn)行脫敏,實(shí)現(xiàn)匿名化叫搁;
  • 以文件形式存儲(chǔ)的協(xié)議赔桌、報(bào)告等數(shù)據(jù),都是只讀的PDF格式渴逻,這種數(shù)據(jù)難以脫敏疾党,只能放棄這些文件數(shù)據(jù),不進(jìn)行導(dǎo)入惨奕;
  • 用戶登錄認(rèn)證相關(guān)數(shù)據(jù)雪位,脫敏成本較高,采用Mock的方式梨撞,讓用戶仍然能夠登錄系統(tǒng)進(jìn)行使用雹洗。

進(jìn)行數(shù)據(jù)脫敏還要注意不同類型的數(shù)據(jù)一般會(huì)有不同的脫敏方式香罐,比如:人名的脫敏有專門的詞庫,脫敏后看起來還是人名的樣子时肿;而有些固定格式的字段庇茫,像身份證號(hào)、電話號(hào)碼螃成、車牌號(hào)這些脫敏后雖然數(shù)值變了旦签,格式還需要保留原樣。因此锈颗,對(duì)于每一個(gè)不同的數(shù)據(jù)字段都要設(shè)定好詳細(xì)的脫敏策略顷霹。

2. 落地實(shí)施

制定好詳細(xì)的數(shù)據(jù)匿名化策略,接下來就是利用工具實(shí)現(xiàn)脫敏了击吱,這部分由專門負(fù)責(zé)的開發(fā)人員來完成淋淀。下面根據(jù)項(xiàng)目經(jīng)歷,分享落地實(shí)施的執(zhí)行流程和踩過的坑覆醇。

3 - 數(shù)據(jù)匿名化的實(shí)施

流程

數(shù)據(jù)匿名化的具體實(shí)施經(jīng)歷了以下幾個(gè)步驟:

  • 數(shù)據(jù)分析:確定 DB 涉及表單的范圍朵纷,識(shí)別 PII 數(shù)據(jù)存儲(chǔ)列,分析數(shù)據(jù)關(guān)聯(lián)并確認(rèn)外鍵關(guān)聯(lián)列永脓、enum 存儲(chǔ)列等核心關(guān)系列袍辞。
  • 數(shù)據(jù)生成:采用工具Tonic,與 Tonic 支持團(tuán)隊(duì)合作常摧,根據(jù)不同列的脫敏方案進(jìn)行脫敏搅吁,生成新的匿名化數(shù)據(jù)。
  • 環(huán)境搭建:這些匿名化后的數(shù)據(jù)是用于測試環(huán)境的落午,但不是直接導(dǎo)入測試環(huán)境谎懦,需要驗(yàn)證可用之后才能切換到測試環(huán)境。因此溃斋,需要的單獨(dú)搭建一套測試環(huán)境用來導(dǎo)入脫敏后的數(shù)據(jù)界拦。本步驟實(shí)現(xiàn)環(huán)境基礎(chǔ)設(shè)施搭建,安裝配置所有第三方支持組件梗劫。
  • 數(shù)據(jù)導(dǎo)入:在新搭建的環(huán)境導(dǎo)入 Tonic 生成的數(shù)據(jù)享甸,簡單驗(yàn)證保證系統(tǒng)正常運(yùn)行起來,后續(xù)再交給QA團(tuán)隊(duì)來做進(jìn)一步的測試確認(rèn)梳侨。

注意:這里的數(shù)據(jù)分析跟前面分析設(shè)計(jì)階段的分析師不同的蛉威,分析設(shè)計(jì)階段是從業(yè)務(wù)上對(duì)PII數(shù)據(jù)的分析確認(rèn),在實(shí)施階段是對(duì)數(shù)據(jù)庫表里存儲(chǔ)的實(shí)際數(shù)據(jù)進(jìn)行分析猫妙。

難點(diǎn)

在數(shù)據(jù)匿名化實(shí)施過程中踩到了一些坑瓷翻,在此也跟大家分享一下:

  • 潛在數(shù)據(jù)關(guān)系錯(cuò)綜復(fù)雜,有些未被提前識(shí)別割坠,導(dǎo)致生成的數(shù)據(jù)不可用齐帚;
  • 為了保證導(dǎo)入數(shù)據(jù)正常工作,需要Mock不能實(shí)現(xiàn)匿名化的用戶登錄認(rèn)證系統(tǒng)彼哼,這是一個(gè)難點(diǎn)对妄;
  • 系統(tǒng)存在大量的事件(Event),基于導(dǎo)入數(shù)據(jù)重新生成Event也比較麻煩敢朱;
  • 匿名化后導(dǎo)致有不少跟環(huán)境配置相關(guān)的數(shù)據(jù)需要修復(fù)剪菱。

3. 測試確認(rèn)

測試確認(rèn)是QA主要參與的階段,對(duì)脫敏后生成的數(shù)據(jù)的測試主要從安全性和可用性兩個(gè)方面進(jìn)行測試確認(rèn)拴签。

4 - 數(shù)據(jù)匿名化的測試

安全性

首先要保障的是數(shù)據(jù)的安全性孝常,也就是需要滿足數(shù)據(jù)不能被識(shí)別,測試過程中主要關(guān)注以下幾個(gè)方面:

  • 確認(rèn)分析階段確認(rèn)需要脫敏的數(shù)據(jù)是否都已經(jīng)脫敏蚓哩,或者已經(jīng)通過Mock的方式處理构灸。
  • 是否有分析過程中漏掉的同樣需要脫敏但沒有脫敏的信息,對(duì)于這樣的數(shù)據(jù)需要再次進(jìn)行脫敏岸梨。
  • 對(duì)于已經(jīng)脫敏的數(shù)據(jù)是否有猜測出真實(shí)信息的可能喜颁,通過系列數(shù)據(jù)的關(guān)聯(lián)、對(duì)比等方式曹阔。
  • 可用性和安全性沒法兩全半开,需要作出取舍,對(duì)于那些為了保證可用性而沒法脫敏的數(shù)據(jù)是否有從訪問控制的角度保障一定的安全性赃份。比如:只能有限的用戶可以訪問寂拆,并且需要在內(nèi)網(wǎng)才能訪問等。

可用性

可用性主要是通過測試系統(tǒng)功能來確認(rèn)抓韩,這跟平常的功能測試差異不大纠永,不過可以重點(diǎn)關(guān)注以下幾個(gè)方面:

  • 系統(tǒng)各個(gè)功能模塊的連通性、與外部系統(tǒng)的連通性园蝠,通過驗(yàn)證已有數(shù)據(jù)和新增數(shù)據(jù)是否都能工作正常渺蒿。
  • 脫敏后的數(shù)據(jù)是否有問題,比如類型錯(cuò)誤可能導(dǎo)致數(shù)據(jù)存儲(chǔ)被破壞而不能通過數(shù)據(jù)校驗(yàn)等彪薛。我們?cè)趯?shí)踐過程中就發(fā)現(xiàn)有date類型的數(shù)據(jù)不小心給脫敏成了string類型茂装,導(dǎo)致存儲(chǔ)失敗。
  • 數(shù)據(jù)唯一性保障善延,確保不會(huì)有重復(fù)數(shù)據(jù)影響功能使用少态。舉例說明,系統(tǒng)有個(gè)功能需要存儲(chǔ)客戶的短名稱易遣,脫敏過程中實(shí)現(xiàn)方式是用前三個(gè)字母彼妻,假設(shè)有幾個(gè)客戶名字分別被脫敏為:“New Star”、“New World”、“New Land”侨歉,那么它們的短名稱就都變成了“New”屋摇,是相同的,而事實(shí)上是對(duì)應(yīng)到不同的客戶幽邓,這必然會(huì)影響功能的使用炮温。

4. 交付使用

確認(rèn)了匿名化后的數(shù)據(jù)沒問題、系統(tǒng)工作正常就正式投入使用了牵舵,這時(shí)候QA身份也變成了用戶柒啤,團(tuán)隊(duì)的業(yè)務(wù)和開發(fā)人員也是這個(gè)環(huán)境的用戶。這部分主要分享一下脫敏后的數(shù)據(jù)給我們團(tuán)隊(duì)帶來的價(jià)值畸颅,以及使用過程中的一些感受和想法担巩。

5 - 數(shù)據(jù)匿名化的項(xiàng)目使用價(jià)值

價(jià)值

我們采用每月導(dǎo)入一次數(shù)據(jù)的做法,以盡量保證這個(gè)測試環(huán)境的數(shù)據(jù)跟生產(chǎn)環(huán)境的接近没炒。利用脫敏的生產(chǎn)環(huán)境數(shù)據(jù)測試帶來的價(jià)值主要有:

  1. 功能相關(guān)bug可以提前在測試環(huán)境發(fā)現(xiàn)涛癌,減少流入生產(chǎn)環(huán)境的bug數(shù),降低了修復(fù)成本窥浪。
  2. 利用這個(gè)環(huán)境做性能測試祖很,盡早發(fā)現(xiàn)之前到生產(chǎn)環(huán)境才能暴露的性能問題,盡早修復(fù)漾脂,降低了成本假颇,并且?guī)砀玫挠脩趔w驗(yàn);另外骨稿,我們還通過這個(gè)環(huán)境跟蹤性能趨勢笨鸡,盡早做好性能優(yōu)化工作。
  3. 利用這些數(shù)據(jù)重現(xiàn)生產(chǎn)環(huán)境的缺陷坦冠,加快線上問題診斷速度形耗,提高響應(yīng)效率,改善用戶支持體驗(yàn)辙浑。

使用感受

脫敏后的數(shù)據(jù)的使用跟原來測試環(huán)境自己創(chuàng)建的數(shù)據(jù)使用還是很不一樣的感受:

  1. 不是測試人員熟悉的數(shù)據(jù)激涤,相對(duì)不易于測試,不如自己創(chuàng)建的數(shù)據(jù)使用的那么順手判呕。
  2. 數(shù)據(jù)辨識(shí)度降低倦踢,脫敏后的數(shù)據(jù)很多都是沒有任何意義的一些字符拼湊的詞語(我們的系統(tǒng)是英文的),有些功能就很難使用侠草。比如搜索辱挥,每次需要輸入一些沒有意思的字符串還是很費(fèi)勁的,這樣的話边涕,可能會(huì)導(dǎo)致測試人員盡量不用搜索功能而漏掉搜索功能本身存在的bug晤碘。
  3. 每次重新導(dǎo)入新的數(shù)據(jù)都會(huì)清理掉原來的數(shù)據(jù)褂微,包括測試人員新建數(shù)據(jù),也就是每月都要面對(duì)一批新的數(shù)據(jù)园爷,這種體驗(yàn)也是很特別的宠蚂。
  4. 含有PII的文件難以匿名化,文件數(shù)據(jù)沒法導(dǎo)入腮介,從而導(dǎo)致有些功能沒法使用原有數(shù)據(jù)進(jìn)行驗(yàn)證肥矢。
  5. 用戶登錄認(rèn)證相關(guān)信息沒法匿名化導(dǎo)入端衰,被Mock掉了叠洗,導(dǎo)致無法驗(yàn)證原有用戶的真實(shí)登錄功能。

數(shù)據(jù)匿名化是測試右移實(shí)踐之一

本文項(xiàng)目實(shí)踐只是將數(shù)據(jù)脫敏用于測試旅东,數(shù)據(jù)匿名化還有很多其他的用途灭抑,比如數(shù)據(jù)挖掘、數(shù)據(jù)分析等抵代。

數(shù)據(jù)匿名化的實(shí)踐過程相當(dāng)于一個(gè)小項(xiàng)目交付過程腾节,同樣包含需求分析、設(shè)計(jì)荤牍、開發(fā)(匿名化實(shí)施)案腺、測試和發(fā)布(交付)等環(huán)節(jié),在每個(gè)環(huán)節(jié)會(huì)有不同的角色參與協(xié)作康吵,也同樣需要遵循質(zhì)量內(nèi)建理念劈榨,前期工作做的充分,后面返工就會(huì)減少晦嵌。

6 - 生產(chǎn)環(huán)境下的QA

數(shù)據(jù)匿名化是對(duì)生產(chǎn)環(huán)境的真實(shí)數(shù)據(jù)的處理同辣,不管用于什么用途,都可以算是生產(chǎn)環(huán)境下的QA/測試右移的實(shí)踐之一惭载。

希望本文能夠給沒有做過數(shù)據(jù)匿名化的同學(xué)帶來一些幫助旱函,也歡迎有經(jīng)驗(yàn)的同學(xué)來分享更多的經(jīng)驗(yàn)。


推薦閱讀:

生產(chǎn)環(huán)境下的QA
測試右移之日志收集與監(jiān)控
都是臟數(shù)據(jù)惹的禍
QA與Ops通力合作打造反脆弱的軟件系統(tǒng)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末描滔,一起剝皮案震驚了整個(gè)濱河市棒妨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌含长,老刑警劉巖券腔,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異茎芋,居然都是意外死亡颅眶,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門田弥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來涛酗,“玉大人,你說我怎么就攤上這事∩烫荆” “怎么了燕刻?”我有些...
    開封第一講書人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長剖笙。 經(jīng)常有香客問我卵洗,道長,這世上最難降的妖魔是什么弥咪? 我笑而不...
    開封第一講書人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任过蹂,我火速辦了婚禮,結(jié)果婚禮上聚至,老公的妹妹穿的比我還像新娘酷勺。我一直安慰自己,他們只是感情好扳躬,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開白布脆诉。 她就那樣靜靜地躺著,像睡著了一般贷币。 火紅的嫁衣襯著肌膚如雪击胜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,262評(píng)論 1 308
  • 那天役纹,我揣著相機(jī)與錄音偶摔,去河邊找鬼。 笑死字管,一個(gè)胖子當(dāng)著我的面吹牛啰挪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嘲叔,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼亡呵,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了硫戈?” 一聲冷哼從身側(cè)響起锰什,我...
    開封第一講書人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎丁逝,沒想到半個(gè)月后汁胆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡霜幼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年嫩码,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片罪既。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡铸题,死狀恐怖铡恕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情丢间,我是刑警寧澤探熔,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站烘挫,受9級(jí)特大地震影響诀艰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜饮六,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一其垄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧喜滨,春花似錦捉捅、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽寄月。三九已至辜膝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間漾肮,已是汗流浹背厂抖。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留克懊,地道東北人忱辅。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像谭溉,于是被迫代替她去往敵國和親墙懂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容