面接の課題で出したプロジェクトを振り返ったら、もはや一つの「作戦」レベルだった件
I Inspected My Take-Home Interview Project. It Was a Whole Operation
I Inspected My Take-Home Interview Project. It Was a Whole Operation
採用面接で提出した課題用のプロジェクトを見返してみたんだけど、自分でも驚くほどの大掛かりな「作戦」になってた。ただのコーディング課題の域を超えて、まるで一つのプロダクトを立ち上げるかのような執念が詰まってたよ。エンジニアの皆さんも、面接用のコードを書くときにどこまで手をかけるか悩んだこと、あるよね?
こういう手口って今後ますます増えていくんだろうな。かなり入念に準備されたものみたいだし。悪質だけど、その技術力だけは認めざるを得ない。かなりの確率で成功するだろうね。
最近面白い動画を見たよ。Red Star OSを動かしているPCに、詐欺師がWindowsだと思い込んでハッキングを仕掛けようとしてたやつ。今回のgit pre-commit hookを悪用した攻撃とは直接関係ないけど、ちょっと似てるなと思って。
Hacker Newsのトップページに、ちゃんとハッキングに関連する記事が載るといい日だなと感じるよ。
被害者のホストOSを特定してリモートからペイロードを勝手に実行するスクリプトを埋め込んでいた。
こういうの、最近よく見るテーマになりつつあるね。先月も似たような話がトップページにあったし。
https://news.ycombinator.com/item?id=48546294
LinkedInが本気で詐欺を防ぐ気があるなら、現在の勤務先を登録する際に社用メールを使った認証を導入できるはずだよ。もし負担が大きすぎるとしても、せめて採用担当者が信頼性を証明するために必須となるオプション機能くらいは用意すべきだね。
補足:なぜわざわざ生のIPアドレスを使うんだろう?これは「マルウェアです」と言っているようなものじゃないか。少なくとも lint-checker.com とか jenkins-ci-runner.net みたいに、それっぽいドメインを取ればいいのに。もしこれを書いた攻撃者がこれを見てるなら、次は気をつけておけよ!
ドメイン登録業者に身元情報を残したくないんじゃないかな?それか、ネット上での痕跡を最小限に抑えたいとか。
なぜわざわざ生のIPアドレスを使うんだろう?これは「マルウェアです」と言っているようなものじゃないか。
被害者がフックの中身を調べるほど詳しくて、それでも疑いを捨てないような状況なら、IPが生だろうが何だろうが変わらないでしょ。ほとんどの開発者は git commit を実行するだけで攻撃されるなんて思ってもいないはずだし(gitのセキュリティ上の見落としかな?)。
結局、過剰な安全対策とか変な制限のせいで、Claudeがヘルパーとして完全に使い物にならなくなってたってのが今回の結論かな。
興味深い記事だった。ちなみに、VS Codeで「信頼しない」を選択していてもスクリプトが実行されちゃうのかな?あともう一つ、自分でコードを埋め込んでコミットをプッシュすることって可能なの?
うわ、この記事を読んで自分がハッキングされていたことに気づいた。しかも、もっと巧妙な手口で。
数週間前、完全に正当だと思える会社のCTOと面接したんだ。カメラがオフで、相手の訛りが強いのが少し気になったけど、技術面接として普通のやりとりだったし、相手は専門知識も豊富だった。
面接の最後に、技術試験としてOSSプロジェクトに修正を加える必要があるから、リポジトリをクローンしてセットアップを確認してくれと言われたんだ。
その後、人事からCTOが体調不良で面接が延期になったと連絡があった。数日後にはその人事担当者のLinkedInプロフィールまで削除されていて。すごく変だとは思ったけど、このHackNewsの記事を見るまで疑うことすらなかったよ。確認したら、面接でクローンしたリポジトリにマルウェアが仕込まれていた。
追伸:過去に週間ダウンロード数4300万超えの有名なNPMパッケージを管理していたことがあるから、ターゲットにされたんだと思う。これだけ巧妙なソーシャルエンジニアリングを受ける理由はそれ以外考えられないよ。
追伸2:全サービスで2FA(二要素認証)を有効にしているし、NPMへの公開もトークンを使わず手動でやってきたのが救いだった。とりあえずPCを完全に初期化して入れ直さないといけない。