diff --git a/fixtures/scan.netsecurity.ne.jp/1551788723281.html b/fixtures/scan.netsecurity.ne.jp/1551788723281.html new file mode 100644 index 000000000..9e3cebe6d --- /dev/null +++ b/fixtures/scan.netsecurity.ne.jp/1551788723281.html @@ -0,0 +1,819 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + パスワードロック未実施のUSBメモリを電車内で紛失の可能性(阪南大学) | ScanNetSecurity[国内最大級のサイバーセキュリティ専門ポータルサイト] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
2019.03.05(火)
+
+ + + + + +
+ +
+ + +
+ +
+ +
+
+ +

パスワードロック未実施のUSBメモリを電車内で紛失の可能性(阪南大学)

+

阪南大学は3月4日、同学の専任教員が学生情報等を保存したUSBメモリを紛失したことが判明したと発表した。

+
+ インシデント・事故 + インシデント・情報漏えい +
+ +
+
+ +
+阪南大学は3月4日、同学の専任教員が学生情報等を保存したUSBメモリを紛失したことが判明したと発表した。

これは2月2日に、当該教員の自宅からゼミのフィールドワークに向かう電車内で持参していたノート型パソコンに学生の個人情報が保存された小型USBメモリを接続した状態で作業を行った際に紛失したと推測されるというもの。

当該教員は紛失判明後に、周囲の捜索ならびに警察、鉄道会社へ遺失物の届出を行ったが現時点では発見には至っていない。

紛失したUSBメモリには、平成27年度から平成30年度開講の一部科目履修者の学籍番号、氏名、成績の途中評価に関するデータ1,169件分が保存されていた。なお、大学名や学生の住所、電話番号等の住居や連絡先を特定する個人情報は含まれていないとのこと。当該USBメモリ及びそのデータについて、パスワードロック等の対策は実施していなかった。

同学によると、これまでに本件USBメモリに保管されている個人情報が第三者への流失や不正使用の事実は確認されていないとのこと。

既に同学では、該当する在学生や卒業生に謝罪と経緯説明の文書を送付している。 +
+《ScanNetSecurity》 + + +
+
+

関連記事

+ +
+ +
+
+

Scan PREMIUM 会員限定記事

+ もっと見る +
+ +

+ Scan PREMIUM 会員限定記事特集をもっと見る +

+
+ + + +
+
+ + +
+
+ + +
+
+
+

カテゴリ別新着記事

+
+ + + + + + +
+
+
+
+ + +
+
+ + +
+
+ + +
+ +
+ + + + + +
+ +
+
★★Scan PREMIUM 会員限定コンテンツにフルアクセスが可能となります★★
+
+ +
+ <b>★★Scan PREMIUM 会員限定コンテンツにフルアクセスが可能となります★★</b> +

経営課題としてサイバーセキュリティに取り組む情報システム部門や、研究・開発・経営企画に携わる方へ向けた、創刊20年のセキュリティ情報サービス Scan PREMIUM を、貴社の事業リスク低減のためにご活用ください。

