{"id":9714,"date":"2019-07-11T08:22:00","date_gmt":"2019-07-11T14:22:00","guid":{"rendered":"https:\/\/swimlane.com\/resource\/swimlane-pyattack-works-with-mitre-att-ck-framework\/"},"modified":"2025-12-22T03:48:07","modified_gmt":"2025-12-22T10:48:07","slug":"swimlane-pyattack%ec%9d%80-mitre-att-ck-%ed%94%84%eb%a0%88%ec%9e%84%ec%9b%8c%ed%81%ac%ec%99%80-%ed%95%a8%ea%bb%98-%ec%9e%91%eb%8f%99%ed%95%a9%eb%8b%88%eb%8b%a4","status":"publish","type":"sw_resource","link":"https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/","title":{"rendered":"Swimlane\uc758 pyattack\uc740 Mitre ATT&amp;CK \ud504\ub808\uc784\uc6cc\ud06c\uc640 \ud568\uaed8 \uc791\ub3d9\ud569\ub2c8\ub2e4."},"content":{"rendered":"\n\n\n<section class=\"bs-section bs-section-f49668dca89a07af4c4bed27713f079b6839f643 bs-section---default bs-section--blog-inner-banner  \"><style>.bs-section.bs-section-f49668dca89a07af4c4bed27713f079b6839f643{ background-color: #000743;} <\/style><div class=\"container\">\n<div class=\"bs-row row  flex-md-row-reverse bs-row---default\">\n<div class=\" bs-column col-sm-12 col-md-12 col-lg-6   bs-column-3c02e72bbbdd27fbc2206a57dc520373f8b450b2 bs-column---default bs-column--right d-flex flex-column justify-content-end    \"><figure class=\"wp-block-post-featured-image\"><img decoding=\"async\" src=\"https:\/\/swimlane.com\/wp-content\/uploads\/Pyattack-for-Mitre-ATTCK-Framework-1.png\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"Developer working on code at desktop monitor with programming interface and files open.\" style=\"object-fit:cover;\" srcset=\"https:\/\/swimlane.com\/wp-content\/uploads\/Pyattack-for-Mitre-ATTCK-Framework-1.png 800w, https:\/\/swimlane.com\/wp-content\/uploads\/Pyattack-for-Mitre-ATTCK-Framework-1-300x202.png 300w, https:\/\/swimlane.com\/wp-content\/uploads\/Pyattack-for-Mitre-ATTCK-Framework-1-768x516.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure><\/div>\n\n\n\n<div class=\" bs-column col-sm-12  col-md-12 col-lg-6   bs-column-6a13826d98ae006805bf00373c567a95c3c65a9a bs-column---default d-flex flex-column    \"><div class=\"wp-block-post-date\"><time datetime=\"2019-07-11T08:22:00-06:00\">7\uc6d4 11, 2019<\/time><\/div>\n\n<h1 class=\"wp-block-post-title has-text-color has-white-color\">Swimlane&#8217;s pyattack works with Mitre ATT&#038;CK Framework<\/h1>\n\n\n<div class=\"bs-div bs-div-f106fb945b2c4610a440b9e5b4f63c0c1cbbec02 bs-div---default\"><div class=\"bs-div__inner d-flex flex-wrap align-items-center    \">\n<a class=\"bs-post__author has-text-align-center\" href=\"https:\/\/swimlane.com\/ko\/author\/Nick_Tausek\/\">\n\t<div class=\"profile-desc\">\n\t\t<figure>\n\t\t\t<img decoding=\"async\" src=\"https:\/\/swimlane.com\/wp-content\/uploads\/author_Nick_Tausek.jpg\" alt=\"user-avatar\">\n\t\t<\/figure>\n\t\t<span class=\"prefix\"><\/span>\n\t\t<span class=\"name\">\n\t\t\tNick Tausek\t\t<\/span>\n\t<\/div>\n<\/a>\n\n\n\n<div class=\"reading-time\">\n    <span class=\"reading-time__time\">3 <\/span> Minute Read\n<\/div><\/div><\/div>\n<\/div>\n<\/div>\n<\/div><\/section>\n\n\n\n\n\n\n\n\n\n<section class=\"bs-section bs-section-050e6505c2b06c7ce9ca858e2f56661a365e6ba8 bs-section---default bs-section--blog-inner-main-contents  \"><div class=\"container\">\n<div class=\"bs-row row justify-content-between  bs-row---default\">\n<div class=\" bs-column col-sm-12 col-md-1   bs-column-b9d738473a055284b615b4f50be5a383dfe4cc38 bs-column---default     \"><div class=\"heateor_sss_sharing_container heateor_sss_horizontal_sharing\" data-heateor-ss-offset=\"0\" data-heateor-sss-href='https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/'><div class=\"heateor_sss_sharing_ul\"><a aria-label=\"Email\" class=\"heateor_sss_email\" href=\"https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/\" onclick=\"event.preventDefault();window.open('mailto:?subject=' + decodeURIComponent('Swimlane%27s%20pyattack%20works%20with%20Mitre%20ATT%26CK%20Framework').replace('&', '%26') + '&body=https%3A%2F%2Fswimlane.com%2Fko%2Fblog%2Fswimlane-pyattack-works-with-mitre-att-ck-framework%2F', '_blank')\" title=\"Email\" rel=\"noopener\" style=\"font-size:32px!important;box-shadow:none;display:inline-block;vertical-align:middle\"><span class=\"heateor_sss_svg\" style=\"background-color:#649a3f;width:35px;height:35px;border-radius:999px;display:inline-block;opacity:1;float:left;font-size:32px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box\"><svg style=\"display:block;border-radius:999px;\" focusable=\"false\" aria-hidden=\"true\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"100%\" viewBox=\"-.75 -.5 36 36\"><path d=\"M 5.5 11 h 23 v 1 l -11 6 l -11 -6 v -1 m 0 2 l 11 6 l 11 -6 v 11 h -22 v -11\" stroke-width=\"1\" fill=\"#fff\"><\/path><\/svg><\/span><\/a><a aria-label=\"Twitter\" class=\"heateor_sss_button_twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?text=Swimlane%27s%20pyattack%20works%20with%20Mitre%20ATT%26CK%20Framework&url=https%3A%2F%2Fswimlane.com%2Fko%2Fblog%2Fswimlane-pyattack-works-with-mitre-att-ck-framework%2F\" title=\"Twitter\" rel=\"nofollow noopener\" target=\"_blank\" style=\"font-size:32px!important;box-shadow:none;display:inline-block;vertical-align:middle\"><span class=\"heateor_sss_svg heateor_sss_s__default heateor_sss_s_twitter\" style=\"background-color:#55acee;width:35px;height:35px;border-radius:999px;display:inline-block;opacity:1;float:left;font-size:32px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box\"><svg style=\"display:block;border-radius:999px;\" focusable=\"false\" aria-hidden=\"true\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"100%\" viewBox=\"-4 -4 39 39\"><path d=\"M28 8.557a9.913 9.913 0 0 1-2.828.775 4.93 4.93 0 0 0 2.166-2.725 9.738 9.738 0 0 1-3.13 1.194 4.92 4.92 0 0 0-3.593-1.55 4.924 4.924 0 0 0-4.794 6.049c-4.09-.21-7.72-2.17-10.15-5.15a4.942 4.942 0 0 0-.665 2.477c0 1.71.87 3.214 2.19 4.1a4.968 4.968 0 0 1-2.23-.616v.06c0 2.39 1.7 4.38 3.952 4.83-.414.115-.85.174-1.297.174-.318 0-.626-.03-.928-.086a4.935 4.935 0 0 0 4.6 3.42 9.893 9.893 0 0 1-6.114 2.107c-.398 0-.79-.023-1.175-.068a13.953 13.953 0 0 0 7.55 2.213c9.056 0 14.01-7.507 14.01-14.013 0-.213-.005-.426-.015-.637.96-.695 1.795-1.56 2.455-2.55z\" fill=\"#fff\"><\/path><\/svg><\/span><\/a><a aria-label=\"Facebook\" class=\"heateor_sss_facebook\" href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fswimlane.com%2Fko%2Fblog%2Fswimlane-pyattack-works-with-mitre-att-ck-framework%2F\" title=\"Facebook\" rel=\"nofollow noopener\" target=\"_blank\" style=\"font-size:32px!important;box-shadow:none;display:inline-block;vertical-align:middle\"><span class=\"heateor_sss_svg\" style=\"background-color:#0765FE;width:35px;height:35px;border-radius:999px;display:inline-block;opacity:1;float:left;font-size:32px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box\"><svg style=\"display:block;border-radius:999px;\" focusable=\"false\" aria-hidden=\"true\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"100%\" viewBox=\"0 0 32 32\"><path fill=\"#fff\" d=\"M28 16c0-6.627-5.373-12-12-12S4 9.373 4 16c0 5.628 3.875 10.35 9.101 11.647v-7.98h-2.474V16H13.1v-1.58c0-4.085 1.849-5.978 5.859-5.978.76 0 2.072.15 2.608.298v3.325c-.283-.03-.775-.045-1.386-.045-1.967 0-2.728.745-2.728 2.683V16h3.92l-.673 3.667h-3.247v8.245C23.395 27.195 28 22.135 28 16Z\"><\/path><\/svg><\/span><\/a><a aria-label=\"Linkedin\" class=\"heateor_sss_button_linkedin\" href=\"https:\/\/www.linkedin.com\/sharing\/share-offsite\/?url=https%3A%2F%2Fswimlane.com%2Fko%2Fblog%2Fswimlane-pyattack-works-with-mitre-att-ck-framework%2F\" title=\"Linkedin\" rel=\"nofollow noopener\" target=\"_blank\" style=\"font-size:32px!important;box-shadow:none;display:inline-block;vertical-align:middle\"><span class=\"heateor_sss_svg heateor_sss_s__default heateor_sss_s_linkedin\" style=\"background-color:#0077b5;width:35px;height:35px;border-radius:999px;display:inline-block;opacity:1;float:left;font-size:32px;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;background-repeat:repeat;overflow:hidden;padding:0;cursor:pointer;box-sizing:content-box\"><svg style=\"display:block;border-radius:999px;\" focusable=\"false\" aria-hidden=\"true\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"100%\" viewBox=\"0 0 32 32\"><path d=\"M6.227 12.61h4.19v13.48h-4.19V12.61zm2.095-6.7a2.43 2.43 0 0 1 0 4.86c-1.344 0-2.428-1.09-2.428-2.43s1.084-2.43 2.428-2.43m4.72 6.7h4.02v1.84h.058c.56-1.058 1.927-2.176 3.965-2.176 4.238 0 5.02 2.792 5.02 6.42v7.395h-4.183v-6.56c0-1.564-.03-3.574-2.178-3.574-2.18 0-2.514 1.7-2.514 3.46v6.668h-4.187V12.61z\" fill=\"#fff\"><\/path><\/svg><\/span><\/a><\/div><div class=\"heateorSssClear\"><\/div><\/div>\n<\/div>\n\n\n\n<div class=\" bs-column col-sm-12  col-lg-8 col-md-11   bs-column-5fcbee853797bef68c609dd2715f511e3ead78a3 bs-column---default bs-column--contents     \">\n<h2>&nbsp;<\/h2>\n<p><strong>NOTE: The <\/strong><a href=\"https:\/\/attack.mitre.org\/\" target=\"_blank\" rel=\"noopener\"><strong>Mitre ATT&amp;CK Framework<\/strong><\/a><strong> is NOT an all-encompassing\/defacto security coverage map. It is rather a FRAMEWORK, and other avenues should be considered when assessing your security posture.<\/strong><\/p>\n<hr>\n<p>As security teams adopt the <a href=\"https:\/\/attack.mitre.org\/\" target=\"_blank\" rel=\"noopener\">Mitre ATT&amp;CK Framework<\/a> to help them identify gaps in their defenses, having a way to identify what malware and tools are being used by specific actors or groups becomes more critical. Additionally, having a way to identify these relationships programatically is even more critical.<\/p>\n<p>Today, we are excited to announce the Swimlane research team has released <a href=\"https:\/\/pyattck.readthedocs.io\/en\/latest\/\" target=\"_blank\" rel=\"noopener\">pyattck<\/a>\u2014a Python package to interact with the <a href=\"https:\/\/attack.mitre.org\/\" target=\"_blank\" rel=\"noopener\">Mitre ATT&amp;CK Framework<\/a>. There are many different open-source projects being released on a daily basis, but we wanted to provide a straightforward Python package that allows the user to identify known relationships between all verticals of the <a href=\"https:\/\/attack.mitre.org\/\" target=\"_blank\" rel=\"noopener\">Mitre ATT&amp;CK Framework<\/a>.<\/p>\n<p>If you are unfamiliar with the <a href=\"https:\/\/attack.mitre.org\/\" target=\"_blank\" rel=\"noopener\">Mitre ATT&amp;CK Framework<\/a>, there are a few key components in which you need a firm grasp:<\/p>\n<h4>Tactics and techniques<\/h4>\n<p>When looking at the <a href=\"https:\/\/attack.mitre.org\/\" target=\"_blank\" rel=\"noopener\">Mitre ATT&amp;CK Framework<\/a>, tactics are listed within the columns and represent the different phases of an attack.<\/p>\n<p>Techniques appear in the rows beneath specific tactics (columns) and are data points within the framework that provide guidance when assessing security gaps. Additionally, most techniques contain mitigation guidance, as well as information about their relationship to tools, malware, and even actors\/groups that are using or have used the technique during recorded attacks.<\/p>\n<p>If your organization is focused on tactics, techniques and procedures (TTPs) used by certain actors\/groups, then <a href=\"https:\/\/attack.mitre.org\/\" target=\"_blank\" rel=\"noopener\">Mitre ATT&amp;CK Framework<\/a> is perfect for you. If your organization has not reached this level of security maturity, no worries! The ATT&amp;CK Framework still provides rich guidance in a simple and straightforward layout. However, it is not straightforward programmatically, especially if you want to measure (or map) your security controls using the framework.<\/p>\n<p>But do not fret, we have released <a href=\"https:\/\/pyattck.readthedocs.io\/en\/latest\/\" target=\"_blank\" rel=\"noopener\">pyattck<\/a> as an open-source Python package that enables security teams to draw upon these relationships for their own internal or external tooling. Currently, <a href=\"https:\/\/pyattck.readthedocs.io\/en\/latest\/\" target=\"_blank\" rel=\"noopener\">pyattck<\/a> supports the identification of the following relationships with more being added:<\/p>\n<ul>\n<li>Actor\n<ul>\n<li>Tools used by the actor or group.<\/li>\n<li>Malware used by the actor or group.<\/li>\n<li>Techniques used by the actor or group.<\/li>\n<\/ul>\n<\/li>\n<li>Malware\n<ul>\n<li>Actor or group using this malware.<\/li>\n<li>Techniques this malware is used with.<\/li>\n<\/ul>\n<\/li>\n<li>Mitigation\n<ul>\n<li>Techniques related to a specific set of mitigation suggestions.<\/li>\n<\/ul>\n<\/li>\n<li>Tactic\n<ul>\n<li>Techniques found in a specific tactic (phase).<\/li>\n<\/ul>\n<\/li>\n<li>Technique\n<ul>\n<li>Tactics in which a technique is found.<\/li>\n<li>Mitigation suggestions for a given technique.<\/li>\n<li>Actor or group(s) identified as using this technique.<\/li>\n<\/ul>\n<\/li>\n<li>Tools\n<ul>\n<li>Techniques used within the specified tools.<\/li>\n<li>Actor or group(s) using a specified tool.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>As an example, if your security team wants to ensure they are protected against TTPs related to APT1, then instead of looking through a visual map of information about APT1, you can use pyattck to extract the tools, malware, and techniques associated or used by APT1.<\/p>\n<p>To retrieve this information from <a href=\"https:\/\/pyattck.readthedocs.io\/en\/latest\/\" target=\"_blank\" rel=\"noopener\">pyattck<\/a>, you can specify the actor name and retrieve any information about the actor itself and it\u2019s techniques:<\/p>\n<pre>from pyattck import Attck\nattack = Attck()\nfor actor in attack.actors:\n if 'APT1' in actor.name:\n for technique in actor.techniques:\n print(technique.name)\n<\/pre>\n<p>If you wanted to retrieve technique mitigation suggestions, you can do the following:<\/p>\n<pre>from pyattck import Attck\nattack = Attck()\nfor technique in attack.techniques:\n print(technique.name)\n for mitigation in technique.mitigation:\n print(mitigation.description)\n<\/pre>\n<p>These are just a few examples of how you can use <a href=\"https:\/\/pyattck.readthedocs.io\/en\/latest\/\" target=\"_blank\" rel=\"noopener\">pyattck<\/a>. For more information, please view our <a href=\"https:\/\/github.com\/swimlane\/pyattck\" target=\"_blank\" rel=\"noopener\">repository<\/a> or the <a href=\"https:\/\/pyattck.readthedocs.io\/en\/latest\/\" target=\"_blank\" rel=\"noopener\">official documentation<\/a>. And if you have feedback, please <a href=\"https:\/\/github.com\/swimlane\/pyattck\" target=\"_blank\" rel=\"noopener\">create an issue on GitHub<\/a>.<\/p>\n<p>Enjoy!<\/p>\n<\/div>\n\n\n\n<div class=\" bs-column col-sm-12  col-md-12 col-lg-3   bs-column-4ffac197d945e44dadadc9d8f52ba4737135ba21 bs-column---default     \">\n<div class=\"bs-div bs-div-ffc71f24880cf5ca65c4a54e87fb14a656cc562d bs-div---default bs-div--tags\"><div class=\"bs-div__inner     \">\n<h2 class=\"wp-block-heading\" id=\"h-tags\">Tags<\/h2>\n\n\n<div class=\"post-tag-wrapper\">\n    <p><\/p><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"bs-div bs-div-69c461f15bb5fa3fc09d1aa73a0e5865005218ff bs-div---default bs-div--related-posts\"><div class=\"bs-div__inner     \">\n<h2 class=\"wp-block-heading\" id=\"h-related-posts\">Related Posts<\/h2>\n\n\n\n<div class=\"bs-related-posts bs-related-posts-block---default\"><div class=\"bs-related-posts__container\"><div class=\"bs-related-posts__items\">\n<div class=\" bs-column col-sm-4   bs-column-4bb8c1b66cb5e72c43988fbaf017046daf38fc18 bs-column---default     \">\t\t\t\t\t<div class=\"bs-post bs-post-69e3d59d87f1e bs-single-post---default enable\" >\n\t\t\t<a class=\"bs-post__trigger\" href='https:\/\/swimlane.com\/ko\/blog\/cloud-security-essential-using-mitre-attck-defend\/' target='_self'>\t\t\t<div class=\"bs-post__inner\">\n\t\t\t\t<div class=\"bs-post__details\">    <div class=\"bs-post__date\">\n        <span>8\uc6d4 22, 2023<\/span>\n    <\/div>\n    <div class=\"bs-post__title\">\n        <h5>5 Essential Steps For Stronger Cloud Security Using MITRE ATT&#038;CK And D3FEND<\/h5>\n    <\/div>\n<div class=\"bs-post__learn-more\">\n    <span class='btn learn-more-text bs-post__learn-more-text'>Read More<\/span><\/div>\n<\/div>\t\t\t<\/div>\n\t\t\t<\/a>\t\t<\/div>\n\t<\/div>\n\n\n\n<div class=\" bs-column col-sm-4   bs-column-4bb8c1b66cb5e72c43988fbaf017046daf38fc18 bs-column---default     \">\t\t\t\t\t<div class=\"bs-post bs-post-69e3d59d8960a bs-single-post---default enable\" >\n\t\t\t<a class=\"bs-post__trigger\" href='https:\/\/swimlane.com\/ko\/blog\/making-mitre-attck-actionable\/' target='_self'>\t\t\t<div class=\"bs-post__inner\">\n\t\t\t\t<div class=\"bs-post__details\">    <div class=\"bs-post__date\">\n        <span>7\uc6d4 16, 2020<\/span>\n    <\/div>\n    <div class=\"bs-post__title\">\n        <h5>Making MITRE ATT&#038;CK Actionable<\/h5>\n    <\/div>\n<div class=\"bs-post__learn-more\">\n    <span class='btn learn-more-text bs-post__learn-more-text'>Read More<\/span><\/div>\n<\/div>\t\t\t<\/div>\n\t\t\t<\/a>\t\t<\/div>\n\t<\/div>\n\n\n\n<div class=\" bs-column col-sm-4   bs-column-4bb8c1b66cb5e72c43988fbaf017046daf38fc18 bs-column---default     \">\t\t\t\t\t<div class=\"bs-post bs-post-69e3d59d8a67e bs-single-post---default enable\" >\n\t\t\t<a class=\"bs-post__trigger\" href='https:\/\/swimlane.com\/ko\/blog\/fraud-case-management\/' target='_self'>\t\t\t<div class=\"bs-post__inner\">\n\t\t\t\t<div class=\"bs-post__details\">    <div class=\"bs-post__date\">\n        <span>5\uc6d4 3, 2022<\/span>\n    <\/div>\n    <div class=\"bs-post__title\">\n        <h5>Fraud Case Management: What It Is, How It Works, &#038; Why You Need It<\/h5>\n    <\/div>\n<div class=\"bs-post__learn-more\">\n    <span class='btn learn-more-text bs-post__learn-more-text'>Read More<\/span><\/div>\n<\/div>\t\t\t<\/div>\n\t\t\t<\/a>\t\t<\/div>\n\t<\/div>\n<\/div><\/div><\/div>\n<\/div><\/div>\n\n\n<\/div>\n<\/div>\n<\/div><\/section>\n\n\n\n<section class=\"bs-section bs-section-2a4a600ae9ab197b6a4ccafe05152bf1a2fde1d1 bs-section---default bs-section--newsletter bs-section--common-marketo-form bs-section--common-marketo-form-two-columns  \"><style>.bs-section.bs-section-2a4a600ae9ab197b6a4ccafe05152bf1a2fde1d1{ background-color: #000743;} <\/style><div class=\"container-fluid\">\n<div class=\"bs-row row   bs-row---default\">\n<div class=\" bs-column col-sm-0 col-md-0 col-lg-6   bs-column-df5e10bef85c15055718b4d93887855962017939 bs-column---default     \">\n<h2 class=\"wp-block-heading has-white-color has-text-color\" id=\"requestor\">Request a Live Demo<\/h2>\n<\/div>\n\n\n\n<div class=\" bs-column col-sm-0 col-md-0 col-lg-6   bs-column-df5e10bef85c15055718b4d93887855962017939 bs-column---default     \"><div class='media-elements bs-media-element---default enable'>    <div class='bs-common-image'>\n                            <figure class='figure justify-content-start d-flex'>\n                            <picture>\n                            \n                            <img src='https:\/\/swimlane.com\/wp-content\/uploads\/liitp.svg' class='img-fluid'   alt='' title=''  \/>\n                            <\/picture>\n                                \n                            <\/figure>\n                        <\/div><\/div>\n\n<script src=\"\/\/pages.swimlane.com\/js\/forms2\/js\/forms2.min.js\"><\/script>\n<form id=\"mktoForm_1017\"><\/form>\n<script>\n    var embeddedFormId = '05a6905d0187a23e165b2fd995e965fe15cb94f6';\n    var marketoBaseUrl = '\/\/pages.swimlane.com';\n    var munchkinId = '978-QCM-390';\n    var formId = '1017';\n    var responseType = 'redirect';\n    var responseMessage = 'Thank you!';\n    var redirectURL = '';\n    var downloadFileURL = '';\n    var linkOpenType = '_self';\n    var popupVideo = 'url';\n    var popupVideoURL = '';\n    var popupVideoUploadURL = '';\n    MktoForms2.loadForm(marketoBaseUrl, munchkinId, formId, function(form) {\n        form.onSuccess(function(values, followUpUrl) {\n            document.getElementById(\"int_mktoForm_\" + formId).innerHTML = responseMessage;\n                    });\n    });\n<\/script>\n<div class=\"form-submit-note\" id=\"int_mktoForm_1017\"><\/div>\n<!-- Incluing form response options -->\n\n\n\n<script>\n    (function() {\n        \/\/ Please include the email domains you would like to block in this list\n        var invalidDomains = [\"@gmail.\", \"@yahoo.\", \"@hotmail.\", \"@live.\", \"@icloud.\",\"@aol.\", \"@outlook.\", \"@proton.\", \"@mailinator.\"];\n\n\n        MktoForms2.whenReady(function(form) {\n            form.onValidate(function() {\n                var email = form.vals().Email;\n                if (email) {\n                    if (!isEmailGood(email)) {\n                        form.submitable(false);\n                        var emailElem = form.getFormElem().find(\"#Email\");\n                        form.showErrorMessage(\"Must be Business email.\", emailElem);\n                    } else {\n                        form.submitable(true);\n                    }\n                }\n            });\n        });\n\n        function isEmailGood(email) {\n            for (var i = 0; i < invalidDomains.length; i++) {\n                var domain = invalidDomains[i];\n                if (email.indexOf(domain) != -1) {\n                    return false;\n                }\n            }\n            return true;\n        }\n\n\n    })(); \n<\/script>\n<\/div>\n<\/div>\n<\/div><\/section>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":22,"featured_media":9715,"template":"","meta":{"_acf_changed":false,"show_custom_date":false,"custom_date":"","featured":false,"featured_image":0,"learn_more_label":"","image_alt_text":"","learn_more_type":"","learn_more_link":[],"show_popup":false,"disable_iframe":false,"enable_lazy_loading":false,"learn_more_link_file":0,"event_date":false,"event_start_date":"","event_end_date":"","featured_page_list":[],"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","inline_featured_image":false,"footnotes":""},"tags":[],"resource-type":[67],"resource-topic":[],"resource-industry":[],"blog-category":[70],"class_list":["post-9714","sw_resource","type-sw_resource","status-publish","has-post-thumbnail","hentry","resource-type-blogs","blog-category-secops"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.5 (Yoast SEO v27.1.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Swimlane&#039;s pyattack works with Mitre ATT&amp;CK Framework<\/title>\n<meta name=\"description\" content=\"The Swimlane research team has released pyattck\u2014a Python package to interact with the Mitre ATT&amp;CK Framework.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/swimlane.com\/ko\/\ube14\ub85c\uadf8\/swimlane-pyattack\uc740-mitre-att-ck-\ud504\ub808\uc784\uc6cc\ud06c\uc640-\ud568\uaed8-\uc791\ub3d9\ud569\ub2c8\ub2e4\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Swimlane&#039;s pyattack works with Mitre ATT&amp;CK Framework\" \/>\n<meta property=\"og:description\" content=\"The Swimlane research team has released pyattck\u2014a Python package to interact with the Mitre ATT&amp;CK Framework.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/swimlane.com\/ko\/\ube14\ub85c\uadf8\/swimlane-pyattack\uc740-mitre-att-ck-\ud504\ub808\uc784\uc6cc\ud06c\uc640-\ud568\uaed8-\uc791\ub3d9\ud569\ub2c8\ub2e4\/\" \/>\n<meta property=\"og:site_name\" content=\"AI Security Automation\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-22T10:48:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/swimlane.com\/wp-content\/uploads\/Pyattack-for-Mitre-ATTCK-Framework-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"538\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@swimlane\" \/>\n<meta name=\"twitter:label1\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data1\" content=\"3\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/\",\"url\":\"https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/\",\"name\":\"Swimlane's pyattack works with Mitre ATT&CK Framework\",\"isPartOf\":{\"@id\":\"https:\/\/swimlane.com\/ko\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/swimlane.com\/wp-content\/uploads\/Pyattack-for-Mitre-ATTCK-Framework-1.png\",\"datePublished\":\"2019-07-11T14:22:00+00:00\",\"dateModified\":\"2025-12-22T10:48:07+00:00\",\"description\":\"The Swimlane research team has released pyattck\u2014a Python package to interact with the Mitre ATT&CK Framework.\",\"breadcrumb\":{\"@id\":\"https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/#primaryimage\",\"url\":\"https:\/\/swimlane.com\/wp-content\/uploads\/Pyattack-for-Mitre-ATTCK-Framework-1.png\",\"contentUrl\":\"https:\/\/swimlane.com\/wp-content\/uploads\/Pyattack-for-Mitre-ATTCK-Framework-1.png\",\"width\":800,\"height\":538,\"caption\":\"Developer working on code at desktop monitor with programming interface and files open.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/swimlane.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Swimlane&#8217;s pyattack works with Mitre ATT&#038;CK Framework\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/swimlane.com\/ko\/#website\",\"url\":\"https:\/\/swimlane.com\/ko\/\",\"name\":\"Low-Code Security Automation & SOAR Platform | Swimlane\",\"description\":\"Agentic AI automation for every security function\",\"publisher\":{\"@id\":\"https:\/\/swimlane.com\/ko\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/swimlane.com\/ko\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/swimlane.com\/ko\/#organization\",\"name\":\"Low-Code Security Automation & SOAR Platform | Swimlane\",\"url\":\"https:\/\/swimlane.com\/ko\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/swimlane.com\/ko\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/swimlane.com\/wp-content\/uploads\/sw-inline-logo-color-white.svg\",\"contentUrl\":\"https:\/\/swimlane.com\/wp-content\/uploads\/sw-inline-logo-color-white.svg\",\"width\":912,\"height\":190,\"caption\":\"Low-Code Security Automation & SOAR Platform | Swimlane\"},\"image\":{\"@id\":\"https:\/\/swimlane.com\/ko\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/swimlane\",\"https:\/\/www.linkedin.com\/company\/swimlane\/\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Swimlane\uc758 pyattack\uc740 Mitre ATT&amp;CK \ud504\ub808\uc784\uc6cc\ud06c\uc640 \ud568\uaed8 \uc791\ub3d9\ud569\ub2c8\ub2e4.","description":"Swimlane \uc5f0\uad6c\ud300\uc740 Mitre ATT&amp;CK \ud504\ub808\uc784\uc6cc\ud06c\uc640 \uc0c1\ud638 \uc791\uc6a9\ud558\ub294 Python \ud328\ud0a4\uc9c0\uc778 pyattck\ub97c \ucd9c\uc2dc\ud588\uc2b5\ub2c8\ub2e4.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/swimlane.com\/ko\/\ube14\ub85c\uadf8\/swimlane-pyattack\uc740-mitre-att-ck-\ud504\ub808\uc784\uc6cc\ud06c\uc640-\ud568\uaed8-\uc791\ub3d9\ud569\ub2c8\ub2e4\/","og_locale":"ko_KR","og_type":"article","og_title":"Swimlane's pyattack works with Mitre ATT&CK Framework","og_description":"The Swimlane research team has released pyattck\u2014a Python package to interact with the Mitre ATT&CK Framework.","og_url":"https:\/\/swimlane.com\/ko\/\ube14\ub85c\uadf8\/swimlane-pyattack\uc740-mitre-att-ck-\ud504\ub808\uc784\uc6cc\ud06c\uc640-\ud568\uaed8-\uc791\ub3d9\ud569\ub2c8\ub2e4\/","og_site_name":"AI Security Automation","article_modified_time":"2025-12-22T10:48:07+00:00","og_image":[{"width":800,"height":538,"url":"https:\/\/swimlane.com\/wp-content\/uploads\/Pyattack-for-Mitre-ATTCK-Framework-1.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@swimlane","twitter_misc":{"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"3\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/","url":"https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/","name":"Swimlane\uc758 pyattack\uc740 Mitre ATT&amp;CK \ud504\ub808\uc784\uc6cc\ud06c\uc640 \ud568\uaed8 \uc791\ub3d9\ud569\ub2c8\ub2e4.","isPartOf":{"@id":"https:\/\/swimlane.com\/ko\/#website"},"primaryImageOfPage":{"@id":"https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/#primaryimage"},"image":{"@id":"https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/#primaryimage"},"thumbnailUrl":"https:\/\/swimlane.com\/wp-content\/uploads\/Pyattack-for-Mitre-ATTCK-Framework-1.png","datePublished":"2019-07-11T14:22:00+00:00","dateModified":"2025-12-22T10:48:07+00:00","description":"Swimlane \uc5f0\uad6c\ud300\uc740 Mitre ATT&amp;CK \ud504\ub808\uc784\uc6cc\ud06c\uc640 \uc0c1\ud638 \uc791\uc6a9\ud558\ub294 Python \ud328\ud0a4\uc9c0\uc778 pyattck\ub97c \ucd9c\uc2dc\ud588\uc2b5\ub2c8\ub2e4.","breadcrumb":{"@id":"https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/#primaryimage","url":"https:\/\/swimlane.com\/wp-content\/uploads\/Pyattack-for-Mitre-ATTCK-Framework-1.png","contentUrl":"https:\/\/swimlane.com\/wp-content\/uploads\/Pyattack-for-Mitre-ATTCK-Framework-1.png","width":800,"height":538,"caption":"Developer working on code at desktop monitor with programming interface and files open."},{"@type":"BreadcrumbList","@id":"https:\/\/swimlane.com\/ko\/blog\/swimlane-pyattack-works-with-mitre-att-ck-framework\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/swimlane.com\/"},{"@type":"ListItem","position":2,"name":"Swimlane&#8217;s pyattack works with Mitre ATT&#038;CK Framework"}]},{"@type":"WebSite","@id":"https:\/\/swimlane.com\/ko\/#website","url":"https:\/\/swimlane.com\/ko\/","name":"\ub85c\uc6b0\ucf54\ub4dc \ubcf4\uc548 \uc790\ub3d9\ud654 \ubc0f SOAR \ud50c\ub7ab\ud3fc | \uc2a4\uc714\ub808\uc778","description":"\ubaa8\ub4e0 \ubcf4\uc548 \uae30\ub2a5\uc744 \uc704\ud55c \uc5d0\uc774\uc804\ud2b8 \uae30\ubc18 AI \uc790\ub3d9\ud654","publisher":{"@id":"https:\/\/swimlane.com\/ko\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/swimlane.com\/ko\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/swimlane.com\/ko\/#organization","name":"\ub85c\uc6b0\ucf54\ub4dc \ubcf4\uc548 \uc790\ub3d9\ud654 \ubc0f SOAR \ud50c\ub7ab\ud3fc | \uc2a4\uc714\ub808\uc778","url":"https:\/\/swimlane.com\/ko\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/swimlane.com\/ko\/#\/schema\/logo\/image\/","url":"https:\/\/swimlane.com\/wp-content\/uploads\/sw-inline-logo-color-white.svg","contentUrl":"https:\/\/swimlane.com\/wp-content\/uploads\/sw-inline-logo-color-white.svg","width":912,"height":190,"caption":"Low-Code Security Automation & SOAR Platform | Swimlane"},"image":{"@id":"https:\/\/swimlane.com\/ko\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/swimlane","https:\/\/www.linkedin.com\/company\/swimlane\/"]}]}},"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/swimlane.com\/ko\/wp-json\/wp\/v2\/sw_resource\/9714","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/swimlane.com\/ko\/wp-json\/wp\/v2\/sw_resource"}],"about":[{"href":"https:\/\/swimlane.com\/ko\/wp-json\/wp\/v2\/types\/sw_resource"}],"author":[{"embeddable":true,"href":"https:\/\/swimlane.com\/ko\/wp-json\/wp\/v2\/users\/22"}],"version-history":[{"count":0,"href":"https:\/\/swimlane.com\/ko\/wp-json\/wp\/v2\/sw_resource\/9714\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/swimlane.com\/ko\/wp-json\/wp\/v2\/media\/9715"}],"wp:attachment":[{"href":"https:\/\/swimlane.com\/ko\/wp-json\/wp\/v2\/media?parent=9714"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/swimlane.com\/ko\/wp-json\/wp\/v2\/tags?post=9714"},{"taxonomy":"resource-type","embeddable":true,"href":"https:\/\/swimlane.com\/ko\/wp-json\/wp\/v2\/resource-type?post=9714"},{"taxonomy":"resource-topic","embeddable":true,"href":"https:\/\/swimlane.com\/ko\/wp-json\/wp\/v2\/resource-topic?post=9714"},{"taxonomy":"resource-industry","embeddable":true,"href":"https:\/\/swimlane.com\/ko\/wp-json\/wp\/v2\/resource-industry?post=9714"},{"taxonomy":"blog-category","embeddable":true,"href":"https:\/\/swimlane.com\/ko\/wp-json\/wp\/v2\/blog-category?post=9714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}