{"id":11737,"date":"2026-06-18T14:01:14","date_gmt":"2026-06-18T05:01:14","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=11737"},"modified":"2026-06-19T16:04:59","modified_gmt":"2026-06-19T07:04:59","slug":"semgrep-%ec%86%8c%ec%8a%a4%ec%bd%94%eb%93%9c-%eb%b3%b4%ec%95%88-%ec%b7%a8%ec%95%bd%ec%a0%90-%ec%a7%84%eb%8b%a8%eb%8f%84%ea%b5%ac","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=11737","title":{"rendered":"Semgrep &#8211; \uc18c\uc2a4\ucf54\ub4dc \ubcf4\uc548 \ucde8\uc57d\uc810 \uc9c4\ub2e8\ub3c4\uad6c"},"content":{"rendered":"<h1>Semgrep &#8211; \uc18c\uc2a4\ucf54\ub4dc \ubcf4\uc548 \ucde8\uc57d\uc810 \uc9c4\ub2e8\ub3c4\uad6c<\/h1>\n<p>\uc18c\uc2a4\ucf54\ub4dc\uc758 \ubcf4\uc548 \ucde8\uc57d\uc810\uc744 \uc9c4\ub2e8\ud574 \uc8fc\ub294 \ub3c4\uad6c\uc785\ub2c8\ub2e4.<\/p>\n<h2>\uc124\uce58\ubc95<\/h2>\n<p>VSCode \ud655\uc7a5\uc744 \uc124\uce58\ud569\ub2c8\ub2e4.<\/p>\n<p>Semgrep \ud655\uc7a5\uc744 \uac80\uc0c9\ud574\uc11c \uc124\uce58\ud569\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-bash\"># macOS\nbrew install semgrep\n\n# Ubuntu\/WSL\npython3 -m pip install semgrep<\/code><\/pre>\n<h2>\uc0ac\uc6a9\ubc95<\/h2>\n<pre><code class=\"language-bash\"># WSL\n# cd \/mnt\/c\/\ud504\ub85c\uc81d\ud2b8\uacbd\ub85c\/\n\nsemgrep scan --config auto\n\n# \ud2b9\uc815 \ud30c\uc77c \uc81c\uc678\ud558\uace0 C# \ub9cc \uac80\uc0ac \ud6c4 \ud30c\uc77c\ub85c \uc800\uc7a5\n# semgrep scan --lang csharp --exclude=&quot;.vs&quot; -o semgrep_result.txt\nsemgrep scan --config auto --include=&quot;*.cs&quot; --exclude=&quot;.vs&quot; -o semgrep_result.txt\n\n# \ud2b9\uc815 \ud30c\uc77c \uc81c\uc678\ud558\uace0 C# \ub9cc \uac80\uc0ac \ud6c4 json \ud30c\uc77c\ub85c \uc800\uc7a5\nsemgrep scan --lang csharp --exclude=&quot;.vs&quot; --json -o semgrep_result.json<\/code><\/pre>\n<h2>\ub85c\uadf8\uc778<\/h2>\n<p>\ud68c\uc6d0\uac00\uc785\uc744 \ud558\uace0 \ub85c\uadf8\uc778\uc744 \ud558\uba74 \ub354 \ub9ce\uc740 \uac80\uc0ac \ub8f0\uc744 \uc801\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>\uac1c\ubc1c\uc790 10\uc778 \uc774\ud558\uc758 \ud68c\uc0ac\ub3c4 \ubb34\ub8cc\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/semgrep.dev\/\">https:\/\/semgrep.dev\/<\/a> \uc5d0\uc11c \ud68c\uc6d0\uac00\uc785<\/p>\n<\/li>\n<li>\n<p><code>semgrep login<\/code><\/p>\n<\/li>\n<\/ul>\n<h2>\uc624\ub958 \ub300\uc751<\/h2>\n<h3>\uad8c\ud55c\uc624\ub958<\/h3>\n<pre><code class=\"language-bash\">...\nPermissionError: [Errno 13] Permission denied: &#039;\ud504\ub85c\uc81d\ud2b8\uacbd\ub85c\/FileContentIndex\/e58d50be-XXXXXX.vsidx&#039;\n...<\/code><\/pre>\n<p>\uc704\uc640 \uac19\uc774 \uad8c\ud55c \uc624\ub958\uac00 \ubc1c\uc0dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<br \/>\nVisual Studio \ub4f1\uc5d0\uc11c \ud30c\uc77c\uc744 \uc77d\uace0 \uc788\ub294 \uc0c1\ud0dc\ub77c \ubc1c\uc0dd\ud558\ub294 \uc624\ub958\ub85c \ud574\ub2f9 \ud30c\uc77c\uc744 \uc2a4\uce94\uc5d0\uc11c \uc81c\uc678\ud558\uba74 \ub429\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-bash\">vi .semgrepignore\n------\n# .semgrepignore\n.vs\/\n**.vsidx\n------<\/code><\/pre>\n<h3>MS \ub77c\uc774\ube0c\ub7ec\ub9ac \uacbd\uace0 \uc81c\uc678<\/h3>\n<pre><code class=\"language-bash\">vi .semgrepignore\n------\n# .semgrepignore\n.vs\/\n**.vsidx\n\n# Third-party libraries (do not scan)\nknus.spyout.app\/Microsoft.ReportViewer.*\/\n------<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Semgrep &#8211; \uc18c\uc2a4\ucf54\ub4dc \ubcf4\uc548 \ucde8\uc57d\uc810 \uc9c4\ub2e8\ub3c4\uad6c \uc18c\uc2a4\ucf54\ub4dc\uc758 \ubcf4\uc548 \ucde8\uc57d\uc810\uc744 \uc9c4\ub2e8\ud574 \uc8fc\ub294 \ub3c4\uad6c\uc785\ub2c8\ub2e4. \uc124\uce58\ubc95 VSCode \ud655\uc7a5\uc744 \uc124\uce58\ud569\ub2c8\ub2e4. Semgrep \ud655\uc7a5\uc744 \uac80\uc0c9\ud574\uc11c \uc124\uce58\ud569\ub2c8\ub2e4. # macOS brew install semgrep # Ubuntu\/WSL python3 -m pip install semgrep \uc0ac\uc6a9\ubc95 # WSL # cd \/mnt\/c\/\ud504\ub85c\uc81d\ud2b8\uacbd\ub85c\/ semgrep scan &#8211;config auto # \ud2b9\uc815 \ud30c\uc77c \uc81c\uc678\ud558\uace0 C# \ub9cc \uac80\uc0ac \ud6c4 \ud30c\uc77c\ub85c \uc800\uc7a5 # semgrep scan\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=11737\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-11737","post","type-post","status-publish","format-standard","hentry","category-devops"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/11737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11737"}],"version-history":[{"count":7,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/11737\/revisions"}],"predecessor-version":[{"id":11744,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/11737\/revisions\/11744"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}