-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Artifact Info Structure Update #568
Comments
I've been in javascript too much lately. I suppose the pythonic naming convention is |
Your proposal makes absolute sense, it is efficient and well thought out. My main concern is people power. Any changes will have to be ported to ALEAPP, VLEAPP, & RLEAPP as well. Do you mind giving it a look and gauge the level of difficulty to implement? I'm all for it but if implementing requires a lot of refactoring then I propose we look into implementing it after the timezone offset thing is done. |
Ya, I can put some time on it. Is the architecture between these version similar enough to be able to do something like a pull request across repos? |
a quick check says its not quite in line. iLEAPP: 135 lines aLEAPP: 361 lines |
Which tool is your primary? Looks like aLEAPP report code above has additional image, timeline, chat functions that iLEAPP doesn't. |
All have timeline, KML, & tsv functions.
Some of the differences between the projects is due to android vs ios
quirks and the stuff folks contribute to one project but not used on
another.
…On Tue, Oct 17, 2023, 1:25 PM James Habben ***@***.***> wrote:
Which tool is your primary? Looks like aLEAPP report code above has
additional image, timeline, chat functions that iLEAPP doesn't.
—
Reply to this email directly, view it on GitHub
<#568 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AG3DPC66J7DDMC27QWKB3QLX725RZAVCNFSM6AAAAAA6C26332VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRWHA2TONZRG4>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
updated to python naming and added |
As stuff is merged please send some PRs to RLEAPP & VLEAPP as well so they can benefit too. There is no way I can go back and try to port it over myself. |
ya i am working my way towards that before getting this new artifact structure in anywhere. need to set a baseline first. |
Please add yourself to all the LEAPPs in the developer section. |
another update to the structure above.
|
added |
i think we could benefit from having a field that declares if this module is parsing an artifact from a filesystem dump or itunes backup. can certainly better inform users of what they can expect to extract using the module, but it could help in improving processing speed in allowing the script to skip a module or artifact of module if its not processing a data source that it can even extract data from. unsure if this would be better applied at the module or report artifact level. |
The tooling was originally designed for full file system parsing. We added
iTunes backup as an option for folks to develop specific artifacts for
these. Since the backups have so little useful data in comparison to a full
file system I have received little to none backup specific artifacts.
I think it is a good idea but I'm not sure how much benefit will it provide
in the sense that almost all use cases involve full file systems and not
backups.
As a mater of fact many of the artifacts that find stuff in a backup do so
accidentally since the report comes from an artifact originally designed
for a full file system. For example some of these FFS artifacts would get
more hits on a backup if the paths were fully qualified instead of using
the backup domains.
Long story short backups haven't been our focus per user population tool
usage but I am happy to merge anything that helps any user case as long as
the overhead is manageable and does not impacts creating an artifact. It
has to be a really necessary change (like making all timestamps datetime
objects for your html solution to work) in order to require an artifact
creator to abide by a particular rule beyond the current ones.
Hope that makes sense.
…On Sat, Nov 4, 2023, 6:03 PM James Habben ***@***.***> wrote:
i think we could benefit from having a field that declares if this module
is parsing an artifact from a filesystem dump or itunes backup. can
certainly better inform users of what they can expect to extract using the
module, but it could help in improving processing speed in allowing the
script to skip a module or artifact of module if its not processing a data
source that it can even extract data from. unsure if this would be better
applied at the module or report artifact level.
—
Reply to this email directly, view it on GitHub
<#568 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AG3DPCYAYOPQCWBI4YEB2DDYC23RVAVCNFSM6AAAAAA6C26332VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJTGU3DKNJQGM>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
yup. understood and agree. on the civilian side of this world, we deal almost exclusively with backups or non-FFS extractions. my testing with iLEAPP so far has been with a few icloud or itunes backups and i'm happy to see that many of the modules are finding data to process. i haven't fully thought out what adding a 'data source' type of field in the info structure would look like, but it would certainly help potential users (selfishly, me lol) to know if a module can parse data from a backup or if a FFS is required. |
As I have learned more about the structure of this project and how the modules are being developed, I think another update to the artifact structure might help to better organize and document information about the modules and all the individual artifacts they parse. I noticed that most of these modules are 1:1 in the items they add to the report, but there are a few that add multiple items to the report.
Example: Viber Module
In the code, it produces a potential of 4 items in the report based on the existence of certain data, but the artifact structure of the script doesn't give any indication of that since it has only 1
function
entry ofget_viber
in the dictionary.https://github.com/abrignoni/iLEAPP/blob/ceff9fb87c7f4b675c989eeb74c0dbda250fbbcd/scripts/artifacts/viber.py
Artifact v2 of Viber Module
Artifacts
Search for
ArtifactHtmlReport(
and you find 4 hits for the 4 items it adds to the report, but no other way to programmatically determine that in current form.iLEAPP/scripts/artifacts/viber.py
Line 177 in ceff9fb
iLEAPP/scripts/artifacts/viber.py
Line 225 in ceff9fb
iLEAPP/scripts/artifacts/viber.py
Line 271 in ceff9fb
iLEAPP/scripts/artifacts/viber.py
Line 680 in ceff9fb
Update
With an updated artifact structure ( maybe
__artifact_v3__
?), the structure could take on a 1 module to many artifact relationship. What I have in mind would require a little restructuring of the code that runs the artifacts though as the framework currently allows for an author to add as many items to the report within an artifact as they feel. Rather, if the report addition in tied to the artifact function and the artifact function is only allowed one instance of a report object, it forces compliance to the information structure.see https://github.com/abrignoni/iLEAPP/blob/lava-output/admin/docs/artifact_info_block.md for definition
Thoughts?
The text was updated successfully, but these errors were encountered: