moriarty-project 0.1.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- moriarty/__init__.py +5 -0
- moriarty/adapters/__init__.py +0 -0
- moriarty/agent/__init__.py +0 -0
- moriarty/assets/modules/.gitkeep +0 -0
- moriarty/assets/modules/asia/douban.yaml +19 -0
- moriarty/assets/modules/asia/kakao.yaml +19 -0
- moriarty/assets/modules/asia/line.yaml +19 -0
- moriarty/assets/modules/asia/mixi.yaml +19 -0
- moriarty/assets/modules/asia/naver.yaml +19 -0
- moriarty/assets/modules/asia/qq.yaml +19 -0
- moriarty/assets/modules/asia/vk.yaml +19 -0
- moriarty/assets/modules/asia/wechat.yaml +19 -0
- moriarty/assets/modules/asia/weibo.yaml +19 -0
- moriarty/assets/modules/asia/xiaohongshu.yaml +19 -0
- moriarty/assets/modules/behance.yaml +47 -0
- moriarty/assets/modules/business/crunchbase.yaml +27 -0
- moriarty/assets/modules/business/fiverr.yaml +32 -0
- moriarty/assets/modules/business/freelancer.yaml +27 -0
- moriarty/assets/modules/business/glassdoor.yaml +27 -0
- moriarty/assets/modules/business/guru.yaml +26 -0
- moriarty/assets/modules/business/indeed.yaml +25 -0
- moriarty/assets/modules/business/monster.yaml +25 -0
- moriarty/assets/modules/business/peopleperhour.yaml +26 -0
- moriarty/assets/modules/business/toptal.yaml +28 -0
- moriarty/assets/modules/business/upwork.yaml +27 -0
- moriarty/assets/modules/business/ziprecruiter.yaml +25 -0
- moriarty/assets/modules/content/buymeacoffee.yaml +27 -0
- moriarty/assets/modules/content/gumroad.yaml +27 -0
- moriarty/assets/modules/content/ko-fi.yaml +32 -0
- moriarty/assets/modules/content/onlyfans.yaml +27 -0
- moriarty/assets/modules/content/patreon.yaml +33 -0
- moriarty/assets/modules/content/substack.yaml +32 -0
- moriarty/assets/modules/creative/500px.yaml +31 -0
- moriarty/assets/modules/creative/artstation.yaml +33 -0
- moriarty/assets/modules/creative/deviantart.yaml +32 -0
- moriarty/assets/modules/creative/flickr.yaml +31 -0
- moriarty/assets/modules/creative/pexels.yaml +26 -0
- moriarty/assets/modules/creative/unsplash.yaml +26 -0
- moriarty/assets/modules/creative/vimeo.yaml +31 -0
- moriarty/assets/modules/crypto/binance.yaml +27 -0
- moriarty/assets/modules/crypto/bitcointalk.yaml +33 -0
- moriarty/assets/modules/crypto/coinbase.yaml +26 -0
- moriarty/assets/modules/crypto/etherscan.yaml +32 -0
- moriarty/assets/modules/crypto/foundation.yaml +28 -0
- moriarty/assets/modules/crypto/kraken.yaml +27 -0
- moriarty/assets/modules/crypto/mirror.yaml +27 -0
- moriarty/assets/modules/crypto/niftygateway.yaml +26 -0
- moriarty/assets/modules/crypto/opensea.yaml +32 -0
- moriarty/assets/modules/crypto/rarible.yaml +27 -0
- moriarty/assets/modules/crypto/superrare.yaml +29 -0
- moriarty/assets/modules/dating/bumble.yaml +25 -0
- moriarty/assets/modules/dating/grindr.yaml +27 -0
- moriarty/assets/modules/dating/happn.yaml +25 -0
- moriarty/assets/modules/dating/her.yaml +27 -0
- moriarty/assets/modules/dating/hinge.yaml +25 -0
- moriarty/assets/modules/dating/match.yaml +25 -0
- moriarty/assets/modules/dating/meetme.yaml +27 -0
- moriarty/assets/modules/dating/okcupid.yaml +25 -0
- moriarty/assets/modules/dating/pof.yaml +25 -0
- moriarty/assets/modules/dating/tinder.yaml +25 -0
- moriarty/assets/modules/dating-nsfw/adultfriendfinder.yaml +28 -0
- moriarty/assets/modules/dating-nsfw/ashley-madison.yaml +26 -0
- moriarty/assets/modules/design/adobe-portfolio.yaml +27 -0
- moriarty/assets/modules/design/carbonmade.yaml +27 -0
- moriarty/assets/modules/design/cgsociety.yaml +27 -0
- moriarty/assets/modules/design/coroflot.yaml +27 -0
- moriarty/assets/modules/design/figma.yaml +27 -0
- moriarty/assets/modules/design/sketch.yaml +26 -0
- moriarty/assets/modules/dev/bitbucket.yaml +35 -0
- moriarty/assets/modules/dev/codeforces.yaml +32 -0
- moriarty/assets/modules/dev/codepen.yaml +34 -0
- moriarty/assets/modules/dev/hackerone.yaml +32 -0
- moriarty/assets/modules/dev/hackthebox.yaml +27 -0
- moriarty/assets/modules/dev/huggingface.yaml +27 -0
- moriarty/assets/modules/dev/kaggle.yaml +32 -0
- moriarty/assets/modules/dev/leetcode.yaml +32 -0
- moriarty/assets/modules/dev/replit.yaml +31 -0
- moriarty/assets/modules/dribbble.yaml +53 -0
- moriarty/assets/modules/ecommerce/etsy.yaml +32 -0
- moriarty/assets/modules/education/duolingo.yaml +32 -0
- moriarty/assets/modules/education/edx.yaml +26 -0
- moriarty/assets/modules/education/khanacademy.yaml +26 -0
- moriarty/assets/modules/education/lynda.yaml +27 -0
- moriarty/assets/modules/education/memrise.yaml +27 -0
- moriarty/assets/modules/education/pluralsight.yaml +27 -0
- moriarty/assets/modules/education/skillshare.yaml +27 -0
- moriarty/assets/modules/education/udacity.yaml +27 -0
- moriarty/assets/modules/email/github_email.yaml +40 -0
- moriarty/assets/modules/email/gravatar.yaml +23 -0
- moriarty/assets/modules/europe/badoo.yaml +19 -0
- moriarty/assets/modules/europe/lovoo.yaml +19 -0
- moriarty/assets/modules/europe/myspace.yaml +19 -0
- moriarty/assets/modules/europe/netlog.yaml +19 -0
- moriarty/assets/modules/europe/ok.yaml +19 -0
- moriarty/assets/modules/europe/skyrock.yaml +19 -0
- moriarty/assets/modules/europe/studivz.yaml +19 -0
- moriarty/assets/modules/europe/tuenti.yaml +19 -0
- moriarty/assets/modules/europe/viadeo.yaml +19 -0
- moriarty/assets/modules/europe/xing.yaml +19 -0
- moriarty/assets/modules/fitness/fitbit.yaml +27 -0
- moriarty/assets/modules/fitness/garmin.yaml +27 -0
- moriarty/assets/modules/fitness/myfitnesspal.yaml +27 -0
- moriarty/assets/modules/fitness/strava.yaml +33 -0
- moriarty/assets/modules/fitness/zwift.yaml +28 -0
- moriarty/assets/modules/food/allrecipes.yaml +27 -0
- moriarty/assets/modules/food/tasty.yaml +27 -0
- moriarty/assets/modules/food/yelp.yaml +32 -0
- moriarty/assets/modules/food/zomato.yaml +28 -0
- moriarty/assets/modules/forums/4chan.yaml +26 -0
- moriarty/assets/modules/forums/8kun.yaml +26 -0
- moriarty/assets/modules/forums/9gag.yaml +26 -0
- moriarty/assets/modules/forums/discourse.yaml +26 -0
- moriarty/assets/modules/forums/disqus.yaml +31 -0
- moriarty/assets/modules/forums/hackernews.yaml +32 -0
- moriarty/assets/modules/forums/launchpad.yaml +27 -0
- moriarty/assets/modules/forums/phpbb.yaml +25 -0
- moriarty/assets/modules/forums/quora.yaml +32 -0
- moriarty/assets/modules/forums/serverfault.yaml +27 -0
- moriarty/assets/modules/forums/slashdot.yaml +28 -0
- moriarty/assets/modules/forums/stackexchange.yaml +32 -0
- moriarty/assets/modules/forums/superuser.yaml +27 -0
- moriarty/assets/modules/forums/vbulletin.yaml +25 -0
- moriarty/assets/modules/forums/xenforo.yaml +25 -0
- moriarty/assets/modules/forums-nsfw/kiwifarms.yaml +25 -0
- moriarty/assets/modules/forums-nsfw/lolcow.yaml +26 -0
- moriarty/assets/modules/gaming/apextracker.yaml +27 -0
- moriarty/assets/modules/gaming/battlenet.yaml +26 -0
- moriarty/assets/modules/gaming/chess.yaml +30 -0
- moriarty/assets/modules/gaming/discord-public.yaml +27 -0
- moriarty/assets/modules/gaming/dotabuff.yaml +32 -0
- moriarty/assets/modules/gaming/epicgames.yaml +25 -0
- moriarty/assets/modules/gaming/faceit.yaml +33 -0
- moriarty/assets/modules/gaming/fortnitetracker.yaml +32 -0
- moriarty/assets/modules/gaming/gog.yaml +26 -0
- moriarty/assets/modules/gaming/itch.yaml +32 -0
- moriarty/assets/modules/gaming/kongregate.yaml +25 -0
- moriarty/assets/modules/gaming/minecraft.yaml +31 -0
- moriarty/assets/modules/gaming/opgg.yaml +32 -0
- moriarty/assets/modules/gaming/origin.yaml +26 -0
- moriarty/assets/modules/gaming/playstation.yaml +30 -0
- moriarty/assets/modules/gaming/roblox.yaml +31 -0
- moriarty/assets/modules/gaming/xbox.yaml +25 -0
- moriarty/assets/modules/github.yaml +68 -0
- moriarty/assets/modules/gitlab.yaml +60 -0
- moriarty/assets/modules/instagram.yaml +48 -0
- moriarty/assets/modules/latam/fotolog.yaml +27 -0
- moriarty/assets/modules/latam/orkut.yaml +26 -0
- moriarty/assets/modules/latam/taringa.yaml +27 -0
- moriarty/assets/modules/learning/coursera.yaml +26 -0
- moriarty/assets/modules/learning/udemy.yaml +26 -0
- moriarty/assets/modules/linkedin.yaml +40 -0
- moriarty/assets/modules/marketplaces/depop.yaml +28 -0
- moriarty/assets/modules/marketplaces/ebay.yaml +32 -0
- moriarty/assets/modules/marketplaces/grailed.yaml +27 -0
- moriarty/assets/modules/marketplaces/mercari.yaml +26 -0
- moriarty/assets/modules/marketplaces/poshmark.yaml +27 -0
- moriarty/assets/modules/marketplaces/reverb.yaml +27 -0
- moriarty/assets/modules/marketplaces/vinted.yaml +28 -0
- moriarty/assets/modules/medium.yaml +44 -0
- moriarty/assets/modules/music/audiomack.yaml +26 -0
- moriarty/assets/modules/music/bandcamp.yaml +30 -0
- moriarty/assets/modules/music/beatport.yaml +28 -0
- moriarty/assets/modules/music/deezer.yaml +26 -0
- moriarty/assets/modules/music/discogs.yaml +32 -0
- moriarty/assets/modules/music/genius.yaml +26 -0
- moriarty/assets/modules/music/lastfm.yaml +30 -0
- moriarty/assets/modules/music/mixcloud.yaml +26 -0
- moriarty/assets/modules/music/reverbnation.yaml +31 -0
- moriarty/assets/modules/music/soundcloud.yaml +31 -0
- moriarty/assets/modules/music/spotify.yaml +26 -0
- moriarty/assets/modules/music/tidal.yaml +26 -0
- moriarty/assets/modules/nsfw/adultwork.yaml +27 -0
- moriarty/assets/modules/nsfw/bongacams.yaml +28 -0
- moriarty/assets/modules/nsfw/cam4.yaml +28 -0
- moriarty/assets/modules/nsfw/chaturbate.yaml +28 -0
- moriarty/assets/modules/nsfw/clips4sale.yaml +27 -0
- moriarty/assets/modules/nsfw/extralunchmoney.yaml +27 -0
- moriarty/assets/modules/nsfw/fansly.yaml +28 -0
- moriarty/assets/modules/nsfw/fetlife.yaml +28 -0
- moriarty/assets/modules/nsfw/iwantclips.yaml +27 -0
- moriarty/assets/modules/nsfw/justforfans.yaml +28 -0
- moriarty/assets/modules/nsfw/loyalfans.yaml +28 -0
- moriarty/assets/modules/nsfw/manyvids.yaml +27 -0
- moriarty/assets/modules/nsfw/myfreecams.yaml +28 -0
- moriarty/assets/modules/nsfw/niteflirt.yaml +26 -0
- moriarty/assets/modules/nsfw/pornhub.yaml +32 -0
- moriarty/assets/modules/nsfw/redtube.yaml +27 -0
- moriarty/assets/modules/nsfw/stripchat.yaml +28 -0
- moriarty/assets/modules/nsfw/xhamster.yaml +27 -0
- moriarty/assets/modules/nsfw/xvideos.yaml +27 -0
- moriarty/assets/modules/nsfw/youporn.yaml +27 -0
- moriarty/assets/modules/photography/eyeem.yaml +25 -0
- moriarty/assets/modules/photography/fotki.yaml +25 -0
- moriarty/assets/modules/photography/photobucket.yaml +26 -0
- moriarty/assets/modules/photography/smugmug.yaml +25 -0
- moriarty/assets/modules/photography/vsco.yaml +27 -0
- moriarty/assets/modules/pinterest.yaml +40 -0
- moriarty/assets/modules/podcasts/anchor.yaml +26 -0
- moriarty/assets/modules/podcasts/castbox.yaml +26 -0
- moriarty/assets/modules/podcasts/podbean.yaml +26 -0
- moriarty/assets/modules/professional/about.yaml +31 -0
- moriarty/assets/modules/professional/academia.yaml +27 -0
- moriarty/assets/modules/professional/angellist.yaml +27 -0
- moriarty/assets/modules/professional/calendly.yaml +26 -0
- moriarty/assets/modules/professional/issuu.yaml +27 -0
- moriarty/assets/modules/professional/mendeley.yaml +27 -0
- moriarty/assets/modules/professional/notion.yaml +27 -0
- moriarty/assets/modules/professional/orcid.yaml +27 -0
- moriarty/assets/modules/professional/producthunt.yaml +31 -0
- moriarty/assets/modules/professional/researchgate.yaml +32 -0
- moriarty/assets/modules/professional/scribd.yaml +27 -0
- moriarty/assets/modules/professional/slideshare.yaml +31 -0
- moriarty/assets/modules/professional/trello.yaml +26 -0
- moriarty/assets/modules/professional/typeform.yaml +27 -0
- moriarty/assets/modules/reddit.yaml +46 -0
- moriarty/assets/modules/regional/amino.yaml +27 -0
- moriarty/assets/modules/regional/ask-fm.yaml +32 -0
- moriarty/assets/modules/regional/babycenter.yaml +26 -0
- moriarty/assets/modules/regional/cafemom.yaml +27 -0
- moriarty/assets/modules/regional/care2.yaml +27 -0
- moriarty/assets/modules/regional/diaspora.yaml +26 -0
- moriarty/assets/modules/regional/ello.yaml +27 -0
- moriarty/assets/modules/regional/gaia.yaml +27 -0
- moriarty/assets/modules/regional/habbo.yaml +27 -0
- moriarty/assets/modules/regional/imvu.yaml +27 -0
- moriarty/assets/modules/regional/lemmy.yaml +27 -0
- moriarty/assets/modules/regional/peertube.yaml +26 -0
- moriarty/assets/modules/regional/pixelfed.yaml +27 -0
- moriarty/assets/modules/regional/plurk.yaml +26 -0
- moriarty/assets/modules/regional/recroom.yaml +27 -0
- moriarty/assets/modules/regional/secondlife.yaml +26 -0
- moriarty/assets/modules/regional/vine-archive.yaml +27 -0
- moriarty/assets/modules/regional/vrchat.yaml +27 -0
- moriarty/assets/modules/regional/weheartit.yaml +27 -0
- moriarty/assets/modules/social/anilist.yaml +27 -0
- moriarty/assets/modules/social/beacons.yaml +26 -0
- moriarty/assets/modules/social/blogger.yaml +27 -0
- moriarty/assets/modules/social/crunchyroll.yaml +27 -0
- moriarty/assets/modules/social/discord.yaml +27 -0
- moriarty/assets/modules/social/dreamwidth.yaml +26 -0
- moriarty/assets/modules/social/facebook.yaml +34 -0
- moriarty/assets/modules/social/goodreads.yaml +32 -0
- moriarty/assets/modules/social/imdb.yaml +27 -0
- moriarty/assets/modules/social/kitsu.yaml +27 -0
- moriarty/assets/modules/social/letterboxd.yaml +32 -0
- moriarty/assets/modules/social/linktree.yaml +26 -0
- moriarty/assets/modules/social/livejournal.yaml +27 -0
- moriarty/assets/modules/social/mastodon.yaml +30 -0
- moriarty/assets/modules/social/minds.yaml +25 -0
- moriarty/assets/modules/social/myanimelist.yaml +32 -0
- moriarty/assets/modules/social/ravelry.yaml +27 -0
- moriarty/assets/modules/social/snapchat.yaml +25 -0
- moriarty/assets/modules/social/telegram.yaml +35 -0
- moriarty/assets/modules/social/tiktok.yaml +35 -0
- moriarty/assets/modules/social/trakt.yaml +28 -0
- moriarty/assets/modules/social/wattpad.yaml +32 -0
- moriarty/assets/modules/social/wordpress-com.yaml +26 -0
- moriarty/assets/modules/sports/espn.yaml +26 -0
- moriarty/assets/modules/sports/untappd.yaml +32 -0
- moriarty/assets/modules/stackoverflow.yaml +47 -0
- moriarty/assets/modules/steam.yaml +47 -0
- moriarty/assets/modules/streaming/caffeine.yaml +25 -0
- moriarty/assets/modules/streaming/dlive.yaml +27 -0
- moriarty/assets/modules/streaming/trovo.yaml +25 -0
- moriarty/assets/modules/travel/airbnb.yaml +26 -0
- moriarty/assets/modules/travel/booking.yaml +26 -0
- moriarty/assets/modules/travel/couchsurfing.yaml +27 -0
- moriarty/assets/modules/travel/tripadvisor.yaml +32 -0
- moriarty/assets/modules/tumblr.yaml +40 -0
- moriarty/assets/modules/twitch.yaml +48 -0
- moriarty/assets/modules/twitter.yaml +39 -0
- moriarty/assets/modules/youtube.yaml +42 -0
- moriarty/assets/templates/cves/CVE-2017-5638.yaml +27 -0
- moriarty/assets/templates/cves/CVE-2018-7600.yaml +30 -0
- moriarty/assets/templates/cves/CVE-2019-11510.yaml +27 -0
- moriarty/assets/templates/cves/CVE-2019-19781.yaml +28 -0
- moriarty/assets/templates/cves/CVE-2020-14882.yaml +28 -0
- moriarty/assets/templates/cves/CVE-2020-14883.yaml +29 -0
- moriarty/assets/templates/cves/CVE-2020-3452.yaml +28 -0
- moriarty/assets/templates/cves/CVE-2020-5902.yaml +28 -0
- moriarty/assets/templates/cves/CVE-2021-21972.yaml +31 -0
- moriarty/assets/templates/cves/CVE-2021-21985.yaml +28 -0
- moriarty/assets/templates/cves/CVE-2021-26084.yaml +30 -0
- moriarty/assets/templates/cves/CVE-2021-41773.yaml +25 -0
- moriarty/assets/templates/cves/CVE-2021-42013.yaml +28 -0
- moriarty/assets/templates/cves/CVE-2021-44228.yaml +27 -0
- moriarty/assets/templates/cves/CVE-2022-0185.yaml +21 -0
- moriarty/assets/templates/cves/CVE-2022-1388.yaml +36 -0
- moriarty/assets/templates/cves/CVE-2022-22954.yaml +28 -0
- moriarty/assets/templates/cves/CVE-2022-22965.yaml +31 -0
- moriarty/assets/templates/cves/CVE-2022-26134.yaml +27 -0
- moriarty/assets/templates/cves/CVE-2023-22515.yaml +27 -0
- moriarty/assets/templates/cves/CVE-2023-22527.yaml +29 -0
- moriarty/assets/templates/cves/CVE-2023-23752.yaml +33 -0
- moriarty/assets/templates/cves/CVE-2023-27350.yaml +27 -0
- moriarty/assets/templates/cves/CVE-2023-2868.yaml +27 -0
- moriarty/assets/templates/cves/CVE-2023-34362.yaml +27 -0
- moriarty/assets/templates/cves/CVE-2023-3519.yaml +28 -0
- moriarty/assets/templates/cves/CVE-2023-4966.yaml +27 -0
- moriarty/assets/templates/default-logins/admin-weak.yaml +40 -0
- moriarty/assets/templates/default-logins/wordpress-default.yaml +38 -0
- moriarty/assets/templates/exposures/aws-credentials.yaml +35 -0
- moriarty/assets/templates/exposures/backup-files.yaml +36 -0
- moriarty/assets/templates/exposures/database-files.yaml +34 -0
- moriarty/assets/templates/exposures/docker-exposed.yaml +31 -0
- moriarty/assets/templates/exposures/env-exposed.yaml +41 -0
- moriarty/assets/templates/exposures/git-exposed.yaml +41 -0
- moriarty/assets/templates/exposures/phpinfo.yaml +36 -0
- moriarty/assets/templates/exposures/svn-exposed.yaml +28 -0
- moriarty/assets/templates/fuzzing/api-endpoints.yaml +39 -0
- moriarty/assets/templates/fuzzing/common-files.yaml +37 -0
- moriarty/assets/templates/fuzzing/open-redirect-fuzz.yaml +35 -0
- moriarty/assets/templates/fuzzing/xss-search-fuzz.yaml +29 -0
- moriarty/assets/templates/git-config.yaml +18 -0
- moriarty/assets/templates/misconfigurations/cors-misconfiguration.yaml +30 -0
- moriarty/assets/templates/misconfigurations/debug-enabled.yaml +29 -0
- moriarty/assets/templates/misconfigurations/directory-listing.yaml +33 -0
- moriarty/assets/templates/misconfigurations/jwt-none-algo.yaml +30 -0
- moriarty/assets/templates/misconfigurations/ssl-tls-weak.yaml +23 -0
- moriarty/assets/templates/vulnerabilities/lfi-basic.yaml +31 -0
- moriarty/assets/templates/vulnerabilities/open-redirect.yaml +31 -0
- moriarty/assets/templates/vulnerabilities/rce-basic.yaml +34 -0
- moriarty/assets/templates/vulnerabilities/sqli-error.yaml +39 -0
- moriarty/assets/templates/vulnerabilities/ssrf-basic.yaml +31 -0
- moriarty/assets/templates/vulnerabilities/xss-reflected.yaml +38 -0
- moriarty/assets/templates/vulnerabilities/xxe-basic.yaml +30 -0
- moriarty/assets/wordlists/subdomains-1000.txt +1063 -0
- moriarty/cli/__init__.py +3 -0
- moriarty/cli/app.py +120 -0
- moriarty/cli/async_utils.py +19 -0
- moriarty/cli/dns.py +83 -0
- moriarty/cli/domain_cmd.py +572 -0
- moriarty/cli/email.py +383 -0
- moriarty/cli/email_investigate.py +224 -0
- moriarty/cli/intelligence.py +329 -0
- moriarty/cli/output.py +62 -0
- moriarty/cli/rdap.py +94 -0
- moriarty/cli/state.py +38 -0
- moriarty/cli/tls.py +91 -0
- moriarty/cli/user.py +227 -0
- moriarty/core/cache_backend.py +223 -0
- moriarty/core/config_manager.py +303 -0
- moriarty/correlator/__init__.py +0 -0
- moriarty/data/__init__.py +81 -0
- moriarty/data/ioc/__init__.py +142 -0
- moriarty/data/ioc/matcher.py +254 -0
- moriarty/data/ioc/types.py +267 -0
- moriarty/data/local_intelligence.py +507 -0
- moriarty/data/signature_loaders/__init__.py +103 -0
- moriarty/data/signature_loaders/base.py +54 -0
- moriarty/data/signature_loaders/ioc_feed.py +356 -0
- moriarty/data/signature_loaders/wappalyzer.py +112 -0
- moriarty/dsl/__init__.py +0 -0
- moriarty/dsl/loader.py +99 -0
- moriarty/dsl/schema.py +47 -0
- moriarty/export/__init__.py +0 -0
- moriarty/intelligence/__init__.py +27 -0
- moriarty/intelligence/__main__.py +150 -0
- moriarty/intelligence/config.py +395 -0
- moriarty/intelligence/ioc.py +267 -0
- moriarty/intelligence/signatures.py +550 -0
- moriarty/intelligence/storage.py +501 -0
- moriarty/interop/__init__.py +0 -0
- moriarty/logging/__init__.py +0 -0
- moriarty/logging/config.py +47 -0
- moriarty/models/__init__.py +16 -0
- moriarty/models/assertion.py +24 -0
- moriarty/models/entity.py +22 -0
- moriarty/models/evidence.py +37 -0
- moriarty/models/relation.py +24 -0
- moriarty/models/types.py +28 -0
- moriarty/modules/__init__.py +0 -0
- moriarty/modules/avatar_hash.py +184 -0
- moriarty/modules/directory_fuzzer.py +322 -0
- moriarty/modules/dns_scan.py +40 -0
- moriarty/modules/domain_scanner.py +620 -0
- moriarty/modules/email_check.py +98 -0
- moriarty/modules/email_investigate.py +267 -0
- moriarty/modules/email_security.py +274 -0
- moriarty/modules/googlemaps_lookup.py +106 -0
- moriarty/modules/headless_executor.py +201 -0
- moriarty/modules/orchestrator.py +60 -0
- moriarty/modules/passive_recon.py +444 -0
- moriarty/modules/phone_extractor.py +151 -0
- moriarty/modules/pipeline_orchestrator.py +726 -0
- moriarty/modules/port_scanner.py +129 -0
- moriarty/modules/rdap.py +61 -0
- moriarty/modules/rdap_extended.py +188 -0
- moriarty/modules/stealth_mode.py +610 -0
- moriarty/modules/subdomain_discovery.py +595 -0
- moriarty/modules/technology_profiler.py +361 -0
- moriarty/modules/template_executor.py +239 -0
- moriarty/modules/template_scanner.py +1048 -0
- moriarty/modules/tls_scan.py +46 -0
- moriarty/modules/tls_validator.py +188 -0
- moriarty/modules/vuln_scanner.py +483 -0
- moriarty/modules/waf_detector.py +585 -0
- moriarty/modules/wayback_discovery.py +234 -0
- moriarty/modules/web_crawler.py +163 -0
- moriarty/net/__init__.py +0 -0
- moriarty/net/dns_cache.py +175 -0
- moriarty/net/dns_client.py +188 -0
- moriarty/net/rdap_client.py +52 -0
- moriarty/net/smtp_client.py +114 -0
- moriarty/net/tls_client.py +111 -0
- moriarty/parsers/__init__.py +0 -0
- moriarty/parsers/html_parser.py +136 -0
- moriarty/tests/__init__.py +0 -0
- moriarty/tests/test_email_service.py +17 -0
- moriarty/tests/test_models.py +46 -0
- moriarty/tests/test_orchestrator.py +30 -0
- moriarty/tests/test_tls_client.py +18 -0
- moriarty_project-0.1.6.dist-info/METADATA +388 -0
- moriarty_project-0.1.6.dist-info/RECORD +418 -0
- moriarty_project-0.1.6.dist-info/WHEEL +4 -0
- moriarty_project-0.1.6.dist-info/entry_points.txt +2 -0
@@ -0,0 +1,30 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
import asyncio
|
4
|
+
|
5
|
+
import pytest
|
6
|
+
|
7
|
+
from moriarty.modules.orchestrator import Orchestrator, TaskContext
|
8
|
+
|
9
|
+
|
10
|
+
def test_orchestrator_run_success() -> None:
|
11
|
+
orchestrator: Orchestrator[int] = Orchestrator(concurrency=2, timeout=1.0)
|
12
|
+
|
13
|
+
async def runner() -> int:
|
14
|
+
return await orchestrator.run(TaskContext(name="success", metadata={}), lambda: asyncio.sleep(0, result=42))
|
15
|
+
|
16
|
+
assert asyncio.run(runner()) == 42
|
17
|
+
|
18
|
+
|
19
|
+
def test_orchestrator_run_timeout() -> None:
|
20
|
+
orchestrator: Orchestrator[int] = Orchestrator(concurrency=1, timeout=0.05)
|
21
|
+
|
22
|
+
async def operation() -> int:
|
23
|
+
await asyncio.sleep(0.2)
|
24
|
+
return 1
|
25
|
+
|
26
|
+
async def runner() -> None:
|
27
|
+
await orchestrator.run(TaskContext(name="timeout", metadata={}), operation)
|
28
|
+
|
29
|
+
with pytest.raises(asyncio.TimeoutError):
|
30
|
+
asyncio.run(runner())
|
@@ -0,0 +1,18 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from datetime import datetime
|
4
|
+
|
5
|
+
from moriarty.net.tls_client import TLSClient
|
6
|
+
|
7
|
+
|
8
|
+
def test_tls_parse_time() -> None:
|
9
|
+
client = TLSClient()
|
10
|
+
parsed = client._parse_time("Jan 01 00:00:00 2024 GMT")
|
11
|
+
assert isinstance(parsed, datetime)
|
12
|
+
assert parsed.year == 2024
|
13
|
+
|
14
|
+
|
15
|
+
def test_tls_parse_time_default() -> None:
|
16
|
+
client = TLSClient()
|
17
|
+
parsed = client._parse_time(None)
|
18
|
+
assert parsed == datetime.fromtimestamp(0)
|
@@ -0,0 +1,388 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: moriarty-project
|
3
|
+
Version: 0.1.6
|
4
|
+
Summary: Client-side OSINT toolkit with forensic-grade evidence handling.
|
5
|
+
Project-URL: Homepage, https://github.com/DonatoReis/moriarty
|
6
|
+
Project-URL: Documentation, https://github.com/DonatoReis/moriarty#readme
|
7
|
+
Author: Moriarty Contributors
|
8
|
+
License: MIT
|
9
|
+
Keywords: cli,forensics,osint,security
|
10
|
+
Classifier: Intended Audience :: Information Technology
|
11
|
+
Classifier: License :: OSI Approved :: MIT License
|
12
|
+
Classifier: Programming Language :: Python
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
14
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
15
|
+
Classifier: Programming Language :: Python :: 3.13
|
16
|
+
Classifier: Topic :: Security
|
17
|
+
Classifier: Topic :: Utilities
|
18
|
+
Requires-Python: >=3.13
|
19
|
+
Requires-Dist: aiodns
|
20
|
+
Requires-Dist: aiolimiter
|
21
|
+
Requires-Dist: aiosmtplib
|
22
|
+
Requires-Dist: email-validator
|
23
|
+
Requires-Dist: httpx[http2]
|
24
|
+
Requires-Dist: jsonpath-ng
|
25
|
+
Requires-Dist: lxml
|
26
|
+
Requires-Dist: networkx
|
27
|
+
Requires-Dist: orjson
|
28
|
+
Requires-Dist: phonenumbers
|
29
|
+
Requires-Dist: pillow
|
30
|
+
Requires-Dist: pydantic>=2
|
31
|
+
Requires-Dist: pyyaml>=6
|
32
|
+
Requires-Dist: rapidfuzz
|
33
|
+
Requires-Dist: requests
|
34
|
+
Requires-Dist: rich
|
35
|
+
Requires-Dist: scapy
|
36
|
+
Requires-Dist: selectolax
|
37
|
+
Requires-Dist: structlog
|
38
|
+
Requires-Dist: typer[all]
|
39
|
+
Requires-Dist: uvloop; platform_system != 'Windows'
|
40
|
+
Provides-Extra: dev
|
41
|
+
Requires-Dist: cyclonedx-bom; extra == 'dev'
|
42
|
+
Requires-Dist: deptry>=0.23.0; extra == 'dev'
|
43
|
+
Requires-Dist: hypothesis; extra == 'dev'
|
44
|
+
Requires-Dist: mypy; extra == 'dev'
|
45
|
+
Requires-Dist: pip-audit; extra == 'dev'
|
46
|
+
Requires-Dist: pytest; extra == 'dev'
|
47
|
+
Requires-Dist: pytest-xdist; extra == 'dev'
|
48
|
+
Requires-Dist: ruff; extra == 'dev'
|
49
|
+
Provides-Extra: headless
|
50
|
+
Requires-Dist: playwright>=1.40.0; extra == 'headless'
|
51
|
+
Provides-Extra: http3
|
52
|
+
Requires-Dist: aioquic>=0.9.0; extra == 'http3'
|
53
|
+
Provides-Extra: image
|
54
|
+
Requires-Dist: imagehash>=4.3.0; extra == 'image'
|
55
|
+
Provides-Extra: pdf
|
56
|
+
Requires-Dist: weasyprint>=60.0; extra == 'pdf'
|
57
|
+
Provides-Extra: sign
|
58
|
+
Requires-Dist: sigstore>=2.0.0; extra == 'sign'
|
59
|
+
Provides-Extra: stix
|
60
|
+
Requires-Dist: stix2>=3.0.0; extra == 'stix'
|
61
|
+
Description-Content-Type: text/markdown
|
62
|
+
|
63
|
+
# Moriarty - Ferramenta Avançada de OSINT e Segurança
|
64
|
+
|
65
|
+
<!-- Banner -->
|
66
|
+
<p align="center">
|
67
|
+
<a href="https://pypi.org/project/moriarty-osint/">
|
68
|
+
<img
|
69
|
+
src="./assets/img/moriarty-banner.png"
|
70
|
+
alt="Moriarty OSINT - Ferramenta avançada de reconhecimento e análise de segurança"
|
71
|
+
width="60%"
|
72
|
+
style="border: 1px solid #2d2d2d; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);">
|
73
|
+
</a>
|
74
|
+
</p>
|
75
|
+
|
76
|
+
<!-- Subtítulo -->
|
77
|
+
<p align="center">
|
78
|
+
Ferramenta avançada de reconhecimento e análise de segurança para investigações OSINT e testes de penetração.
|
79
|
+
</p>
|
80
|
+
|
81
|
+
<!-- Badges -->
|
82
|
+
<p align="center">
|
83
|
+
<a href="https://pypi.org/project/moriarty-osint/">
|
84
|
+
<img src="https://img.shields.io/pypi/v/moriarty-osint?color=blue&label=PyPI" alt="PyPI version">
|
85
|
+
</a>
|
86
|
+
<a href="https://www.python.org/downloads/">
|
87
|
+
<img src="https://img.shields.io/pypi/pyversions/moriarty-osint?color=blue" alt="Python Versions">
|
88
|
+
</a>
|
89
|
+
<a href="https://opensource.org/licenses/MIT">
|
90
|
+
<img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT">
|
91
|
+
</a>
|
92
|
+
<a href="https://github.com/DonatoReis/moriarty/stargazers">
|
93
|
+
<img src="https://img.shields.io/github/stars/DonatoReis/moriarty?style=social" alt="GitHub stars">
|
94
|
+
</a>
|
95
|
+
</p>
|
96
|
+
|
97
|
+
<p align="center">
|
98
|
+
<a href="#instalação">Instalação</a>
|
99
|
+
•
|
100
|
+
<a href="#uso">Uso</a>
|
101
|
+
•
|
102
|
+
<a href="#comandos">Comandos</a>
|
103
|
+
•
|
104
|
+
<a href="#contribuindo">Contribuindo</a>
|
105
|
+
</p>
|
106
|
+
|
107
|
+
## 🌟 Recursos Principais
|
108
|
+
|
109
|
+
- **Reconhecimento Passivo Avançado**
|
110
|
+
- Coleta de informações de múltiplas fontes OSINT
|
111
|
+
- Descoberta de subdomínios
|
112
|
+
- Análise de certificados SSL/TLS
|
113
|
+
- Coleta de metadados WHOIS/RDAP
|
114
|
+
|
115
|
+
- **Varredura de Segurança**
|
116
|
+
- Varredura de portas com detecção de serviços
|
117
|
+
- Detecção de tecnologias web
|
118
|
+
- Identificação de vulnerabilidades comuns
|
119
|
+
- Teste de WAF/IPS/IDS
|
120
|
+
|
121
|
+
- **Análise de Ameaças**
|
122
|
+
- Verificação de credenciais vazadas
|
123
|
+
- Análise de reputação de domínios
|
124
|
+
- Detecção de ameaças conhecidas
|
125
|
+
|
126
|
+
## 🚀 Instalação
|
127
|
+
|
128
|
+
### Pré-requisitos
|
129
|
+
- Python 3.13+ (versão mínima suportada)
|
130
|
+
- pip (gerenciador de pacotes do Python)
|
131
|
+
|
132
|
+
### Instalação via pipx (recomendado para usuários)
|
133
|
+
```bash
|
134
|
+
# Instalar usando pipx (recomendado para isolar o ambiente)
|
135
|
+
pipx install moriarty-osint
|
136
|
+
|
137
|
+
# OU para instalar uma versão específica
|
138
|
+
# pipx install moriarty-osint 0.1.5
|
139
|
+
|
140
|
+
# Verificar a instalação
|
141
|
+
moriarty --help
|
142
|
+
```
|
143
|
+
|
144
|
+
### Instalação via pip (usuários avançados)
|
145
|
+
```bash
|
146
|
+
# Instalar globalmente
|
147
|
+
pip install moriarty-osint
|
148
|
+
|
149
|
+
# OU para instalar para o usuário atual
|
150
|
+
# pip install --user moriarty
|
151
|
+
|
152
|
+
# Verificar a instalação
|
153
|
+
moriarty --help
|
154
|
+
```
|
155
|
+
|
156
|
+
### Instalação para desenvolvimento
|
157
|
+
```bash
|
158
|
+
# Clonar o repositório
|
159
|
+
git clone https://github.com/DonatoReis/moriarty.git
|
160
|
+
cd moriarty
|
161
|
+
|
162
|
+
# Criar e ativar ambiente virtual (opcional, mas recomendado)
|
163
|
+
python -m venv venv
|
164
|
+
source venv/bin/activate # No Windows: venv\Scripts\activate
|
165
|
+
|
166
|
+
# Instalar em modo de desenvolvimento
|
167
|
+
pip install -e .
|
168
|
+
|
169
|
+
# Instalar dependências de desenvolvimento
|
170
|
+
pip install -r requirements-dev.txt
|
171
|
+
```
|
172
|
+
|
173
|
+
## 💻 Uso Básico
|
174
|
+
|
175
|
+
### Estrutura de Comandos
|
176
|
+
```
|
177
|
+
moriarty [OPÇÕES] COMANDO [ARGUMENTOS] [OPÇÕES-DO-COMANDO]
|
178
|
+
```
|
179
|
+
|
180
|
+
### Opções Globais
|
181
|
+
- `--sign`: Assinar digitalmente os resultados
|
182
|
+
- `--verbose`: Mostrar informações detalhadas de execução
|
183
|
+
- `--concurrency INT`: Número máximo de tarefas concorrentes (padrão: 50)
|
184
|
+
- `--timeout FLOAT`: Timeout por requisição em segundos (padrão: 8.0)
|
185
|
+
- `--proxy URL`: Usar proxy HTTP/SOCKS
|
186
|
+
- `--format FORMAT`: Formato de saída (table, json, yaml)
|
187
|
+
- `--output PATH`: Salvar saída em arquivo
|
188
|
+
- `--verbose`: Habilitar logs detalhados
|
189
|
+
- `--quiet`: Suprimir saída não crítica
|
190
|
+
|
191
|
+
## 🔍 Comandos e Exemplos
|
192
|
+
|
193
|
+
### 📧 Comandos de E-mail
|
194
|
+
|
195
|
+
#### `email check`
|
196
|
+
Valida um endereço de e-mail usando heurísticas de DNS e SMTP.
|
197
|
+
|
198
|
+
**Uso:**
|
199
|
+
```bash
|
200
|
+
moriarty email check usuario@exemplo.com
|
201
|
+
```
|
202
|
+
|
203
|
+
**Exemplo com opções:**
|
204
|
+
```bash
|
205
|
+
# Verificar e-mail com modo verboso
|
206
|
+
moriarty email check --verbose usuario@exemplo.com
|
207
|
+
|
208
|
+
# Verificar e-mail e salvar resultado em JSON
|
209
|
+
moriarty email check usuario@exemplo.com --format json --output resultado.json
|
210
|
+
```
|
211
|
+
|
212
|
+
#### `email investigate`
|
213
|
+
Investiga um e-mail em múltiplas fontes (Gravatar, redes sociais, vazamentos).
|
214
|
+
|
215
|
+
**Uso:**
|
216
|
+
```bash
|
217
|
+
moriarty email investigate usuario@exemplo.com
|
218
|
+
```
|
219
|
+
|
220
|
+
**Exemplo:**
|
221
|
+
```bash
|
222
|
+
# Investigação completa com saída detalhada
|
223
|
+
moriarty email investigate --verbose usuario@exemplo.com
|
224
|
+
```
|
225
|
+
|
226
|
+
### 👤 Comandos de Usuário
|
227
|
+
|
228
|
+
#### `user enum`
|
229
|
+
Enumera um nome de usuário em múltiplos sites.
|
230
|
+
|
231
|
+
**Uso:**
|
232
|
+
```bash
|
233
|
+
moriarty user enum nomeusuario
|
234
|
+
```
|
235
|
+
|
236
|
+
**Exemplo com opções:**
|
237
|
+
```bash
|
238
|
+
# Verificar disponibilidade em sites específicos
|
239
|
+
moriarty user enum nomeusuario --sites github,twitter,instagram
|
240
|
+
|
241
|
+
# Salvar resultados em um arquivo
|
242
|
+
moriarty user enum nomeusuario --output resultados_usuario.json
|
243
|
+
```
|
244
|
+
|
245
|
+
## 🛠️ Comandos Principais
|
246
|
+
|
247
|
+
### `domain`
|
248
|
+
Comandos para análise de domínios e redes.
|
249
|
+
|
250
|
+
#### `domain scan`
|
251
|
+
Varredura completa de domínio/IP.
|
252
|
+
|
253
|
+
**Uso:**
|
254
|
+
```bash
|
255
|
+
moriarty domain scan example.com [OPÇÕES]
|
256
|
+
```
|
257
|
+
|
258
|
+
**Opções:**
|
259
|
+
- `--modules`: Módulos a serem executados (all,dns,subdiscover,wayback,ports,ssl,crawl,fuzzer,template-scan,vuln-scan,waf-detect)
|
260
|
+
- `--stealth`: Nível de stealth (0-4)
|
261
|
+
- `--threads`: Número de threads concorrentes
|
262
|
+
- `--timeout`: Timeout em segundos
|
263
|
+
|
264
|
+
#### `domain recon`
|
265
|
+
Reconhecimento passivo de domínio.
|
266
|
+
|
267
|
+
**Uso:**
|
268
|
+
```bash
|
269
|
+
moriarty domain recon example.com [OPÇÕES]
|
270
|
+
```
|
271
|
+
|
272
|
+
### `email`
|
273
|
+
Ferramentas para análise de endereços de e-mail.
|
274
|
+
|
275
|
+
#### `email check`
|
276
|
+
Verifica a validade e informações de um e-mail.
|
277
|
+
|
278
|
+
**Uso:**
|
279
|
+
```bash
|
280
|
+
moriarty email check user@example.com
|
281
|
+
```
|
282
|
+
|
283
|
+
### `intel`
|
284
|
+
Ferramentas de inteligência de ameaças.
|
285
|
+
|
286
|
+
#### `intel ioc`
|
287
|
+
Analisa Indicadores de Comprometimento (IOCs).
|
288
|
+
|
289
|
+
**Uso:**
|
290
|
+
```bash
|
291
|
+
moriarty intel ioc --file iocs.txt
|
292
|
+
```
|
293
|
+
|
294
|
+
## 🛠️ Exemplos
|
295
|
+
|
296
|
+
### 1. Varredura Básica de Domínio
|
297
|
+
```bash
|
298
|
+
moriarty domain scan example.com --stealth 2 --threads 50
|
299
|
+
```
|
300
|
+
|
301
|
+
### 2. Reconhecimento Passivo
|
302
|
+
```bash
|
303
|
+
moriarty domain recon example.com --output results.json
|
304
|
+
```
|
305
|
+
|
306
|
+
### 3. Verificação de E-mail
|
307
|
+
```bash
|
308
|
+
moriarty email check user@example.com --format json
|
309
|
+
```
|
310
|
+
|
311
|
+
### 4. Análise de IOC
|
312
|
+
```bash
|
313
|
+
moriarty intel ioc --file iocs.txt --output report.html
|
314
|
+
```
|
315
|
+
|
316
|
+
## 🛡️ Recursos de Segurança
|
317
|
+
|
318
|
+
### Modo Profissional
|
319
|
+
Ative o modo profissional para habilitar salvaguardas adicionais:
|
320
|
+
```bash
|
321
|
+
moriarty --professional-mode domain scan example.com
|
322
|
+
```
|
323
|
+
|
324
|
+
### Criptografia e Privacidade
|
325
|
+
- Suporte a conexões criptografadas (HTTPS/TLS)
|
326
|
+
- Opção para redação de PII (Informações Pessoais Identificáveis)
|
327
|
+
- Suporte a proxies e Tor
|
328
|
+
|
329
|
+
## 🤝 Contribuindo
|
330
|
+
|
331
|
+
Contribuições são bem-vindas! Siga estes passos:
|
332
|
+
|
333
|
+
1. Faça um fork do repositório
|
334
|
+
2. Crie uma branch para sua feature (`git checkout -b feature/AmazingFeature`)
|
335
|
+
3. Faça commit das suas alterações (`git commit -m 'Add some AmazingFeature'`)
|
336
|
+
4. Faça push para a branch (`git push origin feature/AmazingFeature`)
|
337
|
+
5. Abra um Pull Request
|
338
|
+
|
339
|
+
## 📄 Licença
|
340
|
+
|
341
|
+
Distribuído sob a licença MIT. Veja `LICENSE` para mais informações.
|
342
|
+
|
343
|
+
## 📧 Contato
|
344
|
+
|
345
|
+
Equipe Moriarty - [contato@moriarty.dev](mailto:contato@moriarty.dev)
|
346
|
+
|
347
|
+
Link do Projeto: [https://github.com/DonatoReis/moriarty](https://github.com/DonatoReis/moriarty)
|
348
|
+
|
349
|
+
---
|
350
|
+
|
351
|
+
Este README foi gerado em 06/10/2023. Consulte a documentação online para informações mais recentes.
|
352
|
+
|
353
|
+
## 🔍 Índice de Comandos Detalhados
|
354
|
+
|
355
|
+
### Comandos de Domínio
|
356
|
+
- `domain scan`: Varredura completa de domínio
|
357
|
+
- `domain recon`: Reconhecimento passivo
|
358
|
+
- `domain subdomains`: Enumeração de subdomínios
|
359
|
+
- `domain wayback`: Análise histórica via Wayback Machine
|
360
|
+
- `domain ports`: Varredura de portas
|
361
|
+
- `domain crawl`: Web crawling
|
362
|
+
|
363
|
+
### Comandos de E-mail
|
364
|
+
- `email check`: Validação de e-mail usando DNS/SMTP
|
365
|
+
- `email investigate`: Análise aprofundada em múltiplas fontes (Gravatar, redes sociais, vazamentos)
|
366
|
+
|
367
|
+
### Comandos de Usuário
|
368
|
+
- `user enum`: Verifica disponibilidade de nome de usuário em múltiplos sites
|
369
|
+
|
370
|
+
### Comandos de Inteligência
|
371
|
+
- `intel ioc`: Análise de IOCs
|
372
|
+
- `intel threat`: Verificação de ameaças
|
373
|
+
|
374
|
+
### Comandos de Rede
|
375
|
+
- `network dns`: Consultas DNS
|
376
|
+
- `network tls`: Análise TLS/SSL
|
377
|
+
- `network rdap`: Consultas RDAP
|
378
|
+
|
379
|
+
### Ferramentas
|
380
|
+
- `tools template`: Gerenciamento de templates
|
381
|
+
- `tools waf`: Testes de WAF
|
382
|
+
|
383
|
+
---
|
384
|
+
|
385
|
+
Para obter ajuda detalhada sobre qualquer comando, use:
|
386
|
+
```bash
|
387
|
+
moriarty [comando] --help
|
388
|
+
```
|