脆弱性チェック
以前プログラムに脆弱性が含まれているかの確認をしたいということがあった。 SQLインジェクションがあるかどうかというより、この脆弱性はこのフレームワークではこういう処理してたら該当するからな、というもの。 もっとスマートな方法があると思うし、githubとかに上がっているなら検索すれば早いんだけど、手元でやりたいなあと思ったときのメモ。 Linux系OSだったりOSXのようなBSD系OSにはfindコマンドというのがあって、これを使う。
基本的な使い方
$ find 対象ディレクトリ 検索条件 アクション
よくやるやり方
$ find / -name filename
これをやると、すべてのファイルからfilenameという文字列の含まれるファイルを探す。 filenameの指定にはワイルドカードが使用可能。
複数あるファイルから、特定の文字列があるかどうかを調べたいとき
$ find /path/to/project -type f -print | xargs grep pattern
こうしてあげると、すべてのディクレクトリに含まれるファイルから、patternに合致する文字列が含まれているファイルを列挙してくれる。
/path/to/project/hoge.rb: pattern no hukumareru gyou
こんな感じ。 だから、hogeメソッドに定数以外の何かを入れていたらやばいかもしれない、とかそういうときにfindコマンドを使うと楽に見つけられるかもしれない。