並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 71件

新着順 人気順

静的解析の検索結果1 - 40 件 / 71件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

静的解析に関するエントリは71件あります。 ツールgoセキュリティ などが関連タグです。 人気エントリには 『静的解析ツールで生まれたSQLインジェクション | ドクセル』などがあります。
  • 静的解析ツールで生まれたSQLインジェクション | ドクセル

    自己紹介 小川 経歴 ~2009: Webアプリ開発のバイト&業務委託 2009~2019: 三菱重工 イット何も関係ない。野良のパソコンの大先生してた 2019~いま: root ip B2BのSaaS作ってます PHPとVue分かる人来て!!1 面白かった脆弱性 - CVE-2023-22727 PHPフレームワーク CakePHP 4 のSQLインジェクション脆弱性 ORM limit(), offset() でSQLi CVSS v3 9.8 2023/01に修正済み CakePHP Laravelの次に使用率高いフレームワーク(多分) 割と使いやすいからお勧め 一般にコード品質が上がる静的解析ツールの使用で逆に発生

      静的解析ツールで生まれたSQLインジェクション | ドクセル
    • Terraformのセキュリティ静的解析 tfsec の導入から始めるAWSセキュリティプラクティス - BASEプロダクトチームブログ

      こんにちは。BASE BANK 株式会社 Dev Division にて、 Software Developer をしている東口(@hgsgtk)です。 BASE BANK Dev での開発では、クラウドインフラの構成管理に、 Terraform を利用しています。 世の情報をたくさんキュレーションしている CTO の@dmnlkさんに、手軽に CI に組み込めそうなセキュリティチェックツールがあることを教えてもらったので、導入してみました。 CTO氏のキュレーションメディアで紹介された tfsec を早速試して良さそうだったhttps://t.co/bl67dlW2Ub https://t.co/vAkTOVagec— Kazuki Higashiguchi (@hgsgtk) August 21, 2020 このブログの公開日は 2020/10/30 ですので、導入してから約 2 ヶ月

        Terraformのセキュリティ静的解析 tfsec の導入から始めるAWSセキュリティプラクティス - BASEプロダクトチームブログ
      • 「開発における安全と効率の両立を追求したい」 静的解析・ユニットテスト・E2Eテストにおける、ディー・エヌ・エーの「Shift Left戦術」

        インターネットやAIを駆使しながら、領域に捉われずにさらなる挑戦を行うDeNAの取り組みを紹介する「DeNA TechCon 2023」。ここで認証認可システムのリノベーションチームの岸直輝氏が登壇。Shift Leftの考え方を基に実践している静的解析や自動テスト、挙動の差分を自動で発見するための取り組みについて紹介します。全2回。後半は、各フェーズにおける、静的解析・ユニットテスト・E2Eテスト、それぞれの取り組みについて。前回はこちら。 静的解析のメリットとデメリット 岸直輝氏:では、ここからは今お話ししたShift Leftの具体的な取り組みについて見ていきましょう。ここでは、各フェーズごとに対応する取り組みを、静的解析、ユニットテスト、E2Eテストの3つに分けて紹介します。 まずは静的解析について。静的解析は、プログラムを実行することなく、静的にさまざまな異常を検出する手法です。

          「開発における安全と効率の両立を追求したい」 静的解析・ユニットテスト・E2Eテストにおける、ディー・エヌ・エーの「Shift Left戦術」
        • Ruby 3 の静的解析ツール TypeProf の使い方 - クックパッド開発者ブログ

          こんにちは、フルタイムRubyコミッタとして働いてる遠藤(@mametter)です。昨日、Ruby 3.0.0-preview2がリリースされました! このリリースには、遠藤が開発している Ruby の静的型解析ツール TypeProf が初めて同梱されています。これの使い方をかんたんにご紹介したいと思います。 デモ TypeProf は、型注釈のない Ruby コードを無理やり型解析するツールです。とりあえずデモ。 # user.rb class User def initialize(name:, age:) @name = name @age = age end attr_reader :name, :age end User.new(name: "John", age: 20) typeprof コマンドは、Ruby 2.7 で gem install typeprof でインスト

            Ruby 3 の静的解析ツール TypeProf の使い方 - クックパッド開発者ブログ
          • Ruby 3の静的解析機能のRBS、TypeProf、Steep、Sorbetの関係についてのノート - クックパッド開発者ブログ

            こんにちは、フルタイムRubyコミッタとして働いてる遠藤(@mametter)です。 Ruby 3 は「静的型解析」を備えることが目標の 1 つになっています。遠藤が開発してる TypeProf は Ruby 3 の静的型解析エコシステムの中の 1 ツールです。しかし Ruby 3 の静的解析というと、RBS、TypeProf、Steep、Sorbet などいろいろなツール名が出てきてよくわからない、という声を何回か聞いたので、かんたんにまとめておきます。 3 行まとめ RBS:Ruby の型情報を扱う言語。Ruby 3 にバンドルされる。 TypeProf:型注釈のない Ruby コードを型解析するツール。Ruby 3 にバンドルされる。 Steep/Sorbet:Ruby で静的型付けのプログラミングができるツール。 詳しくはそれぞれ以下で解説します。 RBS とは RBS は、Rub

              Ruby 3の静的解析機能のRBS、TypeProf、Steep、Sorbetの関係についてのノート - クックパッド開発者ブログ
            • SQLインジェクションが通った原因は“静的解析ツールのバージョンアップ” 「自動修正機能」に気をつけるべき理由

              「静的解析ツールで生まれたSQLインジェクション」というタイトルで登壇したのは、小川 氏。「面白かった脆弱性」について解説し合い、脆弱性に関する知識を深めるためのイベント「Security․Tokyo #2」で、静的解析ツールによって生まれたSQLインジェクションの事例について発表しました。 登壇者の自己紹介 小川氏:小川と申します。「静的解析ツールで生まれたSQLインジェクション」というタイトルで発表いたします。よろしくお願いします。 自己紹介を簡単に。経歴ですが、昔学生の時にWebアプリ開発のバイトをしていて、就職後は10年ぐらいぜんぜん違う、製造業で働いていました。ずっとパソコンを見ていたら目が悪くなるかなと思ってほかの業界に行ったのですが、結局ずっとExcelやWordを見ていて、あまり変わりませんでした。 結局やはりITだなと思って、最近root ipという会社に転職して、Bto

                SQLインジェクションが通った原因は“静的解析ツールのバージョンアップ” 「自動修正機能」に気をつけるべき理由
              • CircleCIで勝手に強くなる静的解析の作り方 - Cybozu Inside Out | サイボウズエンジニアのブログ

                こんにちは。Garoonチームの杉山(@oogFranz)です。 以前 #PHPerKaigi 2020 にて、「静的解析の育て方」というタイトルで発表いたしました。この発表ではレガシープロダクトにおいて静的解析が有効であることと、「育てる」という比喩表現で静的解析のルールを強くしていく戦略についてお話ししました。 発表後のAsk the Speakerでは様々な方から講演へのフィードバックをいただき、特に既存のプロダクトに静的解析の導入・運用する大変さやその改善方法に関して議論を深めることができました。議論に参加いただいた皆様大変ありがとうございました。 議論の中でルールを自動的に強くしていく方法のヒントをいただきました。そのヒントを元にCircleCIで勝手に強くなる静的解析が実現ができたので紹介したいと思います。 勝手に育つ静的解析の作り方 通常、レガシープロダクトにおいて静的解析を

                  CircleCIで勝手に強くなる静的解析の作り方 - Cybozu Inside Out | サイボウズエンジニアのブログ
                • JavaScript/TypeScript向け静的解析ツール「Oxlint」が正式に公開、Rustの採用で大幅に高速化

                  Oxlintは、JavaScriptやTypeScriptのコードを調べ、エラーにつながりやすい書き方となっている部分や、必要のない部分を指摘する機能を持っている。この用途では「ESLint」が事実上の標準となっているが、100%JavaScriptで記述してあるため、実行速度が問題となっている。 Oxlintでは、プログラムを記述する言語にRustを選ぶことで処理速度を大きく引き上げた。さらに、並列処理に対応し、コンピュータのプロセッサが搭載するコアの数が増えるに従って性能が上がっていく設計になっている。さらに、テスト結果のメッセージをシンプルかつ分かりやすいものにした点も特徴として挙げられる。 正式版になる前からOxlintを試験的に使っていた米Shopifyの担当者は、ESLintを使っていた頃は自社開発のコードをテストするのに75分かかっていたが、Oxlintを使ったところ、10秒

                    JavaScript/TypeScript向け静的解析ツール「Oxlint」が正式に公開、Rustの採用で大幅に高速化
                  • GraphQLの静的解析基盤を作った - tenntenn.dev

                    GraphQLの静的解析ライブラリgqlanalysis 副業をしているAppify TechnologiesにてGraphQLの静的解析ツールをGoで書けるライブラリgqlanalysisを作りました。またそれに合わせクエリのセレクションにidの追加忘れを指摘するlackidとgqlgoオーガナイゼーションで開発した静的解析ツールをまとめて実行できるgqlintも公開されています。 gqlanalysisを用いるとGraphQLのスキーマやクエリファイルに対するLinterを簡単に作ることができます。gqlanalysisはGoの静的解析ツールライブラリのgo/analysisに似た構造で作ってあります。 go/analysisと同様にAnalyzerという単位で解析を行います。Analyzerは別のAnalyzerの解析結果を用いることができるため、静的解析ツールをモジュール化できます

                    • 5千ファイル超のレガシープロジェクトにPHPStan継続的静的解析を導入|Komiyama Taki|note

                      以前、断捨離でテーブル約50個消した話で、大規模にdbまわりのリファクタリングをした話を書きました。 弁護士ドットコムのサイトは、10年以上運用されているため、5千ファイルある巨大PHPプロジェクトです。そのため、課題はいろいろあります。 弁護士ドットコム - 無料法律相談や弁護士、法律事務所の検索 https://www.bengo4.com/ 今回は、PHPStan静的解析をCIに導入し、継続的なコード品質の向上を目指しました。 静的解析を導入する目的コードベースが長年の拡張により巨大になった結果、全ての関数やclassの使用箇所を目視で把握するのは、厳しくなってました。いくら注視していても、対象が広くなるほど漏れは発生しやすくなります。 そのため、人間の目では見落としやすいバグを機械的に見つけることで、コード品質の向上に繋がると考えました。PHPStanをCIでレビュー前に回すことで

                        5千ファイル超のレガシープロジェクトにPHPStan継続的静的解析を導入|Komiyama Taki|note
                      • プロダクトコードの静的解析にhorusecを入れた話 - freee Developers Hub

                        この記事はfreee アドベントカレンダー16日目です。 みなさんこんにちは。PSIRTというチームでエンジニアをしているlivaです。PSIRTという聞き慣れない単語ですが「Product Security Incident Response Team」の略で、文字通りプロダクトのセキュリティにフォーカスしたチームです。元はCSIRT(Computer Security Incident Response Team)でまとめてやっていたんですが、今年の夏頃から分かれて動いています。業務内容は今までと何一つ変わっておらず、AWS触ったりGCP触ったりプロダクトチームへセキュリティ関係のことで首突っ込んだりとプロダクトのセキュリティに関することは色々やっています。 さて、今回の話題はタイトル通り「プロダクトコードの静的解析」についてです。 今まで各プロダクトごとにツールが運用されていたりいな

                          プロダクトコードの静的解析にhorusecを入れた話 - freee Developers Hub
                        • つくってまなぶ静的解析のすすめ - LayerX エンジニアブログ

                          はじめに こんにちは、LayerXの id:convto です。 そしてこれは LayerX アドベントカレンダー (概念) の1日目の記事です。 アドベントカレンダー盛り上げていくぞ〜ということで11月から始まるらしいです。だいぶフライングしてるけど枠もかなり埋まっててすごい。 せっかくなのでお祭り参加したいぞ〜ということで一発目です。よろしくお願いします。 静的解析つくろうとしたきっかけ ちょうどつい最近記事になった下記の輪読会がきっかけでした。 tech.layerx.co.jp このなかで、mapのrange accesssについて、元mapのcopyを取らないから破壊するとループ挙動が壊れる可能性がある旨が言及されていました。 そのときは雑談で「range accessしてるmapに再代入してたら怒る!みたいな考え方で整理したら静的解析できそうっすよね〜」みたいな話をしたんですが

                            つくってまなぶ静的解析のすすめ - LayerX エンジニアブログ
                          • Ruby3.1 静的解析の導入で開発体験を向上させる (RBS, TypeProf)|Offers Tech Blog

                            まえがき こんにちは、Offers を運営している株式会社 overflow CTO の 大谷旅人 です。 小ネタです。 弊社では Ruby/Rails をバックエンドの開発言語として採用しており、その柔軟性は開発の大きな助けとなっている面がありつつも、コードベース全体の規模増加や保守効率を考えて環境自体の見直しや、段階的な新環境への移行も行っています。 その中で、今回は Ruby での開発体験を向上させるために行っていた、静的型解析の導入に関してのお話です。 型安全性な環境(TypeScript,Rust,etc..)から Ruby に戻ってくるとやはりあっちは機構が勝手にチェックしてくれていいぞいいぞと思うわけで、 C#が dynamic 型で静的型言語なのに動的型付していたり, Python が type hints で型検査してたりを見ると、どうにかこうにか導入したいと日々思ってい

                              Ruby3.1 静的解析の導入で開発体験を向上させる (RBS, TypeProf)|Offers Tech Blog
                            • skeletonで始めるGoの静的解析 | メルカリエンジニアリング

                              はじめに メルペイのエキスパートチームの@tenntennです。Merpay Tech Openness Month 2022の4日目の記事です。本記事ではGoの静的解析ツールの開発を補助するskeletonというツールについて解説します。また、静的解析ツールの学習方法やGo Conferenceのメルカリブースで行うハンズオンについても触れます。 静的解析ツールとskeleton Goにおける静的解析 Goが開発された目的の1つに開発ツールの作りやすさがあります(参考1、参考2)。開発で使用するツールはソースコードを対象とした処理が必要になります。Goはソースコードを実行せずに解析する静的解析の機能を提供するgoパッケージが標準ライブラリとして用意されています。そのため、静的解析を用いたコードフォーマッタやLinterなどが作りやすい言語です。 標準ライブラリだけで構文解析をして抽象構文

                                skeletonで始めるGoの静的解析 | メルカリエンジニアリング
                              • GitHub Actions と hadolint を組み合わせて Dockerfile の静的解析を自動化しよう! - kakakakakku blog

                                GitHub Actions と hadolint (Haskell Dockerfile Linter) を組み合わせて,今まで雑に実装してきた Dockerfile の静的解析を自動化する環境を作った.できる限り Dockerfile Best Practices を意識していることもあり,警告はあまり多く出なかったけど,やはり CI (Continuous Integration) で気付ける安心感はある! www.docker.com hadolint (Haskell Dockerfile Linter) hadolint を使うと Dockerfile に警告を出してくれる.また Dockerfile の RUN は,シェルスクリプトの Linter として有名な ShellCheck を使って警告を出してくれる.例えば FROM centos:latest のように FROM

                                  GitHub Actions と hadolint を組み合わせて Dockerfile の静的解析を自動化しよう! - kakakakakku blog
                                • ESLintで始めるTypeScriptの静的解析

                                  We Are JavaScripters! @34th の登壇資料です

                                    ESLintで始めるTypeScriptの静的解析
                                  • nilがnilじゃないのでerrorになるのを静的解析で検出する - Qiita

                                    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationWhat you can do with signing up

                                      nilがnilじゃないのでerrorになるのを静的解析で検出する - Qiita
                                    • Dart/Flutter の静的解析強化のススメ

                                      TL;DR特にFlutterアプリの場合は、手っ取り早く強め(Flutter推奨 + α)に静的解析強化したいときには以下がお勧めです。 1. インストールpedantic_mono パッケージをインストール。 dev_dependencies: pedantic_mono: any2. analysis_options.yamlの配置https://github.com/mono0926/pedantic_mono/blob/master/example/analysis_options.yaml をプロジェクトのルートに置く。 analysis_options.yaml とはそれでは、以下もう少し詳しく補足していきます。 Dart/Flutterプロジェクトでは、analysis_options.yamlを設定することでその記述内容に応じて静的解析をかけてくれるようになります。

                                        Dart/Flutter の静的解析強化のススメ
                                      • OPA/Regoによる汎用的なGo言語の静的解析

                                        TL; DR Go言語は様々な静的解析ツールがあるが、独自ルールのチェックなどをするには都度ツールを自作する必要がある 1つのツールでより汎用的なチェックができるように、汎用ポリシー言語のRegoでGo言語のAST(抽象構文木)を検査できるようにした 「第一引数に必ずcontext.Contextをとる」というルールをCIでチェックした様子 背景 Go言語では様々な静的解析ツールが提供されており、一般的なベストプラクティスが正しく記述されているか?については既存の静的解析ツールを利用することで概ね必要なチェックをすることができます。例えばセキュアなGoのコーディングをするためのツールとして gosec などがあり、自分も愛用させてもらっています。しかし、ソフトウェア開発におけるコーディング上のルールはベストプラクティスによるものだけでなく、そのソフトウェアやチームに依存したルールというのも

                                          OPA/Regoによる汎用的なGo言語の静的解析
                                        • 「Goの静的解析ツール開発」を支える技術 - Qiita

                                          Help us understand the problem. What is going on with this article?

                                            「Goの静的解析ツール開発」を支える技術 - Qiita
                                          • 【最強のプルリクレビュー環境】 GitHub ActionsとPHPStanを繋げてPRのコード上に自動で静的解析のエラーが出てくる仕組みを作る - Qiita

                                            【最強のプルリクレビュー環境】 GitHub ActionsとPHPStanを繋げてPRのコード上に自動で静的解析のエラーが出てくる仕組みを作るPHPGitHubPHPStanGitHubActions GitHubでプルリクをレビューするとき、こんな風にコード上に勝手にエラーがあるよ!って表示されたら嬉しいなあということがあります。 わざわざCIの実行結果を見に行ってひとつひとつエラーを確認するのは面倒ですからね。 というわけで、今回は上の画像のように自動でエラーがコード上に現れて教えてくれる環境をGitHub Actionsで作りたいと思います。 大前提 PHPStanがプロジェクトに導入されている 今回はPHPStan 1.5.4を使用して検証しています PHPStanが入ってないと話が始まらないので、まずは入れておきましょう。 GitHub ActionsからPHPStanが走るよ

                                              【最強のプルリクレビュー環境】 GitHub ActionsとPHPStanを繋げてPRのコード上に自動で静的解析のエラーが出てくる仕組みを作る - Qiita
                                            • Goの静的解析ツールを簡単に使うためのエコシステムについて考える #golang - tenntenn.dev

                                              はじめに 本稿はGo Advent Calendar 2019の25日目の記事です。 筆者は静的解析が大好きでオリジナルの静的解析ツールを作ったり、静的解析ネタで登壇したりしています。 https://github.com/gostaticanalysis https://github.com/gcpug/zagane Mercari Advent Calendar 2018の“Goにおける静的解析のモジュール化について”という記事をで書いたように、Goの静的解析ツールは再利用性を考え、モジュール化する流れになっています。 本稿では静的解析のモジュール化における課題と今後のエコシステムを考察します。 静的解析のモジュール化 モジュール化は、静的解析ツールをgolang.org/x/tools/go/analysisパッケージ(以下、analysisパッケージ)のAnalyzer構造体の単位

                                              • JavaScriptコードの静的解析ツール「ESLint v7.0」リリース | OSDN Magazine

                                                JavaScriptの静的コード解析ツール「ESLint」開発チームは5月8日、最新のメジャーリリース版となる「ESLint v7.0.0」を公開した。 ESLintはJavaScriptコードの問題を検出できる静的なコード解析ツールで、さまざまなテキストエディタに組み込まれている。ほとんどの問題に対して自動的なコード修正が可能で、また構文解析を行っているため、検索・置換型で発生するような誤認識などのエラーが起きないという。 ESLint v7.0は2019年6月に公開されたESLint v6.0に続くメジャーリリース。Node.jsのバージョン8系が2019年12月にサポート終了を迎えたことを受け、最新版ではそのサポートが削除された。 コードルールでは、複数のルールでbigintを認識するようにアップデートした。また、Node.js/CommonJSルール10件が非推奨となった。esli

                                                  JavaScriptコードの静的解析ツール「ESLint v7.0」リリース | OSDN Magazine
                                                • 「Ruby 2」より3倍速い ~「Ruby 3.0.0」が例年通りクリスマスにリリース/パフォーマンス・並行処理・静的解析の3点を重点強化

                                                    「Ruby 2」より3倍速い ~「Ruby 3.0.0」が例年通りクリスマスにリリース/パフォーマンス・並行処理・静的解析の3点を重点強化
                                                  • reviewdog🐶を飼ってGitLab-CI上で静的解析しませんか? - Qiita

                                                    はじめに レビュワーの工数削減とヒューマンエラーを防ぎコードの品質をさらに向上させていく取り組みの一環として、自動コードレビュー(静的解析) を検討しました。 そこで、reviewdogというツールを用いて実装しようとしたのですが、 reviewdogはgithub-actionsベースで開発がされているため、gitlabでの使用に関しては、ほとんど事例・記事はありませんでした。 導入まで少しだけ苦労したので、この記事がgitlab上でreviewdogの使用を想定している人に向けて参考になれば幸いです。 reviewdogとは? Go言語で記述されたOSS。 各種 linter 解析の検出結果を MR(またはPull Request) にコメントする形で指摘してくれるツール 以下のreviewdog開発者の記事を読むと概要が掴めると思います。 Reviewdog を飼ってコードレビューや

                                                      reviewdog🐶を飼ってGitLab-CI上で静的解析しませんか? - Qiita
                                                    • GoでGraphQLの静的解析ツールを作る

                                                      はじめに Appify Technologiesでは以下のGraphQLの静的解析ツールをGoで実装しました。 Yamashou/gqlgenc - GraphQLクライアントコードの生成 gqlgo/lackid - idの指定を忘れているQueryを検出 gqlgo/nodecheck - Nodeを実装していないtypeを検出 gqlgo/deprecatedquery - deprecatedなqueryを検出 gqlgo/optionalschema - optionalなfieldをSchemaから検出 gqlgo/querystring - ソースコードの中からGraphQL Queryを抽出 忘れないうちにGraphQLの静的解析ツールの実装方法をまとめておこうと思います。 前提知識 Goの .go ファイルの静的解析ツールの作成にはanalysis を利用しますが、Gra

                                                        GoでGraphQLの静的解析ツールを作る
                                                      • バグバウンティにおける JavaScript の静的解析と動的解析まとめ - blog of morioka12

                                                        1. 始めに こんにちは、morioka12 です。 本稿では、バグバウンティなどの脆弱性調査で行う、JavaScript の静的解析と動的解析についてまとめて紹介します。 1. 始めに 免責事項 想定読者 検証環境 静的解析と動的解析 2. 静的解析 (Static Analysis) 2.1 JavaScript File の URL を収集する getJS hakrawler getallurls (gau) 2.2 エンドポイントを列挙する LinkFinder xnLinkFinder katana jsluice endext 2.3 シークレット情報を検出する SecretFinder jsluice Mantra trufflehog 2.4 潜在的な脆弱性情報を検出する Retire.js ESLint 3. 動的解析 (Dynamic Analysis) DevTool

                                                          バグバウンティにおける JavaScript の静的解析と動的解析まとめ - blog of morioka12
                                                        • reviewdog で構文チェックや静的解析の結果をプルリクのレビューコメントとして出力する(GithubActions)

                                                          HomeGithubreviewdog で構文チェックや静的解析の結果をプルリクのレビューコメントとして出力する(GithubActions)

                                                            reviewdog で構文チェックや静的解析の結果をプルリクのレビューコメントとして出力する(GithubActions)
                                                          • NEC、ソースコードではなく実行ファイルの静的解析で脆弱性を検出

                                                            NECは、ソフトウエアの脆弱性をソースコードではなく実行ファイルのバイナリーコードを静的解析(動作させずに解析)することで検出する技術を開発した。検査の一部を自動化することで検査効率が40パーセント向上するという。2024年度中に同社のセキュリティーサービスへの適用を目指す。 一般的なソフトウエアの静的解析はソースコードを対象とするのに対し、この技術はソフトウエアの実行形式であるバイナリーコードに対して静的解析を実施する。ソースコードの静的解析ではビルド(ソースコードを変換して実行ファイルを生成すること)時に混入する脆弱性や不正機能の検出が難しいという課題があったが、この技術ではビルド環境に起因する問題を含めて安全性を検査できる。また従来はバイナリー形式のソフトウエアの検査は難しく検査者のスキルによって検査品質がばらつきやすかった。この技術は検査の一部を自動化するため属人性を排除でき、一定

                                                              NEC、ソースコードではなく実行ファイルの静的解析で脆弱性を検出
                                                            • Google Cloud Spannerのセッションリークを静的解析で防ぐ | メルカリエンジニアリング

                                                              この記事はMERPAY TECH OPENNESS MONTHの16日目の記事です。 メルペイ エキスパートチームの@tenntennです。 @sinmetalの記事でも紹介がされていたように、メルペイではGoogle Cloud Spannerを用いて開発しています。 Google Cloud Spannerはまだまだ世界的にもノウハウが乏しい状況です。そのため、メルペイにおいても各開発者が学んだノウハウをGo Fridayなどを通して社内で共有しながら開発を進めています。 社内でノウハウを共有する中で、うっかりミスをしがちでかつそのミスによってサービスに大きく影響を与えるものがいくつか出てきました。例えば、Google Cloud Spannerのセッションを閉じ忘れることによるセッションリークの問題は、うっかりミスをしがちですがサービスに大きな影響を与えかねません。 このような問題を

                                                                Google Cloud Spannerのセッションリークを静的解析で防ぐ | メルカリエンジニアリング
                                                              • Goの静的解析ツールをgolintからstaticcheckに移行した話 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                こんにちは、@ueokandeです。 つい先日Go 1.16がリリースされましたね。 サイボウズではGoで書かれたプロダクトやツールなどが数多く存在しており、GitHubで公開しているものも多数あります。 自分の所属するYakumoチームでも、Kubernetes上にデプロイしているサービス、AWS Lambda、開発者向けのツールなどをGoで実装しています。 本日は、Goの静的解析ツールをgolintからstaticcheckに移行したお話をします。 x/lint: freeze and deprecate Goコードの静的解析ツールとして、Yakumoチームではgolintを採用していました。 golintはGoの静的解析ツールとして、長らくデファクトスタンダードとされており、サイボウズ社内でも多くのチームで利用していました。 しかしgolintの開発チームから今後はメンテナンスされな

                                                                  Goの静的解析ツールをgolintからstaticcheckに移行した話 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                • Rails: アプリケーションを静的解析で"防弾"する3つの便利ワザ(翻訳)|TechRacho by BPS株式会社

                                                                  概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Few static analysis tricks to bulletproof your application | Arkency Blog 原文公開日: 2023-05-02 原著者: Piotr Jurewicz サイト: Arkency Blog 日本語タイトルは内容に即したものにしました。 静的解析とは、コードを実行せずに潜在的な問題を特定して品質を改善することです。有用な静的解析手法を導入することで、アプリケーションの信頼性を高められます。本記事では、コードベースの問題を静的解析で解決するうえで便利な手法を3つ解説します。 🔗 1: ファイル名が間違っているテストファイルを検出する 先頃、顧客のアプリケーションに含まれている未使用のコードを追いかけていたときに、明らかにパスしないRSpecテストが1つ見つかりま

                                                                    Rails: アプリケーションを静的解析で"防弾"する3つの便利ワザ(翻訳)|TechRacho by BPS株式会社
                                                                  • NEC、サプライチェーンセキュリティの強化に向け、実行ファイルの静的解析によりソフトウェアの脆弱性を検出する技術を開発

                                                                    NECは、企業や組織のサプライチェーンのセキュリティ強化に向け、ソフトウェアに潜む脆弱性を、ソースコードを用いることなく実行ファイルのバイナリコード(注1)から検出する技術を開発しました。本技術により、これまで専門家による対応が必要となっていたソースコードを利用できないソフトウェアの静的解析による検査について、その一部を自動化し、検査効率を40%向上します。 近年、デジタルトランスフォーメーション(DX)やグローバル化の進展により、あらゆる業界でサプライチェーンが拡大・複雑化しています。こうした中、サプライチェーン内で混入した脆弱性や不正機能を狙ったサイバー攻撃への懸念が高まっており、サプライチェーンを通じたソフトウェアの安全性担保が喫緊の課題となっています。とりわけ行政機関や重要インフラ事業者においては、法改正等に伴い、製品やシステムの調達・導入時にバックドア等の不正機能の混入を防ぐため

                                                                      NEC、サプライチェーンセキュリティの強化に向け、実行ファイルの静的解析によりソフトウェアの脆弱性を検出する技術を開発
                                                                    • Goの型から静的解析でTypeScriptを生成したい

                                                                      export type Param = { action: string; created_at: string; status: "Failure" | "OK"; version: number; } というinterfaceを生成してくれるライブラリです。jsonタグを見ます。 つまるところ、OpenAPIやgRPCを利用すればGoとTypeScriptで共通の型を利用できますが、それをもっと手軽にGoの型からTypeScriptのinterfaceを生成できたら便利そうだな、というのが開発した理由です。 類似のライブラリはあったのですが型解析のために一度コンパイルし、reflectを利用した型解析をしており一時ファイルを生成していました。そのためあまり使い勝手が良くなく、また実行に時間がかかるなどの問題があったため独自で作ることにしました。 Goの静的解析 Goでは静的解析ツールを

                                                                        Goの型から静的解析でTypeScriptを生成したい
                                                                      • ソースコードを静的解析するオープンソースのSourcetrailで効率よく解析 | tracpath:Works

                                                                        はじめに sourcetrailはソースの内部依存関係をグラフ等で可視化できる、オープンソースソフトウェアです。ビジュアルグラフなどを使った分かりやすい表示ができるのが特徴で、もともと商用ソフトウェアとして販売されていましたが、2019年にオープンソース化されました。今回は、sourcetrailの導入や運用方法についてのアドバイス等を説明したいと思います。 レッスン1.sourcetrailでできること まずは、sourcetrailとは何なのか、何ができるのかを学びましょう。 対応言語:C/C++、Java、Python 対応OS:Windows、Mac、Linux sourcetrail公式サイトhttps://www.sourcetrail.com/ sourcetrailでできる主な機能は以下です。 依存関係グラフ、ツリーの出力 グラフに相当するコードの表示 コードから関係するグ

                                                                          ソースコードを静的解析するオープンソースのSourcetrailで効率よく解析 | tracpath:Works
                                                                        • ピクシブ百科事典に静的解析のCIを導入した話 - pixiv inside

                                                                          ピクシブ百科事典に静的解析のCIを導入した話 こんにちは、4月からピクシブでアルバイトをしているmdanです。 今回はピクシブ百科事典に静的解析のCIを導入した話を書きます。 これまでピクシブ百科事典には解析ツールが導入されていませんでした。 といってもピクシブ百科事典のリリース頻度はそこまで多くなく、PhpStormが静的解析してくれるので大きな問題はありませんでした。 しかし社内では様々なエディタが使われているので万全ではありませんし、リリースの際は本当にエラーがないのか不安が残ります。 このような理由から静的解析のCIを導入することにしました。 静的解析ツールの導入 静的解析ツールとは、コードを実行せずにプログラムの性質を解析するツールのことです。コードを実行しない解析なのでテストコードを書く必要がなく、比較的簡単に使うことができます。 ピクシブ百科事典はPHPで開発されており、PH

                                                                            ピクシブ百科事典に静的解析のCIを導入した話 - pixiv inside
                                                                          • Dockerfileを正しく書けるように指摘してくれる静的解析ツール「hadolint」 - 🤖

                                                                            サイボウズ社の Docker 研修資料を見ていると Dockerfile の静的解析ツールが紹介されており、どれくらい解析するのか興味が湧いたので試してみました。 hadolint エラーを事前に検知してくれたり、よりよい Dockerfile の書き方を指摘してくれます。 Haskell で描かれており、スターは 4000 程度です。 vscode とも連携することができます。 github.com インストール # Mac $ brew install hadolint # Windows $ scoop install hadolint # Docker $ docker pull hadolint/hadolint # Build locally $ git clone https://github.com/hadolint/hadolint $ cd hadolint $ sta

                                                                              Dockerfileを正しく書けるように指摘してくれる静的解析ツール「hadolint」 - 🤖
                                                                            • 【Unity】Unityプロジェクトをあらゆる観点から静的解析してくれる公式ツール『Project Auditor』の使い方まとめ - LIGHT11

                                                                              Unityプロジェクトをあらゆる観点から静的解析してくれる公式ツール『Project Auditor』の使い方をまとめました はじめに インストール 基本的な使い方 解析実行フロー ビルドレポートを見る場合 スクリプトから実行する 各解析項目の説明 Code > Diagnostics Code > Assemblies Code > C# Compiler Messages Assets > Resources Assets > Shaders Assets > Shader Variants Settings > Diagnostics Build Report > Steps Build Report > Size 参考 Unity 2021.3.0f1 Project Auditor 0.8.1-preview はじめに Project Auditor を使うと Unity プロジ

                                                                                【Unity】Unityプロジェクトをあらゆる観点から静的解析してくれる公式ツール『Project Auditor』の使い方まとめ - LIGHT11
                                                                              • GitHub Actionsでreviewdogを飼って静的解析してみる

                                                                                こんにちは。株式会社ペライチ でサーバーサイドエンジニアをしている木村です。 入社以来主にペライチを継続利用していただくための機能追加や改善の開発を担当しております。 そのかたわら、ペライチシステムの品質を向上するための対応も行っており、今回はその一環として導入を進めているreviewdogを用いた静的解析について紹介させていただきます。 これまでのコード解析 ペライチでは Sider を利用して Pull Request 毎にソースコードの自動チェックを行っています。 Sider ではリポジトリ毎に解析を実施するツールの設定が可能で、 PHP で開発されているペライチアプリケーションでは以下を有効にしています。 PHP_CodeSniffer PHPMD Pull Request に含まれる変更のみを解析対象としてくれるため、人がコードレビューをする前段の文法やコーディング規約のチェック

                                                                                  GitHub Actionsでreviewdogを飼って静的解析してみる
                                                                                • Kotlinの静的解析ツールDetektを導入する (Part 1/2)

                                                                                  Detekt comes with a set of plugins that helps you configure it easily in your Gradle, Maven, Bazel, ... build. Enjoy… DetektはKotlinのコード静的解析ツールになっていて、フォーマットエラーやCode smellを検出してくれるものになります。 ktlintに比べて更に細かいことをしてくれますし、コードで問題がありそうな箇所も検出してくれるの、うまく運用すると非常に強力なものになると思います。 セットアップDetektの導入はドキュメントを見ても分かりにくい部分があるので、まずは最低限の設定でやっていきます。 今回はKotlin DSLを使った例になります。 まずはDetektのGardle Pluginをプロジェクト直下の build.gradle に追加します。

                                                                                    Kotlinの静的解析ツールDetektを導入する (Part 1/2)

                                                                                  新着記事