+
+
+ +
+
+
+
+
×
+
+ + + + + + \ No newline at end of file diff --git a/src/extractors/custom/index.js b/src/extractors/custom/index.js index 146ac44fc..0acf4a9f9 100644 --- a/src/extractors/custom/index.js +++ b/src/extractors/custom/index.js @@ -101,3 +101,4 @@ export * from './buzzap.jp'; export * from './www.asahi.com'; export * from './www.sanwa.co.jp'; export * from './www.elecom.co.jp'; +export * from './scan.netsecurity.ne.jp'; diff --git a/src/extractors/custom/scan.netsecurity.ne.jp/index.js b/src/extractors/custom/scan.netsecurity.ne.jp/index.js new file mode 100644 index 000000000..4091a1981 --- /dev/null +++ b/src/extractors/custom/scan.netsecurity.ne.jp/index.js @@ -0,0 +1,31 @@ +export const ScanNetsecurityNeJpExtractor = { + domain: 'scan.netsecurity.ne.jp', + + title: { + selectors: ['header.arti-header h1.head'], + }, + + author: null, + + date_published: { + selectors: [['meta[name="article:modified_time"]', 'value']], + }, + + dek: { + selectors: ['header.arti-header p.arti-summary'], + }, + + lead_image_url: { + selectors: [['meta[name="og:image"]', 'value']], + }, + + content: { + selectors: ['div.arti-content.arti-content--thumbnail'], + + defaultCleaner: false, + + transforms: {}, + + clean: ['aside.arti-giga'], + }, +}; diff --git a/src/extractors/custom/scan.netsecurity.ne.jp/index.test.js b/src/extractors/custom/scan.netsecurity.ne.jp/index.test.js new file mode 100644 index 000000000..360e4d039 --- /dev/null +++ b/src/extractors/custom/scan.netsecurity.ne.jp/index.test.js @@ -0,0 +1,117 @@ +import assert from 'assert'; +import URL from 'url'; +import cheerio from 'cheerio'; + +import Mercury from 'mercury'; +import getExtractor from 'extractors/get-extractor'; +import { excerptContent } from 'utils/text'; + +const fs = require('fs'); + +describe('ScanNetsecurityNeJpExtractor', () => { + describe('initial test case', () => { + let result; + let url; + beforeAll(() => { + url = 'https://scan.netsecurity.ne.jp/article/2019/03/05/42049.html'; + const html = fs.readFileSync( + './fixtures/scan.netsecurity.ne.jp/1551788723281.html' + ); + result = Mercury.parse(url, { + html, + fallback: false, + }); + }); + + it('is selected properly', () => { + // This test should be passing by default. + // It sanity checks that the correct parser + // is being selected for URLs from this domain + const extractor = getExtractor(url); + assert.equal(extractor.domain, URL.parse(url).hostname); + }); + + it('returns the title', async () => { + // To pass this test, fill out the title selector + // in ./src/extractors/custom/scan.netsecurity.ne.jp/index.js. + const { title } = await result; + + // Update these values with the expected values from + // the article. + assert.equal( + title, + `パスワードロック未実施のUSBメモリを電車内で紛失の可能性(阪南大学)` + ); + }); + + it('returns the author', async () => { + // To pass this test, fill out the author selector + // in ./src/extractors/custom/scan.netsecurity.ne.jp/index.js. + const { author } = await result; + + // Update these values with the expected values from + // the article. + assert.equal(author, null); + }); + + it('returns the date_published', async () => { + // To pass this test, fill out the date_published selector + // in ./src/extractors/custom/scan.netsecurity.ne.jp/index.js. + const { date_published } = await result; + + // Update these values with the expected values from + // the article. + assert.equal(date_published, `2019-03-04T23:15:11.000Z`); + }); + + it('returns the dek', async () => { + // To pass this test, fill out the dek selector + // in ./src/extractors/custom/scan.netsecurity.ne.jp/index.js. + const { dek } = await result; + + // Update these values with the expected values from + // the article. + assert.equal( + dek, + '阪南大学は3月4日、同学の専任教員が学生情報等を保存したUSBメモリを紛失したことが判明したと発表した。' + ); + }); + + it('returns the lead_image_url', async () => { + // To pass this test, fill out the lead_image_url selector + // in ./src/extractors/custom/scan.netsecurity.ne.jp/index.js. + const { lead_image_url } = await result; + + // Update these values with the expected values from + // the article. + assert.equal( + lead_image_url, + `https://scan.netsecurity.ne.jp/imgs/ogp_f/26698.jpg` + ); + }); + + it('returns the content', async () => { + // To pass this test, fill out the content selector + // in ./src/extractors/custom/scan.netsecurity.ne.jp/index.js. + // You may also want to make use of the clean and transform + // options. + const { content } = await result; + + const $ = cheerio.load(content || ''); + + const first13 = excerptContent( + $('*') + .first() + .text(), + 2 + ); + + // Update these values with the expected values from + // the article. + assert.equal( + first13, + '公式サイト リリース(個人情報を含むUSBメモリ紛失のお詫びとお知らせ)' + ); + }); + }); +});