並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 38 件 / 38件

新着順 人気順

Regoの検索結果1 - 38 件 / 38件

  • Trivy + Regoを用いたパッケージ脆弱性管理 /trivy-rego

    2021.12.14 (Tue) Ubie Tech Talk で発表した資料です

      Trivy + Regoを用いたパッケージ脆弱性管理 /trivy-rego
    • OPA/Regoによる汎用的なGo言語の静的解析

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

        OPA/Regoによる汎用的なGo言語の静的解析
      • GitHub - fugue/regula: Regula checks infrastructure as code templates (Terraform, CloudFormation, k8s manifests) for AWS, Azure, Google Cloud, and Kubernetes security and compliance using Open Policy Agent/Rego

        Regula is a tool that evaluates infrastructure as code files for potential AWS, Azure, Google Cloud, and Kubernetes security and compliance violations prior to deployment. Regula supports the following file types: CloudFormation JSON/YAML templates Terraform source code Terraform JSON plans Kubernetes YAML manifests Azure Resource Manager (ARM) JSON templates (in preview) Regula includes a library

          GitHub - fugue/regula: Regula checks infrastructure as code templates (Terraform, CloudFormation, k8s manifests) for AWS, Azure, Google Cloud, and Kubernetes security and compliance using Open Policy Agent/Rego
        • Conftest で CI 時に Rego で記述したテストを行う - @amsy810's Blog

          Conftest で CI 時に Rego を用いたテストを行う こんにちは。青山(@amsy810)です。 実は少しだけ PLAID さんでお手伝いをしており、CI に Conftest を組み込んで Kubernetes マニフェストのポリシーチェックを行うようにしたので、その時の備忘録を書いておきます。 PLAID さんでも GKE を基盤として選定して開発しています。 Conftest とは? Conftest は Rego 言語で記述したポリシーを用いて、JSON や YAML などがポリシーに合致しているかをチェックする OSS です。 今回は Kubernetes のマニフェストがポリシーに合致しているかどうかを判別するために利用します。 例えば下記の例では、Deployment や StatefulSet などの Workloads リソースの Selector や起動して

            Conftest で CI 時に Rego で記述したテストを行う - @amsy810's Blog
          • OPA/Regoを活用して継続的監査を実現して、楽をしよう | Money Forward Kessai TECH BLOG

            あけましておめでとうございます。Open Policy Agent(以下OPA)/Rego x 監査で継続的監査をあたりまえにしていきたいと思っているMoney Forward Kessai(以下MFK)のshinofaraです。 Regoとは、OPAのポリシーを記述する言語です。 本日はOPA / Rego Advent Calendar 2021の影響を受けて、MFKでOPA/Regoを活用して実現している監査に関することの1つを紹介できればと思いブログを書き始めました。 そもそもOPAって何?に関しては、以下のZennに詳しく書かれておりますので、こちらのブログでは割愛させていただきます。 OPA/Rego入門: OPA/Regoとはなんなのか MFKではOPAで何をチェックしているか 昨年「2021年に入ってやめた3つの開発に関わる仕組み」を書かせていただきました。今回はその中で書

              OPA/Regoを活用して継続的監査を実現して、楽をしよう | Money Forward Kessai TECH BLOG
            • OPA/Rego入門

              情報セキュリティの分野で注目されている汎用的なポリシーエンジンOPAと、OPAで利用するポリシー記述言語Regoについて解説します

                OPA/Rego入門
              • GitHub - open-policy-agent/conftest: Write tests against structured configuration data using the Open Policy Agent Rego query language

                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                  GitHub - open-policy-agent/conftest: Write tests against structured configuration data using the Open Policy Agent Rego query language
                • ConftestでOpenPolicyAgent/Regoを使いTerraformのコードにポリシーを適用してみる - febc技術メモ

                  今日はConftestを用いてTerraformでのインフラコードにポリシーを適用してみます。 TerraformでのインフラコードのUnitTest terraform validateでの構文チェック Terraformではtfファイルの構文チェックを行ってくれるterraform validateコマンドが提供されています。 実行するとtfファイルの構文誤りやパラメータ名間違いなどを検出してくれます。 $ terraform validate Error: Unsupported argument ← パラメータ名間違い on test.tf line 6, in data "sakuracloud_server" "server": 6: name_selectorsa = ["sakura-dev"] An argument named "name_selectorsa" is

                    ConftestでOpenPolicyAgent/Regoを使いTerraformのコードにポリシーを適用してみる - febc技術メモ
                  • Policy as Codeを実現する Open Policy Agent / Rego の紹介 - 電通総研 テックブログ

                    こんにちは、Xイノベーション本部の柴田です。 このポストは 電通国際情報サービス Advent Calendar 2021 の5日目のポストです。 4日目のポストは加納さんの「リアルタイムレンダラーP3Dのご紹介」でした。 さて、このポストではOpen Policy Agentとポリシー言語Regoの紹介をしたいと思います。 前半ではRegoの文法を簡単に説明します。 後半では私がOpen Policy AgentとRegoを実際に使っていてハマった点をいくつかご紹介します。 このポストを読んでくださる方の役に立てば幸いです。 Open Policy Agentとは Regoとは まずは動かしてみる 設問 構造化データ(input.json) ポリシー(example.rego) 検証 Regoの文法 本章で扱う構造化データ 変数 変数の束縛 配列、集合、オブジェクトへのアクセス ルール

                      Policy as Codeを実現する Open Policy Agent / Rego の紹介 - 電通総研 テックブログ
                    • クリーンなコードを書けるOPA、定番の機能をサポートしているRego言語 2つを使用したポリシーの組み立てと実践

                      LINEのサービス開発拠点の1つである「LINE KYOTO」のオフィスで開催する技術イベント「LINE KYOTO 交流会 ~3年ぶりのおこしやす~」。ここで京都開発室K4チームのミッチェル氏が登壇。OPAとRego言語について話します。 OPAとは何か ミッチェル・ロバート氏(以下、ロバート):京都開発室のロバートと申します。よろしくお願いします。今日はOPAとRegoの紹介をしたいと思います。 まずは今日のアジェンダなんですが、OPAの簡単な説明と、特徴と長所から始めたいと思います。あとはRego言語の紹介と、一緒にポリシーを書いてみようと思っています。最後にポリシーの実行とまとめに移りたいと思います。 まずOPAとは何でしょうか? OPAは「Open Policy Agent」の省略で、サーバースタックに(対して)全体的にポリシー適用を標準化するために使用されるポリシー・エンジンで

                        クリーンなコードを書けるOPA、定番の機能をサポートしているRego言語 2つを使用したポリシーの組み立てと実践
                      • OPA / Rego Advent Calendar 2021 - Adventar

                        汎用的なポリシーエンジン Open Policy Agent (OPA) とそれを記述するポリシー言語 Rego に関する記事ならなんでもOKなアドベントカレンダーです。 https://www.openpolicyagent.org/ 追記:本アドベントカレンダーの一部をzenn.devで本にしました https://zenn.dev/mizutani/books/d2f1440cfbba94

                          OPA / Rego Advent Calendar 2021 - Adventar
                        • 📕 はじめに|OPA/Rego入門

                            📕 はじめに|OPA/Rego入門
                          • ReGo | 株式会社リゴ - コンサルティングサービス、企業の成長戦略、資本政策、資金調達計画の策定から実行支援、組織開発、リーダーシップ、マーケティング施策など成長フェーズに応じた課題解決に必要なソリューションを提供しています。

                            ビジネスを始めるために何が必要か。 ビジネスを成長させていくために何が必要か。 目の前にある事実を見つめ、課題を発見し、 その課題を解決するために最適なレバーを引く。 ReGoは、綿密な事業戦略と的確なマーケティングで お客さまのビジョン実現に伴走します。 ReGoでは主に企業内の新規事業開発やスタートアップを支援しています。私たちが大切にしているのは「Do more with less.」という考え方です。 ほとんどの企業課題において、その解決方法は1つではありません。ReGoがご提案するのは、より少ないリソースで、より大きな成果を生み出す方法です。そのために必要なのは創意工夫。知識や経験、ネットワークを駆使しながら、柔軟かつ軽やかに最適なソリューションをご提案します。

                              ReGo | 株式会社リゴ - コンサルティングサービス、企業の成長戦略、資本政策、資金調達計画の策定から実行支援、組織開発、リーダーシップ、マーケティング施策など成長フェーズに応じた課題解決に必要なソリューションを提供しています。
                            • Open Policy Agent Rego Knowledge Sharing Meetupを開催しました #opa_rego | メルカリエンジニアリング

                              Open Policy Agent Rego Knowledge Sharing Meetupを開催しました #opa_rego はじめに こんにちは、メルカリMicroservices Platform Group Infra Teamの @keke です。 7月7日にメルカリ主催のOpen Policy Agent Rego Knowledge Sharing Meetupをオンライン配信にて開催しました。 この記事では、当日の各発表を簡単に紹介します! 動画もアップロードされてますので、こちらもぜひご覧ください。 OPA and cloud resources 1つ目のセッションはメルカリ Platform Group Infra Teamの@toshi0607 さんによる「OPA and cloud resources」です。メルカリではCloud resourceをTerrafo

                                Open Policy Agent Rego Knowledge Sharing Meetupを開催しました #opa_rego | メルカリエンジニアリング
                              • Rego - A Go regular expression tester

                                Built by Steve Domin. Inspired by Rubular. You can find the sources at github.com/stevedomin/rego.

                                • OPA/Rego概論

                                  この記事はOPA/Regoアドベントカレンダーの1日目です。 このアドベントカレンダーでは、最近セキュリティエンジニア界隈で注目されつつある汎用的なポリシーエンジンOPA(読み:オーパ)と、OPAで利用するポリシー記述言語Rego(読み:レゴ)について解説していきます。 初日はOPA/Regoについてのざっくりどういうものかを理解してもらうための概論になります。 OPA/Regoとは OPAはサービスやソフトウェアの意思決定機能を本体と分離するために作られたエンジンです。ここで言う「意思決定」とはいわゆる認可の話だけではなく、様々なことに応用できます。 Infrastructure as Code で記述された設定に危険な構成(例えばアクセス制御が適切でない)のチェック デプロイされたリソースがポリシーに準拠した設定・構成になっているかのチェック セキュリティスキャンで検出された結果に対し

                                    OPA/Rego概論
                                  • Home - Rego - Bookmark your favorite places & routes

                                    Rego - One place for all your places Organize your favorite places and routes with Rego Places you’ve been, places you want to go – Rego remembers them all. From coffee shops to remote trails and everything in between, thousands of people around the world use Rego to capture, organize and enjoy the places and routes that are meaningful in their lives. Get it today, for only $8.99. The missing mapp

                                    • OPA/Regoによる汎用的なGo言語の静的解析(実践編)

                                      これまでのあらすじ 前回執筆した記事がなかなかの好評をいただけたようなので、今回はより実践的な内容の説明をしたいと思います。前回の記事では全体イメージのわかりやすさ優先で細かい説明を端折っていました。今回は実際にどのようにASTを評価するのか、どのようなルールが書けるのか、テストはどうするのか、などについて説明します。 goastによるソースコード検査の仕組み まずはじめにgoastがどのような仕組みでGoのソースコードを検査するかの仕組みについて簡単に説明します。Goはastパッケージによってソースコードをparseすることで、Abstract Syntax Treeを作成します。非常に大雑把ではありますが、イメージとしては下図のようになります。 いろいろと省略していますが、基点となる構造体が ast.File というファイル全体を示すノード(ast.Node interface)となっ

                                        OPA/Regoによる汎用的なGo言語の静的解析(実践編)
                                      • Creating Exceptions Lists for Conftest in Rego

                                        February 26, 2020 4 min read Policy as code · conftest · OPA · Rego For those who don’t know what conftest is, conftest is an open-source utility that helps engineers write tests against structured configuration data. At the time of writing, conftest supports many formats such as YAML, JSON, Dockerfile, and HCL/HCL2 amongst others. This variety of formats allows teams to validate their configurati

                                          Creating Exceptions Lists for Conftest in Rego
                                        • Rego Deep Dive

                                          This document provides an introduction and overview of Open Policy Agent (OPA). It discusses how OPA can be used to add fine-grained policy controls to other projects. Key points include: - OPA allows integrating policy decisions from a project into OPA and offloading policy logic. Policies can be authored in OPA and decisions retrieved. - Policies are invoked by sending decision requests to OPA A

                                            Rego Deep Dive
                                          • Dame Paula Rego: Celebrated Portuguese-British artist dies at 87

                                            A retrospective exhibition of Dame Paula Rego was held at the Tate Britain gallery last year Renowned artist Dame Paula Rego has died at the age of 87, a gallery representing her has confirmed.

                                              Dame Paula Rego: Celebrated Portuguese-British artist dies at 87
                                            • RegoとConftest ことはじめ - tech.guitarrapc.cóm

                                              Kubernetes の面倒なことといえばYAML、というのはよく聞くし私もそう思います。 YAMLが面倒なことはいくつもありますが、その1つに「YAMLの定義がポリシーとして正しいかの検証」があります。 コードを書いているときのように、YAML もポリシーにあっているのかユニットテストができれば、いざデプロイするときまでわからないという事態は避けられそうですね? ということで、今回はKubernetes でポリシーチェックをする方法として良くあげられる Open Policy Agent のRego言語とContest を使っていくメモです。 なお、ポリシーチェックというとConftest や Gatekeeper がありますが、個人的にはローカルで気軽に始められるConftestから慣れていくのがいいと思います。試行錯誤しやすいところから入るのが大事。 tl;dr; Rego基本情報

                                                RegoとConftest ことはじめ - tech.guitarrapc.cóm
                                              • SaaS でも Policy as Code ができるかやってみた - # SCuBaGear, # OPA/Rego|pirox

                                                SaaS でも Policy as Code ができるかやってみた - # SCuBaGear, # OPA/Rego 私の所属するコーポレートシステム部 / CorpOps チームは、組織内で使用するクラウドサービス (laaS から SaaSまで)に対して適切なセキュリティポリシーを策定・適用し、ITガバナンスを保証する責任を持っています。将来的には Policy as Code のアプローチで組織のセキュリティポリシーをコードとして管理し、複雑化し拡大する ITシステムのガバナンスを実現したいと考えています。 対サービス・プロダクトにおける Policy as Code の事例を目にしていますが、組織内で使用される SaaS ではまだ馴染みがないように思います。そんな中、CISA が開発・公開したツール「SCuBaGear」をはじめとする新しい取り組みがあります。 今回は、CISAが

                                                  SaaS でも Policy as Code ができるかやってみた - # SCuBaGear, # OPA/Rego|pirox
                                                • OPA/Regoの応用(脆弱性管理)

                                                  この記事はOPA/Regoアドベントカレンダーの23日目です。今回、次回ではOPA/Regoを使った応用事例について(構想段階のものも含めて)紹介したいと思います。本日は組織内で開発しているプロダクトの脆弱性管理についてになります。 今回のトピックは筆者がUbie Tech Talk 〜Ubieを支えるプロダクト基盤と分析環境〜(アーカイブ)で講演させてもらった内容をベースに、発表時には時間の都合上割愛させてもらった技術の詳細について深堀りしたいと思います。発表資料やアーカイブは以下で閲覧できますので、興味のある方は併せてご覧ください。 脆弱性の「管理」とは すでに発表・資料内で説明しているのですが、簡単に整理だけしたいと思います。 昨今のソフトウェア開発(特にWebサービス周り)は3rd partyのパッケージを利用しないという選択肢はほぼなく、OSSを中心にその恩恵をうけながらの開発が

                                                    OPA/Regoの応用(脆弱性管理)
                                                  • GitHub - StyraInc/rego-style-guide: Style guide for Rego

                                                    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                      GitHub - StyraInc/rego-style-guide: Style guide for Rego
                                                    • 楽天ぐるなび - Bar REGO 貸切 浦和 (浦和/イタリアン(イタリア料理))

                                                      基本情報【電話番号】048-795-8107【エリア】浦和【アクセス】JR京浜東北線浦和駅東口 徒歩2分【ジャンル】イタリアン基本情報をすべて見る近隣駅・エリア、人気のジャンルから検索浦和駅×イタリアン(イタリア料理)浦和駅×ランチ浦和×個室ありイタリアン(イタリア料理)×個室ありおすすめエリア×ジャンルから検索表参道 フレンチ池袋 焼き鳥新宿 サムギョプサル川越 焼き鳥新宿 居酒屋銀座 そば新宿 グルメ浅草 焼肉上野 グルメ青山 焼肉

                                                        楽天ぐるなび - Bar REGO 貸切 浦和 (浦和/イタリアン(イタリア料理))
                                                      • 📕 OPA/Regoとはなんなのか|OPA/Rego入門

                                                          📕 OPA/Regoとはなんなのか|OPA/Rego入門
                                                        • Regoのテスト

                                                          この記事はOPA/Regoアドベントカレンダーの9日目です。 Policy as Codeとはの記事でも述べたとおり、ポリシーをコードで記述する大きなメリットの1つがテスト可能になることです。シンプルで少ないポリシーだけを運用しているうちはいいですが、ポリシーが複雑化・巨大化することによって記述した内容が意図したとおりに動作するか、あるいは新たに追加・修正したことで既存のポリシーに影響を及ぼしていないかを確認するコストが肥大化していきます。 OPAはポリシーをテストする機能を提供しており、容易にテストの記述や実施ができるようになっています。この記事ではテスト機能の基本的な部分をかいつまんで紹介します。 基本的なテストの流れ 以下のようなポリシーがあった場合のテストについて説明します。

                                                            Regoのテスト
                                                          • あまねくGitHubイベントのSlack通知をOPA/Regoで制御する

                                                            TL;DR GitHubは公式の通知機能やコメント内容に応じた通知ツールがすでにあるが、より多くの通知ユースケースがありそう OPA/Regoを使うと通知ルールと実装をうまく分離できる 全てのGitHubイベントの通知ができるツールをPoCとして実装してみた GitHub通知の活用 GitHub上での出来事を通知する方法は、公式のEmail通知やSlack連携だけでなく、様々なツールがこれを実現しています。特に(以前お世話になっていた)tokiteはIssueやPull Request(PR)内の文字列を検査して、特定のキーワードを含むコメントなどがあった場合にSlackへ通知してくれます。具体的なユースケースとしては、 直接IDによってメンションされていないが、自分の名前がでてきた話題を見つける 自分が興味のあるトピックに関連するキーワード(自分の場合だと、例えば「セキュリティ」「個人情

                                                              あまねくGitHubイベントのSlack通知をOPA/Regoで制御する
                                                            • Regoの基礎(結果の出力編)

                                                              この記事はOPA/Regoアドベントカレンダーの5日目です。今回はOPAで利用されるポリシー記述言語であるRegoで出力される変数への代入のパターンを解説します。 Regoはポリシーのトップレベルで定義された変数がそのまま「出力」として扱われますが、代入にはいくつか方法があります。特に条件の分岐や値の入れ込み方などがやや特殊なため、パターンごとに具体例で解説していきたいと思います。 代入のパターン 直代入

                                                                Regoの基礎(結果の出力編)
                                                              • OPA / Rego Advent Calendar 2021 - Adventar

                                                                汎用的なポリシーエンジン Open Policy Agent (OPA) とそれを記述するポリシー言語 Rego に関する記事ならなんでもOKなアドベントカレンダーです。 https://www.openpolicyagent.org/ 追記:本アドベントカレンダーの一部をzenn.devで本にしました https://zenn.dev/mizutani/books/d2f1440cfbba94

                                                                  OPA / Rego Advent Calendar 2021 - Adventar
                                                                • 📝 デバッグ|OPA/Rego入門

                                                                    📝 デバッグ|OPA/Rego入門
                                                                  • OPA / Rego Advent Calendar 2021 - Adventar

                                                                    汎用的なポリシーエンジン Open Policy Agent (OPA) とそれを記述するポリシー言語 Rego に関する記事ならなんでもOKなアドベントカレンダーです。 https://www.openpolicyagent.org/ 追記:本アドベントカレンダーの一部をzenn.devで本にしました https://zenn.dev/mizutani/books/d2f1440cfbba94

                                                                      OPA / Rego Advent Calendar 2021 - Adventar
                                                                    • Open Policy Agent Rego Knowledge Sharing Meetup - 資料一覧 - connpass

                                                                      終了 2021/07/07(水) 19:00〜 Open Policy Agent Rego Knowledge Sharing Meetup Knowledge sharing meetup for Open Policy Agent mercari_event 他 オンライン

                                                                        Open Policy Agent Rego Knowledge Sharing Meetup - 資料一覧 - connpass
                                                                      • 当地Rego Parkのエスニック・コミュニティ事情について - shinichiroinaba's blog

                                                                        かつて「ロシア人やたら多い。ユダヤ人も多い」と書きましたが訂正します。「旧ソ連の中央アジア、グルジア、ロシア等々から来たユダヤ人がやたら多い」です。まあみんなロシア語を話してるわけですが。 http://en.wikipedia.org/wiki/Rego_Park,_New_York 特に多いのがBukharian Jewsです。この人たちの歴史はちょっと壮絶だ。ことにソ連崩壊後はウズベク、タジクのナショナリズム・排外主義の昂進のおかげであらかた国外に脱出して、もうほとんど残っていないみたい。 http://en.wikipedia.org/wiki/Bukharan_Jews

                                                                          当地Rego Parkのエスニック・コミュニティ事情について - shinichiroinaba's blog
                                                                        • GitHub Action で Trivy + OPA/Rego による脆弱性管理

                                                                          この記事はOPA/Regoアドベントカレンダーの19日目です。 今回は GitHub Actions で Trivy を用いてOSSパッケージの脆弱性検査をした際に、カスタムポリシーによってCIを落とすような仕組みについて紹介[1]します。 もともとコンテナイメージの脆弱性スキャナとして開発されていたTrivyですが、最近はファイルシステムにあるパッケージシステムの脆弱性をスキャンする機能も実装されています。この機能を利用したGitHub Actionsも提供されており、自分が開発してるリポジトリで利用している外部パッケージにどのような脆弱性が含まれているかを簡単に調べることができるようになっています。 またTrivy自体のオプションも多彩で、終了時に異常終了(exit codeが非ゼロ)しGitHub Actionsを失敗させ、CIを止めることもできます。例えば一定以下のSeverity

                                                                            GitHub Action で Trivy + OPA/Rego による脆弱性管理
                                                                          • OPA/Regoの応用(SOAR: Security Orchestration, Automation and Response)

                                                                            OPA/Regoの応用(SOAR: Security Orchestration, Automation and Response) この記事はOPA/Regoアドベントカレンダーの24日目です。 本日は前回に引き続き、OPA/Regoによる応用がテーマです。今回はセキュリティ監視・対応の運用を自動化する Security Orchestration, Automation and Response (SOAR) にOPA/Regoを組み込む可能性について議論します。こちらも実装を形にしつつはあるのですがまだ不十分なこともあり、今回は構想について紹介するにとどめたいと思います。 SOARとは 単語としてはGartnerが2017年くらいから言い始めた単語で、セキュリティ監視によって得られたアラートを自動的に評価・対応するためのフレームワークや製品を指しています。筆者が以前に登壇で使った資料

                                                                              OPA/Regoの応用(SOAR: Security Orchestration, Automation and Response)
                                                                            • Regoの基礎(Safety)

                                                                              package example p := { "blue": 1, "red": 0, "yellow": 2, } result[x] { not p[x] == 0 } % opa eval -b . data { "errors": [ { "message": "var x is unsafe", "code": "rego_unsafe_var_error", "location": { "file": "example.rego", "row": 9, "col": 5 } } ] } OPAはルールが有限個の入力と出力を持つことを保証するために Safety という概念を持っています。ちゃんと定義された変数のみが ドキュメントでは "Safety" は以下のように定義されています。 Safety: every variable appearing in the head or

                                                                                Regoの基礎(Safety)
                                                                              1